لائٹ کلائنٹس
ایک مکمل نوڈ چلانا ایتھیریم کے ساتھ تعامل کرنے کا سب سے زیادہ بلا اعتماد، نجی، لامركزی اور سنسرشپ کے خلاف مزاحم طریقہ ہے۔ ایک مکمل نوڈ کے ساتھ آپ بلاک چین کی اپنی کاپی رکھتے ہیں جس سے آپ فوری طور پر استفسار کر سکتے ہیں اور آپ کو ایتھیریم کے پیئر ٹو پیئر نیٹ ورک تک براہ راست رسائی حاصل ہوتی ہے۔ تاہم، ایک مکمل نوڈ چلانے کے لیے میموری، اسٹوریج اور CPU کی ایک قابل ذکر مقدار درکار ہوتی ہے۔ اس کا مطلب ہے کہ ہر کسی کے لیے اپنا نوڈ چلانا ممکن نہیں ہے۔ ایتھیریم روڈ میپ پر اس کے کئی حل موجود ہیں، بشمول غیر حالتی کیفیت، لیکن ان کے نفاذ میں ابھی کئی سال باقی ہیں۔ قریبی مدت میں اس کا جواب یہ ہے کہ ایک مکمل نوڈ چلانے کے کچھ فوائد کو کارکردگی میں بڑی بہتری کے لیے قربان کیا جائے جو نوڈز کو بہت کم ہارڈویئر ضروریات کے ساتھ چلنے کی اجازت دیتی ہے۔ جو نوڈز یہ سمجھوتہ کرتے ہیں انہیں لائٹ نوڈز کہا جاتا ہے۔
لائٹ کلائنٹ کیا ہے
لائٹ نوڈ ایک ایسا نوڈ ہے جو لائٹ کلائنٹ سافٹ ویئر چلا رہا ہوتا ہے۔ بلاک چین ڈیٹا کی مقامی کاپیاں رکھنے اور تمام تبدیلیوں کی آزادانہ طور پر تصدیق کرنے کے بجائے، وہ کسی فراہم کنندہ سے ضروری ڈیٹا کی درخواست کرتے ہیں۔ فراہم کنندہ ایک مکمل نوڈ سے براہ راست کنکشن ہو سکتا ہے یا کسی مرکزی RPC سرور کے ذریعے۔ پھر لائٹ نوڈ کے ذریعے ڈیٹا کی تصدیق کی جاتی ہے، جس سے یہ چین کے ہیڈ کے ساتھ ہم آہنگ رہتا ہے۔ لائٹ نوڈ صرف بلاک ہیڈرز پر کارروائی کرتا ہے، اور صرف کبھی کبھار اصل بلاک کے مواد کو ڈاؤن لوڈ کرتا ہے۔ نوڈز اپنے ہلکے پن میں مختلف ہو سکتے ہیں، جس کا انحصار ان کے چلائے جانے والے لائٹ اور مکمل کلائنٹ سافٹ ویئر کے امتزاج پر ہوتا ہے۔ مثال کے طور پر، سب سے ہلکی کنفیگریشن ایک لائٹ ایگزیکیوشن کلائنٹ اور ایک لائٹ اتفاقِ رائے کا کلائنٹ چلانا ہوگی۔ اس بات کا بھی امکان ہے کہ بہت سے نوڈز مکمل ایگزیکیوشن کلائنٹس کے ساتھ لائٹ اتفاقِ رائے کا کلائنٹ چلانے کا انتخاب کریں گے، یا اس کے برعکس۔
لائٹ کلائنٹس کیسے کام کرتے ہیں؟
جب ایتھیریم نے حصہ داری کا ثبوت (PoS) پر مبنی اتفاق رائے کا طریقہ کار استعمال کرنا شروع کیا، تو خاص طور پر لائٹ کلائنٹس کو سپورٹ کرنے کے لیے نیا انفراسٹرکچر متعارف کرایا گیا۔ اس کے کام کرنے کا طریقہ یہ ہے کہ ہر 1.1 days میں تصادفی طور پر 512 توثیق کاروں کا ایک ذیلی سیٹ منتخب کیا جاتا ہے جو ایک ہم آہنگی کمیٹی کے طور پر کام کرتا ہے۔ ہم آہنگی کمیٹی حالیہ بلاکس کے ہیڈر پر دستخط کرتی ہے۔ ہر بلاک ہیڈر میں ہم آہنگی کمیٹی میں شامل توثیق کاروں کے مجموعی دستخط اور ایک "بٹ فیلڈ" ہوتا ہے جو یہ ظاہر کرتا ہے کہ کن توثیق کاروں نے دستخط کیے اور کن نے نہیں۔ ہر ہیڈر میں ان توثیق کاروں کی فہرست بھی شامل ہوتی ہے جن سے اگلے بلاک پر دستخط کرنے میں حصہ لینے کی توقع ہوتی ہے۔ اس کا مطلب ہے کہ ایک لائٹ کلائنٹ تیزی سے دیکھ سکتا ہے کہ ہم آہنگی کمیٹی نے ان کے موصول ہونے والے ڈیٹا کی منظوری دے دی ہے، اور وہ یہ بھی چیک کر سکتے ہیں کہ ہم آہنگی کمیٹی اصلی ہے یا نہیں، اس کا موازنہ اس کمیٹی سے کر کے جو انہیں پچھلے بلاک میں متوقع بتائی گئی تھی۔ اس طرح، لائٹ کلائنٹ اصل بلاک کو ڈاؤن لوڈ کیے بغیر، صرف ہیڈر جس میں خلاصہ معلومات ہوتی ہیں، کے ذریعے تازہ ترین ایتھیریم بلاک کے بارے میں اپنے علم کو اپ ڈیٹ رکھ سکتا ہے۔
عمل درآمد کی تہہ پر لائٹ ایگزیکیوشن کلائنٹ کے لیے کوئی ایک تصریح نہیں ہے۔ ایک لائٹ ایگزیکیوشن کلائنٹ کا دائرہ کار ایک مکمل ایگزیکیوشن کلائنٹ کے "لائٹ موڈ" سے مختلف ہو سکتا ہے جس میں ایک مکمل نوڈ کی تمام EVM اور نیٹ ورکنگ فعالیت ہوتی ہے لیکن یہ متعلقہ ڈیٹا ڈاؤن لوڈ کیے بغیر صرف بلاک ہیڈرز کی تصدیق کرتا ہے، یا یہ ایک زیادہ مختصر کلائنٹ ہو سکتا ہے جو ایتھیریم کے ساتھ تعامل کرنے کے لیے RPC فراہم کنندہ کو درخواستیں بھیجنے پر بہت زیادہ انحصار کرتا ہے۔
لائٹ کلائنٹس کیوں اہم ہیں؟
لائٹ کلائنٹس اس لیے اہم ہیں کیونکہ وہ صارفین کو آنے والے ڈیٹا کی تصدیق کرنے کی اجازت دیتے ہیں بجائے اس کے کہ وہ آنکھیں بند کر کے اس بات پر بھروسہ کریں کہ ان کا ڈیٹا فراہم کنندہ درست اور ایماندار ہے، جبکہ وہ ایک مکمل نوڈ کے کمپیوٹیشنل وسائل کا صرف ایک چھوٹا سا حصہ استعمال کرتے ہیں۔ لائٹ کلائنٹس کو موصول ہونے والے ڈیٹا کو ان بلاک ہیڈرز کے خلاف چیک کیا جا سکتا ہے جن کے بارے میں وہ جانتے ہیں کہ ان پر 512 ایتھیریم توثیق کاروں کے بے ترتیب سیٹ میں سے کم از کم 2/3 نے دستخط کیے ہیں۔ یہ اس بات کا بہت مضبوط ثبوت ہے کہ ڈیٹا درست ہے۔
لائٹ کلائنٹ صرف تھوڑی سی کمپیوٹنگ پاور، میموری اور اسٹوریج استعمال کرتا ہے اس لیے اسے موبائل فون پر چلایا جا سکتا ہے، کسی ایپ میں شامل کیا جا سکتا ہے یا براؤزر کے حصے کے طور پر استعمال کیا جا سکتا ہے۔ لائٹ کلائنٹس ایتھیریم تک کم از کم اعتماد والی رسائی کو اتنا ہی ہموار بنانے کا ایک طریقہ ہیں جتنا کہ کسی فریق ثالث فراہم کنندہ پر بھروسہ کرنا۔
آئیے ایک سادہ سی مثال لیتے ہیں۔ تصور کریں کہ آپ اپنے اکاؤنٹ کا بیلنس چیک کرنا چاہتے ہیں۔ ایسا کرنے کے لیے آپ کو ایتھیریم نوڈ سے درخواست کرنی ہوگی۔ وہ نوڈ آپ کے بیلنس کے لیے ایتھیریم حالت کی اپنی مقامی کاپی چیک کرے گا اور اسے آپ کو واپس کر دے گا۔ اگر آپ کو کسی نوڈ تک براہ راست رسائی حاصل نہیں ہے، تو ایسے مرکزی آپریٹرز موجود ہیں جو یہ ڈیٹا بطور سروس فراہم کرتے ہیں۔ آپ انہیں درخواست بھیج سکتے ہیں، وہ اپنا نوڈ چیک کرتے ہیں، اور نتیجہ آپ کو واپس بھیج دیتے ہیں۔ اس کے ساتھ مسئلہ یہ ہے کہ پھر آپ کو فراہم کنندہ پر بھروسہ کرنا پڑتا ہے کہ وہ آپ کو درست معلومات دے رہا ہے۔ آپ کبھی بھی واقعی یہ نہیں جان سکتے کہ معلومات درست ہیں اگر آپ خود اس کی تصدیق نہیں کر سکتے۔
ایک لائٹ کلائنٹ اس مسئلے کو حل کرتا ہے۔ آپ اب بھی کسی بیرونی فراہم کنندہ سے ڈیٹا کی درخواست کرتے ہیں، لیکن جب آپ کو ڈیٹا واپس ملتا ہے تو یہ ایک ثبوت کے ساتھ آتا ہے جسے آپ کا لائٹ نوڈ بلاک ہیڈر میں موصول ہونے والی معلومات کے خلاف چیک کر سکتا ہے۔ اس کا مطلب ہے کہ کسی بھروسہ مند آپریٹر کے بجائے ایتھیریم آپ کے ڈیٹا کی درستگی کی تصدیق کر رہا ہے۔
لائٹ کلائنٹس کن اختراعات کو ممکن بناتے ہیں؟
لائٹ کلائنٹس کا بنیادی فائدہ زیادہ لوگوں کو نہ ہونے کے برابر ہارڈویئر ضروریات اور فریق ثالث پر کم سے کم انحصار کے ساتھ آزادانہ طور پر ایتھیریم تک رسائی کے قابل بنانا ہے۔ یہ صارفین کے لیے اچھا ہے کیونکہ وہ اپنے ڈیٹا کی تصدیق کر سکتے ہیں اور یہ نیٹ ورک کے لیے اچھا ہے کیونکہ اس سے چین کی تصدیق کرنے والے نوڈز کی تعداد اور تنوع میں اضافہ ہوتا ہے۔
بہت کم اسٹوریج، میموری اور پروسیسنگ پاور والے آلات پر ایتھیریم نوڈز چلانے کی صلاحیت لائٹ کلائنٹس کے ذریعے کھولی گئی اختراعات کے بڑے شعبوں میں سے ایک ہے۔ جبکہ آج ایتھیریم نوڈز کو بہت زیادہ کمپیوٹنگ وسائل کی ضرورت ہوتی ہے، لائٹ کلائنٹس کو براؤزرز میں شامل کیا جا سکتا ہے، موبائل فونز پر چلایا جا سکتا ہے اور شاید اس سے بھی چھوٹے آلات جیسے سمارٹ گھڑیوں پر۔ اس کا مطلب ہے کہ ایمبیڈڈ کلائنٹس والے ایتھیریم والیٹس موبائل فون پر چل سکتے ہیں۔ اس کا مطلب ہے کہ موبائل والیٹس بہت زیادہ لامركزی ہو سکتے ہیں کیونکہ انہیں اپنے ڈیٹا کے لیے مرکزی ڈیٹا فراہم کنندگان پر بھروسہ نہیں کرنا پڑے گا۔
اس کی ایک توسیع انٹرنیٹ آف تھنگز (IoT) آلات کو فعال کرنا ہے۔ ایک لائٹ کلائنٹ کا استعمال کسی ٹوکن بیلنس یا NFT کی ملکیت کو تیزی سے ثابت کرنے کے لیے کیا جا سکتا ہے، جس میں ہم آہنگی کمیٹیوں کی طرف سے فراہم کردہ تمام حفاظتی ضمانتیں شامل ہوں، جو کسی IoT نیٹ ورک پر کسی کارروائی کو متحرک کرے۔ ایک سائیکل کرائے پر دینے والی سروس (opens in a new tab) کا تصور کریں جو ایک ایمبیڈڈ لائٹ کلائنٹ والی ایپ کا استعمال کرتے ہوئے تیزی سے تصدیق کرتی ہے کہ آپ کے پاس رینٹل سروس کا NFT ہے اور اگر ایسا ہے، تو آپ کے سواری کرنے کے لیے ایک سائیکل کو ان لاک کر دیتی ہے!
ایتھیریم رول اپس کو بھی لائٹ کلائنٹس سے فائدہ ہوگا۔ رول اپس کے لیے ایک بڑا مسئلہ ان پلوں کو نشانہ بنانے والے ہیکس رہے ہیں جو فنڈز کو ایتھیریم مین نیٹ سے رول اپ میں منتقل کرنے کی اجازت دیتے ہیں۔ ایک کمزوری وہ اوریکلز ہیں جنہیں رول اپس یہ پتہ لگانے کے لیے استعمال کرتے ہیں کہ صارف نے پل میں ڈپازٹ کیا ہے۔ اگر کوئی اوریکل غلط ڈیٹا فراہم کرتا ہے، تو وہ رول اپ کو یہ سوچنے پر مجبور کر سکتے ہیں کہ پل میں کوئی ڈپازٹ ہوا ہے اور غلط طریقے سے فنڈز جاری کر سکتے ہیں۔ رول اپ میں شامل ایک لائٹ کلائنٹ کو خراب اوریکلز سے بچانے کے لیے استعمال کیا جا سکتا ہے کیونکہ پل میں ڈپازٹ ایک ثبوت کے ساتھ آ سکتا ہے جس کی تصدیق رول اپ کے ذریعے کوئی بھی ٹوکن جاری کرنے سے پہلے کی جا سکتی ہے۔ یہی تصور دیگر انٹرچین پلوں پر بھی لاگو کیا جا سکتا ہے۔
لائٹ کلائنٹس کو ایتھیریم والیٹس کو اپ گریڈ کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ کسی RPC فراہم کنندہ کی طرف سے فراہم کردہ ڈیٹا پر بھروسہ کرنے کے بجائے، آپ کا والیٹ ایک ایمبیڈڈ لائٹ کلائنٹ کا استعمال کرتے ہوئے آپ کو پیش کیے جانے والے ڈیٹا کی براہ راست تصدیق کر سکتا ہے۔ اس سے آپ کے والیٹ کی سیکیورٹی میں اضافہ ہوگا۔ اگر آپ کا RPC فراہم کنندہ بے ایمان تھا اور اس نے آپ کو غلط ڈیٹا فراہم کیا، تو ایمبیڈڈ لائٹ کلائنٹ آپ کو بتا سکتا ہے!
لائٹ کلائنٹ کی ترقی کی موجودہ حالت کیا ہے؟
کئی لائٹ کلائنٹس زیرِ تکمیل ہیں، جن میں ایگزیکیوشن، اتفاق رائے اور مشترکہ ایگزیکیوشن/اتفاق رائے کے لائٹ کلائنٹس شامل ہیں۔ یہ وہ لائٹ کلائنٹ کے نفاذ ہیں جن کے بارے میں ہم اس صفحہ کو لکھتے وقت جانتے ہیں:
- لوڈسٹار (opens in a new tab): TypeScript میں اتفاقِ رائے کا لائٹ کلائنٹ
- Helios (opens in a new tab): Rust میں مشترکہ ایگزیکیوشن اور اتفاقِ رائے کا لائٹ کلائنٹ
- گو ایتھیریم (geth) (opens in a new tab): Go میں ایگزیکیوشن کلائنٹ کے لیے لائٹ موڈ (زیرِ تکمیل)
- نمبس (opens in a new tab): Nim میں اتفاقِ رائے کا لائٹ کلائنٹ
ہمارے علم کے مطابق ان میں سے کسی کو بھی ابھی تک پروڈکشن کے لیے تیار نہیں سمجھا جاتا۔
ان طریقوں کو بہتر بنانے کے لیے بھی بہت کام کیا جا رہا ہے جن سے لائٹ کلائنٹس ایتھیریم ڈیٹا تک رسائی حاصل کر سکتے ہیں۔ فی الحال، لائٹ کلائنٹس کلائنٹ/سرور ماڈل کا استعمال کرتے ہوئے مکمل نوڈز کو RPC درخواستوں پر انحصار کرتے ہیں، لیکن مستقبل میں ایک مخصوص نیٹ ورک جیسے کہ پورٹل نیٹ ورک (opens in a new tab) کا استعمال کرتے ہوئے زیادہ لامركزی طریقے سے ڈیٹا کی درخواست کی جا سکتی ہے جو پیئر ٹو پیئر گاسپ پروٹوکول کا استعمال کرتے ہوئے لائٹ کلائنٹس کو ڈیٹا فراہم کر سکتا ہے۔
دیگر روڈ میپ آئٹمز جیسے کہ ورکل ٹریز اور غیر حالتی کیفیت بالآخر لائٹ کلائنٹس کی حفاظتی ضمانتوں کو مکمل کلائنٹس کے برابر لے آئیں گے۔