هناك ترنيمة شائعة من الكثيرين في هذا الفضاء هذه الأيام ردًا على أي مناقشة حول التغييرات في بروتوكول Bitcoin هي “لا تعبث بالطبقة الأولى! يمكنك فقط بنائه على الطبقة الثانية! يبدو هذا أمرًا منطقيًا للغاية، أليس كذلك؟ لماذا تخاطر بأمن واستقرار L1 بينما يمكنك البناء فوقه؟ المشكلة هي أن هذا فشل بشكل أساسي في فهم العلاقة بين الطبقة الأولى والطبقة الثانية.
بروتوكول L2 هو امتداد لـ L1. كل ما تم تصميم L2 للقيام به يجب أن ينخفض في النهاية إلى ما يستطيع L1 القيام به. العبارة الشاملة “فقط افعلها على L2!” يحجب العديد من الحقائق الضمنية لما يمكن أو لا يمكن فعله على L2 نظرًا للحالة الحالية للطبقة الأساسية. على سبيل المثال، تخيل أنك تحاول إنشاء شبكة Lightning Network دون وجود نصوص برمجية متعددة التوقيع. لا يمكنك ذلك. لن يكون من الممكن مشاركة التحكم بين أكثر من شخص واحد، ولن يكون مفهوم قناة الدفع برمته ممكنًا.
تطور قنوات الدفع
السبب الكامل وراء وجود قنوات الدفع في المقام الأول هو حقيقة أن L1 من Bitcoin يدعم قدرة العديد من الأشخاص على مشاركة التحكم في UTXO باستخدام برنامج نصي متعدد التوقيع. ما هو ممكن على L2 مقيد بطبيعته بما هو ممكن على L1؛ نعم، بالطبع من الممكن القيام بأشياء على L2 غير ممكنة على L1، ولكن العامل المحدد في نهاية المطاف لما يمكنك القيام به خارج السلسلة هو ما هو ممكن على السلسلة. لا يمكن تأكيد الدفع بشكل أسرع في قناة الدفع إلا لأنه يمكن مشاركة الحضانة على السلسلة بين عدة أشخاص.
حتى هذا لا يكفي لقناة دفع آمنة بالرغم من ذلك. كانت قناة الدفع الأصلية تحتوي على معاملة موقعة مسبقًا باستخدام قفل زمني nLocktime الذي يعيد للممول أمواله بعد العديد من عمليات الحظر، ويدعم قنوات الدفع في اتجاه واحد فقط. جعلت قابلية تطويع المعاملات قنوات الدفع الأصلية هذه غير آمنة للاستخدام. إذا تم تلاعب في معاملة التمويل من قبل شخص ما قبل تأكيدها، فستصبح معاملة الاسترداد باطلة ولن يكون لدى الممول أي وسيلة للمطالبة باسترداد أمواله. يمكن للطرف الآخر في القناة أن يحتجز أمواله كرهينة بشكل فعال.
كان CHECKLOCKTIMEVERIFY، رمز التشغيل المطلق لقفل الوقت، هو الحل. يتيح لك CLTV جعل العملة غير قابلة للإنفاق حتى ارتفاع كتلة معين أو وقت معين في المستقبل. هذا، بالإضافة إلى القدرة على إنشاء نصوص برمجية يمكن إنفاقها بطرق متعددة، سمح لـ UTXO متعدد التوقيعات بالحصول على مسار نصي حيث يمكن للممول إنفاق جميع الأموال بنفسه بعد فترة زمنية محددة. وهذا يضمن أن يكون الممول قادرًا على المطالبة باسترداد الأموال في أسوأ السيناريوهات حتى لو كانت معاملة التمويل فاسدة. ومع ذلك، لا يزال بإمكان القناة تسهيل الدفعات في اتجاه واحد فقط.
ومن أجل تسهيل المدفوعات في الاتجاهين، كان من الضروري إيجاد حل مناسب لقابلية تطويع المعاملات. كان هذا حافزًا كبيرًا للشهود المنفصلين. إن القفل الزمني هو كل ما كان ضروريًا لقناة ذات اتجاه واحد بسبب المال فقط زيادة في اتجاه واحد. كان الخطر الوحيد الذي يواجه المرسل هو أن الطرف الآخر لن يطالب أبدًا بما تم إرساله بالفعل عبر السلسلة، مما يترك بقية أموال المرسل محاصرة. أعطى استرداد القفل الزمني للمستلم حافزًا للمطالبة بالأموال على السلسلة قبل القفل الزمني، عندما يفقد جميع الأموال التي تم إرسالها بالفعل، كما أعطى المرسل حق اللجوء في أسوأ الحالات في حالة حدوث شيء ما يجعل المتلقي غير متصل بالإنترنت بشكل دائم . لا يدعم البرنامج النصي فرض مبالغ معينة على بعض البرامج النصية المستقبلية، لذا فإن المعاملة الموقعة مسبقًا هي آلية استرداد الأموال الأولية الوحيدة القابلة للتطبيق إذا كانت الدفعات ستتدفق في كلا الاتجاهين. أدى هذا إلى إعادة فتح خطر احتجاز الأموال كرهينة.
مع الترقية إلى Segwit، تم حل هذه المشكلة. بدلاً من استرداد الأموال في الوقت المحدد لتحفيز السلوك الصادق، تم تقديم مفتاح العقوبة. ونظرًا لأن الأموال في قناة ذات اتجاهين يمكن أن تتدفق ذهابًا وإيابًا في كل اتجاه، فمن المحتم أن تكون هناك حالة حيث كان لدى كلا الجانبين أموال أكثر في الحالة السابقة للقناة من الحالة الحالية. من خلال إنشاء فرع في كل معاملة موقعة مسبقًا لكل حالة قناة باستخدام مفتاح عقوبة، يمكن للمستخدمين تبادلها بعد التوقيع على الحالة الجديدة ومعرفة ما إذا كان الطرف الآخر يحاول استخدام معاملة قديمة، فيمكنهم المطالبة بنسبة 100% من الأموال الموجودة في القناة. يتم استخدام الأقفال الزمنية لضمان مسار الإنفاق العادي حيث يأخذ المستخدمون الأرصدة الخاصة بهم غير صالحة لفترة من الوقت لمنح أطراف القناة الفرصة لاستخدام مفتاح العقوبة إذا لزم الأمر. ومع ذلك، هناك مشكلة في هذا، فاستخدام CLTV يعني أنه في مرحلة ما في المستقبل ستتم القناة لديه للإغلاق وإلا ستنتهي صلاحية القفل الزمني ولم يعد لديك فترة الأمان هذه لمعاقبة الطرف غير النزيه.
تحتاج قنوات الدفع ثنائية الاتجاه أيضًا إلى CHECKSEQUENCEVERIFY، أو الأقفال الزمنية النسبية، من أجل حل هذه المشكلة. على عكس CLTV، الذي يحدد وقتًا محددًا أو ارتفاعًا محددًا في المستقبل، يحدد ملف CSV طولًا نسبيًا من الوقت أو عدد الكتل من الوقت أو الكتلة التي يتم تأكيد UTXO باستخدام CSV في البرنامج النصي في blockchain. سمح ذلك لفترة الأمان بالعمل لاستخدام مفتاح العقوبة دون الحاجة إلى إغلاق القنوات على السلسلة في وقت محدد مسبقًا.
حتى هذا لا يمنحنا الشبكة المسرّعة بالرغم من ذلك. لا توجد حتى الآن طريقة لتوجيه الدفع فعليًا عبر قنوات دفع متعددة. يمكنهم إجراء الدفعات في كلا الاتجاهين، ولكن فقط بين الشخصين المشاركين في القناة. من أجل توجيه المدفوعات عبر قنوات متعددة، تحتاج، كما خمنت، إلى وظائف أخرى من L1. عقود التجزئة المقفلة هي الطريقة التي يتم بها تحقيق ذلك، وهي تتطلب كلاً من CLTV بالإضافة إلى التجزئة. تتطلب Hashlocks توفير الصورة المسبقة للتجزئة من أجل إنفاق العملات المعدنية. إنه مثل التوقيع، إلا أنك في الواقع تكشف فقط عن “المفتاح الخاص” بدلاً من التوقيع به. يسمح هذا للمستلم في دفعة Lightning بتوفير تجزئة، وتقوم كل قناة وسيطة بين المرسل والمتلقي بإنشاء برنامج نصي يسمح بالإنفاق فورًا باستخدام صورة التجزئة المسبقة، أو استرداد الأموال بشكل عكسي بعد قفل زمني. إذا كشف المستلم عن التجزئة، فيمكن للجميع المطالبة بالمال لإعادة توجيه الدفعة، وإذا لم يكن الأمر كذلك، فيمكن المطالبة بالمال بشكل عكسي وعكسه دون الانتهاء منه.
لذا فإن الشبكة المسرّعة كما هي موجودة اليوم تعتمد كليًا عليها خمسة الوظائف ممكنة على الطبقة الأساسية للبيتكوين. البرامج النصية متعددة التوقيع، والأقفال الزمنية المطلقة، والأقفال الزمنية النسبية، والشاهد المنفصل، والأقفال. بدون وجود أي من هذه الميزات في المستوى الأول، لن يكون البرق كما نعرفه اليوم هو المستوى الثاني المحتمل الذي يمكننا إنشاؤه. إن وجوده باعتباره L2 يعتمد كليًا على قدرة L1 على القيام بأشياء معينة. لذلك، إذا كان على المرء أن يفعل ذلك، في عالم به عملة بيتكوين لا تدعم التجزئة، والأقفال الزمنية في النص، ولا يوجد إصلاح للقابلية للتكيف، فما عليك سوى الانتقال إلى “ما عليك سوى إنشاء نظام قناة دفع ثنائي الاتجاه ومتعدد القفزات على الطبقة الثانية! لا ينبغي لنا أن نعبث بالطبقة الأولى، فسيكون ذلك عبارة غير متماسكة تمامًا.
الصيد
ومع ذلك، من الناحية الفنية بدقة، لا يزال من الممكن بناء نظام قنوات الدفع ثنائي الاتجاه ومتعدد القفزات في ذلك العالم بدون تلك الميزات الثلاث الموجودة في L1. في أ جَسِيم التكلفة من حيث تعزيز الثقة في الآخرين حتى لا يسرقوا أموالك عندما يكونون قادرين على القيام بذلك. سلسلة جانبية اتحادية. كان بإمكان الجميع إنشاء سلسلة موحدة مثل Liquid أو Rootstock وإضافة هذه الميزات إلى السلسلة الجانبية، وبناء شبكة Lightning Network هناك بدلاً من الشبكة الرئيسية. المشكلة في ذلك هي أنه ليس نفس الشيء. على المستوى الفني، ستعمل الشبكة بنفس الطريقة تمامًا، ولكن لن يتمتع أي شخص يستخدمها بنفس الدرجة من التحكم في عملاته المعدنية.
عندما يقومون بإغلاق قناة Lightning، فإنها ستستقر على سلسلة جانبية مدعومة من قبل اتحاد، أي أنها ستكون مجرد إدخال محاسبي أعلى محفظة multisig لشخص آخر حيث لا يمكنك التحكم في تلك العملات المعدنية على L1. عليك فقط أن تثق بالمجموعة الموزعة التي تدير الاتحاد حتى لا تخدع الجميع. حتى سلاسل القيادة (والتي تتطلب في حد ذاتها، ومن المفارقات، تنفيذ وظائف L1 جديدة) هي مجرد شكل آخر من أشكال الاتحاد في نهاية اليوم، مع إضافة بعض القيود الإضافية إلى عملية السحب. الاتحاد هو مجرد عمال مناجم وليس أشخاصًا يحملون مفاتيح خاصة.
هذه هي الحقيقة الضمنية، سواء فهموها أم لا، الكامنة وراء رد الفعل “فقط قم ببنائها على L2!” عندما يناقش شخص ما تحسينات على L1. هناك نطاق ما يمكن البناء عليه بالفعل على L2، وهو محدود نوعًا ما ومقيد بقيود القياس الخاصة به، ثم هناك نطاق ما هو غير ممكن بالفعل. من المستحيل بناء كل شيء يقع ضمن الفئة الأخيرة دون التدخل في كيان موثوق به أو مجموعة من الكيانات التي تتحكم في نهاية المطاف في أموال المستخدمين لصالحهم.
ما هي النقطة؟
“الطبقة الثانية” ليست تعويذة سحرية. لا يمكنك فقط التلويح بعصا سحرية وترديد الكلمات، ويصبح أي شيء وكل شيء ممكنًا بطريقة سحرية. هناك قيود صارمة لا مفر منها لما يمكن للمستوى الثاني تحقيقه، وهذه القيود هي ما يمكن للمستوى الأول تحقيقه. هذه مجرد حقيقة متأصلة في الواقع الهندسي عند النظر إلى نظام مثل Bitcoin. لا يمكنك الهروب منه بأي شكل من الأشكال إلا عن طريق تدهور افتراضات الثقة أكثر فأكثر كلما زادت مرونة المستوى الثاني الذي تبنيه بما يتجاوز قدرات المستوى الأول.
لذا، عند إجراء مناقشات حول هذه القضايا، مثل التحسينات التي يمكن إجراؤها على اللغة الأولى، هناك شيئان لهما أهمية قصوى. أولاً، تتمحور هذه التحسينات على L1 بشكل كامل تقريبًا حول تمكين بناء L2s أكثر مرونة وقابلية للتطوير. ثانيًا، لا تستطيع L2s تمكين كل شيء بطريقة سحرية. لدى L2s قيودها الخاصة بناءً على تلك الموجودة في L1، وإجراء مناقشة بشأن التغييرات في L1 دون الاعتراف بأن الطريقة الوحيدة للتغلب على هذه القيود هي تقديم كيانات موثوقة ليست محادثة صادقة.
لقد حان الوقت للبدء في الاعتراف بالواقع إذا كنا سنناقش ما يجب فعله مع البيتكوين في المستقبل، وإلا فلن يحدث شيء سوى إنكار الواقع والإضاءة. وهذا ليس منتجا.