بٹ کوائن لیئر 2 اسکیلنگ ٹیکنالوجی کا تجزیہ: درستگی کا ثبوت اور دھوکہ دہی کا ثبوت
اصل عنوان: بٹ کوائن لیئر 2 اسکیلنگ تکنیک کا تجزیہ: درستگی کے ثبوت اور دھوکہ دہی کے ثبوت
اصل مصنف: mutourend lynndell، Bitlayer Labs
1 تعارف
الگورتھم f کے لیے، دو باہمی عدم اعتماد والی جماعتیں، ایلس اور باب، درج ذیل طریقے سے اعتماد قائم کر سکتی ہیں:
-
ایلس x ان پٹ دیتا ہے، الگورتھم f چلاتا ہے، اور نتیجہ y حاصل کرتا ہے۔ باب بھی اسی ان پٹ x کی بنیاد پر الگورتھم f چلاتا ہے، اور نتیجہ y′ ہے۔ اگر y = y′ ہے، تو Bob ان پٹ x اور آؤٹ پٹ y کی منظوری دیتا ہے جو ایلس نے فراہم کیا ہے۔ یہ ایک خاص درستگی کے ثبوت کا طریقہ کار ہے، جو عام طور پر بلاکچین اتفاق رائے میں استعمال ہوتا ہے۔ ایلس وہ نوڈ ہے جو بلاک کو پیک کرتا ہے، اور باب وہ نوڈ ہے جو اتفاق رائے میں حصہ لیتا ہے۔
-
ایلس x کو داخل کرتی ہے اور نتیجہ y اور ثبوت حاصل کرنے کے لیے الگورتھم f پر zk.prove پروگرام چلاتی ہے۔ باب f, y اور ثبوت کی بنیاد پر zk.verify پروگرام چلاتا ہے۔ اگر نتیجہ درست ہے تو، باب نے ایلیس کے نتیجے y کو منظور کیا؛ اگر نتیجہ غلط ہے تو، باب ایلیس کے نتیجے y کو منظور کرتا ہے۔ اگر غلط ہے تو، باب ایلیس کے نتیجے y کو نہیں پہچانتا ہے۔ یہ توثیق کا ثبوت ہے۔ ان میں سے، باب ایک آن چین معاہدہ ہو سکتا ہے۔
-
ایلس x ان پٹ دیتا ہے، الگورتھم f چلاتا ہے، اور نتیجہ y حاصل کرتا ہے۔ باب بھی اسی ان پٹ x کی بنیاد پر الگورتھم f چلاتا ہے، اور نتیجہ y′ ہے۔ اگر y = y′، تو کچھ نہ کریں؛ اگر y ≠ y′، تو باب ایلس کو ایک پروگرام f کے ساتھ چیلنج کیا جاتا ہے۔ ایلس اور باب ایک یا کئی بار بات چیت کر سکتے ہیں۔ چیلنج جوابی عمل کی بنیاد پر ثالثی حاصل کی جاتی ہے۔ یہ دھوکہ دہی کا ثبوت ہے۔ باب چیلنجر ہے، آف چین سن رہا ہے۔ زنجیر پر چیلنج۔
-
ایلس x ان پٹ دیتی ہے، الگورتھم f پر zk.prove پروگرام چلاتی ہے، اور نتیجہ y اور ثبوت حاصل کرتی ہے۔ باب f, y اور ثبوت کی بنیاد پر zk.verify پروگرام چلاتا ہے۔ اگر نتیجہ درست ہے تو کچھ نہ کریں۔ اگر نتیجہ غلط ہے، تو باب ایلس کو چیلنج کرتا ہے، اور چیلنج کردہ پروگرام zk.verify ہے۔ ایلس اور باب ایک یا زیادہ بار بات چیت کر سکتے ہیں۔ ایلس اور باب ایک یا زیادہ بار بات چیت کر سکتے ہیں۔ ثالثی چیلنج ردعمل کے عمل کے مطابق حاصل کی جاتی ہے۔ یہ ایک دھوکہ دہی کا ثبوت ہے، جس میں باب چیلنجر ہے، آف چین کو سن رہا ہے اور آن چین کو چیلنج کرتا ہے۔
اوپر والے 2، 3، اور 4 کے لیے، x کو پرت 2 ٹرانزیکشن اور ابتدائی حالت ہونے دیں، f کو پرت 2 متفقہ پروگرام، اور y ٹرانزیکشن کی آخری حالت بنیں، پھر متعلقہ بلاکچین لیئر 2 کا توسیعی منصوبہ درج ذیل ہے:
-
درستگی کا ثبوت: مایوسی کے مفروضے کی بنیاد پر، اسے قبول کرنے سے پہلے درست ثابت ہونا چاہیے، اور یہ فوری طور پر نافذ العمل ہو جاتا ہے۔ درستگی کے ثبوت میں، یہ ثبوت فراہم کرنا ضروری ہے کہ L2 ریاست کی منتقلی درست ہے، جو دنیا کے مایوسی کے نظریے کی عکاسی کرتی ہے - اگر اور صرف اس صورت میں جب A ریاست کو صرف اس صورت میں قبول کیا جائے جب یہ درست ثابت ہو۔
-
دھوکہ دہی کا ثبوت: پرامید مفروضوں کی بنیاد پر، اسے بطور ڈیفالٹ قبول کیا جاتا ہے اور جب تک کوئی اسے غلط ثابت نہ کر دے۔ اس میں چیلنج ونڈو پیریڈ ہے اور یہ چیلنج ونڈو پیریڈ کے بعد ہی نافذ ہوگا۔ دھوکہ دہی کے ثبوت میں، اس بات کا ثبوت فراہم کرنا ضروری ہے کہ L2 ریاست کی منتقلی غلط ہے، جس کی عکاسی یہ دنیا کے بارے میں ایک پرامید نظریہ پیدا کرتی ہے – ریاست کی منتقلی پہلے سے طے شدہ طور پر درست ہے جب تک کہ غلط ثابت نہ ہو۔
جدول 1: اعتماد سازی کے طریقے
اس کے علاوہ، براہ کرم نوٹ کریں کہ:
-
دھوکہ دہی کے ثبوتوں کو درست ہونے کے ثبوتوں سے ممتاز کرنے کی کلید یہ نہیں ہے کہ آیا ZK پروف سسٹم جیسا کہ SNARK/STARK استعمال کیا جاتا ہے۔ ZK پروف سسٹم استعمال شدہ ثبوت کے طریقہ کو ظاہر کرتا ہے، جبکہ دھوکہ دہی یا درستگی ثبوت کے مواد کی نمائندگی کرتی ہے۔ یہی وجہ ہے کہ جدول 1 میں منظر نامہ 1 کو تاثیر کا ثبوت کہا جاتا ہے۔
-
درستگی کے ثبوت میں بہتر بروقت ہے، لیکن آن چین تصدیق کی پیچیدگی نسبتاً زیادہ ہے۔ دھوکہ دہی کے ثبوت میں آن چین تصدیق کی پیچیدگی کم ہے، لیکن نسبتاً ناقص بروقت۔
-
جدول 1 میں کیسز 2 اور 4 کے لیے، ZK کی تکرار اور امتزاج ٹیکنالوجی کی مدد سے، ایک سے زیادہ f کا حساب لگایا جا سکتا ہے اور کمپریس کیا جا سکتا ہے، جس سے سلسلہ پر آف چین کیلکولیشنز کی تصدیقی لاگت کو بہت کم اور کم کیا جا سکتا ہے۔
فی الحال، سولیڈیٹی ٹیورنگ مکمل سمارٹ معاہدوں سے فائدہ اٹھاتے ہوئے، ایتھریم لیئر 2 کی توسیع میں فراڈ پروف اور درستگی پروف ٹیکنالوجیز کا وسیع پیمانے پر استعمال کیا جاتا ہے۔ تاہم، بٹ کوائن کے پیراڈائم کے تحت، بٹ کوائنز کے محدود اوپکوڈ فنکشنز اور 1,000 اسٹیک عناصر کے ذریعے محدود، یہ مضمون بٹ کوائن لیئر 2 کی توسیع کے تناظر میں بٹ کوائن پیراڈیم کے تحت حدود اور پیش رفت کی ٹیکنالوجیز کا خلاصہ کرتا ہے، درستگی کے ثبوت اور دھوکہ دہی کا مطالعہ کرتا ہے۔ منفرد اسکرپٹ سیگمنٹیشن ٹیکنالوجی
Bitcoin پیراڈائم کے تحت 2 حدود اور کامیابیاں
بٹ کوائن کی تمثیل کے تحت بہت سی حدود ہیں، لیکن ان حدود کو توڑنے کے لیے مختلف ہوشیار طریقے یا ٹیکنالوجیز استعمال کی جا سکتی ہیں۔ مثال کے طور پر، بٹ کمٹمنٹ UTXO سٹیٹ لیس حد بندی کو توڑ سکتا ہے، taproot اسکرپٹ اسپیس کی حد کو توڑ سکتا ہے، کنیکٹر آؤٹ پٹ UTXO اخراجات کے طریقہ کار کی حد کو توڑ سکتا ہے، اور معاہدہ پہلے سے دستخط کرنے والی پابندیوں کو توڑ سکتا ہے۔
2.1 UTXO ماڈل اور اسکرپٹ کی پابندیاں
Bitcoin UTXO ماڈل کا استعمال کرتا ہے، جہاں ہر UTXO کو ایک لاکنگ اسکرپٹ میں بند کیا جاتا ہے جو ان شرائط کی وضاحت کرتا ہے جو UTXO کو خرچ کرنے کے لیے پورا کرنا ضروری ہے۔ بٹ کوائن اسکرپٹ کی درج ذیل حدود ہیں:
-
بٹ کوائن اسکرپٹ بے وطن ہے؛
-
کے لیے P2TR آؤٹ پٹ کی قسم، ایک ہی ٹرانزیکشن میں شامل کیے جانے والے اوپکوڈز کی کل تعداد تقریباً 4 ملین تک ہے، جو پورے بلاک کو بھر دے گی، جب کہ دیگر آؤٹ پٹ اقسام کے لیے یہ صرف 10,000 اوپکوڈز ہیں۔
-
واحد UTXO کے خرچ کرنے کے طریقے محدود ہیں، اور مشترکہ اخراجات کے طریقوں کی کھوج کی کمی ہے۔
-
لچکدار معاہدے کے افعال کی حمایت نہیں کرتا؛
-
اسٹیک کا سائز 1000 عناصر (altstack + stack) تک محدود ہے، اور ایک عنصر کا زیادہ سے زیادہ سائز 520 بائٹس ہے۔
-
ریاضی کی کارروائیاں (جیسے اضافہ اور گھٹاؤ) 4 بائٹ عناصر تک محدود ہیں۔ انہیں لمبے عناصر میں تبدیل نہیں کیا جا سکتا، جیسے کہ 20 بائٹس یا اس سے بڑا، جو کہ کرپٹوگرافک آپریشنز کے لیے ضروری ہے۔
-
Opcodes جیسے OP_MUL اور OP_CAT غیر فعال کر دیا گیا ہے. اگر موجودہ اوپکوڈس کو نقلی کے لیے استعمال کیا جائے تو قیمت بہت زیادہ ہے۔ مثال کے طور پر، ایک گول BLAKE 3 ہیش کی نقل کرنے کے لیے، اسکرپٹ کا سائز تقریباً 75K ہے۔
2.2 بٹ کمٹمنٹ: UTXO سٹیٹ لیس حد کو توڑنا
فی الحال، بٹ کوائن اسکرپٹ مکمل طور پر بے وطن ہے۔ بٹ کوائن اسکرپٹ پر عمل کرتے وقت، ہر اسکرپٹ کے بعد اس پر عمل درآمد کا ماحول دوبارہ ترتیب دیا جاتا ہے۔ اس سے Bitcoin اسکرپٹ مقامی طور پر اسکرپٹ 1 اور اسکرپٹ 2 کو ایک ہی x ویلیو رکھنے کے لیے مجبور کرنے کی حمایت کرنے سے قاصر ہے۔ تاہم، اس مسئلے کو دور کرنے کے کچھ طریقے ہیں۔ بنیادی خیال کسی طرح سے کسی قدر پر دستخط کرنا ہے۔ اگر کسی قدر پر دستخط کیے جا سکتے ہیں، تو ایک اسٹیٹفول بٹ کوائن اسکرپٹ کو لاگو کیا جا سکتا ہے۔ اسکرپٹ 1 اور اسکرپٹ 2 میں x کی قدر کے دستخط کو چیک کرکے، ہم اس بات کو نافذ کرسکتے ہیں کہ اسکرپٹ 1 اور اسکرپٹ 2 میں x کی ایک ہی قدر استعمال کی گئی ہے۔ اگر متضاد دستخط ہیں، یعنی ایک ہی کے لیے 2 مختلف اقدار پر دستخط کرنا۔ متغیر x، انہیں سزا دی جا سکتی ہے۔ حل تھوڑا عزم ہے.
بٹ کمٹمنٹ کا اصول نسبتاً آسان ہے۔ نام نہاد بٹ کا مطلب ہے کہ سگنیچر میسج میں ہر بٹ کے لیے دو مختلف ہیش ویلیوز سیٹ کی گئی ہیں، یعنی ہیش 0 اور ہیش 1۔ اگر سائن کرنے کے لیے بٹ ویلیو 0 ہے، تو ہیش 0 ظاہر ہوتا ہے۔ ہیش 1 کی پری امیج preimage 1 ہے۔ اگر دستخط کرنے کے لیے مطلوبہ بٹ ویلیو 1 ہے، تو ہیش 1 کی پری امیج سامنے آتی ہے۔
مثال کے طور پر ایک بٹ میسج m ∈ {0, 1} لے کر، متعلقہ بٹ کمٹمنٹ انلاک کرنے والی اسکرپٹ صرف کچھ پری امیجز ہیں: اگر بٹ ویلیو 0 ہے، تو متعلقہ انلاکنگ اسکرپٹ پریمیج 0 ہے ——0xfa7fa5b1dea37d71a0b84196b31967140; اگر بٹ ویلیو 1 ہے، تو متعلقہ انلاکنگ اسکرپٹ preimage 1 ہے — "0x47c31e611a3bd2f3a7a42207613046703fa27496"۔ لہٰذا، بٹ کمٹمنٹ کی مدد سے، UTXO سٹیٹ لیس حد بندی کو توڑا جا سکتا ہے اور ریاستی Bitcoin اسکرپٹ کو محسوس کیا جا سکتا ہے، جس سے مختلف دلچسپ نئی خصوصیات کو ممکن بنایا جا سکتا ہے۔
OP_HASH 160
OP_DUP
// یہ ہیش 1 ہے۔
OP_EQUAL
OP_DUP
OP_ROT
// یہ ہیش 0 ہے۔
OP_EQUAL
OP_BOOLOR
OP_VERIFY
// اب بٹ کمٹمنٹ کی قدر اسٹیک پر ہے۔ یا تو "0" یا "1"۔
بٹ کمٹمنٹ کو نافذ کرنے کے فی الحال دو طریقے ہیں:
-
لیمپورٹ ایک بار کے دستخط : اصول نسبتاً آسان ہے اور صرف ہیش فنکشنز کے استعمال کی ضرورت ہے، اس لیے یہ بٹ کوائن کے لیے موافق ہے۔ پیغام میں ہر ایک بٹ کے لیے، دو ہیش قدروں کا ارتکاب کرنے کی ضرورت ہے، جس کے نتیجے میں ایک نسبتاً بڑا دستخطی ڈیٹا ہوتا ہے۔ دوسرے الفاظ میں، لمبائی v بٹس کے پیغام کے لیے، لمبائی 2v بٹس کی ایک عوامی کلید، اور لمبائی v بٹس کے دستخط کے لیے۔
-
Winternitz ایک بار کے دستخط : لیمپورٹ دستخط کے مقابلے میں، یہ دستخط اور عوامی کلید کی لمبائی کو نمایاں طور پر کم کر سکتا ہے، لیکن دستخط کرنے اور تصدیق کرنے کی پیچیدگی کو بڑھا سکتا ہے۔ یہ اسکیم لچکدار طریقے سے مختلف ہیش چین کی لمبائی d اقدار کو سیٹ کر سکتی ہے، اس طرح مثال کے طور پر، جب d = 15، عوامی کلید کی لمبائی اور دستخط کی لمبائی دونوں تقریباً 4 گنا کم ہیں، لیکن دستخط کی تصدیق کی پیچیدگی میں 4 کا اضافہ ہو جائے گا۔ اوقات یہ بنیادی طور پر بٹ کوائن اسٹیک اسپیس اور اسکرپٹ کے سائز کے درمیان تجارت ہے۔ Lamport دستخط کو Winternitz دستخط کے ایک خاص کیس کے طور پر دیکھا جا سکتا ہے جب d = 1۔
فی الحال، BitVM 2 لائبریری بلیک 3 ہیش فنکشنز پر مبنی Winternitz دستخطوں کو نافذ کرتی ہے۔ ایک بٹ کے مطابق دستخط کی لمبائی تقریباً 26 بائٹس ہے۔ یہ دیکھا جا سکتا ہے کہ بٹ کمٹمنٹ کے ذریعے ریاستوں کو متعارف کرانے کی قیمت مہنگی ہے۔ BitVM 2 پروجیکٹ کے نفاذ میں، 256 بٹ ہیش ویلیو حاصل کرنے کے لیے پہلے میسج کو ہیش کیا جاتا ہے، اور پھر ہیش ویلیو تھوڑا سا کمٹڈ ہوتا ہے، اس طرح اصل لمبے میسج کے ہر بٹ کو براہ راست کمٹمنٹ کرنے کے بجائے اوور ہیڈ کی بچت ہوتی ہے۔ .
2.3 ٹیپروٹ: اسکرپٹ کی جگہ کی حد کو توڑنا
نومبر 2021 میں چالو ہونے والے بٹ کوائن ٹیپروٹ سافٹ فورک اپ گریڈ میں 3 تجاویز شامل ہیں: Schnorr دستخط (BIP 340) ، Taproot (BIP 341) اور TapScript (BIP 342)۔ لین دین کی ایک نئی قسم، Pay-to-Taproot (P2TR) ٹرانزیکشنز۔ P2TR ٹرانزیکشنز Taproot، MAST (Merkle Abstract Syntax Tree)، اور Schnorr کے دستخطوں کے فوائد کو یکجا کر کے مزید نجی، لچکدار، اور قابل توسیع لین دین کی شکل بناتی ہے۔
P2TR خرچ کرنے کے دو طریقوں کی حمایت کرتا ہے: کلیدی راستے یا اسکرپٹ پاتھ پر مبنی خرچ۔
دفعات کے مطابق آف ٹیپروٹ (بی آئی پی 341) اسکرپٹ پاتھ کے ذریعے خرچ کرتے وقت، متعلقہ مرکل پاتھ کی زیادہ سے زیادہ لمبائی 128 سے زیادہ نہیں ہوتی۔ اس کا مطلب ہے کہ ٹیپٹری میں ٹیپلیف کی تعداد 2128 سے زیادہ نہیں ہے۔ 2017 میں سیگ وِٹ اپ گریڈ ہونے کے بعد سے، بٹ کوائن نیٹ ورک کا بلاک سائز ہے وزن کی اکائیوں میں ماپا جاتا ہے، زیادہ سے زیادہ 4 ملین ویٹ یونٹس (تقریباً 4 MB) کی حمایت کے ساتھ۔ جب ایک P2TR آؤٹ پٹ اسکرپٹ پاتھ کے ذریعے خرچ کیا جاتا ہے، تو اسے درحقیقت صرف ایک ٹیپیف اسکرپٹ کو ظاہر کرنے کی ضرورت ہوتی ہے، یعنی بلاک کو ایک ہی ٹیپ لیف اسکرپٹ کے طور پر پیک کیا جاتا ہے۔ اس کا مطلب ہے کہ P2TR ٹرانزیکشنز کے لیے، ہر ٹیپلیف کے لیے زیادہ سے زیادہ اسکرپٹ کا سائز تقریباً 4 MB ہے۔ تاہم، پہلے سے طے شدہ Bitcoin پالیسی میں، بہت سے نوڈس صرف 400K سے چھوٹے لین دین کو آگے بڑھاتے ہیں۔ اگر بڑے لین دین کو آگے بڑھانا ہے تو، پیکیجنگ کے لیے، آپ کو کان کنوں کے ساتھ تعاون کرنے کی ضرورت ہے۔
Taproot کی طرف سے لایا گیا اسکرپٹ اسپیس پریمیم موجودہ اوپکوڈس کو استعمال کرنے کے لیے زیادہ قیمتی بناتا ہے تاکہ کرپٹوگرافک آپریشنز جیسے کہ ضرب اور ہیشنگ کی تقلید کی جا سکے۔
P2TR کی بنیاد پر قابل تصدیق کمپیوٹیشن بناتے وقت، متعلقہ اسکرپٹ کا سائز اب 4 MB تک محدود نہیں رہتا ہے۔ اس کے بجائے، کمپیوٹیشن کو متعدد ذیلی افعال میں تقسیم کیا جا سکتا ہے اور متعدد ٹیپاف پر تقسیم کیا جا سکتا ہے، اس طرح 4 MB کی حد کو توڑا جا سکتا ہے۔ 4 MB اسکرپٹ کی جگہ کی حد۔ درحقیقت، BitVM 2 میں لاگو موجودہ Groth 16 تصدیق کنندہ الگورتھم 2 GB تک سائز کا ہے۔ تاہم، اسے تقریباً 1000 ٹیپلیٹس میں تقسیم اور تقسیم کیا جا سکتا ہے، اور بٹ کمٹمنٹ کے ساتھ مل کر، ہر ذیلی فنکشن کے ان پٹ اور آؤٹ پٹ کے درمیان مستقل مزاجی کو محدود کر کے پورے حساب کی سالمیت اور درستگی کو روکا جا سکتا ہے۔
2.4 کنیکٹر آؤٹ پٹ: UTXO اخراجات کی پابندیوں کو توڑنا
Bitcoin فی الحال واحد UTXO کے لیے دو مقامی اخراجات کے طریقے فراہم کرتا ہے: اسکرپٹ کے ذریعے خرچ کرنا یا عوامی کلید کے ذریعے خرچ کرنا۔ لہذا، جب تک متعلقہ درست عوامی کلید دستخط فراہم کیے جاتے ہیں یا اسکرپٹ کی شرائط پوری ہوتی ہیں، UTXO خرچ کیا جا سکتا ہے۔ دو UTXOs کو آزادانہ طور پر خرچ کیا جا سکتا ہے۔ اخراجات کے لیے، دو UTXOs کو محدود کرنے کے لیے کوئی پابندیاں شامل نہیں کی جا سکتی ہیں تاکہ وہ صرف اس صورت میں خرچ کیے جا سکیں جب کچھ اضافی شرائط پوری ہوں۔
تاہم، آرک پروٹوکول کے بانی، بورک نے چالاکی سے کنیکٹر آؤٹ پٹ کو لاگو کرنے کے لیے سگہش پرچم کا استعمال کیا۔ خاص طور پر، ایلس اپنے بی ٹی سی کو باب کو بھیجنے کے لیے ایک دستخط بنا سکتی ہے۔ تاہم، چونکہ دستخط ایک سے زیادہ ان پٹ کا ارتکاب کر سکتا ہے، ایلس دستخط کو مشروط پر سیٹ کیا جا سکتا ہے: دستخط Take_tx ٹرانزیکشن کے لیے درست ہے اگر اور صرف اس صورت میں جب لین دین دوسرا ان پٹ استعمال کرے۔ دوسرے ان پٹ کو کنیکٹر کہا جاتا ہے، جو UTXO A اور UTXO B کو جوڑتا ہے۔ دوسرے لفظوں میں، Take_tx ٹرانزیکشن درست ہے اور صرف اس صورت میں جب UTXO B چیلنج_tx کے ذریعے خرچ نہ کیا جائے۔ لہذا، کنیکٹر آؤٹ پٹ کو تباہ کر کے، Take_tx ٹرانزیکشن کو اثر انداز ہونے سے روکا جا سکتا ہے۔
شکل 1: کنیکٹر آؤٹ پٹ کا اسکیمیٹک خاکہ
BitVM 2 پروٹوکول میں، کنیکٹر آؤٹ پٹ ایک if…else فنکشن کے طور پر کام کرتا ہے۔ ایک بار جب ایک کنیکٹر آؤٹ پٹ ایک ٹرانزیکشن کے ذریعے خرچ ہو جاتا ہے، تو اسے کسی دوسرے لین دین کے ذریعے خرچ نہیں کیا جا سکتا تاکہ اس کی خصوصیت کو یقینی بنایا جا سکے۔ اصل تعیناتی میں، چیلنج کا جواب محفوظ ہے۔ اس کے علاوہ، متعلقہ کنیکٹر آؤٹ پٹ ضرورت کے مطابق مختلف اخراجات کی پالیسیاں بھی ترتیب دے سکتا ہے، جیسے چیلنج ٹرانزیکشن کو کسی کے لیے قابل خرچ ہونے کے لیے سیٹ کرنا، اور رسپانس ٹرانزیکشن کو صرف آپریٹر کے ذریعے خرچ کرنے کے لیے سیٹ کرنا یا کوئی بھی اسے ختم ہونے کی تاریخ کے بعد خرچ کر سکتا ہے۔
2.5 معاہدہ: دستخط سے پہلے کی پابندیوں کو توڑنا
فی الحال، بٹ کوائن اسکرپٹس بنیادی طور پر ان لاک کرنے کی شرائط کو محدود کرتی ہیں، لیکن اس پر پابندی نہیں لگاتے کہ UTXO کو مزید کیسے خرچ کیا جا سکتا ہے۔ اس کی وجہ یہ ہے کہ بٹ کوائن اسکرپٹ خود لین دین کے مواد کو نہیں پڑھ سکتے ہیں، یعنی وہ لین دین کا خود معائنہ نہیں کر سکتے۔ اگر بٹ کوائن اسکرپٹس لین دین کے کسی بھی حصے کی جانچ کر سکتے ہیں، تو مواد (بشمول آؤٹ پٹ) معاہدے کے کام کو محسوس کر سکتا ہے۔
موجودہ معاہدے کے نفاذ کے طریقوں کو دو اقسام میں تقسیم کیا جا سکتا ہے:
-
پری دستخط: موجودہ Bitcoin اسکرپٹ کی صلاحیتوں کی بنیاد پر، ایک پری دستخط محدود فعالیت کے ساتھ پہلے سے طے شدہ معاہدہ بنانے کے لیے استعمال کیا جاتا ہے۔ یعنی، تمام ممکنہ مستقبل کے لین دین کو پہلے سے ڈیزائن اور دستخط کر دیا جاتا ہے، جو شرکاء کو ایک مخصوص نجی کلید اور شرح میں بند کر دیتا ہے۔ کچھ حل یہاں تک کہ فریقین سے تمام پہلے سے دستخط شدہ لین دین کے لیے قلیل مدتی نجی کلیدیں تیار کرنے کی ضرورت ہوتی ہے۔ پہلے سے دستخط کرنے کے بعد، یہ قلیل مدتی نجی چابیاں محفوظ طریقے سے حذف ہو جاتی ہیں، جس سے حملہ آوروں کے لیے مختصر مدت کی نجی چابیاں حاصل کرنا اور فنڈز چوری کرنا ناممکن ہو جاتا ہے۔ شرکاء کو شامل کرتے وقت یا آپریشن کو اپ ڈیٹ کرتے وقت، مندرجہ بالا عمل کو دہرانے کی ضرورت ہوتی ہے، جس کے نتیجے میں دیکھ بھال کے بھاری اخراجات ہوتے ہیں۔ مثال کے طور پر، لائٹننگ نیٹ ورک 2 فریقی معاہدوں کو پہلے سے دستخط کرنے کے ذریعے لاگو کرتا ہے، اور متعدد 2 فریقوں کو حاصل کرنے کے لیے ہیش ٹائم لاک (HTLC) ٹیکنالوجی کا استعمال کرتا ہے تاہم، لائٹننگ نیٹ ورک کو متعدد پہلے سے دستخط شدہ لین دین کی ضرورت ہوتی ہے اور یہ دو فریقوں تک محدود ہے، جو قدرے بوجھل ہے۔ BitVM 1 میں، سینکڑوں پہلے سے دستخط شدہ آپٹمائزڈ BitVM 2 میں، لین دین کی تعداد جن پر ہر ایک شروع کے دوران پہلے سے دستخط کرنے کی ضرورت ہوتی ہے وہ بھی درجنوں تک پہنچ جاتی ہے۔ چاہے یہ BitVM 1 ہو یا BitVM 2، صرف وہی آپریٹر جس نے پہلے سے دستخط کرنے میں حصہ لیا تھا وہ واپسی کا اہل ہے۔ اگر پہلے سے دستخط کرنے میں حصہ لینے والے n شریک ہیں، اور ہر شریک کو m لین دین پر پہلے سے دستخط کرنے کی ضرورت ہے، تو ہر شریک کے پہلے سے دستخط کرنے کی پیچیدگی n ∗ m ہوگی۔
-
کنٹریکٹ آپکوڈز کا تعارف: نئے کنٹریکٹ فنکشن opcodes کو متعارف کرانے سے معاہدہ کے شرکاء کے درمیان مواصلات کی پیچیدگی اور دیکھ بھال کے اخراجات کو نمایاں طور پر کم کیا جا سکتا ہے، اس طرح Bitcoin کے لیے معاہدے کے نفاذ کا ایک زیادہ لچکدار طریقہ متعارف کرایا جا سکتا ہے۔ مثال کے طور پر، OP_CAT: بائٹس سٹرنگ کو الگ کرنے کے لیے استعمال کیا جاتا ہے۔ اگرچہ اس کا فنکشن بہت آسان ہے، یہ بہت طاقتور ہے اور BitVM کی پیچیدگی کو بہت حد تک کم کر سکتا ہے۔ OP_TXHASH: ٹھیک گرانولریٹی کے ساتھ معاہدے کے اندر کارروائیوں کو کنٹرول کر سکتا ہے۔ اگر BitVM میں استعمال کیا جاتا ہے، تو یہ آپریٹرز کے ایک بڑے سیٹ کو سپورٹ کر سکتا ہے، یہ BitVMs کے حفاظتی مفروضوں کو بہت بہتر بناتا ہے اور اس کے اعتماد کو کم کرتا ہے۔ اس کے علاوہ، پہلے سے دستخط کرنے کے طریقہ کا مطلب یہ ہے کہ BitVM ڈیزائن میں، آپریٹر صرف پیشگی ادائیگی کی ادائیگی کے عمل کو استعمال کر سکتا ہے، جو کہ سرمائے کے استعمال کے لحاظ سے غیر موثر ہے۔ تاہم، نئے کنٹریکٹ آپریشن کوڈ کے ذریعے، پیگ ان فنڈ پول سے جمع کنندگان کو براہ راست ادائیگیاں حاصل کرنا ممکن ہے فنڈ کی کارکردگی میں مزید بہتری آئے گی۔ لہذا، لچکدار معاہدہ ماڈل روایتی پری دستخطی پابندیوں کو مؤثر طریقے سے توڑ دے گا۔
3 بٹ کوائن لیئر 2 اسکیلنگ: درستگی کا ثبوت اور دھوکہ دہی کا ثبوت
Bitcoin L2 کی توسیع کے لیے درستگی کا ثبوت اور دھوکہ دہی کا ثبوت دونوں استعمال کیے جا سکتے ہیں۔ دونوں کے درمیان بنیادی فرق ٹیبل 2 میں دکھایا گیا ہے۔
جدول 2: درستگی کا ثبوت اور فراڈ کا ثبوت
بٹ کمٹمنٹ، ٹیپروٹ، پری دستخط اور کنیکٹر آؤٹ پٹ کی بنیاد پر، بٹ کوائن پر مبنی ایک فراڈ پروف بنایا جا سکتا ہے۔ ٹیپروٹ کی بنیاد پر، کنٹریکٹ آپریشن کوڈز جیسے کہ OP_CAT متعارف کروا کر، Bitcoin پر مبنی ایک درستگی کا ثبوت بنایا جا سکتا ہے۔ اس کے علاوہ، اس بات پر منحصر ہے کہ آیا باب کے پاس رسائی کا نظام ہے، فراڈ کے ثبوتوں کو اجازت یافتہ فراڈ کے ثبوتوں اور بغیر اجازت فراڈ کے ثبوتوں میں تقسیم کیا جا سکتا ہے۔ ان میں سے، اجازت یافتہ فراڈ کے ثبوت میں، صرف ایک مخصوص گروپ ہی باب کے طور پر چیلنج شروع کر سکتا ہے، جب کہ بغیر اجازت فراڈ کے ثبوت میں، کوئی بھی تیسرا فریق باب کے طور پر چیلنج شروع کر سکتا ہے۔ بغیر اجازت کی حفاظت اجازت سے بہتر ہے، جو اجازت یافتہ فریقوں کے درمیان بدنیتی پر مبنی ملی بھگت کے خطرے کو کم کر سکتی ہے۔
ایلس اور باب کے درمیان چیلنج جوابی تعاملات کی تعداد کے مطابق، دھوکہ دہی کے ثبوتوں کو ون راؤنڈ فراڈ پروف اور ملٹی راؤنڈ فراڈ پروف میں تقسیم کیا جا سکتا ہے، جیسا کہ شکل 2 میں دکھایا گیا ہے۔
شکل 2: ون راؤنڈ فراڈ پروف بمقابلہ ملٹی راؤنڈ فراڈ پروف
جیسا کہ جدول 3 میں دکھایا گیا ہے، فراڈ پروف کو مختلف تعامل کے ماڈلز کے ذریعے لاگو کیا جا سکتا ہے، بشمول ون راؤنڈ انٹرایکشن ماڈل اور ملٹی راؤنڈ انٹرایکشن ماڈل۔
جدول 3: یک طرفہ تعامل اور متعدد راؤنڈ تعامل
Bitcoin Layer 2 کے توسیعی نمونے میں، BitVM 1 ملٹی راؤنڈ فراڈ پروف میکانزم استعمال کرتا ہے، BitVM 2 سنگل راؤنڈ فراڈ پروف میکانزم استعمال کرتا ہے، اور bitcoincircle سٹارک درستگی کا ثبوت استعمال کرتا ہے۔ ان میں سے، BitVM 1 اور BitVM 2 کو Bitcoin پروٹوکول میں کوئی تبدیلی کیے بغیر استعمال کیا جا سکتا ہے۔ جبکہ بٹ کوائن سرکل اسٹارک کو ایک نیا اوپکوڈ OP_CAT متعارف کرانے کی ضرورت ہے۔
کمپیوٹنگ کے زیادہ تر کاموں کے لیے، Bitcoin signet، testnet اور mainnet کو 4 MB اسکرپٹ کے ذریعے پوری طرح سے ظاہر نہیں کیا جا سکتا، اس لیے اسکرپٹ اسپلٹ ٹیکنالوجی کی ضرورت ہے، جو اس اسکرپٹ کو تقسیم کرنے کے لیے ہے جو مکمل حساب کتاب کو 4 MB سے چھوٹے ٹکڑوں میں تقسیم کرتی ہے۔ مختلف نوڈس. ٹیپ لیف
Bitcoin پر 3.1 ملٹی راؤنڈ فراڈ کے ثبوت
جیسا کہ جدول 3 میں دکھایا گیا ہے، ملٹی راؤنڈ دھوکہ دہی کے ثبوت ایسے منظرناموں کے لیے موزوں ہیں جہاں آپ آن چین ثالثی حساب کی مقدار کو کم کرنا چاہتے ہیں اور/یا ایک ہی قدم میں مشکل شماری کے ٹکڑے کا پتہ نہیں لگا سکتے۔ جیسا کہ نام سے پتہ چلتا ہے، ملٹی راؤنڈ فراڈ کے ثبوتوں میں پروور اور تصدیق کنندہ کے درمیان گفت و شنید کا ایک سلسلہ شامل ہوتا ہے۔ مشکل شماری کے ٹکڑوں کو تلاش کرنے کے لیے تعامل کے متعدد راؤنڈز کی ضرورت ہوتی ہے، اور پھر ثالثی واقع شماری کے ٹکڑوں کی بنیاد پر کی جاتی ہے۔
رابن لینس جلد BitVM سفید کاغذ (اکثر BitVM 1 کے طور پر کہا جاتا ہے) دھوکہ دہی کے ثبوت کے متعدد راؤنڈ استعمال کیے گئے۔ یہ فرض کرتے ہوئے کہ چیلنج کی مدت کا ہر دور ایک ہفتہ کا ہوتا ہے، اور بائنری تلاش کا طریقہ استعمال کیا جاتا ہے تاکہ مشکل شماری کے ٹکڑے کو تلاش کیا جا سکے، Groth 16 Verifier کے لیے آن چین چیلنج رسپانس سائیکل 30 ہفتوں تک زیادہ ہو گا، وقت کی پابندی انتہائی ناقص ہے۔ . اگرچہ فی الحال ایسی ٹیمیں ہیں جو n-ary تلاش کے طریقوں کا مطالعہ کر رہی ہیں جو بائنری تلاش سے زیادہ موثر ہیں۔ ، ان کی بروقتی ابھی بھی دھوکہ دہی کے ثبوت کے دور میں 2 ہفتوں کے چکر سے بہت کم ہے۔
فی الحال، Bitcoin پیراڈائم کے تحت ملٹی راؤنڈ فراڈ کے ثبوت تمام اجازت یافتہ چیلنجز کا استعمال کرتے ہیں، جبکہ ایک دور کے فراڈ کے ثبوت بغیر اجازت چیلنج کے طریقہ کار کو لاگو کرتے ہیں، جو شرکاء کے درمیان ملی بھگت کا خطرہ کم کرتا ہے اور اس طرح اعلیٰ تحفظ فراہم کرتا ہے۔ taproot کا فائدہ اٹھاتے ہوئے، BitVM 1 کو بہتر بنایا گیا ہے۔ یہ نہ صرف بات چیت کے راؤنڈز کی تعداد کو 1 تک کم کرتا ہے، بلکہ یہ چیلنج کے طریقہ کار کو بغیر اجازت والے تک بڑھاتا ہے، لیکن آن چین ثالثی حساب کی مقدار کو بڑھانے کی قیمت پر۔
3.2 Bitcoin پر دھوکہ دہی کے ثبوتوں کا ایک دور
دھوکہ دہی کے ثبوت کی تصدیق کرنے والے اور تصدیق کنندہ کے درمیان صرف ایک بات چیت سے کی جا سکتی ہے۔ اس ماڈل میں، تصدیق کنندہ کو صرف ایک بار چیلنج جاری کرنے کی ضرورت ہے، اور پروور کو صرف ایک بار جواب دینے کی ضرورت ہے۔ اس جواب میں کہنے والے کو ثبوت فراہم کرنے کی ضرورت ہے۔ یہ دعویٰ کرتے ہوئے کہ اس کا حساب درست ہے۔ اگر تصدیق کنندہ ثبوت سے تضادات تلاش کرسکتا ہے، تو چیلنج کامیاب ہوجاتا ہے، بصورت دیگر چیلنج ناکام ہوجاتا ہے۔ انٹرایکٹو فراڈ پروف کے ایک دور کی خصوصیات جدول 3 میں دکھائی گئی ہیں۔
شکل 3: دھوکہ دہی کے ثبوتوں کا ایک دور
تکنیکی وائٹ پیپر میں BitVM 2: Bitcoin کو دوسری تہوں تک پہنچانا Robin Linus کی طرف سے 15 اگست 2024 کو جاری کیا گیا، Figure 3 سے ملتا جلتا طریقہ BitVM 2 کراس چین برج کو فراڈ پروف کا استعمال کرتے ہوئے لاگو کرنے کے لیے استعمال کیا گیا تھا۔
3.3 Bitcoin + OP_CAT درستگی کا ثبوت حاصل کرنے کے لیے
OP_CAT اسکرپٹ لینگویج کا حصہ تھی جب Bitcoin کو پہلی بار ریلیز کیا گیا تھا، لیکن 2010 میں سیکیورٹی کی کمزوریوں کی وجہ سے اسے غیر فعال کر دیا گیا تھا۔ تاہم، بٹ کوائن کمیونٹی کئی سالوں سے اسے فعال کرنے پر بات کر رہی ہے۔ فی الحال، OP_CAT کو نمبر 347 تفویض کیا گیا ہے۔ اور بٹ کوائن سائنیٹ میں رجسٹرڈ ہے۔ پر
OP_CAT کا بنیادی کام اسٹیک میں دو عناصر کو جوڑنا اور مشترکہ نتیجہ کو واپس اسٹیک کی طرف دھکیلنا ہے۔ یہ خصوصیت Bitcoin پر معاہدے اور STARK تصدیق کنندہ کو کھولتی ہے:
-
معاہدہ: اینڈریو پولسٹرا نے تجویز پیش کی۔ CAT اور Schnorr Tricks I Bitcoin پر معاہدوں کو لاگو کرنے کے لیے OP_CAT اور Schnorr کی ترکیبیں استعمال کرنا۔ ان میں سے، Schnorr الگورتھم P 2 TR آؤٹ پٹ قسم کا ڈیجیٹل دستخط ہے۔ دیگر آؤٹ پٹ اقسام کے لیے، اسی طرح کی ECDSA چالیں استعمال کی جا سکتی ہیں، دیکھیں CAT اور ECDSA کے ساتھ معاہدے۔ . OP_CAT معاہدے کی مدد سے، یہ STARK تصدیق کنندہ الگورتھم کو متعدد لین دین میں تقسیم کرنے اور آہستہ آہستہ پورے STARK ثبوت کی تصدیق کرنے میں مدد کر سکتا ہے۔
-
اسٹارک تصدیق کنندہ: STARK Verifier بنیادی طور پر ڈیٹا کو ایک ساتھ جوڑتا ہے اور اسے ہیش کرتا ہے۔ الجبری آپریشنز کے برعکس، ہیشنگ ایک مقامی بٹ کوائن اسکرپٹ آپریشن ہے، جو بہت زیادہ اوور ہیڈ کو بچا سکتا ہے۔ مثال کے طور پر OP_SHA 256 کو لے کر، مقامی OP_CAT طریقہ کار میں صرف ایک آپکوڈ کی ضرورت ہوتی ہے، جبکہ اینالاگ طریقہ میں سینکڑوں K کی ضرورت ہوتی ہے۔ STARK میں اہم ہیش آپریشنز مرکل پاتھ کی تصدیق اور Fiat-Shamir تبدیلی ہیں۔ لہذا، OP_CAT STARK تصدیق کنندہ الگورتھم کے لیے بہت دوستانہ ہے۔
3.4 بٹ کوائن اسکرپٹ اسپلٹ ٹیکنالوجی
اگرچہ SNARK/STARK ثبوت کے بعد ثبوت کی توثیق کرنے کے لیے متعلقہ تصدیق کنندہ الگورتھم کو چلانے کے لیے درکار کمپیوٹیشن اصل حساب f کو براہ راست چلانے کے لیے درکار کمپیوٹیشن سے بہت کم ہے۔ تاہم، اسے بٹ کوائن اسکرپٹ میں لاگو کردہ تصدیق کنندہ الگورتھم میں تبدیل کرتے وقت، اصل حساب f کو براہ راست چلانے کے لیے درکار حساب سے بہت کم ہے۔ اسکرپٹ کا سائز اب بھی بہت بڑا ہے۔ فی الحال، موجودہ Bitcoin opcodes کی بنیاد پر، اصلاح کے بعد، لاگو Groth 16 تصدیق کنندہ اسکرپٹ سائز اور Fflonk verifier اسکرپٹ کا سائز اب بھی 2 GB سے بڑا ہے۔ تاہم، ایک بٹ کوائن بلاک کا سائز صرف 4 MB ہے، ایک ہی بلاک میں پوری تصدیق کنندہ اسکرپٹ کو چلانا ناممکن ہے۔ تاہم، بٹ کوائن کو ٹیپروٹ میں اپ گریڈ کرنے کے بعد، یہ ٹیپلیف کے ذریعے اسکرپٹس کو انجام دینے میں معاونت کرتا ہے، جو تصدیق کنندہ اسکرپٹ کو متعدد حصوں میں تقسیم کر سکتا ہے، اور پھر ہر ایک حصے کے ساتھ ایک ٹیپٹری کو بطور ٹیپلیف بنا سکتا ہے۔ ہر ٹکڑے کے درمیان، بٹ کمٹمنٹ کا استعمال ٹکڑوں کے درمیان اقدار کی مستقل مزاجی کو یقینی بنانے کے لیے کیا جاتا ہے۔
OP_CAT معاہدے کے ساتھ، STARK تصدیق کنندہ کو 400 KB سے کم کے متعدد معیاری لین دین میں تقسیم کیا جا سکتا ہے، تاکہ STARK کے پورے جواز کی تصدیق کان کنوں کے ساتھ تعاون کی ضرورت کے بغیر کی جا سکے۔
یہ سیکشن موجودہ صورت میں Bitcoin اسکرپٹ کی متعلقہ اسپلٹ ٹیکنالوجی پر توجہ مرکوز کرتا ہے بغیر کسی نئے آپکوڈ کو متعارف کرائے یا ان کو چالو کئے۔
اسکرپٹ کو تقسیم کرتے وقت، درج ذیل جہتی معلومات کو متوازن کرنے کی ضرورت ہے:
-
سنگل چنک اسکرپٹ کا سائز 4 MB سے زیادہ نہیں ہونا چاہیے اور اس میں ان پٹ بٹ کمٹمنٹ اسکرپٹس، لین دین کے دستخط وغیرہ کے لیے جگہ شامل ہونی چاہیے۔
-
سنگل چنک اسٹیک کا زیادہ سے زیادہ سائز 1000 سے زیادہ نہیں ہے۔ اس لیے، ہر ٹک اسٹیک پر صرف مطلوبہ عناصر ہی رکھے جائیں، تاکہ اسکرپٹ سائز آپٹیمائزیشن کی خدمت کے لیے کافی اسٹیک اسپیس کو محفوظ کیا جا سکے۔ کیونکہ بٹ کوائن کی لین دین کی فیس استعمال شدہ اسٹیک سائز پر منحصر نہیں ہے۔
-
Bitcoin پر بٹ عزم مہنگا ہے. لہذا فی الحال 1 بٹ 26 بائٹس کے مساوی ہے، اور 2 ملحقہ حصوں کے درمیان ان پٹ اور آؤٹ پٹ بٹس کی تعداد کو کم سے کم کیا جانا چاہئے۔
-
آڈیٹنگ کی سہولت کے لیے، ہر حصے کا کام ممکن حد تک واضح ہونا چاہیے۔
فی الحال، اسکرپٹ سیگمنٹیشن کے طریقوں کو بنیادی طور پر درج ذیل تین اقسام میں تقسیم کیا گیا ہے:
-
خودکار تقسیم: اسٹیک سائز اور اسکرپٹ سائز کی بنیاد پر، ایک سیگمنٹیشن طریقہ تلاش کریں جو اسٹیک سائز کو کم سے کم کرتا ہے جبکہ اسکرپٹ کا سائز 3 MB کے ارد گرد رکھتا ہے۔ اس طریقہ کار کا فائدہ یہ ہے کہ یہ مخصوص تصدیق کنندہ الگورتھم سے آزاد ہے اور اسے کسی بھی اسکرپٹ سیگمنٹیشن تک بڑھایا جا سکتا ہے۔ اس کے نقصانات ہیں: (1) منطق کے پورے بلاک کو الگ سے نشان زد کرنے کی ضرورت ہے، مثال کے طور پر، OP_IF کوڈ بلاک کو تقسیم نہیں کیا جا سکتا، ورنہ تقسیم کے بعد اسکرپٹ پر عمل درآمد کا نتیجہ غلط ہوگا۔ (2) ٹکڑوں پر عمل درآمد کا نتیجہ اسٹیک پر متعدد عناصر سے مطابقت رکھتا ہے، اسٹیک عناصر کی تعداد جن کو تھوڑا سا کمٹمنٹ لاگو کرنے کی ضرورت ہے اسے حساب کی اصل منطق کے مطابق نشان زد کرنے کی ضرورت ہے۔ (3) ہر ٹک اسکرپٹ کے ذریعہ لاگو کردہ منطقی افعال خراب طور پر پڑھنے کے قابل ہیں، جو آڈیٹنگ کے لیے موزوں نہیں ہیں۔ (4) اسٹیک میں ڈیٹا ہوسکتا ہے جو اگلے حصے کے ذریعہ استعمال نہیں کیا جائے گا۔ عناصر، اسٹیک کی جگہ کو ضائع کرنا۔
-
فنکشنل سیگمنٹیشن: سیگمنٹیشن حساب میں فعال ذیلی افعال پر مبنی ہے۔ ذیلی افعال کی ان پٹ اور آؤٹ پٹ ویلیوز واضح ہیں۔ اسکرپٹ کو سیگمنٹ کرتے وقت، ہر حصے کے لیے درکار بٹ کمٹمنٹ اسکرپٹ کو بھی لاگو کیا جاتا ہے، جس سے حتمی حصہ کل اسکرپٹ ہوتا ہے جس کا سائز 4 MB سے کم ہوتا ہے، اور اسٹیک کا سائز 1000 سے کم ہوتا ہے۔ فوائد: واضح فنکشنز، ایک سنگل کی واضح منطق حصہ، اچھی پڑھنے کی اہلیت، اور آسان آڈیٹنگ۔ نقصانات: اصل حساب کی منطق کا اظہار سکرپٹ کی سطح کی منطق کے اظہار سے میل نہیں کھاتا ہے۔ اصل حساب کا ذیلی فنکشن بہترین ہوسکتا ہے، لیکن اس کا مطلب یہ نہیں ہے کہ یہ اسکرپٹ کی سطح پر بہترین ہے۔
-
دستی تقسیم: اسکرپٹ سیگمنٹیشن پوائنٹ فنکشنل سب فنکشن میں نہیں ہے، لیکن دستی طور پر سیٹ کیا گیا ہے۔ یہ خاص طور پر اس صورت کے لیے موزوں ہے جہاں ایک ذیلی فنکشن کا سائز 4 MB سے زیادہ ہو۔ فائدہ یہ ہے کہ اسے بھاری اسکرپٹ سائز کے ذیلی افعال کے لیے استعمال کیا جا سکتا ہے، جیسے کہ F q1 2 متعلقہ حساب کے ذیلی افعال دستی طور پر تقسیم ہوتے ہیں۔ ایک حصہ کی منطق واضح، پڑھنے کے قابل، اور آڈٹ میں آسان ہے۔ نقصان یہ ہے کہ دستی ٹیوننگ کی صلاحیتوں کی محدودیت کی وجہ سے، جب مجموعی اسکرپٹ کو بہتر بنایا جاتا ہے، پہلے سے سیٹ کیے گئے مینوئل اسپلٹ پوائنٹس زیادہ سے زیادہ نہیں ہوسکتے ہیں، اسے دوبارہ ایڈجسٹ کرنے کی ضرورت ہے۔
مثال کے طور پر، اصلاح کے متعدد راؤنڈز کے بعد، Groth 16 تصدیق کنندہ کے اسکرپٹ کا سائز تقریباً 7 GB سے کم کر کے تقریباً 1.26 GB کر دیا گیا ہے۔ اس مجموعی کمپیوٹیشنل آپٹیمائزیشن کے علاوہ، اسٹیک اسپیس کا مکمل استعمال کرنے کے لیے ہر حصہ کو الگ سے بھی بہتر بنایا جا سکتا ہے۔ کے لیے مثال کے طور پر، لوک اپ ٹیبل پر مبنی ایک بہتر الگورتھم متعارف کروا کر اور تلاش کی میز کی متحرک لوڈنگ اور ان لوڈنگ ہر ٹکڑے کے اسکرپٹ سائز کو مزید کم کر سکتا ہے۔
ویب 2 پروگرامنگ لینگویج کی کمپیوٹیشنل لاگت اور آپریٹنگ ماحول بٹ کوائن اسکرپٹس سے بالکل مختلف ہے، اس لیے مختلف الگورتھم کے بٹ کوائن اسکرپٹس کے لیے، صرف موجودہ نفاذ کا ترجمہ کرنا ممکن نہیں ہے۔ درج ذیل اصلاحات:
-
زیادہ سے زیادہ میموری لوکلٹی کے ساتھ الگورتھم تلاش کرنا، یہاں تک کہ کچھ کمپیوٹیشنل کوششوں کی قیمت پر بھی، حصوں کے درمیان ان پٹ اور آؤٹ پٹ بٹس کی تعداد کو کم کر سکتا ہے، اس طرح BitVM 2 ڈیزائن میں assertTx ٹرانزیکشنز کے لیے ضروری ڈیٹا کی مقدار کو کم کر سکتا ہے۔
-
متعلقہ آپریشنز (جیسے منطقی آپریشنز) کی کمیوٹیٹیٹی کا فائدہ اٹھاتے ہوئے، xy = yx، تلاش کی میز کا تقریباً آدھا حصہ محفوظ ہو جاتا ہے۔
-
فی الحال، F q1 2 آپریشن سے متعلقہ اسکرپٹس کی مقدار بہت زیادہ ہے۔ ہم Fiat-Shamir، Schwartz-Zipple اور polynomial کمٹمنٹ اسکیموں کے استعمال پر غور کر سکتے ہیں۔ F q1 2 توسیعی ڈومین آپریشن کی کمپیوٹیشنل پیچیدگی کو نمایاں طور پر کم کرنے کے لیے۔
4 خلاصہ
یہ مضمون سب سے پہلے Bitcoin اسکرپٹ کی پابندیوں کو متعارف کراتا ہے، اور یہ بتاتا ہے کہ UTXO ریاست کے بغیر پابندیوں کو توڑنے کے لیے Bitcoin کے وعدوں کو کیسے استعمال کیا جائے، اسکرپٹ کی جگہ کی پابندیوں کو توڑنے کے لیے Taproot کا استعمال کیا جائے، UTXO اخراجات کی پابندیوں کو توڑنے کے لیے کنیکٹر آؤٹ پٹ کا استعمال کریں، اور توڑنے کے لیے معاہدوں کا استعمال کریں۔ پہلے سے دستخط کرنے والی پابندیوں کے ذریعے۔ پھر، دھوکہ دہی کے ثبوت اور درست دھوکہ دہی کے ثبوتوں کی خصوصیات، اجازت یافتہ فراڈ ثبوتوں کی خصوصیات اور بغیر اجازت دھوکہ دہی کے ثبوت، ون راؤنڈ فراڈ پروف اور ملٹی راؤنڈ فراڈ پروف کی خصوصیات، اور بٹ کوائن اسکرپٹ اسپلٹنگ ٹیکنالوجی کو جامع طریقے سے ترتیب دیا گیا ہے اور ترتیب دیا گیا ہے۔
حوالہ جات
-
OP_IF , OP_CAT , OP_SHA 256
-
StarkWare، درستگی کے ثبوت بمقابلہ دھوکہ دہی کے ثبوت، 23.01.2019
-
StarkWare، درستگی کے ثبوت بمقابلہ دھوکہ دہی کے ثبوت، 2024.05.09
-
BitVMX، بٹ کوائن اسکرپٹ کے لیے الگورتھم کو بہتر بنانا، 2024.06.27
-
کیمیا، پرامید رول اپ کیسے کام کرتے ہیں (مکمل گائیڈ)، 2023.08.09
یہ مضمون انٹرنیٹ سے حاصل کیا گیا ہے: بٹ کوائن لیئر 2 اسکیلنگ ٹیکنالوجی کا تجزیہ: درستگی کا ثبوت اور فراڈ کا ثبوت
متعلقہ: ہیریس دور: کرپٹو انڈسٹری کے لیے ایک نیا ڈان؟
اصل مصنف: اینڈریو سنگر اصل ترجمہ: BitpushNews an موجودہ امریکی نائب صدر اور صدارتی امیدوار کملا ہیرس کی مہم نے کئی اشارے بھیجے ہیں کہ ان کی انتظامیہ کرپٹو کرنسی انڈسٹری کے لیے سازگار ہوگی۔ جیسا کہ ہیریس انتخابات میں چڑھنا جاری رکھے ہوئے ہیں، صنعت کے مبصرین مزید سوالات پوچھنے لگے ہیں۔ کیا حارث کی صدارت میں کم عمر مشیر اور سیاسی تقرری شامل ہوں گے جو بائیڈن، ییلن اور گینسلر جیسے پرانے محافظوں کے مقابلے میں کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے لیے زیادہ کھلے ہیں؟ کیا یہ منصفانہ اور متوازن کرپٹو کرنسی اصلاحاتی قانون سازی کی حمایت کرے گا؟ کیا یہ ریپبلکن پارٹی سے بہتر کرپٹو کرنسی استعمال کرنے والوں اور اختراع کاروں کی خدمت کرے گا - حالانکہ ڈونلڈ ٹرمپ نے کہا ہے کہ وہ "کرپٹو صدر" بننا چاہتے ہیں اور انہوں نے SEC کے چیئرمین گیری گینسلر (ایک کرپٹو نیمیسس) کو "پہلے دن" کو برطرف کرنے کا وعدہ کیا ہے…