
المصدر: Geek Web3
ملخص:
فيمنذ EIP-4844 ، زاد إنتاجية البيانات وضغط التخزين لشبكة Ethereum ، وقد جلب الطلب المتزايد على التخزين تحديات كبيرة لعقد Ethereum.من أجل تقليل ضغط التخزين ، يقوم بعض عميل Ethereum بحذف البيانات التاريخية المخزنة في المنطقة المحلية ، ويتم تفكك اتساق العقد المختلفة في سلوك التخزين تدريجياً.
فيمن أجل التأكد من أن جميع عملاء Ethereum يمكنهم التوصل إلى اتفاق بشأن السلوك ،EIP-4444ونفذت EIP-4844 سلوك قطع البيانات التاريخيةالتقييس، سيصبح مستوى العقد Ethereum في المستقبل.
فيلذلك ، إذا تم استبدال البيانات التاريخية لاستعادة أحدث حالة Layer1 أو Layer2 ، فإنها تعتمد على بروتوكول Ethereum المركزي خارج اتفاقية Ethereum ، مما يدفع الناس إلى استكشاف المزيد من حلول التخزين غير المركزية والمتسقة إلى Ethereum ، وحل الحل خطة ethereum
شبكة بوابة Ethereumإنها شبكة P2P خفيفة الوزن ، لا مركزية ، وهي مناسبة لجميع أنواع بيانات Ethereum بما في ذلك البيانات التاريخية.وهو مصمم للحصول على موارد محدودة ويوفر خدمات Ethereum JSON-RPC.الشبكة التاريخية وشبكة سلسلة الرسائل جاهزة تقريبًا.
· EthStorage هي شبكة تخزين وحوافز لبيانات SLOBS EIP-4844جوهرمن أجل تخزين blob ، يمكن للمستخدمين الاتصال بعقد التخزين على L1 ، واستخدام ETH كرسوم التخزين ، وتسجيل قيمة التجزئة من blob على السلسلة.بمرور الوقت ، سيتم توزيع تكلفة التخزين تدريجياً على مزود خدمة التخزين المقدم من شهادة تخزين Blob تحت السلسلة.
فيفي الوقت الحالي ، تعمل شبكة اختبار EthStorage عبر الإنترنت على اختبار Ethereum Sepolia عبر الإنترنت ، وقد أثبت العديد من المشاركين في المجتمع شروط التخزين المحلية بنجاح.تشمل الخطط المستقبلية تطوير شبكة حالة Ethereum اللامركزية ، وإدراك شهادة التخزين لبيانات الحجم الديناميكي ، ويمكنها الوصول مباشرة إلى شبكة EthStorage من المتصفح بطريقة لا مركزية.
شكرًا: بفضل Piper Merriam من مؤسسة Ethereum و Karthik Raju في PolyChain و EthStorage’s Qiang Zhu على هذه المقالة.
خلفية:
في 22 أكتوبر 2023 ، أعرب Péter Szilágyi ، رئيس تطوير Go-Ethereum (GETH) الشهير ، عن مخاوفه بشأن حلول تخزين بيانات Ethereum على Twitter.وأشار إلى أنه على الرغم من أن عميل Geth يحتفظ بجميع البيانات التاريخية ، إلا أنه يمكن تكوين أنواع أخرى من عملاء Ethereum مثل Nethermind و Besu لحذف بعض البيانات التاريخية Ethereum (مثل الكتل التاريخية).سيؤدي ذلك إلى عدم توافق سلوك بعض العقد العميل مع العملاء الآخرين ، وهو أمر غير عادل لمشغل العميل Geth.أدى الموضوع أعلاه على الفور إلى مناقشة شرسة حول مخطط التخزين في خريطة طريق Ethereum.
تحدي المتجر
لماذا يسمح Nethermind و Besu لمشغلي العملاء بقطع البيانات التاريخية المحلية؟ما هي المشكلة التي تنعكس في هذا القرار؟
من وجهة نظرنا ، هناك سببان رئيسيان:
-
تصبح متطلبات تخزين عميل Ethereum أعلى وأعلىجوهر
-
تخزين البيانات التاريخية Ethereum لا يحتوي على أي حوافز أو عقوبة في اتفاقجوهر
السبب الأول نشأ من احتياجات التخزين المتزايدة لعميل Ethereum.تعرض خريطة الكيك التالية توزيع تخزين عقدة Geth جديدة عند 18،779،761 اعتبارًا من 13 ديسمبر 2023.
كما هو مبين في الشكل:
-
إجمالي حجم التخزين: 925.39 جيجابايت
-
البيانات التاريخية (إيصال الكتل/المعاملات): حوالي 628.69 جيجابايت
-
بيانات الحالة في Merkle Patricia Trie (MPT): حوالي 269.74 جيجابايت
السبب الثاني هو أن عقدة Ethereum تفتقر إلى الحوافز أو العقوبات في الاتفاقية التي تخزن الكتل التاريخية.على الرغم من أن الاتفاقية تدافع عن جميع البيانات التاريخية للعقد ، إلا أنها فشلت في توفير أي آلية لتشجيع تخزين أو معاقبة الانتهاكات.العقد على استعداد لتخزين وتوفير أذونات استخراج البيانات التاريخية ، والتي هي أكثر للإيثار ، وليس بسبب الحوافز.
بالطبع ، يمكن لمشغلي العملاء حذف أو تعديل جميع البيانات التاريخية دون أي عقوبة.في المقابل ، يجب على عقدة المدقق الحفاظ على الحالة الكاملة محليًا وتحديثها لمنع الاقتراح/التصويت لدعم كتل غير صالحة عن طريق SLASH.
لذلك ، عندما تصبح تكاليف التخزين عبئًا كبيرًا على العقد ، فليس من المستغرب أن يختار بعض مشغلي العقدة حذف البيانات التاريخية.في غياب البيانات التاريخية ، يمكن لعميل العقدة تقليل تكلفة التخزين بشكل كبير وتقليل مساحة التخزين المحتلة من حوالي 1 تيرابايت إلى حوالي 300 جيجابايت.
الشكل: تكوين Nethermine تشغيل العقدة بدون كتل تاريخية -توفير حوالي 460 جيجابايت من تكاليف التخزين
مع ترقية قابلية استخدام بيانات Ethereum القادمة (DA) ، سيزداد تحدي التخزين.بدأ طريق التوسع الشامل لـ Ethereum DA بـ EIP-4844 ، والذي تمت ترقيته بواسطة Dencun.يتم ضبط كل نقطة على 128 كيلو بايت.من أجل توسيع نطاق إنتاجية البيانات ، تخطط Ethereum لاستخدام رمز حذف 1D REED-Solomon ، والذي سمح في البداية 32 BLOB كل كتلة ، ووصل إلى حجم 256 نقطة لكل كتلة أثناء التوسع الكامل.
إذا تم تشغيل Ethereum DA بشكل كامل (256 نقطة لكل كتلة) ، فمن المتوقع أن تتلقى شبكة Ethereum DA حوالي 80 تيرابايت من بيانات DA في عام واحد.جوهر
خريطة طريق تخزين Ethereum وعواقبه
ذكر مسار Ethereum الذي نشرته Vitalik أن تطهير يتضمن بشكل أساسي محتوى التخزين.
جذبت ارتفاع تكاليف التخزين انتباه الباحثين البيئيين Ethereum.من أجل حل هذه المشكلة وضمان اتساق جميع العملاء ،يقوم الباحثون بتطوير بعض المقترحات لحذف البيانات التاريخية لعميل Ethereum بوضوح.المقترحان الرئيسيان هما:
فيEIP-4444: تقييد البيانات التاريخية في عميل التنفيذ: يتيح هذا الاقتراح للعملاء حذف الكتل السابقة لأكثر من عام واحد.على افتراض أن متوسط حجم الكتلة هو 100 ألف ، فإن الحد الأعلى لبيانات الكتلة التاريخية حوالي 250 جيجابايت (100 كيلو * (3600 * 24 * 365) / 12 ، بافتراض وقت الكتلة = 12 ثانية).
فيEIP-4844: معاملة Faber Blob: تجاهل بيانات Blob لأكثر من 18 يومًا.بالمقارنة مع EIP-4444 ، فإن هذه طريقة أكثر راديكالية تحد من حجم النقطة التاريخية إلى حوالي 100 جيجابايت ((18 * 3600 * 24) * 128K * 6/12 ، على افتراض وقت الكتلة = 12 ثانية).
ما هي عواقب حذف البيانات التاريخية لجميع العملاء؟المشكلة الرئيسية هي أن العقدة الجديدة لا يمكن أن تتم مزامنتها مع أحدث حالة من خلال وضع “المزامنة الكاملة”.في المقابل ، يجب أن نعتمد أحدث حالة “SNAP SNC” أو “مزامنة الحالة” لمزامنة عقدة Ethereum مباشرة.تم تنفيذ هذه الطريقة في GETH واستخدمت كمزامنة افتراضية.
ستؤدي البيانات التاريخية للشبكة الرئيسية Ethereum إلى حذف العقدة أيضًا إلى حدوث مشاكل مع Ethereum L2أي أنه لا يمكن مزامنة عقدة Layer2 المضافة حديثًا مع الحالة الأخيرة الحالية عن طريق إعادة تحميل جميع البيانات التاريخية لـ Layer2.بالإضافة إلى ذلك ، نظرًا لأن عقدة L1 لا تحافظ على حالة L2 ، فإن طريقة “SNAP Sync” لـ L2 لا يمكن أن تنشئ مباشرة أحدث حالة طبقة 2 وفقًا لكتلة Layer1 ، والتي تنتهك الافتراضات المهمة لميراث Layer2 لأمن Ethereum.
يعتمد الحل المتوقع على الخدمة الثالثة لمشروع Intura / Etherscan / L2 لتخزين البيانات التاريخية أو نسخة الحالة.
السؤال الأساسي الذي نريد استكشافه هو:
-
هل يمكننا إيجاد حلول لامركزية أفضل في التخزين والوصول؟
-
هل من الممكن العثور على حل يعطي العقد الحافز مباشرة والحصول على شبكة Ethereum نفسها (على سبيل المثال ، الاعتماد على عقد L1)؟
-
في كل هذا ، هل يمكننا توفير حل لا مركزي تمامًا ومباشر لطريق تخزين Ethereum؟
حل
الحل 1: شبكة بوابة Ethereum
شبكة بوابة Ethereum هي شبكة خفيفة الوزن ولامركزية للاتصال ببروتوكول Ethereum.يوفر ETH_CALL و ETH_GETBLOCKBYNUMBER وواجهات Ethereum JSON-RPC الأخرى.على عكس IPFs التي تسمح لأي أنواع بيانات وتتأثر بسهولة بالبيانات غير المرغوب فيها ، فإن شبكة P2P P2P متخصصة في بيانات Ethereum ، مثل رؤوس الكتل التاريخية وبيانات المعاملات ، والتي يتم تحقيقها من خلال تقنية التحقق من عميل الضوء المبنية على شبكة البوابة.
ميزة مهمة لشبكة البوابة.تصميم العمليات خفيفة الوزن وتوافق مع معدات محدودة.يمكن أن يعمل على العقد مع عدة مساحة تخزين MB وذاكرة منخفضة ، وبالتالي تعزيز اللامركزية.حتى الهواتف المحمولة أو أجهزة PI Raspberry قد تنضم إلى الشبكة للمساهمة في مشكلة Ethereum DA.
يتوافق تطوير شبكة البوابة مع مفهوم تنوع عميل Ethereum.تتوفر الشبكة القياسية والشبكة التاريخية ، وتتطور شبكة الحالة بنشاط.تجدر الإشارة إلى أن شبكة البوابة لا توفر حوافز مباشرة لتخزين البيانات.
الشكل: عميل صدأ شبكة البوابة (TRIN) مع قيود تخزين 100 ميجابايت (TRIN) تعمل
الحل 2: شبكة ethstorage
EthStorage Network هي شبكة تخزين الحوافز اللامركزية التي تستخدم خصيصًا لتخزين Blob EIP-4844 وتلقي التمويل من مشروع ESP.
فيثقة صغيرة:على عكس الحلول الحالية التي تتطلب جسور البيانات المركزية ، تعتمد EthStorage على نموذج الثقة 1/M لعقد EthStorage التي لا تحتاج إلى ترخيصها بواسطة Ethereum.عملية تخزين blob هي: يوقع المستخدمون معاملة تحمل علامة ، واتصال طريقة PUT (KEY ، BLOB_IDX) لعقود التخزين.بعد ذلك ، سيقوم عقد التخزين بتسجيل تجزئة Blob على السلسلة.بعد ذلك ، سيقوم مزود التخزين بتنزيل وتخزين blob مباشرة من شبكة Ethereum DA لتجاوز جسر البيانات.
فيتكاليف التخزين تتفق مع الحوافز:عند استدعاء طريقة PUT () ، يجب أن ترسل المعاملة رسوم تخزين (عبر msg.value) في العقد.بعد إرسال عقدة التخزين والتحقق من شهادة التخزين تحت السلسلة الناجحة ، تم توزيع رسوم التخزين تدريجياً على عقدة التخزين مع مرور الوقت.بالمقارنة مع نموذج رسوم تخزين Ethereum الحالي (Proposer) ، والذي يحتوي على رسوم تخزين واحدة ، مع مرور الوقت ، فإن رسوم التخزين المدفوعة لرسوم التخزين تتبع نموذج التدفق النقدي الخصم -على مرور الوقت ، تخزين التخزين هو التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، التخزين ، تخزين تكاليف.ظل هذا الابتكار الرئيسي الذي أدخلته EthStorage متسقة مع مساهمة عقد التخزين في عقد التخزين.
فيدليل التخزين:يستلهم إثبات التخزين من أخذ عينات من توافر البيانات ، وأخذ العينات في ethstorage هو نقطة يتم حفظها لفترة من الوقت.من أجل التحقق بشكل فعال من عينات السلسلة ، فإن EthStorage يستخدم بالكامل العقود الذكية وأحدث تطوير تقنية Snark.
فيلا توجد عملية:يمكن دفع أي عقدة تخزين في EthStorage طالما تم تخزين بيانات التخزين ويتم تقديم شهادة التخزين بانتظام على السلسلة.
من منظور blockchain المعياري ، يعمل EthStorage كـ Ethereum Storage L2 ، لكنه يفرض رسوم التخزين بدلاً من رسوم المعاملة.من خلال فهرسة تجزئة Blob على السلسلة ، تعد EthStorage طبقة تخزين Modular Ethereum لتحسين قابلية تخزين التوسع وتقليل التكاليف (الهدف حوالي 1000 مرة).
من حيث التطوير ، قامت EthStorage بدمج EIP-4844 على شبكة اختبار Ethereum Sepolia.لقد أجرينا اختبار ضغط شبكة اختبار EthStorage و Ethereum Sepolia ، بما في ذلك الكتابة حول مئات GB من blob في ethstorage.انضم أكثر من 100 مشارك في المجتمع إلى الإنترنت وأثبتوا بنجاح تخزينهم المحلي.
تتمثل الميزة الرئيسية لشبكة EthStorage في توفير حوافز مباشرة لا مركزية فوق Ethereum -فيما يتعلق بمعرفتنا الحالية ، فهذه ميزة رائدة.ومع ذلك ، تم تصميم القيود المفروضة على الشبكة لنقطة الحجم الثابت.
EthStorage على شبكة اختبار Ethereum Sepolia
نتطلع إلى المستقبل
على الرغم من أن تخزين Ethereum لم يحظ بالاهتمام الرئيسي ، إلا أنه ذو أهمية كبيرة في النظام البيئي Ethereum.مع النمو السريع لشبكة Ethereum ، أصبح تخزين بيانات Ethereum وإمكانية الوصول إليها تحديًا رئيسيًا.لا تزال شبكة البوابة وشبكة EthStorage في المراحل المبكرة ، وهناك العديد من اتجاهات التطوير المدى الهامة على المدى الطويل للانتباه:
شبكة بيانات حالة Ethereum ذات التأخير المنخفض غير المنخفض: شبكة بيانات Ethereum:يعد الوصول إلى حالة Ethereum بطريقة لا مركزية ويمكن التحقق منها مهمة رئيسية ولكنها صعبة.باستخدام نموذج شبكة DHT التقليدية ، يتطلب معلومات حساب الاستعلام عادة استعلامات متعددة من العقد الداخلية Trie المخزنة في عقد P2P مختلفة.هذا غالبا ما يؤدي إلى فترة طويلة من التأخير.كيفية استخدام هيكل شجرة الحالة لتسريع الوصول هو المفتاح.إن شبكة الدولة التي يتم إطلاق شبكة البوابة قريبًا هي بالضبط الغرض من حل هذه المشكلة.
تكامل شبكة البوابة وشبكة ethstorage:يمكن لشبكة البوابة التوسع بسلاسة لدعم بيانات Blob.قام فريق EthStorage بتنفيذ هذه الميزة جزئيًا.التقدم التالي هو توحيد هذه الشبكات وتوفير شبكة JSON-RPC اللامركزية التي يمكن برمجة البرمجة من خلال العقود.من خلال الجمع بين منطق التطبيق في العقد مع تخزين النطاق الكبير الذي توفره EthStorage ، يمكننا تمكين DAPPs جديدة على Ethereum ، مثل مواقع الويب اللامركزية الديناميكية (مثل Twitter/youtube/wikipedia اللامركزية ، إلخ).
الزيارة اللامركزية للمتصفح:على غرار بروتوكول IPFS: // للبيانات في شبكة IPFS ، تتطلب صناعة Web3 بروتوكول زيارة أصلي لـ Ethereum لدعم المتصفح مباشرة لإصدار الإمكانات الضخمة لبيانات Ethereum الغنية.تغطي هذه البيانات مجموعة واسعة من المناطق ، بدءًا من الرموز وأرصدة الحسابات إلى صور NFT والمواقع اللامركزية الديناميكية.في هذا المجال ، يتم تطوير بروتوكول Web3: // المحدد بواسطة ERC-4804/6860 بنشاط وترويج لتحقيق هذا الهدف.
شهادة التخزين المتقدمة لبيانات الحجم الديناميكي:بالإضافة إلى Blob الثابت ، يعد استكشاف شهادات التخزين المتقدمة أمرًا ضروريًا لحل بيانات الحجم الديناميكي (مثل الكتل التاريخية وحتى كائنات الحالة ، وما إلى ذلك).يمكن أن يؤدي تطوير الخوارزميات المعقدة إلى تعزيز القدرة على تكييف حل التخزين.
في سعينا ، نأمل أنه من خلال هذه الجهود ، سوف نساهم في مخطط مسار Ethereum ووضع الأساس لحل التخزين اللامركزي للنظام البيئي Ethereum في المستقبل.
<-style-type>