136 ریڈنگز

سولانا کے بلاک پروپیگیشن کا مسئلہ بہت بڑا تھا - یہ ہے کہ انہوں نے اسے کیسے ٹھیک کیا

کی طرف سے 0xwizzdom4m2025/03/13
Read on Terminal Reader

بہت لمبا؛ پڑھنے کے لئے

سولانا ٹربائن کا استعمال کرتے ہوئے بلاک پروپیگیشن کو بہتر بناتا ہے، جو کہ نیٹ ورک کنجشن اور بینڈوڈتھ اوورلوڈ سے بچتا ہے۔
featured image - سولانا کے بلاک پروپیگیشن کا مسئلہ بہت بڑا تھا - یہ ہے کہ انہوں نے اسے کیسے ٹھیک کیا
0xwizzdom HackerNoon profile picture

روایتی بلاک چینز میں، بلاک پروپیگیشن پیئر ٹو پیئر نیٹ ورک کے ذریعے ہوتی ہے جس میں تمام پروپیگیٹنگ نوڈس پر نئے بلاکس اور لین دین نشر کیے جاتے ہیں۔ یہ عمل عام طور پر ترتیب وار ہوتا ہے یا سیلاب آ جاتا ہے۔ تاہم، یہ طریقہ قابل توسیع نہیں ہے، کیونکہ مواصلات کی سراسر تعداد کی وجہ سے نیٹ ورک کے بڑھنے کے ساتھ اس کا انتظام کرنا مشکل ہو جاتا ہے۔


آئیے 35,000 تصدیق کنندگان کے نیٹ ورک پر غور کریں۔ لیڈر کو تمام 35,000 تصدیق کنندگان کو 128 MB بلاک (250 بائٹس فی ٹرانزیکشن پر تقریباً 500,000 ٹرانزیکشنز) منتقل کرنے کی ضرورت ہے۔ روایتی بلاک پروپیگیشن کے نفاذ کے لیے لیڈر کو ہر ایک تصدیق کنندہ سے منفرد کنکشن رکھنے اور مکمل 128 MB 35,000 بار منتقل کرنے کی ضرورت ہوگی۔ اس کے نتیجے میں 4.69 ٹی بی کی کل ڈیٹا ٹرانسمیشن ہوگی، جو عام بینڈوڈتھ کی صلاحیتوں سے کہیں زیادہ ہے اور اتنے کنکشنز کے ساتھ ایڈجسٹ کرنا ناقابل عمل ہوگا۔


سست بلاک پھیلاؤ کے مسئلے کو حل کرنے کے لیے، سولانا نے ٹربائن متعارف کرایا، ایک ملٹی لیئر بلاک پروپیگیشن میکانزم جو کلسٹرز کے ذریعے تمام نوڈس پر لیجر اندراجات کو نشر کرنے کے لیے استعمال کیا جاتا ہے۔ موٹے طور پر، ٹربائن بلاکس کو چھوٹے بلاکس میں توڑتی ہے اور انہیں نوڈس کے آرڈر کے ذریعے پھیلاتی ہے، جس سے انفرادی نوڈ پر بوجھ کم ہوتا ہے۔

ٹربائن کیا ہے؟

ٹربائن کا فن تعمیر BitTorrent سے بہت زیادہ متاثر تھا۔ دونوں ڈیٹا چنکنگ پر انحصار کرتے ہیں—بڑے ڈیٹا کو چھوٹے چھوٹے ٹکڑوں میں توڑتے ہوئے—اور ڈیٹا کو پھیلانے کے لیے پیئر ٹو پیئر نیٹ ورک کا استعمال کرتے ہیں۔ ٹربائن سٹریمنگ کے لیے موزوں ہے۔ یہ صرف UDP کا استعمال کرتے ہوئے ڈیٹا منتقل کرتا ہے، جو تاخیر کے فوائد فراہم کرتا ہے۔ یہ نیٹ ورک کے ذریعے فی پیکٹ ایک بے ترتیب راستہ لاگو کرتا ہے کیونکہ لیڈرز (بلاک پروڈیوسر) اپنے ڈیٹا کو سٹریم کرتے ہیں۔ بلاک پروپیگنڈہ کی یہ تیز رفتار سولانا کو اپنے اعلی تھرو پٹ کو برقرار رکھنے کی اجازت دیتی ہے۔

مزید یہ کہ، ٹربائن ڈیٹا کی دستیابی کے مسئلے کو حل کرتی ہے، اس بات کو یقینی بناتی ہے کہ تمام نوڈس لین دین کو مؤثر طریقے سے درست کرنے کے لیے مطلوبہ ڈیٹا تک رسائی حاصل کر سکیں۔ یہ بہت زیادہ بینڈوتھ کی ضرورت کے بغیر کیا جاتا ہے، جو کہ دوسرے بلاکچین نیٹ ورکس میں ایک عام رکاوٹ ہے۔

ٹربائن کے بلاک پروپیگنڈے کا عمل

بلاک کو پھیلانے سے پہلے، لیڈر لین دین کے آنے والے سلسلے کو دیکھتے ہوئے بلاک بناتا اور آرڈر کرتا ہے۔ بلاک بننے کے بعد، یہ ٹربائن کے ذریعے باقی نیٹ ورک پر بھیجے جانے کے لیے تیار ہے۔ اس عمل کو بلاک پروپیگیشن کہا جاتا ہے۔ اس کے بعد پیغامات کو توثیق کرنے والوں کے درمیان منتقل کیا جاتا ہے، اور ان پیغامات کو بلاک ڈیٹا کے اندر سمیٹ دیا جاتا ہے تاکہ عزم کی حیثیت "تصدیق شدہ" یا "حتمی" کو پورا کیا جا سکے۔


جب کہ لیڈر پورے بلاکس بناتے اور تجویز کرتے ہیں، اصل ڈیٹا نیٹ ورک میں موجود دیگر تصدیق کنندگان کو ٹکڑوں (جزوی بلاکس) کے طور پر بھیجا جاتا ہے۔ ٹکڑوں کو توثیق کرنے والوں کے درمیان بھیجی جانے والی جوہری اکائیاں ہیں۔ ٹکڑے ٹکڑے کرنے اور پھیلانے کا یہ عمل پورے سولانا میں بلاک ڈیٹا کی تیز اور موثر تقسیم کو یقینی بناتا ہے، اعلی تھرو پٹ اور نیٹ ورک سیکیورٹی کو برقرار رکھتا ہے۔

نوٹ: ایک تصدیق شدہ بلاک کو لیجر ووٹوں کی بڑی اکثریت حاصل ہوئی ہے، جب کہ ایک حتمی بلاک کی تصدیق ہو چکی ہے اور 31+ تصدیق شدہ بلاکس ٹارگٹ بلاک کے اوپر بنائے گئے ہیں۔

ایریزور کوڈنگ

ٹربائن ٹری پر بھیجے جانے سے پہلے، ٹکڑوں کو Reed-Solomon erasure Coding کے ساتھ انکوڈ کیا جاتا ہے، یہ ڈیٹا پروٹیکشن طریقہ ہے جو مخصوص قسم کے ایرر کریکٹنگ کوڈ کا استعمال کرتا ہے۔ یہ طریقہ ناکامی یا غلطیوں کی صورت میں ڈیٹا کے نقصان سے بچانے کے لیے ڈیزائن کیا گیا ہے۔ یہ ڈیٹا کو چھوٹے بلاکس میں تقسیم کرتا ہے اور ہر بلاک کو اضافی معلومات کے ساتھ انکوڈ کرتا ہے۔


ٹربائن توثیق کرنے والوں کے درمیان پیکٹوں کی دوبارہ ترسیل پر بہت زیادہ انحصار کرتی ہے جو غلط ڈیٹا یا نامکمل ڈیٹا کو دوبارہ نشر کرنے کا فیصلہ کر سکتے ہیں۔ ری ٹرانسمیشن کی وجہ سے، کسی بھی نیٹ ورک پر پیکٹ کا نقصان بڑھ جاتا ہے، اور پیکٹ کی منزل تک پہنچنے میں ناکام ہونے کا امکان ہر ہاپ پر بڑھ جاتا ہے۔ مثال کے طور پر، اگر کوئی لیڈر بلاک کے 20% پیکٹ کو مٹانے والے کوڈز کے طور پر منتقل کرتا ہے، تو نیٹ ورک بلاک کو کھونے کے بغیر کسی بھی 20% پیکٹس کو چھوڑ سکتا ہے۔ قائدین متحرک طور پر اس نمبر (FEC کی شرح) کو نیٹ ورک کے حالات کی بنیاد پر متغیرات جیسے کہ حال ہی میں مشاہدہ کردہ نیٹ ورک کے وسیع پیکٹ کے نقصان اور درخت کی گہرائی کو مدنظر رکھ کر ایڈجسٹ کر سکتے ہیں۔


سولانا میں، ڈیٹا کے ٹکڑے لیڈر کے بنائے ہوئے اصل بلاک کے جزوی بلاکس ہیں، اور ریکوری کے ٹکڑوں کو ریڈ سلیمان کے ذریعے تیار کردہ ایریزر کوڈڈ بلاکس ہیں۔ سولانا پر بلاکس عام طور پر 32:32 کے FEC کا فائدہ اٹھاتے ہیں (64 میں سے 32 پیکٹ دوبارہ منتقل کرنے کی ضرورت کے بغیر ضائع ہو سکتے ہیں)۔

ٹربائن کا درخت

سولانا ایک ٹربائن ٹری کا استعمال کرتا ہے، جو کہ ایک منظم نیٹ ورک ٹوپولوجی ہے، تاکہ درست کرنے والوں کے درمیان ٹکڑوں کے مؤثر طریقے سے پھیلاؤ کو آسان بنایا جا سکے۔ جب ٹکڑوں کو ان کے متعلقہ ٹکڑوں کے گروپوں میں صحیح طریقے سے انکوڈ کیا جاتا ہے، تو وہ ٹربائن ٹری کے ذریعے پھیلائے جانے کے لیے تیار ہوتے ہیں تاکہ سب سے تازہ ترین حالت کے نیٹ ورک میں موجود دیگر تصدیق کنندگان کو مطلع کیا جا سکے۔

ٹربائن ٹری، جو سب کو جانا جاتا ہے، اس بات کو یقینی بناتا ہے کہ ہر تصدیق کنندہ کو یہ معلوم ہو کہ وہ اس ٹکڑے کو ریلے کرنے کے لیے کہاں ذمہ دار ہے۔ ٹربائن ٹری عام طور پر 2- یا 3-ہاپ ٹری ہوتا ہے (فعال توثیق کرنے والوں کی تعداد پر منحصر ہے)، موجودہ DATA_PLANE_FANOUT قدر 200 کے پیش نظر۔


مزید برآں، نوڈس گپ شپ اور مرمت کا سہارا لے سکتے ہیں اگر انہیں کافی ٹکڑے نہیں ملتے ہیں یا نقصان کی شرح FEC کی شرح سے زیادہ ہے۔ موجودہ نفاذ کے تحت، ایک نوڈ جس میں بلاک کی تعمیر نو کے لیے کافی ٹکڑوں کی کمی ہے، لیڈر کو دوبارہ منتقلی کی درخواست بھیجتی ہے۔ ڈیٹرمنسٹک ٹربائن کے تحت، کوئی بھی نوڈ جو مکمل بلاک حاصل کرتا ہے وہ مرمت کے ٹکڑے بھیج سکتا ہے جس کی درخواست کرنے والے نوڈ کو ضرورت ہوتی ہے، اس طرح ڈیٹا کی منتقلی کو درخت کے ان علاقوں تک مزید نیچے دھکیلتا ہے جو ڈیٹا کی درخواست کر رہے ہیں۔

نتیجہ

اس رپورٹ میں، ہم نے سولانا کے ٹربائن بلاک پروپیگیشن میکانزم کا جائزہ لیا، جو پورے نیٹ ورک میں ڈیٹا کو موثر طریقے سے تقسیم کرنے کے لیے بڑے بلاکس کو چھوٹے ٹکڑوں میں توڑ دیتا ہے۔ ہم نے اس بات پر روشنی ڈالی کہ کس طرح ایریزور کوڈنگ ڈیٹا کی سالمیت کو یقینی بناتی ہے اور کس طرح ٹربائن ٹری توثیق کرنے والوں کے درمیان تیزی سے منتقلی کی سہولت فراہم کرتا ہے۔

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks