شكر خاص لكارل فلورش، وجورجيوس كونستانتوبولوس، ومارتن كوبيلمان على تعليقاتهم ومراجعتهم ومناقشتهم.
البلازما هي فئة من حلول توسيع نطاق blockchain التي تسمح بإبقاء جميع البيانات والحسابات، باستثناء الودائع والسحوبات وجذور Merkle، خارج السلسلة. وهذا يفتح الباب لتحقيق مكاسب كبيرة جدًا في قابلية التوسع والتي لا يعوقها توفر البيانات على السلسلة. تم اختراع البلازما لأول مرة في عام 2017 ، وشهدت العديد من التكرارات في عام 2018، أبرزها Minimal Viable Plasma ، وPlasma Cash ، و Plasma Cashflow ، و Plasma Prime. لسوء الحظ، تم استبدال البلازما منذ ذلك الحين إلى حد كبير بعمليات التجميع ، لأسباب تتعلق في المقام الأول بـ (1) تكاليف تخزين البيانات الكبيرة من جانب العميل، و(2) القيود الأساسية للبلازما التي تجعلها <a href="https://medium .com/@kelvinfichter/why-is-evm-on-plasma-hard-bf2d99c48df7">من الصعب التعميم بما يتجاوز المدفوعات.
إن ظهور أدلة الصلاحية (المعروفة أيضًا باسم ZK-SNARKs) يمنحنا سببًا لإعادة التفكير في هذا القرار. يمكن معالجة التحدي الأكبر المتمثل في جعل البلازما تعمل للمدفوعات، وهو تخزين البيانات من جانب العميل، بكفاءة من خلال إثباتات الصلاحية. بالإضافة إلى ذلك، توفر إثباتات الصلاحية مجموعة واسعة من الأدوات التي تسمح لنا بإنشاء سلسلة تشبه البلازما تقوم بتشغيل EVM. لن تغطي ضمانات أمن البلازما جميع المستخدمين، حيث أن الأسباب الأساسية وراء استحالة توسيع نطاق ألعاب الخروج من نمط البلازما لتشمل أنواعًا كثيرة من التطبيقات المعقدة لا تزال قائمة. ومع ذلك، يمكن مع ذلك الحفاظ على نسبة كبيرة جدًا من الأصول آمنة في الممارسة العملية.
يصف هذا المنشور كيف يمكن توسيع أفكار البلازما لفعل شيء من هذا القبيل.
أبسط نسخة من Plasma يمكن فهمها هي Plasma Cash. تعمل Plasma Cash من خلال التعامل مع كل عملة على حدة باعتبارها NFT منفصلة، وتتبع سجل منفصل لكل عملة. تحتوي سلسلة البلازما على مشغل مسؤول عن إنشاء الكتل ونشرها بانتظام. يتم تخزين المعاملات في كل كتلة كشجرة Merkle متفرقة: إذا كانت المعاملة تنقل ملكية العملة k، فإنها تظهر في الموضع k من الشجرة. عندما يقوم مشغل سلسلة البلازما بإنشاء كتلة جديدة، فإنه ينشر جذر شجرة Merkle إلى السلسلة، ويرسل مباشرة إلى كل مستخدم فروع Merkle المقابلة للعملات المعدنية التي يمتلكها هذا المستخدم.
لنفترض أن هذه هي آخر ثلاث أشجار معاملات في سلسلة Plasma Cash. بعد ذلك، بافتراض أن جميع الأشجار السابقة صالحة، نعلم أن حواء تمتلك حاليًا العملة رقم 1، وديفيد يمتلك العملة رقم 4، وجورج يمتلك العملة رقم 6.
الخطر الرئيسي في أي نظام بلازما هو سوء تصرف المشغل. هذا يمكن أن يحدث بطريقتين:
إذا أساء المشغل التصرف بطريقة تتعلق بأصول المستخدم، يتحمل المستخدم مسؤولية الخروج فورًا (على وجه التحديد، في غضون 7 أيام). عند خروج المستخدم ("المخرج")، فإنه يقدم فرع Merkle يثبت إدراج المعاملة التي حولت تلك العملة من المالك السابق إليه. يبدأ هذا فترة تحدي مدتها 7 أيام، يمكن خلالها للآخرين تحدي هذا الخروج من خلال تقديم دليل Merkle على أحد الأشياء الثلاثة:
باستخدام هذه القواعد، يحتاج أي شخص يمتلك العملة k إلى رؤية جميع فروع Merkle للموقع k في جميع الأشجار التاريخية للأسبوع الماضي للتأكد من أنه يمتلك بالفعل العملة k ويمكنه الخروج منها. إنهم بحاجة إلى تخزين جميع الفروع التي تحتوي على عمليات نقل الأصل، حتى يتمكنوا من الاستجابة للتحديات والخروج بأمان باستخدام عملاتهم المعدنية.
التصميم أعلاه يعمل مع NFTs. ومع ذلك، فإن الرموز القابلة للاستبدال هي الأكثر شيوعًا بكثير من NFTs، مثل ETH وUSDC. إحدى طرق تطبيق Plasma Cash على الرموز القابلة للاستبدال هي ببساطة جعل كل فئة صغيرة من العملة المعدنية (على سبيل المثال. 0.01 ETH) NFT منفصل. ولسوء الحظ، فإن تكاليف الغاز للخروج ستكون مرتفعة للغاية إذا فعلنا ذلك.
أحد الحلول هو التحسين من خلال التعامل مع العديد من العملات المعدنية المتجاورة كوحدة واحدة، والتي يمكن نقلها أو الخروج منها كلها مرة واحدة. هناك طريقتان للقيام بذلك:
ومع ذلك، فإن كلا النهجين يواجهان مشكلة التجزئة: إذا تلقيت 0.001 إيثريوم من مئات الأشخاص الذين يشترون القهوة منك، فستحصل على 0.001 إيثريوم في العديد من الأماكن في الشجرة، وبالتالي الخروج فعليًا من هذا الإيثريوم. سيظل يتطلب تقديم العديد من المخارج المنفصلة، مما يجعل رسوم الغاز باهظة. لقد تم تطوير بروتوكولات إلغاء التجزئة، لكن تنفيذها صعب.
وبدلاً من ذلك، يمكننا إعادة تصميم النظام ليأخذ في الاعتبار نموذج "مخرجات المعاملات غير المنفقة" (UTXO) الأكثر تقليدية. عند الخروج من عملة معدنية، ستحتاج إلى تقديم الأسبوع الأخير من تاريخ تلك العملات المعدنية، ويمكن لأي شخص أن يتحدى خروجك من خلال إثبات أن تلك العملات التاريخية قد تم الخروج منها بالفعل.
يمكن إلغاء سحب 0.2 ETH UTXO في أسفل اليمين من خلال إظهار سحب أي من UTXOs في تاريخها، كما هو موضح باللون الأخضر. لاحظ بشكل خاص أن UTXOs في منتصف اليسار وأسفل اليسار هم أسلاف، لكن UTXO في أعلى اليسار ليس كذلك. يشبه هذا النهج أفكار التلوين القائمة على الترتيب من بروتوكولات العملات المعدنية الملونة حوالي عام 2013.
هناك مجموعة واسعة من التقنيات للقيام بذلك. وفي جميع الأحوال، فإن الهدف هو تتبع بعض المفاهيم حول ما هو "نفس العملة" في مراحل مختلفة من التاريخ، من أجل منع سحب "نفس العملة" مرتين.
ولسوء الحظ، فإن التعميم بما يتجاوز المدفوعات لآلة التصويت الإلكتروني أصعب بكثير. أحد التحديات الرئيسية هو أن العديد من كائنات الحالة في EVM ليس لها "مالك" واضح. يعتمد أمان البلازما على وجود مالك لكل كائن، والذي يتحمل مسؤولية المراقبة والتأكد من توفر بيانات السلسلة، والخروج من هذا الكائن إذا حدث أي خطأ. ومع ذلك، فإن العديد من تطبيقات الإيثيريوم لا تعمل بهذه الطريقة. على سبيل المثال، لا تملك مجمعات السيولة Uniswap مالكًا واحدًا.
التحدي الآخر هو أن EVM لا يحاول الحد من التبعيات. من الممكن أن تكون ETH الموجودة في الحساب A في الكتلة N قد جاءت من أي مكان في الكتلة N-1. من أجل الخروج من حالة متسقة، ستحتاج سلسلة EVM Plasma إلى لعبة خروج حيث، في الحالة القصوى، قد يحتاج الشخص الذي يرغب في الخروج باستخدام معلومات من الكتلة N إلى دفع الرسوم لنشر حالة الكتلة N بأكملها على السلسلة : تكلفة الغاز بملايين الدولارات. لا تواجه مخططات البلازما المستندة إلى UTXO هذه المشكلة: يمكن لكل مستخدم الخروج من أصوله من أي كتلة هي أحدث كتلة لديه البيانات الخاصة بها.
التحدي الثالث هو أن التبعيات غير المحدودة في آلة التصويت الإلكترونية تجعل من الصعب للغاية الحصول على حوافز متسقة لإثبات الصلاحية. تعتمد صحة أي حالة على كل شيء آخر، وبالتالي فإن إثبات أي شيء يتطلب إثبات كل شيء. إن فرز حالات الفشل في مثل هذه الحالة بشكل عام لا يمكن جعله متوافقًا مع الحوافز بسبب مشكلة توفر البيانات. المشكلة المزعجة بشكل خاص هي أننا نفقد الضمان الموجود في الأنظمة المستندة إلى UTXO، والذي ينص على أن حالة الكائن لا يمكن أن تتغير دون موافقة مالكه. يعد هذا الضمان مفيدًا بشكل لا يصدق، لأنه يعني أن المالك على علم دائمًا بأحدث حالة أصوله التي يمكن إثباتها، ويبسط عمليات الخروج. بدونها، يصبح إنشاء ألعاب الخروج أكثر صعوبة.
إن الشيء الأساسي الذي يمكن أن تفعله إثباتات الصلاحية لتحسين تصميمات سلسلة البلازما هو إثبات صلاحية كل كتلة بلازما في السلسلة. يؤدي هذا إلى تبسيط مساحة التصميم إلى حد كبير: فهذا يعني أن الهجوم الوحيد من المشغل الذي يجب أن نقلق بشأنه هو الكتل غير المتاحة، وليس الكتل غير الصالحة. في Plasma Cash، على سبيل المثال، يزيل هذا الحاجة إلى القلق بشأن تحديات التاريخ. وهذا يقلل من الحالة التي يحتاج المستخدم إلى تنزيلها، من فرع واحد لكل كتلة في الأسبوع الماضي، إلى فرع واحد لكل أصل.
بالإضافة إلى ذلك، فإن عمليات السحب من أحدث حالة (في الحالة الشائعة التي يكون فيها المشغل صادقًا، ستكون جميع عمليات السحب من أحدث حالة) لا تخضع لاعتراضات غير المالك الأحدث، وهكذا في سلسلة بلازما مثبتة صلاحيتها مثل لن تخضع عمليات السحب لأية تحديات على الإطلاق. وهذا يعني أنه في الحالة العادية، يمكن أن تكون عمليات السحب فورية!
في حالة EVM، تتيح لنا إثباتات الصلاحية أيضًا القيام بشيء ذكي: يمكن استخدامها لتنفيذ رسم بياني UTXO متوازي لرموز ETH وERC20، وتكافؤ SNARK المثبت بين رسم UTXO وحالة EVM. بمجرد حصولك على ذلك، يمكنك تنفيذ نظام بلازما "عادي" على الرسم البياني UTXO.
وهذا يتيح لنا تجنب العديد من تعقيدات EVM. على سبيل المثال، حقيقة أنه في النظام القائم على الحساب، يمكن لشخص ما تعديل حسابك دون موافقتك (عن طريق إرسال عملات معدنية إليه وبالتالي زيادة رصيده) لا يهم، لأن بناء البلازما لا يتجاوز حالة EVM نفسها، بل يتجاوزها حالة UTXO التي تعيش بالتوازي مع EVM، حيث ستكون أي عملات معدنية تتلقاها كائنات منفصلة.
كانت هناك مخططات أبسط مقترحة لإنشاء "EVM بالبلازما"، على سبيل المثال. خالي من البلازما وقبل ذلك هذا المنشور من 2019. في هذه المخططات، يمكن لأي شخص إرسال رسالة على L1 لإجبار المشغل إما على تضمين معاملة أو إتاحة فرع معين من الدولة. إذا فشل المشغل في القيام بذلك، تبدأ السلسلة في إرجاع الكتل. تتوقف السلسلة عن التراجع بمجرد قيام شخص ما بنشر نسخة كاملة من الحالة بأكملها، أو على الأقل جميع البيانات التي أبلغ عنها المستخدمون على أنها من المحتمل أن تكون مفقودة. يمكن أن يتطلب إجراء السحب نشر مكافأة، والتي من شأنها أن تدفع حصة ذلك المستخدم في تكاليف الغاز لشخص ينشر مثل هذه الكمية الكبيرة من البيانات.
تتسم مثل هذه المخططات بالضعف لأنها لا تسمح بالسحب الفوري في الحالة العادية، لأن هناك دائمًا احتمال أن تحتاج السلسلة إلى العودة إلى أحدث حالة لها.
تعتبر مثل هذه المخططات قوية، ولكنها غير قادرة على توفير ضمانات أمنية كاملة لجميع المستخدمين. الحالة التي تنهار فيها بشكل أكثر وضوحًا هي المواقف التي لا يكون فيها لكائن معين من الدولة "مالك" اقتصادي واضح.
دعونا نفكر في حالة CDP (مركز الدين المضمون)، وهو عقد ذكي حيث يكون لدى المستخدم عملات معدنية مقفلة ولا يمكن تحريرها إلا بعد أن يدفع المستخدم ديونه. لنفترض أن المستخدم لديه 1 ETH (~ 2000 دولار أمريكي حتى وقت كتابة هذا التقرير) محجوز في CDP مع 1000 DAI من الديون. الآن، تتوقف سلسلة البلازما عن نشر الكتل، ويرفض المستخدم الخروج. ببساطة لا يمكن للمستخدم الخروج أبدًا. الآن، أصبح لدى المستخدم خيار مجاني: إذا انخفض سعر ETH إلى أقل من 1000 دولار، فإنه يبتعد وينسى CDP، وإذا ظل سعر ETH أعلى، فإنه في النهاية يطالب به. في المتوسط، يكسب مثل هذا المستخدم الضار المال من خلال القيام بذلك.
مثال آخر هو نظام الخصوصية، على سبيل المثال. تورنادو كاش أو حمامات الخصوصية. النظر في نظام الخصوصية مع خمسة المودعين:
تحافظ ZK-SNARKs الموجودة في نظام الخصوصية على الرابط بين مالك العملة التي تدخل النظام ومالك العملة التي تخرج مخفية.
لنفترض أن اللون البرتقالي فقط قد انسحب، وعند هذه النقطة يتوقف مشغل سلسلة البلازما عن نشر البيانات. لنفترض أيضًا أننا نستخدم منهج الرسم البياني UTXO مع قاعدة ما يدخل أولاً يخرج أولاً، بحيث تتم مطابقة كل عملة مع العملة الموجودة أسفلها مباشرة. بعد ذلك، يمكن للبرتقالي سحب عملته المعدنية الممزوجة مسبقًا وبعد الخلط، وسيعتبرها النظام عملتين منفصلتين. إذا حاول اللون الأزرق سحب عملته المعدنية المختلطة مسبقًا، فإن الحالة الأحدث للبرتقالي ستحل محلها؛ وفي الوقت نفسه، لن يكون لدى شركة Blue المعلومات اللازمة لسحب عملتها بعد الخلط.
يمكن إصلاح ذلك إذا سمحت للمودعين الأربعة الآخرين بسحب عقد الخصوصية نفسه (والذي سيحل محل الإيداعات)، ثم سحب العملات المعدنية من L1. ومع ذلك، فإن التنفيذ الفعلي لمثل هذه الآلية يتطلب جهدًا إضافيًا من جانب الأشخاص الذين يقومون بتطوير نظام الخصوصية.
هناك أيضًا طرق أخرى لحل الخصوصية، على سبيل المثال. نهج Intmax ، والذي يتضمن وضع عدد قليل من البايتات على نمط تجميع السلسلة مع عامل تشغيل يشبه البلازما يقوم بتمرير المعلومات بين المستخدمين الفرديين.
تواجه مراكز Uniswap LP مشكلة مماثلة: إذا قمت بتداول USDC مقابل ETH في مركز Uniswap، فيمكنك محاولة سحب USDC الخاص بك قبل التداول وETH الخاص بك بعد التداول. إذا تواطأت مع مشغل سلسلة البلازما، فلن يتمكن مزودو السيولة والمستخدمون الآخرون من الوصول إلى حالة ما بعد التجارة، لذلك لن يتمكنوا من سحب USDC الخاص بهم بعد التجارة. ستكون هناك حاجة إلى منطق خاص لمنع مثل هذه المواقف.
في عام 2023، ستكون البلازما مساحة تصميمية تم الاستهانة بها. تظل المجموعات المجمعة هي المعيار الذهبي، ولها خصائص أمان لا يمكن مطابقتها. وهذا صحيح بشكل خاص من منظور تجربة المطور: لا شيء يمكن أن يضاهي بساطة مطور التطبيقات دون الحاجة إلى التفكير في الرسوم البيانية للملكية وتدفقات الحوافز داخل تطبيقه.
ومع ذلك، تتيح لنا تقنية البلازما تجنب مسألة توفر البيانات بشكل كامل، مما يقلل بشكل كبير من رسوم المعاملات. يمكن أن تكون البلازما بمثابة ترقية أمنية مهمة للسلاسل التي قد تكون لولا ذلك صلاحيات. حقيقة أن ZK-EVMs ستؤتي ثمارها أخيرًا هذا العام يجعلها فرصة ممتازة لإعادة استكشاف مساحة التصميم هذه، والتوصل إلى إنشاءات أكثر فعالية لتبسيط تجربة المطور وحماية أموال المستخدمين.
شكر خاص لكارل فلورش، وجورجيوس كونستانتوبولوس، ومارتن كوبيلمان على تعليقاتهم ومراجعتهم ومناقشتهم.
البلازما هي فئة من حلول توسيع نطاق blockchain التي تسمح بإبقاء جميع البيانات والحسابات، باستثناء الودائع والسحوبات وجذور Merkle، خارج السلسلة. وهذا يفتح الباب لتحقيق مكاسب كبيرة جدًا في قابلية التوسع والتي لا يعوقها توفر البيانات على السلسلة. تم اختراع البلازما لأول مرة في عام 2017 ، وشهدت العديد من التكرارات في عام 2018، أبرزها Minimal Viable Plasma ، وPlasma Cash ، و Plasma Cashflow ، و Plasma Prime. لسوء الحظ، تم استبدال البلازما منذ ذلك الحين إلى حد كبير بعمليات التجميع ، لأسباب تتعلق في المقام الأول بـ (1) تكاليف تخزين البيانات الكبيرة من جانب العميل، و(2) القيود الأساسية للبلازما التي تجعلها <a href="https://medium .com/@kelvinfichter/why-is-evm-on-plasma-hard-bf2d99c48df7">من الصعب التعميم بما يتجاوز المدفوعات.
إن ظهور أدلة الصلاحية (المعروفة أيضًا باسم ZK-SNARKs) يمنحنا سببًا لإعادة التفكير في هذا القرار. يمكن معالجة التحدي الأكبر المتمثل في جعل البلازما تعمل للمدفوعات، وهو تخزين البيانات من جانب العميل، بكفاءة من خلال إثباتات الصلاحية. بالإضافة إلى ذلك، توفر إثباتات الصلاحية مجموعة واسعة من الأدوات التي تسمح لنا بإنشاء سلسلة تشبه البلازما تقوم بتشغيل EVM. لن تغطي ضمانات أمن البلازما جميع المستخدمين، حيث أن الأسباب الأساسية وراء استحالة توسيع نطاق ألعاب الخروج من نمط البلازما لتشمل أنواعًا كثيرة من التطبيقات المعقدة لا تزال قائمة. ومع ذلك، يمكن مع ذلك الحفاظ على نسبة كبيرة جدًا من الأصول آمنة في الممارسة العملية.
يصف هذا المنشور كيف يمكن توسيع أفكار البلازما لفعل شيء من هذا القبيل.
أبسط نسخة من Plasma يمكن فهمها هي Plasma Cash. تعمل Plasma Cash من خلال التعامل مع كل عملة على حدة باعتبارها NFT منفصلة، وتتبع سجل منفصل لكل عملة. تحتوي سلسلة البلازما على مشغل مسؤول عن إنشاء الكتل ونشرها بانتظام. يتم تخزين المعاملات في كل كتلة كشجرة Merkle متفرقة: إذا كانت المعاملة تنقل ملكية العملة k، فإنها تظهر في الموضع k من الشجرة. عندما يقوم مشغل سلسلة البلازما بإنشاء كتلة جديدة، فإنه ينشر جذر شجرة Merkle إلى السلسلة، ويرسل مباشرة إلى كل مستخدم فروع Merkle المقابلة للعملات المعدنية التي يمتلكها هذا المستخدم.
لنفترض أن هذه هي آخر ثلاث أشجار معاملات في سلسلة Plasma Cash. بعد ذلك، بافتراض أن جميع الأشجار السابقة صالحة، نعلم أن حواء تمتلك حاليًا العملة رقم 1، وديفيد يمتلك العملة رقم 4، وجورج يمتلك العملة رقم 6.
الخطر الرئيسي في أي نظام بلازما هو سوء تصرف المشغل. هذا يمكن أن يحدث بطريقتين:
إذا أساء المشغل التصرف بطريقة تتعلق بأصول المستخدم، يتحمل المستخدم مسؤولية الخروج فورًا (على وجه التحديد، في غضون 7 أيام). عند خروج المستخدم ("المخرج")، فإنه يقدم فرع Merkle يثبت إدراج المعاملة التي حولت تلك العملة من المالك السابق إليه. يبدأ هذا فترة تحدي مدتها 7 أيام، يمكن خلالها للآخرين تحدي هذا الخروج من خلال تقديم دليل Merkle على أحد الأشياء الثلاثة:
باستخدام هذه القواعد، يحتاج أي شخص يمتلك العملة k إلى رؤية جميع فروع Merkle للموقع k في جميع الأشجار التاريخية للأسبوع الماضي للتأكد من أنه يمتلك بالفعل العملة k ويمكنه الخروج منها. إنهم بحاجة إلى تخزين جميع الفروع التي تحتوي على عمليات نقل الأصل، حتى يتمكنوا من الاستجابة للتحديات والخروج بأمان باستخدام عملاتهم المعدنية.
التصميم أعلاه يعمل مع NFTs. ومع ذلك، فإن الرموز القابلة للاستبدال هي الأكثر شيوعًا بكثير من NFTs، مثل ETH وUSDC. إحدى طرق تطبيق Plasma Cash على الرموز القابلة للاستبدال هي ببساطة جعل كل فئة صغيرة من العملة المعدنية (على سبيل المثال. 0.01 ETH) NFT منفصل. ولسوء الحظ، فإن تكاليف الغاز للخروج ستكون مرتفعة للغاية إذا فعلنا ذلك.
أحد الحلول هو التحسين من خلال التعامل مع العديد من العملات المعدنية المتجاورة كوحدة واحدة، والتي يمكن نقلها أو الخروج منها كلها مرة واحدة. هناك طريقتان للقيام بذلك:
ومع ذلك، فإن كلا النهجين يواجهان مشكلة التجزئة: إذا تلقيت 0.001 إيثريوم من مئات الأشخاص الذين يشترون القهوة منك، فستحصل على 0.001 إيثريوم في العديد من الأماكن في الشجرة، وبالتالي الخروج فعليًا من هذا الإيثريوم. سيظل يتطلب تقديم العديد من المخارج المنفصلة، مما يجعل رسوم الغاز باهظة. لقد تم تطوير بروتوكولات إلغاء التجزئة، لكن تنفيذها صعب.
وبدلاً من ذلك، يمكننا إعادة تصميم النظام ليأخذ في الاعتبار نموذج "مخرجات المعاملات غير المنفقة" (UTXO) الأكثر تقليدية. عند الخروج من عملة معدنية، ستحتاج إلى تقديم الأسبوع الأخير من تاريخ تلك العملات المعدنية، ويمكن لأي شخص أن يتحدى خروجك من خلال إثبات أن تلك العملات التاريخية قد تم الخروج منها بالفعل.
يمكن إلغاء سحب 0.2 ETH UTXO في أسفل اليمين من خلال إظهار سحب أي من UTXOs في تاريخها، كما هو موضح باللون الأخضر. لاحظ بشكل خاص أن UTXOs في منتصف اليسار وأسفل اليسار هم أسلاف، لكن UTXO في أعلى اليسار ليس كذلك. يشبه هذا النهج أفكار التلوين القائمة على الترتيب من بروتوكولات العملات المعدنية الملونة حوالي عام 2013.
هناك مجموعة واسعة من التقنيات للقيام بذلك. وفي جميع الأحوال، فإن الهدف هو تتبع بعض المفاهيم حول ما هو "نفس العملة" في مراحل مختلفة من التاريخ، من أجل منع سحب "نفس العملة" مرتين.
ولسوء الحظ، فإن التعميم بما يتجاوز المدفوعات لآلة التصويت الإلكتروني أصعب بكثير. أحد التحديات الرئيسية هو أن العديد من كائنات الحالة في EVM ليس لها "مالك" واضح. يعتمد أمان البلازما على وجود مالك لكل كائن، والذي يتحمل مسؤولية المراقبة والتأكد من توفر بيانات السلسلة، والخروج من هذا الكائن إذا حدث أي خطأ. ومع ذلك، فإن العديد من تطبيقات الإيثيريوم لا تعمل بهذه الطريقة. على سبيل المثال، لا تملك مجمعات السيولة Uniswap مالكًا واحدًا.
التحدي الآخر هو أن EVM لا يحاول الحد من التبعيات. من الممكن أن تكون ETH الموجودة في الحساب A في الكتلة N قد جاءت من أي مكان في الكتلة N-1. من أجل الخروج من حالة متسقة، ستحتاج سلسلة EVM Plasma إلى لعبة خروج حيث، في الحالة القصوى، قد يحتاج الشخص الذي يرغب في الخروج باستخدام معلومات من الكتلة N إلى دفع الرسوم لنشر حالة الكتلة N بأكملها على السلسلة : تكلفة الغاز بملايين الدولارات. لا تواجه مخططات البلازما المستندة إلى UTXO هذه المشكلة: يمكن لكل مستخدم الخروج من أصوله من أي كتلة هي أحدث كتلة لديه البيانات الخاصة بها.
التحدي الثالث هو أن التبعيات غير المحدودة في آلة التصويت الإلكترونية تجعل من الصعب للغاية الحصول على حوافز متسقة لإثبات الصلاحية. تعتمد صحة أي حالة على كل شيء آخر، وبالتالي فإن إثبات أي شيء يتطلب إثبات كل شيء. إن فرز حالات الفشل في مثل هذه الحالة بشكل عام لا يمكن جعله متوافقًا مع الحوافز بسبب مشكلة توفر البيانات. المشكلة المزعجة بشكل خاص هي أننا نفقد الضمان الموجود في الأنظمة المستندة إلى UTXO، والذي ينص على أن حالة الكائن لا يمكن أن تتغير دون موافقة مالكه. يعد هذا الضمان مفيدًا بشكل لا يصدق، لأنه يعني أن المالك على علم دائمًا بأحدث حالة أصوله التي يمكن إثباتها، ويبسط عمليات الخروج. بدونها، يصبح إنشاء ألعاب الخروج أكثر صعوبة.
إن الشيء الأساسي الذي يمكن أن تفعله إثباتات الصلاحية لتحسين تصميمات سلسلة البلازما هو إثبات صلاحية كل كتلة بلازما في السلسلة. يؤدي هذا إلى تبسيط مساحة التصميم إلى حد كبير: فهذا يعني أن الهجوم الوحيد من المشغل الذي يجب أن نقلق بشأنه هو الكتل غير المتاحة، وليس الكتل غير الصالحة. في Plasma Cash، على سبيل المثال، يزيل هذا الحاجة إلى القلق بشأن تحديات التاريخ. وهذا يقلل من الحالة التي يحتاج المستخدم إلى تنزيلها، من فرع واحد لكل كتلة في الأسبوع الماضي، إلى فرع واحد لكل أصل.
بالإضافة إلى ذلك، فإن عمليات السحب من أحدث حالة (في الحالة الشائعة التي يكون فيها المشغل صادقًا، ستكون جميع عمليات السحب من أحدث حالة) لا تخضع لاعتراضات غير المالك الأحدث، وهكذا في سلسلة بلازما مثبتة صلاحيتها مثل لن تخضع عمليات السحب لأية تحديات على الإطلاق. وهذا يعني أنه في الحالة العادية، يمكن أن تكون عمليات السحب فورية!
في حالة EVM، تتيح لنا إثباتات الصلاحية أيضًا القيام بشيء ذكي: يمكن استخدامها لتنفيذ رسم بياني UTXO متوازي لرموز ETH وERC20، وتكافؤ SNARK المثبت بين رسم UTXO وحالة EVM. بمجرد حصولك على ذلك، يمكنك تنفيذ نظام بلازما "عادي" على الرسم البياني UTXO.
وهذا يتيح لنا تجنب العديد من تعقيدات EVM. على سبيل المثال، حقيقة أنه في النظام القائم على الحساب، يمكن لشخص ما تعديل حسابك دون موافقتك (عن طريق إرسال عملات معدنية إليه وبالتالي زيادة رصيده) لا يهم، لأن بناء البلازما لا يتجاوز حالة EVM نفسها، بل يتجاوزها حالة UTXO التي تعيش بالتوازي مع EVM، حيث ستكون أي عملات معدنية تتلقاها كائنات منفصلة.
كانت هناك مخططات أبسط مقترحة لإنشاء "EVM بالبلازما"، على سبيل المثال. خالي من البلازما وقبل ذلك هذا المنشور من 2019. في هذه المخططات، يمكن لأي شخص إرسال رسالة على L1 لإجبار المشغل إما على تضمين معاملة أو إتاحة فرع معين من الدولة. إذا فشل المشغل في القيام بذلك، تبدأ السلسلة في إرجاع الكتل. تتوقف السلسلة عن التراجع بمجرد قيام شخص ما بنشر نسخة كاملة من الحالة بأكملها، أو على الأقل جميع البيانات التي أبلغ عنها المستخدمون على أنها من المحتمل أن تكون مفقودة. يمكن أن يتطلب إجراء السحب نشر مكافأة، والتي من شأنها أن تدفع حصة ذلك المستخدم في تكاليف الغاز لشخص ينشر مثل هذه الكمية الكبيرة من البيانات.
تتسم مثل هذه المخططات بالضعف لأنها لا تسمح بالسحب الفوري في الحالة العادية، لأن هناك دائمًا احتمال أن تحتاج السلسلة إلى العودة إلى أحدث حالة لها.
تعتبر مثل هذه المخططات قوية، ولكنها غير قادرة على توفير ضمانات أمنية كاملة لجميع المستخدمين. الحالة التي تنهار فيها بشكل أكثر وضوحًا هي المواقف التي لا يكون فيها لكائن معين من الدولة "مالك" اقتصادي واضح.
دعونا نفكر في حالة CDP (مركز الدين المضمون)، وهو عقد ذكي حيث يكون لدى المستخدم عملات معدنية مقفلة ولا يمكن تحريرها إلا بعد أن يدفع المستخدم ديونه. لنفترض أن المستخدم لديه 1 ETH (~ 2000 دولار أمريكي حتى وقت كتابة هذا التقرير) محجوز في CDP مع 1000 DAI من الديون. الآن، تتوقف سلسلة البلازما عن نشر الكتل، ويرفض المستخدم الخروج. ببساطة لا يمكن للمستخدم الخروج أبدًا. الآن، أصبح لدى المستخدم خيار مجاني: إذا انخفض سعر ETH إلى أقل من 1000 دولار، فإنه يبتعد وينسى CDP، وإذا ظل سعر ETH أعلى، فإنه في النهاية يطالب به. في المتوسط، يكسب مثل هذا المستخدم الضار المال من خلال القيام بذلك.
مثال آخر هو نظام الخصوصية، على سبيل المثال. تورنادو كاش أو حمامات الخصوصية. النظر في نظام الخصوصية مع خمسة المودعين:
تحافظ ZK-SNARKs الموجودة في نظام الخصوصية على الرابط بين مالك العملة التي تدخل النظام ومالك العملة التي تخرج مخفية.
لنفترض أن اللون البرتقالي فقط قد انسحب، وعند هذه النقطة يتوقف مشغل سلسلة البلازما عن نشر البيانات. لنفترض أيضًا أننا نستخدم منهج الرسم البياني UTXO مع قاعدة ما يدخل أولاً يخرج أولاً، بحيث تتم مطابقة كل عملة مع العملة الموجودة أسفلها مباشرة. بعد ذلك، يمكن للبرتقالي سحب عملته المعدنية الممزوجة مسبقًا وبعد الخلط، وسيعتبرها النظام عملتين منفصلتين. إذا حاول اللون الأزرق سحب عملته المعدنية المختلطة مسبقًا، فإن الحالة الأحدث للبرتقالي ستحل محلها؛ وفي الوقت نفسه، لن يكون لدى شركة Blue المعلومات اللازمة لسحب عملتها بعد الخلط.
يمكن إصلاح ذلك إذا سمحت للمودعين الأربعة الآخرين بسحب عقد الخصوصية نفسه (والذي سيحل محل الإيداعات)، ثم سحب العملات المعدنية من L1. ومع ذلك، فإن التنفيذ الفعلي لمثل هذه الآلية يتطلب جهدًا إضافيًا من جانب الأشخاص الذين يقومون بتطوير نظام الخصوصية.
هناك أيضًا طرق أخرى لحل الخصوصية، على سبيل المثال. نهج Intmax ، والذي يتضمن وضع عدد قليل من البايتات على نمط تجميع السلسلة مع عامل تشغيل يشبه البلازما يقوم بتمرير المعلومات بين المستخدمين الفرديين.
تواجه مراكز Uniswap LP مشكلة مماثلة: إذا قمت بتداول USDC مقابل ETH في مركز Uniswap، فيمكنك محاولة سحب USDC الخاص بك قبل التداول وETH الخاص بك بعد التداول. إذا تواطأت مع مشغل سلسلة البلازما، فلن يتمكن مزودو السيولة والمستخدمون الآخرون من الوصول إلى حالة ما بعد التجارة، لذلك لن يتمكنوا من سحب USDC الخاص بهم بعد التجارة. ستكون هناك حاجة إلى منطق خاص لمنع مثل هذه المواقف.
في عام 2023، ستكون البلازما مساحة تصميمية تم الاستهانة بها. تظل المجموعات المجمعة هي المعيار الذهبي، ولها خصائص أمان لا يمكن مطابقتها. وهذا صحيح بشكل خاص من منظور تجربة المطور: لا شيء يمكن أن يضاهي بساطة مطور التطبيقات دون الحاجة إلى التفكير في الرسوم البيانية للملكية وتدفقات الحوافز داخل تطبيقه.
ومع ذلك، تتيح لنا تقنية البلازما تجنب مسألة توفر البيانات بشكل كامل، مما يقلل بشكل كبير من رسوم المعاملات. يمكن أن تكون البلازما بمثابة ترقية أمنية مهمة للسلاسل التي قد تكون لولا ذلك صلاحيات. حقيقة أن ZK-EVMs ستؤتي ثمارها أخيرًا هذا العام يجعلها فرصة ممتازة لإعادة استكشاف مساحة التصميم هذه، والتوصل إلى إنشاءات أكثر فعالية لتبسيط تجربة المطور وحماية أموال المستخدمين.