مقدمة:
يقدم هذا المقال مقدمة تتطلع إلى الأمام لنموذج تصميم بنية Web3 غير التقليدية إلى حد ما: نموذج الاتفاق القائم على التخزين (SCP). يتباين هذا النموذج التصميمي بشكل كبير عن حلول سلسلة الكتل النمطية الرئيسية مثل Ethereum Rollups في النظرية. ومع ذلك، يظهر عالية الجدوى من حيث البساطة في التنفيذ والاندماج مع منصات Web2. لا ينوي SCP أن يقيد نفسه بمسار ضيق للتحقق مثل Rollups. بدلاً من ذلك، يهدف إلى اعتماد إطار أوسع وأكثر انفتاحًا لدمج منصات Web2 مع بنية الـ Web3. يمكن اعتبار هذا النهج مبتكرًا ومبتكرًا للغاية.

لنتصور حلاً لتوسيع سلسلة الكتل العامة بالخصائص التالية:
لديها سرعات قابلة للمقارنة مع تطبيقات الويب التقليدية Web2 أو التبادلات، متفوقة بكثير على أي سلسلة كتل عامة، طبقة 2 (L2)، ال rollups، السلاسل الجانبية، إلخ.
لا توجد رسوم للغاز، وتكلفة الاستخدام تقترب من الصفر تقريبًا.
أمان مالي عالي، يتجاوز المرافق المركزية مثل التبادلات، أقل من Rollups ولكن أكبر من أو يساوي sidechains.
تجربة مستخدم مطابقة لـ Web2، دون الحاجة إلى أي معرفة بالمفاتيح العامة والخاصة للبلوكشين، المحافظ، البنية التحتية، الخ.
هذا الحل حقًا مثير للغاية: من ناحية، فإنه قد وصل في الأساس إلى قمة التوسيع؛ من ناحية أخرى، فإنه يضع أساسا قويًا لتبني Web3 على نطاق واسع، مما يملأ الفجوة بين تجارب المستخدمين في Web2 و Web3. ومع ذلك، يبدو أن لدينا عدد قليل من الحلول الشاملة مثل هذه، حيث إن المناقشات والممارسات الرئيسية حقًا قليلة جدًا.
نحن نستخدم موضوع توسيع المقياس المعروف لدينا كمقدمة أعلاه، ولكن SCP ليست مقتصرة على حالات استخدام التوسيع. إن إلهام تصميمها يأتي حقًا من حلول التوسيع والمناقشات المجتمعية لسلاسل الكتل العامة مثل بيتكوين وإثيريوم. رؤيتها وتطبيقها العملي هو بناء جيل جديد من البنية التحتية عديمة الثقة، حتى منصات الحوسبة غير المعتمدة على هياكل سلاسل الكتل.
طبقة توافر البيانات: تتم معالجتها بواسطة سلسلة كتل عامة معترف بها على نطاق واسع وقد تم اختبارها بشكل جيد، أو مرافق تخزين تعمل كطبقة توافر البيانات، مثل إيثيريوم، أرويف، سيليستيا، الخ.
طبقة التنفيذ: خادم، يُستخدم لاستقبال معاملات المستخدم وتنفيذها، مع إرسال البيانات الموقعة للمعاملة إلى طبقة DA بشكل دفعي، مشابهة للمتسلسلين في Rollups. ومع ذلك، لا تحتاج طبقة التنفيذ بالضرورة إلى هيكل سلسلة على غرار البلوكشين؛ يمكن أن تكون بالكامل نظام قاعدة بيانات وحوسبة من نوع Web2، ولكن يجب أن يكون النظام الحوسبي بأكمله مفتوح المصدر، مع الشفافية.
طبقة الاتفاق: تتألف من مجموعة من العقد التي تقوم بجلب البيانات التي تم تقديمها إلى طبقة دا بواسطة طبقة التنفيذ واستخدام نفس خوارزمية طبقة التنفيذ لمعالجة هذه البيانات، وتأكيد ما إذا كان إخراج طبقة التنفيذ صحيحًا ويمكن أن يكون كتحفظ للطبقة التنفيذية. يمكن للمستخدمين أيضًا قراءة البيانات التي تعود بها عقد طبقة الاتفاق لضمان عدم وجود سلوك احتيالي في طبقة التنفيذ.
طبقة التسوية: تتألف من مجموعة من العقد والعقود أو العناوين على سلاسل أخرى ، مسؤولة عن التعامل مع ودائع المستخدمين في SCP ، أو عمليات السحب من SCP ، تشبه إلى حد ما تشغيل الجسور عبر السلسلة. تتحكم عقد طبقة التسوية في وظيفة السحب لعنوان الإيداع من خلال عقود multisig أو العناوين المستندة إلى TSS. بالنسبة للودائع ، يقوم المستخدمون بنقل الأصول إلى عنوان معين في سلسلتهم ؛ بالنسبة لعمليات السحب ، يرسلون طلبا ، وبعد أن تقرأ عقد طبقة التسوية البيانات ، يقومون بتحرير الأصول من خلال Multisig أو TSS. يعتمد مستوى الأمان لطبقة التسوية على الآلية عبر السلسلة المستخدمة.


يمكننا أن نصرخ بهذا الشعار: "لا يتعين بالضرورة أن يعتمد الجيل القادم من البنية التحتية غير الموثوقة على بروتوكولات الإجماع ، ولكن يجب أن يكون نظاما مفتوح المصدر مع شبكة عقدة نظير إلى نظير (P2P)." كان الهدف الأصلي من اختراع واستخدام blockchain هو تحقيق اللامركزية واتساق دفتر الأستاذ والثبات وإمكانية التتبع ، كما هو مذكور صراحة في ورقة عمل Bitcoin. ومع ذلك ، بعد Ethereum ، سواء كانت حلول توسيع السلسلة العامة القديمة ، أو Rollups ، أو blockchains المعيارية ، كانت هناك عقلية ثابتة: ما نقوم بإنشائه يجب أن يكون إما blockchain (يتألف من بروتوكولات إجماع العقد) أو شيء من هذا القبيل Rollup (الذي يبدو أنه سلسلة مع هياكل بيانات blockchain ، ولكن بدون تبادل مباشر لرسائل الإجماع بين العقد). الآن ، في إطار العمل القائم على SCP (بروتوكول إجماع ممتاز) ، من الواضح أنه حتى بدون أن تكون blockchain ، من الممكن تحقيق اللامركزية ، واتساق دفتر الأستاذ ، والثبات ، والتتبع ، بشرط أن تكون هناك تفاصيل تنفيذ أكثر وضوحا.
التبادلات. باستخدام SCP، يمكن للشخص بناء تبادل عام وشفاف بمعدلات عالية للمعاملات في الثانية (TPS)، مجمعًا بين ميزات التبادل المركزي (CEX) السريعة والخالية من التكلفة وفوائد تمويل التبادل المركزي ولامركزي (DEX). هنا، يصبح الفارق بين CEX و DEX غامضًا.
شبكات الدفع. مشابهة للأليباي، باي بال، الخ.
آلات افتراضية / سلاسل كتلية تدعم البرامج / العقود القابلة للتحميل. يمكن لأي مطور نشر أي تطبيق عليها، مشاركة جميع بيانات المستخدم مع البرامج الأخرى والعمل وفقا لتعليمات المستخدم.
نمط تصميم SCP، الذي يدعم أي بيئة تنفيذية، له مزاياه الفريدة: ليس هناك حاجة للإعتماد على مكونات تحمل أعباء تاريخية، خاصة مفاهيم مثل "تجريد الحساب" الفريدة لمجتمع Ethereum. بالنسبة لـ SCP، مفهوم تجريد الحساب غير ضروري بشكل جوهري. في تصميم SCP، لا يوجد مفهوم تجريد الحساب - يمكنك تبني حسابات معيار Web2 وحسابات البلوكشين، وما إلى ذلك بحرية. من هذا المنظور، العديد من حالات الاستخدام الناضجة في Web2 لا تحتاج إلى إعادة التفكير وإعادة البناء لتكون قابلة مباشرة لـ SCP. قد تكون هذه النقطة حيث يتمتع SCP بميزة على Rollups.

تسجيل الحساب: يدخل المستخدمون اسم مستخدم وكلمة مرور على صفحة تسجيل التطبيق. من أجل حماية كلمة مرور المستخدم، يقوم الخادم بمعالجتها من خلال وظيفة تجزئة عند استلامها. من أجل زيادة تعقيد الوظيفة التجزئة والدفاع ضد هجمات جدول قوس قزح، يتم عادة إلحاق سلسلة مولدة عشوائيًا (المعروفة باسم "الملح") بكلمة مرور كل مستخدم قبل التجزئة. يتم تخزين اسم المستخدم والملح والتجزئة على نص ولا تُعلن في قاعدة بيانات مزود الخدمة. ومع ذلك، حتى في ذلك الحال، فإن إلحاق الملح والمعالجة الآمنة ضروريان لمنع التهديدات الداخلية والهجمات.
تسجيل الدخول للمستخدم: يقوم المستخدمون بإدخال اسم المستخدم وكلمة المرور على نموذج تسجيل الدخول. يقارن النظام الهاش المعالج لكلمة المرور مع الهاش المخزن في قاعدة البيانات. إذا تطابق الهاشان، فإنه يشير إلى أن المستخدم قد قدم كلمة مرور صحيحة، ويتابع عملية تسجيل الدخول.
المصادقة العملية: بعد التحقق الناجح من تسجيل الدخول، يقوم النظام بإنشاء جلسة للمستخدم. وعادةً ما يتم تخزين معلومات الجلسة على الخادم، ويقوم الخادم بإرسال معرف (مثل ملف تعريف الارتباط أو الرمز) إلى متصفح المستخدم أو التطبيق. خلال العمليات التالية، لم يعد المستخدمون بحاجة إلى إدخال اسم مستخدمهم وكلمة مرورهم مرارًا وتكرارًا: يقوم متصفح المستخدم أو التطبيق بحفظ معرف ملف تعريف الارتباط ويضمن إدراجه في كل طلب، مشيرًا إلى أن لديهم إذن الخادم المرتبط بملف تعريف الارتباط.
تسجيل الدخول: باستخدام سلسلة الكتل لا يتطلب تسجيل الدخول. معظم التطبيقات اللامركزية ليس لديها عملية تسجيل الدخول ولكنها تتصل بمحفظة بدلاً من ذلك. قد تتطلب بعض التطبيقات اللامركزية، بعد الاتصال بمحفظة، من المستخدمين توقيع تحقق لضمان أنهم يمتلكون مفتاح المحفظة الخاص بالفعل، بدلاً من مجرد تقديم عنوان محفظة إلى واجهة الأمامية.
المصادقة على العملية: يقوم المستخدمون بتقديم البيانات الموقعة مباشرة إلى العقد. بعد التحقق، يبث العقد الصفقة إلى شبكة البلوكتشين بأكملها. بمجرد تأكيد العملية من قبل اتفاق شبكة البلوكتشين، يتم تأكيدها.
الفرق بين هذين الوضعين يرجع إلى العوامل المتناظرة وغير المتناظرة. في بنية الخادم-المستخدم، تحمل الطرفان نفس السرّ. في بنية سلسلة الكتل-المستخدم، يحمل المستخدم فقط السرّ. على الرغم من أن طبقة تنفيذ SCP (منصة العقد الذكية) قد لا تكون سلسلة كتل، إلا أن جميع البيانات تحتاج إلى مزامنة إلى طبقة DA (توافر البيانات) مرئية علنًا. لذلك، طرق تسجيل الدخول والتحقق من العمليات في SCP يجب أن تكون غير متناظرة. ومع ذلك، من أجل تجنب الإجراءات العرضية مثل إدارة المفاتيح الخاصة واستخدام المحافظ، والتي قد تعيق انتشار واسع بسبب تجربة مستخدم ضعيفة، هناك طلب قوي لتسجيل الدخول بالهوية وكلمة المرور التقليدية أو تسجيل الدخول بوسائل التوثيق من جهة ثالثة OAuth في التطبيقات المبنية على SCP. إذاً، كيف نجمع بين الاثنين؟ نظرًا للطبيعة غير المتناظرة للتشفير ودلائل الصفر المعرفة، أتصوّر حلولًا ممكنة اثنتان:

بغض النظر عن الطريقة المستخدمة، فإن كلتاهما أكثر كلفة من حيث التطوير والتشغيل من الأساليب التقليدية، ولكن هذا هو الثمن الضروري للوصول إلى عملية اللامركزية. بالطبع، إذا لم يعتبر المشروع اللامركزية المتطرفة ضرورية، أو كانت هناك معالم مختلفة في مراحل التطوير المختلفة، فمن الممكن المضي قدمًا دون هذه التصاميم، حيث أن اللامركزية ليست سوداء وبيضاء ولكنها موجودة في منطقة رمادية.
جعل جسر الشاهد مركزيًا قدر الإمكان هو موضوع بحث للعديد من الجسور العابرة للسلاسل. نظرًا لقيود المساحة، لن يتم التطرق إلى هذا الموضوع هنا. يجب أن يكون لدى منصة SCP المصممة بشكل جيد في الممارسة أيضًا شركاء متعددين موثوق بهم في جسر مركزي متعدد التوقيع. قد يسأل البعض لماذا لا يستخدم SCP سلسلة ذكية كطبقة DA؟ سيتيح هذا الأمر طبقات تسوية عديمة الثقة بناءً على العقود. على المدى الطويل، وبتجاوز بعض الصعوبات التقنية، إذا تم وضع طبقة DA على Ethereum أو طبقات DA القائمة على العقود الأخرى ويمكن بناء عقود التحقق المقابلة، يمكن لـ SCP أيضًا تحقيق نفس أمان التسوية كـ Rollup، من دون الحاجة إلى متعددي التوقيعات.### في الممارسة، قد لا يكون هذا الاختيار الأفضل:- إن Ethereum ليست مصممة خصيصًا لتخزين البيانات، وبالمقارنة مع سلاسل الكتل المخصصة فقط لتخزين البيانات، فإنها مكلفة للغاية. بالنسبة لنموذج SCP، فإن تكلفة التخزين المنخفضة أو الثابتة بما يكفي أمر حاسم. فقط عندئذ يمكن أن تدعم معدلات إنتاج على مستوى Web2.
لذلك، الحلول المتداولة هي أكثر جدوى عملية فقط في ظروف محددة. إذا كنت تخطط لتنفيذ نظام أوسع وأكثر انفتاحا، بعيدًا عن إطار EVM لدمج المزيد من ميزات Web2، فإن نهج Rollup للإيثيريوم ليس مناسبًا. SCP ليس مجرد خطة توسيع لبعض سلاسل كتل عامة معينة، بل هو بنية أكبر لمنصة حوسبة Web3. لذلك، بوضوح لا يحتاج إلى اتباع نهج إيثيريوم Layer2.






