مرکزی مواد پر جائیں

صفحہ کی آخری اپ ڈیٹ: 26 فروری، 2026

ورکل ٹریز

ورکل ٹریز ("Vector commitment" اور "Merkle Trees" کا مرکب) ایک ایسا ڈیٹا اسٹرکچر ہے جسے Ethereum نوڈس کو اپ گریڈ کرنے کے لیے استعمال کیا جا سکتا ہے تاکہ وہ بلاکس کی توثیق کرنے کی صلاحیت کو کھوئے بغیر بڑی مقدار میں اسٹیٹ (state) ڈیٹا کو اسٹور کرنا بند کر سکیں۔

اسٹیٹ لیسنیس (Statelessness)

ورکل ٹریز اسٹیٹ لیس (stateless) ایتھریم کلائنٹس کی جانب ایک اہم قدم ہیں۔ اسٹیٹ لیس کلائنٹس وہ ہوتے ہیں جنہیں آنے والے بلاکس کی توثیق کرنے کے لیے پورا اسٹیٹ ڈیٹا بیس اسٹور نہیں کرنا پڑتا۔ بلاکس کی تصدیق کے لیے ایتھریم کی اسٹیٹ کی اپنی لوکل کاپی استعمال کرنے کے بجائے، اسٹیٹ لیس کلائنٹس اسٹیٹ ڈیٹا کے ایک "وٹنیس" (witness) کا استعمال کرتے ہیں جو بلاک کے ساتھ آتا ہے۔ وٹنیس اسٹیٹ ڈیٹا کے انفرادی حصوں کا ایک مجموعہ ہے جو ٹرانزیکشنز کے ایک مخصوص سیٹ کو انجام دینے کے لیے درکار ہوتا ہے، اور ایک کرپٹوگرافک ثبوت ہے کہ وٹنیس واقعی مکمل ڈیٹا کا حصہ ہے۔ وٹنیس کو اسٹیٹ ڈیٹا بیس کی جگہ استعمال کیا جاتا ہے۔ اس کے کام کرنے کے لیے، وٹنیسز کا بہت چھوٹا ہونا ضروری ہے، تاکہ انہیں نیٹ ورک پر محفوظ طریقے سے براڈکاسٹ کیا جا سکے اور ویلیڈیٹرز انہیں 12 سیکنڈ کے سلاٹ کے اندر پروسیس کر سکیں۔ موجودہ اسٹیٹ ڈیٹا اسٹرکچر موزوں نہیں ہے کیونکہ وٹنیسز بہت بڑے ہوتے ہیں۔ ورکل ٹریز چھوٹے وٹنیسز کو فعال کر کے اس مسئلے کو حل کرتے ہیں، جو اسٹیٹ لیس کلائنٹس کی راہ میں حائل اہم رکاوٹوں میں سے ایک کو دور کرتا ہے۔

وٹنیس کیا ہے اور ہمیں ان کی ضرورت کیوں ہے؟

بلاک کی تصدیق کرنے کا مطلب ہے بلاک میں موجود ٹرانزیکشنز کو دوبارہ انجام دینا، ایتھریم کی اسٹیٹ ٹرائی میں تبدیلیاں لاگو کرنا، اور نئے روٹ ہیش کا حساب لگانا۔ ایک تصدیق شدہ بلاک وہ ہوتا ہے جس کا کیلکولیٹڈ اسٹیٹ روٹ ہیش بلاک کے ساتھ فراہم کردہ ہیش کے برابر ہو (کیونکہ اس کا مطلب ہے کہ بلاک پروپوزر نے واقعی وہی کیلکولیشن کی ہے جو وہ کہہ رہے ہیں)۔ آج کے ایتھریم کلائنٹس میں، اسٹیٹ کو اپ ڈیٹ کرنے کے لیے پوری اسٹیٹ ٹرائی تک رسائی درکار ہوتی ہے، جو کہ ایک بڑا ڈیٹا اسٹرکچر ہے جسے لوکلی اسٹور کیا جانا چاہیے۔ ایک وٹنیس میں صرف اسٹیٹ ڈیٹا کے وہ حصے ہوتے ہیں جو بلاک میں ٹرانزیکشنز کو انجام دینے کے لیے درکار ہوتے ہیں۔ ایک ویلیڈیٹر پھر صرف ان حصوں کا استعمال کر کے اس بات کی تصدیق کر سکتا ہے کہ بلاک پروپوزر نے بلاک ٹرانزیکشنز کو انجام دیا ہے اور اسٹیٹ کو درست طریقے سے اپ ڈیٹ کیا ہے۔ تاہم، اس کا مطلب یہ ہے کہ وٹنیس کو ایتھریم نیٹ ورک پر پیئرز (peers) کے درمیان اتنی تیزی سے منتقل کرنے کی ضرورت ہے کہ ہر نوڈ اسے 12 سیکنڈ کے سلاٹ کے اندر محفوظ طریقے سے موصول اور پروسیس کر سکے۔ اگر وٹنیس بہت بڑا ہے، تو کچھ نوڈس کو اسے ڈاؤن لوڈ کرنے اور چین کے ساتھ ہم آہنگ رہنے میں بہت زیادہ وقت لگ سکتا ہے۔ یہ ایک سینٹرلائزنگ فورس ہے کیونکہ اس کا مطلب ہے کہ صرف تیز انٹرنیٹ کنکشن والے نوڈس ہی بلاکس کی توثیق میں حصہ لے سکتے ہیں۔ ورکل ٹریز کے ساتھ آپ کی ہارڈ ڈرائیو پر اسٹیٹ کو اسٹور کرنے کی کوئی ضرورت نہیں ہے؛ بلاک کی تصدیق کے لیے آپ کو درکار ہر چیز خود بلاک کے اندر موجود ہوتی ہے۔ بدقسمتی سے، Merkle tries سے تیار کیے جانے والے وٹنیسز اتنے بڑے ہوتے ہیں کہ وہ اسٹیٹ لیس کلائنٹس کو سپورٹ نہیں کر سکتے۔

ورکل ٹریز چھوٹے وٹنیسز کو کیوں فعال کرتے ہیں؟

Merkle Trie کا اسٹرکچر وٹنیس کے سائز کو بہت بڑا بنا دیتا ہے - اتنا بڑا کہ اسے 12 سیکنڈ کے سلاٹ کے اندر پیئرز کے درمیان محفوظ طریقے سے براڈکاسٹ نہیں کیا جا سکتا۔ اس کی وجہ یہ ہے کہ وٹنیس ایک ایسا راستہ ہے جو ڈیٹا کو، جو لیوز میں موجود ہوتا ہے، روٹ ہیش سے جوڑتا ہے۔ ڈیٹا کی تصدیق کے لیے نہ صرف ان تمام درمیانی ہیشز کا ہونا ضروری ہے جو ہر لیف کو روٹ سے جوڑتے ہیں، بلکہ تمام "سِبلنگ" (sibling) نوڈس کا ہونا بھی ضروری ہے۔ پروف میں موجود ہر نوڈ کا ایک سِبلنگ ہوتا ہے جس کے ساتھ اسے ہیش کر کے ٹرائی میں اگلا ہیش بنایا جاتا ہے۔ یہ بہت زیادہ ڈیٹا ہے۔ ورکل ٹریز ٹری کے لیوز اور اس کے روٹ کے درمیان فاصلے کو کم کر کے اور روٹ ہیش کی تصدیق کے لیے سِبلنگ نوڈس فراہم کرنے کی ضرورت کو ختم کر کے وٹنیس کے سائز کو کم کرتے ہیں۔ ہیش اسٹائل ویکٹر کمٹمنٹ کے بجائے ایک طاقتور پولی نومیل (polynomial) کمٹمنٹ اسکیم کا استعمال کر کے مزید اسپیس ایفیشنسی حاصل کی جائے گی۔ پولی نومیل کمٹمنٹ وٹنیس کو ایک مقررہ سائز رکھنے کی اجازت دیتا ہے قطع نظر اس کے کہ یہ کتنے لیوز کو ثابت کرتا ہے۔

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

ورکل ٹری کا اسٹرکچر کیا ہے؟

ورکل ٹریز (key,value) پیئرز ہوتے ہیں جہاں کیز (keys) 32-بائٹ ایلیمنٹس ہوتی ہیں جو 31-بائٹ اسٹیم (stem) اور سنگل بائٹ سفکس (suffix) پر مشتمل ہوتی ہیں۔ ان کیز کو ایکسٹینشن (extension) نوڈس اور انر (inner) نوڈس میں منظم کیا جاتا ہے۔ ایکسٹینشن نوڈس مختلف سفکسز کے ساتھ 256 چلڈرن (children) کے لیے ایک سنگل اسٹیم کی نمائندگی کرتے ہیں۔ انر نوڈس کے بھی 256 چلڈرن ہوتے ہیں، لیکن وہ دیگر ایکسٹینشن نوڈس ہو سکتے ہیں۔ ورکل ٹری اور Merkle ٹری کے اسٹرکچر کے درمیان بنیادی فرق یہ ہے کہ ورکل ٹری بہت زیادہ فلیٹ (flatter) ہوتا ہے، جس کا مطلب ہے کہ ایک لیف کو روٹ سے جوڑنے والے درمیانی نوڈس کم ہوتے ہیں، اور اس لیے پروف تیار کرنے کے لیے کم ڈیٹا درکار ہوتا ہے۔

ورکل ٹری ڈیٹا اسٹرکچر کا خاکہ

ورکل ٹریز کے اسٹرکچر کے بارے میں مزید پڑھیں (opens in a new tab)

موجودہ پیش رفت

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

Guillaume Ballet کو Condrieu ورکل ٹیسٹ نیٹ کی وضاحت کرتے ہوئے دیکھیں (opens in a new tab) (نوٹ کریں کہ Condrieu ٹیسٹ نیٹ پروف آف ورک تھا اور اب اس کی جگہ Verkle Gen Devnet 6 ٹیسٹ نیٹ نے لے لی ہے)۔

مزید مطالعہ

صفحہ کی آخری اپ ڈیٹ: 26 فروری، 2026

کیا یہ مضمون مددگار تھا؟