ב-blockchains המסורתיים, הפצת בלוק מתרחשת דרך רשת עמית-לעמית בה משודרים בלוקים ועסקאות חדשות לכל צמתי ההפצה. תהליך זה מתרחש בדרך כלל ברצף או מוצף. עם זאת, שיטה זו אינה ניתנת להרחבה, מכיוון שהיא הופכת קשה לניהול ככל שהרשת גדלה בשל מספר התקשורת העצום. בואו ניקח בחשבון רשת של 35,000 מאמתים. המנהיג צריך להעביר בלוק של 128 מגה-בייט (כ-500,000 עסקאות ב-250 בתים לכל עסקה) לכל 35,000 המאמתים. יישום הפצת הבלוקים המסורתי ידרוש מהמנהיג להיות בעל חיבור ייחודי לכל מאמת ולשדר את מלוא ה-128 מגה-בייט 35,000 פעמים. זה יביא לשידור נתונים כולל של 4.69 TB, שהוא הרבה מעבר ליכולות רוחב הפס האופייניות ואי אפשר יהיה להכיל אותו עם כל כך הרבה חיבורים. כדי לפתור את הנושא של הפצת בלוקים איטית, סולאנה הציגה את Turbine, מנגנון הפצת בלוקים רב-שכבתי המשמש אשכולות לשידור רשומות פנקס חשבונות לכל הצמתים. באופן כללי, Turbine מפרקת בלוקים לבלוקים קטנים יותר ומפיצה אותם באמצעות סדר של צמתים, ומפחיתה את העומס על צומת בודד. מה זה טורבינה? הארכיטקטורה של טורבינה קיבלה השראה רבה מזו של ביטורנט. שניהם מסתמכים על פירוק נתונים - פירוק נתונים גדולים לחתיכות קטנות יותר - ומשתמשים ברשת עמית לעמית כדי להפיץ נתונים. הטורבינה מותאמת לסטרימינג. הוא מעביר נתונים באמצעות UDP בלבד, מה שמספק יתרונות חביון. הוא מיישם נתיב אקראי לכל מנה דרך הרשת כאשר מובילים (יצרני בלוקים) מזרימים את הנתונים שלהם. מהירות גבוהה זו של התפשטות בלוקים מאפשרת לסולנה לשמור על התפוקה הגבוהה שלה. יותר מכך, Turbine מטפלת בסוגיית זמינות הנתונים, ומבטיחה שכל הצמתים יוכלו לגשת לנתונים הנדרשים כדי לאמת עסקאות ביעילות. זה נעשה מבלי לדרוש כמות עצומה של רוחב פס, שהוא צוואר בקבוק נפוץ ברשתות בלוקצ'יין אחרות. תהליך התפשטות הבלוק של טורבינה לפני הפצת בלוק, המנהיג בונה ומזמין את הבלוק בהתחשב בזרם העסקאות הנכנס. לאחר בניית הבלוק, הוא מוכן להישלח באמצעות Turbine לשאר הרשת. תהליך זה מכונה . לאחר מכן, הודעות מועברות בין מאמתים, והודעות אלה מובלעות בתוך נתוני הבלוק כדי לעמוד בסטטוס ההתחייבות "אושרה" או "סופית". התפשטות בלוק בעוד שמנהיגים בונים ומציעים בלוקים שלמים, הנתונים בפועל נשלחים כתרסים (בלוקים חלקיים) למאמתים אחרים ברשת. רסיסים הם היחידות האטומיות הנשלחות בין מאמתים. תהליך זה של גריסה והפצה מבטיח הפצה מהירה ויעילה של נתוני בלוק על פני סולאנה, תוך שמירה על תפוקה גבוהה ואבטחת רשת. הערה: בלוק מאושר קיבל רוב על של קולות פנקס חשבונות, ואילו בלוק סופי אושר ובו 31+ בלוקים מאושרים שנבנו על גבי בלוק היעד. קידוד מחיקה לפני שליחתם לעץ הטורבינה, מקודדים רסיסי קידוד מחיקת Reed-Solomon, שיטת הגנה על נתונים המשתמשת בסוגים ספציפיים של קוד לתיקון שגיאות. שיטה זו נועדה להגן מפני אובדן נתונים במקרה של כשלים או שגיאות. הוא מחלק נתונים לבלוקים קטנים יותר ומקודד כל בלוק עם מידע נוסף. Turbine מסתמכת במידה רבה על שידור חוזר של מנות בין מאמתים שעלולים להחליט לשדר מחדש נתונים שגויים או נתונים לא שלמים. עקב שידור חוזר, כל אובדן מנות ברחבי הרשת מורכב יותר, והסבירות שהחבילה לא תגיע ליעדה עולה בכל קפיצה. לדוגמה, אם מנהיג משדר 20% מהמנות של הבלוק כקודי מחיקה, אז הרשת יכולה להוריד כל 20% מהמנות מבלי לאבד את החסימה. מנהיגים יכולים להתאים באופן דינמי את המספר הזה (קצב FEC) בהתבסס על תנאי הרשת על ידי התחשבות במשתנים כמו אובדן מנות שנצפה לאחרונה ברחבי הרשת ועומק העץ. בסולנה, רסיסי נתונים הם בלוקים חלקיים מהגוש המקורי שנבנה על ידי המנהיג, וגסיסי השחזור הם בלוקים מקודדי המחיקה שנוצרו על ידי ריד-סולומון. בלוקים ב-Solana בדרך כלל ממנפים FEC של 32:32 (ניתן לאבד 32 מתוך 64 מנות ללא צורך בשידור חוזר). עץ טורבינה סולנה משתמשת ב-Turbine Tree, טופולוגיית רשת מובנית, כדי להקל על התפשטות יעילה של רסיסים בין מאמתים. כאשר רסיסים מקודדים כראוי לקבוצות הגריסה המתאימות שלהם, הם מוכנים להיות מופצים דרך עץ הטורבינה כדי ליידע נותנים אימות אחרים ברשת לגבי המצב המעודכן ביותר. עץ הטורבינה, המוכר לכל, מבטיח שכל מאמת יודע בדיוק היכן הוא אחראי להעברת הגריסה הזו. עץ הטורבינה הוא בדרך כלל עץ של 2 או 3 קפיצות (בהתאם למספר המאמתים הפעילים), בהינתן הערך הנוכחי של DATA_PLANE_FANOUT של 200. יתר על כן, צמתים יכולים לפנות לרכילות ולתקן אם הם לא מקבלים מספיק גזרים או אם שיעור האובדן עולה על שיעור ה-FEC. תחת היישום הנוכחי, צומת שחסרים לו מספיק רסיסים כדי לשחזר את הבלוק שולח בקשה למנהיג לשידור מחדש. תחת טורבינה דטרמיניסטית, כל צומת שמקבל את הבלוק המלא יכול לשלוח את שברי התיקון שהצומת המבקש צריך, ובכך לדחוף את העברת הנתונים למטה יותר לאזורי העץ המבקשים נתונים. מַסְקָנָה בדוח זה בדקנו את מנגנון הפצת בלוקים של סולנה, המפרק בלוקים גדולים לגזרים קטנים יותר כדי להפיץ נתונים ביעילות על פני הרשת. הדגשנו כיצד קידוד מחיקה מבטיח שלמות נתונים וכיצד עץ הטורבינה מקל על שידור מהיר בין המאמתים.