العقود الآجلة
وصول إلى مئات العقود الدائمة
TradFi
الذهب
منصّة واحدة للأصول التقليدية العالمية
الخیارات المتاحة
Hot
تداول خيارات الفانيلا على الطريقة الأوروبية
الحساب الموحد
زيادة كفاءة رأس المال إلى أقصى حد
التداول التجريبي
مقدمة حول تداول العقود الآجلة
استعد لتداول العقود الآجلة
أحداث مستقبلية
"انضم إلى الفعاليات لكسب المكافآت "
التداول التجريبي
استخدم الأموال الافتراضية لتجربة التداول بدون مخاطر
إطلاق
CandyDrop
اجمع الحلوى لتحصل على توزيعات مجانية.
منصة الإطلاق
-التخزين السريع، واربح رموزًا مميزة جديدة محتملة!
HODLer Airdrop
احتفظ بـ GT واحصل على توزيعات مجانية ضخمة مجانًا
منصة الإطلاق
كن من الأوائل في الانضمام إلى مشروع التوكن الكبير القادم
نقاط Alpha
تداول الأصول على السلسلة واكسب التوزيعات المجانية
نقاط العقود الآجلة
اكسب نقاط العقود الآجلة وطالب بمكافآت التوزيع المجاني
هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟
原文:هيرودوت: إثبات حالة الإيثريوم باستخدام براهين التخزين على Starknet
الترجمة والتدقيق اللغوي: الجالية الصينية في ستاركنت"
نظرة عامة
مقدمة
من المهم أن يكون لديك وصول يمكن إثباته إلى الحالة التاريخية على Ethereum. ولكن حتى الآن ، تمكنا من الوصول إلى سجل محدود بلا ثقة حتى الساعة الأخيرة.
لكن Starknet نابض بالحياة ، يبتكر باستمرار ، ويدفع حدود ما هو ممكن. الآن ، بفضل Herodotus و StarkWare ، نحن قادرون على تتبع وجلب جميع تجزئات كتلة Ethereum منذ كتلة التكوين بطريقة أصلية وقابلة للإثبات.
دعونا نلقي نظرة فاحصة على كيفية تحقيق هيرودوت وستاركوير لهذا وما يعنيه كل ذلك. سنبدأ بخلفية إثبات التخزين.
ما هو إثبات التخزين؟
يسمح لنا إثبات التخزين بإثبات أن الدولة كانت موجودة بالفعل في مرحلة ما في الماضي دون أي ثقة في طرف ثالث. من خلال تخزين البراهين ، يتم بناء الثقة في الرياضيات. يمكن أيضا استخدام إثبات التخزين للوصول إلى هذه الحالات عبر السلاسل.
في مقال حديث عن إثبات التخزين ، قدمنا هيرودوت ، الفريق الذي يقود البحث والابتكار في إثبات التخزين. في الوقت الحالي ، قام فريق Herodotus بتطبيق تقنية جديدة تتيح إثباتا غير موثوق به لحالة Ethereum منذ إنشاء الكتلة ، مما يحسن بشكل كبير من أداء إثبات التخزين.
دعونا نستكشف كيف يحقق هيرودوت هذا ، ولماذا هو مهم.
إثبات كتل تأسيس Ethereum على السلسلة
أولا ، نحتاج إلى فهم كيفية عمل رؤوس كتل Ethereum وتجزئات الكتلة.
ما هو رأس الكتلة وتجزئة الكتلة؟ **
رأس الكتلة هو جزء الكتلة الذي يلخص جميع المعلومات الموجودة في الكتلة ، بما في ذلك تجزئة الكتلة الأصل والطابع الزمني للكتلة وجذر الحالة وما إلى ذلك.
! [هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟] ] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-57a52bbce0-dd1a6f-cd5cc0.webp)
رأس كتلة Ethereum وشجرة Merkle الحكومية (مصدر المحتوى)
يحتوي رأس الكتلة على الكثير من المعلومات. في هذه المقالة ، نركز على جذور الدولة. دعونا نلقي نظرة على السبب.
كما ترى من الصورة أعلاه ، أسفل رأس الكتلة توجد حالة حساب Ethereum. يحتوي كل حساب Ethereum على مساحة تخزين مرتبطة تخزن متغيرات الحساب (بشكل أساسي حالة العقد الذكي). بمجرد تجزئة التزام التشفير المخزن بواسطة الحساب ، يتم تخزينه كجذر تخزين ، جنبا إلى جنب مع رصيد الحساب والرقم العشوائي وتجزئة الكود. مجتمعة ، تشكل هذه بشكل أساسي ملخصا لحالة الحساب.
تم إنشاء شجرة Merkle Patricia Trie التي تحتوي على حالة جميع حسابات Ethereum ، ويتم تخزين التجزئة الخاصة بها كجذر حالة في رأس الكتلة (المسمى stateRoot في الصورة أعلاه). يحتوي جذر الحالة هذا على جميع المعلومات اللازمة لإثبات حالة شبكة Ethereum بأكملها في أي وقت من الأوقات.
أخيرا ، نظرا لأن كل كتلة على Ethereum (وسلسلة EVM) تحتوي على جذر الحالة هذا ، ولكل كتلة أيضا سلسلة مرتبطة تسمى تجزئة الكتلة (والتي هي نتيجة تجزئة كل شيء في رأس الكتلة ، بما في ذلك جذر الحالة) ، فإن تجزئة الكتلة هي التزام التشفير لحالة Ethereum بأكملها في وقت محدد.
**تجزئة الكتلة التاريخية على EVM **
نظرا للكمية الكبيرة من المعلومات الهامة المخزنة في تجزئات الكتلة ، نحتاج غالبا إلى الوصول إلى سجلها.
في Solidity ، إذا أردنا استرداد تجزئة كتلة تم تعدينها قبل كتلتين (يبدأ عدد التتبع الخلفي من الكتلة التي تحتوي على المعاملة) ، فيمكننا استخدام بناء الجملة التالي:
! [هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟] ] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-2104f9b973-dd1a6f-cd5cc0.webp)
الطريقة بسيطة جدا. ولكن هناك مشكلة - يمكن لطريقة تجزئة الكتلة هذه استرداد تجزئة آخر 256 كتلة فقط. استنادا إلى متوسط 12 ثانية من الكتلة على Ethereum ، فإنها تعادل سجل 51.2 دقيقة على السلسلة.
عادة ما يكون حد الكتلة البالغ 256 كافيا للأشخاص الذين يرغبون في استخدام تجزئة الكتلة التاريخية كمصدر للإنتروبيا (العشوائية). ومع ذلك ، نظرا لتاريخ Ethereum الممتد لثماني سنوات ، إذا كنت ترغب في استخدام تجزئة الكتلة للحصول على حالتها التاريخية في كتلة معينة ، فإن سجل 51 دقيقة لا يكفي.
يهدف حد استرجاع التجزئة المكون من 256 كتلة على السلسلة بشكل أساسي إلى تحسين كفاءة تخزين الحالة وتقليل مشكلات نمو الحالة المحتملة.
هيرودوت يجعل من الممكن الحصول على سجل تجزئة كتلة كامل
كيف يحل هيرودوت هذا القيد ويسمح لنا بتحقيق:
يكمن المفتاح في قوة براهين التشفير.
دعنا نتعمق في الخطوات الإجرائية لمجمع تجزئة كتلة هيرودوت التاريخي:
** الخطوة 1: تسجيل تجزئة كتلة حديثة **
على شبكة Ethereum الرئيسية ، يتم تسجيل تجزئة كتلة حديثة في عقد ذكي يسمى SharpFactsAggregator. يمكن استرداد تجزئة الكتلة هذه باستخدام رمز تشغيل تجزئة الكتلة (قيمة opcode 0x40) وحفظها كمتغير سلسلة بسيط في العقد الذكي أعلاه. يمكنك أيضا تسجيل رقم الكتلة المقابل للوصول إليه لاحقا.
بافتراض أن رقم الكتلة المسجل هو 18,000,000 ، يمكننا أن نرى من خلال Etherscan أن قيمة التجزئة لهذه الكتلة هي 0x95b1 … 4BAF3。
** الخطوة 2: إثبات تجزئة أحدث كتلة **
الخطوة التالية هي استرداد معلومات رأس الكتلة للكتلة 18,000,000 من عقدة أرشيف ، وحساب قيمة تجزئة الكتلة خارج السلسلة ، 0x95b1 بقيمة تجزئة الكتلة المسجلة … 4BAF3. تستخدم عملية الحساب هذه أيضا محترفا لإنشاء دليل على هذا الحساب.
تمت إضافة تجزئة هذه الكتلة إلى سلسلة جبال ميركل. هذا هو البديل من شجرة ميركل ، وإضافة عناصر جديدة إلى الشجرة لا يتطلب الكثير من الحسابات.
**الخطوة 3: إثبات تجزئة كتلة X-1 **
بمجرد أن نثبت أن رأس الكتلة الذي تم استرداده من عقدة الأرشيف صالح ، فإننا نأخذ رأس الكتلة لكتلة X-1 ، ونحسب قيمة التجزئة الخاصة بها ، ونقارنها بالتجزئة الأصلية للكتلة X (يمكن العثور على هذه القيمة في رأس الكتلة للكتلة X التي استردناها سابقا).
إذا تطابقت التجزئة ، فيمكننا التأكد من أن رأس كتلة كتلة X-1 صالح أيضا. نظرا لأنه يمكن نمذجة الحساب بالكامل كدالة ، يمكن إنشاء دليل STARK لهذا الحساب في نفس الوقت. أدى ذلك إلى إثبات صحة رأس كتلة X-1 (انظر الشكل أدناه).
! [هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟] ] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-b49842862d-dd1a6f-cd5cc0.webp)
** الخطوة 4: إثبات تجزئة الكتلة السابقة بشكل متكرر **
يتم حساب تجزئة الكتلة لجميع كتل الطلب المسبق بالمثل حتى يتم تتبعها مرة أخرى إلى كتلة التكوين في شبكة Ethereum الرئيسية. يتم إلحاق هذه التجزئات بشجرة MMR ، مما يؤدي إلى إنشاء جذر MMR نهائي.
! [هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟] ] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-0cc8661bce-dd1a6f-cd5cc0.webp)
من المهم ملاحظة أن هذه الحسابات تتم خارج السلسلة ، كما يولد هيرودوت براهين على الحساب.
**الخطوة 5: نشر الدليل على السلسلة واستخدامه اللاحق **
بمجرد إنشاء جذر MMR النهائي ، يمكن نشر هذا الجذر على السلسلة (على عقد ذكي لتجميع الإثباتات) جنبا إلى جنب مع البراهين الحسابية لملايين الكتل. تكلفة التحقق من هذه البراهين على السلسلة لها ما يبررها بسبب التكلفة المنخفضة للغاية للتحقق من براهين STARK التي تم إنشاؤها.
لقد قمنا بتنفيذ طريقة لتتبع جميع حالات Ethereum والوصول إليها منذ كتلة التكوين.
يشير فريق هيرودوت إلى MMRs هذه على أنها “مراكم تجزئة الكتلة التاريخية” وينفذ هدف EIP-2935 الذي اقترحه فيتاليك بوتيرين وتوماس ستانزاك في عام 2020 - وهي طريقة للوصول إلى أكثر من 256 كتلة من البيانات التاريخية. هذه قضية مفتوحة منذ أكثر من ثلاث سنوات! ومع ذلك ، فقد حقق هيرودوت وستاركنيت ذلك دون تغيير أي طبقات بروتوكول.
بعض النقاط الرئيسية حول العملية المذكورة أعلاه:
! [هيرودوت: كيفية الاستفادة من Starknet Proof of Storage لإثبات حالة Ethereum؟] ] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-373c047e8c-dd1a6f-cd5cc0.webp)
بمجرد العثور على جذر MMR على السلسلة ، يمكن إثبات أن MMR يحتوي على تجزئة لكل كتلة (وهي خاصية أساسية لشجرة Merkle).
قبل إرسال البراهين إلى شبكة Ethereum الرئيسية ، يستخدم Provers of the Herodotus نظام SHARP الذي أنشأه فريق StarkWare. الميزة الرئيسية لنظام SHARP هي قدرته على تقليل التكاليف وزيادة كفاءة إنشاء البراهين.
يتم تكرار سير العمل أعلاه في اثنين من MMRs منفصلة ، أحدهما باستخدام وظيفة التجزئة Keccak256 والآخر باستخدام Poseidon. ستستخدم Ethereum متغير Keccak256 ، بينما ستستخدم Starknet متغير Poseidon.
يتم إرسال جذر MMR لشبكة Ethereum الرئيسية إلى Starknet عبر بروتوكول المراسلة Starknet L1 إلى L2 الأصلي للاستخدام على Starknet. ينفذ مجمع تجزئة كتلة Herodotus أيضا القدرة على الوصول إلى بيانات Ethereum التاريخية على Starknet. يمكن استخدام نظام المراسلة Starknet L1-to-L2 لإعادة توجيه تجزئات كتلة L1 والتحقق من جذور MMR إلى Starknet بطريقة آمنة. بمجرد إرسالها إلى Starknet ، يمكن التحقق من إثبات التخزين للبيانات التاريخية ل Ethereum مقابل هذه الالتزامات.
فرص جديدة لتراكم تجزئة كتلة هيرودوت
يقوم Herodotus و StarkWare بجلب مراكم تجزئة الكتلة إلى Ethereum كمنفعة عامة. بمجرد نشر جذر MMR النهائي وإثبات الحساب على شبكة Ethereum الرئيسية ، يمكن لأي مطور الاستفادة منها للوصول إلى الحالة التي يمكن إثباتها في أي وقت منذ بداية السلسلة.
نظرا لأنه سيتم أيضا إرسال جذر MMR الخاص ب Ethereum إلى Starknet عبر بروتوكول المراسلة الأصلي عبر السلسلة ، يمكن الوصول إلى معلومات الحالة عبر السلسلة بطريقة بسيطة وغير موثوقة. يمكن أن تستفيد بروتوكولات DeFi من إثبات الحالة التاريخي من خلال الاستفادة من معلومات رصيد الحساب أو معلومات مركز الرافعة المالية للحساب في وقت محدد. من الممكن إنشاء أرقام عشوائية أكثر قوة باستخدام سجل تجزئة كتلة تاريخي أكبر. أصبح التصويت عبر السلاسل أكثر بساطة أيضا ، حيث لا يحتاج المستخدمون إلى نقل الأصول عبر السلاسل قبل التصويت على L2. هناك العديد من الاحتمالات التي تأتي مع هذا.
خاتمة
في عالم تتطور فيه قابلية التوسع في blockchain واللامركزية وإمكانية التحقق باستمرار ، أصبح فريق Starknet منارة للابتكار. أصبحت المشاريع التي تم إنشاؤها على Starknet عنصرا أساسيا في توسيع نطاق Ethereum. بينما نتعمق في هذا المستقبل الجديد ، فإن التعرف على نظام Starknet البيئي سيضع الأساس لنموك المستقبلي.