استراتيجيات تخزين بيانات البلوكشين
آخر تحديث للصفحة: 26 فبراير 2026
هناك طرق متعددة لتخزين المعلومات إما مباشرة على blockchain، أو بطريقة مؤمنة بواسطة blockchain:
- كتل EIP-4844
- Calldata
- خارج السلسلة مع آليات L1
- العقد "كود"
- الأحداث
- تخزين EVM
يعتمد اختيار الطريقة التي يجب استخدامها على عدة معايير:
- مصدر المعلومة. لا يمكن للمعلومات الموجودة في بيانات الاتصال أن تأتي مباشرة من blockchain نفسها.
- وجهة المعلومات. تتوفر بيانات المكالمة فقط في المعاملة التي تتضمنها. الأحداث ليست قابلة للوصول على السلسلة على الإطلاق.
- ما هو مقدار المتاعب المقبولة؟ يمكن لأجهزة الكمبيوتر التي تعمل على تشغيل عقدة كاملة النطاق تنفيذ معالجة أكبر من العميل الخفيف في تطبيق يعمل في متصفح.
- هل من الضروري تسهيل الوصول إلى المعلومات من كل عقدة؟
- المتطلبات الأمنية.
متطلبات الأمان
بشكل عام، يتكون أمن المعلومات من ثلاث سمات:
-
السرية، لا يُسمح للأشخاص غير المصرح لهم بقراءة المعلومات. وهذا مهم في كثير من الحالات، ولكن ليس هنا. There are no secrets on the blockchain. تعمل تقنية البلوكشين لأن أي شخص يمكنه التحقق من انتقالات الحالة، لذا فمن المستحيل استخدامها لتخزين الأسرار بشكل مباشر. هناك طرق لتخزين المعلومات السرية على blockchain، لكنها تعتمد جميعها على بعض مكونات خارج السلسلة لتخزين مفتاح واحد على الأقل.
-
النزاهة، المعلومات صحيحة، ولا يمكن تغييرها بواسطة كيانات غير مصرح لها، أو بطرق غير مصرح بها (على سبيل المثال، نقل رموز ERC-20 (opens in a new tab) بدون حدث "نقل"). على blockchain، تقوم كل عقدة بالتحقق من كل تغيير في الحالة، مما يضمن السلامة.
-
التوفر، المعلومات متاحة لأي جهة معتمدة. على blockchain، يتم تحقيق ذلك عادةً من خلال توفير المعلومات على كل عقدة كاملة (opens in a new tab).
تتمتع جميع الحلول المختلفة هنا بسلامة ممتازة، لأن التجزئات يتم نشرها على L1. ومع ذلك، فإن لديهم ضمانات توافر مختلفة.
المتطلبات الأساسية
يجب أن يكون لديك فهم جيد لـ أساسيات blockchain. تفترض هذه الصفحة أيضًا أن القارئ على دراية بـ الكتل، والمعاملات، والموضوعات الأخرى ذات الصلة.
EIP-4844 النقط
بدءًا من شوكة دينكون الصلبة (opens in a new tab)، تتضمن سلسلة كتل الإيثيريوم EIP-4844 (opens in a new tab)، والتي تُضاف إلى كتل بيانات الإيثيريوم ذات عمر محدود (في البداية حوالي 18 يومًا (opens in a new tab)). يتم تسعير هذه الكتل بشكل منفصل عن غاز التنفيذ، على الرغم من استخدام آلية مماثلة. إنها طريقة رخيصة لنشر البيانات المؤقتة.
حالة الاستخدام الرئيسية لكتل EIP-4844 هي أن تقوم التجميعات بنشر معاملاتها. تحتاج التراكمات المتفائلة إلى نشر المعاملات على سلاسل الكتل الخاصة بها. يجب أن تكون هذه المعاملات متاحة لأي شخص خلال فترة التحدي (opens in a new tab) لتمكين المحققين (opens in a new tab) من إصلاح الخطأ إذا قام sequencer (opens in a new tab) الخاص بالتجميع بنشر جذر حالة غير صحيح.
ومع ذلك، بمجرد مرور فترة التحدي واستكمال جذر الحالة، فإن الغرض المتبقي لمعرفة هذه المعاملات هو تكرار الحالة الحالية للسلسلة. تتوفر هذه الحالة أيضًا من عقد السلسلة، مع الحاجة إلى قدر أقل كثيرًا من المعالجة. لذا يجب أن تظل معلومات المعاملات محفوظة في عدد قليل من الأماكن، مثل مستكشفات الكتل، ولكن ليست هناك حاجة إلى الدفع مقابل مستوى مقاومة الرقابة الذي توفره إيثريوم.
تنشر عمليات التجميع بدون معرفة أيضًا بيانات المعاملات الخاصة بها لتمكين العقد الأخرى من تكرار الحالة الحالية والتحقق من أدلة الصلاحية، ولكن مرة أخرى يعد هذا متطلبًا قصير المدى.
عند كتابة النشر على EIP-4844 يكلف واحدًا وي (10-18 ETH) لكل بايت، وهو أمر لا يذكر مقارنة بـ 21000 غاز تنفيذ تكلفها أي معاملة، بما في ذلك تلك التي تنشر الكتل (opens in a new tab). يمكنك رؤية سعر EIP-4844 الحالي على blobscan.com (opens in a new tab).
فيما يلي العناوين لرؤية الكتل التي نشرتها بعض اللفافات الشهيرة.
| تجميع المعاملات خارج البلوكشين داخل عقد إيثريوم ذكي | عنوان صندوق البريد |
|---|---|
| التفاؤل (opens in a new tab) | 0xFF000000000000000000000000000000000000010 (opens in a new tab) |
| التحكيم (opens in a new tab) | 0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6 (opens in a new tab) |
| القاعدة (opens in a new tab) | 0xFF0000000000000000000000000000000000008453 (opens in a new tab) |
بيانات الاتصال
تشير بيانات الاتصال إلى البايتات المرسلة كجزء من المعاملة. يتم تخزينه كجزء من السجل الدائم لسلسلة الكتل في الكتلة التي تتضمن تلك المعاملة.
هذه هي الطريقة الأرخص لوضع البيانات بشكل دائم في blockchain. تكون التكلفة لكل بايت إما 4 غاز تنفيذ (إذا كان البايت صفرًا) أو 16 غازًا (أي قيمة أخرى). إذا تم ضغط البيانات، وهي الممارسة القياسية، فإن قيمة كل بايت تكون متساوية على الأرجح، وبالتالي فإن التكلفة المتوسطة تبلغ حوالي 15.95 غاز لكل بايت.
في وقت كتابة هذا التقرير، كانت الأسعار 12 جيجا بايت/غاز و2300 دولار/إيثريوم، مما يعني أن التكلفة تبلغ حوالي 45 سنتًا لكل كيلوبايت. نظرًا لأن هذه كانت الطريقة الأرخص قبل EIP-4844، فهذه هي طريقة التجميع المستخدمة لتخزين معلومات المعاملات، والتي يجب أن تكون متاحة لتحديات الأخطاء (https://docs.optimism.io/stack/protocol/overview#fault-proofs)، (opens in a new tab) ولكن لا يلزم أن تكون قابلة للوصول إليها مباشرة على السلسلة.
فيما يلي العناوين لرؤية المعاملات التي نشرتها بعض المجموعات الشهيرة.
| تجميع المعاملات خارج البلوكشين داخل عقد إيثريوم ذكي | عنوان صندوق البريد |
|---|---|
| التفاؤل (opens in a new tab) | 0xFF000000000000000000000000000000000000010 (opens in a new tab) |
| التحكيم (opens in a new tab) | 0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6 (opens in a new tab) |
| القاعدة (opens in a new tab) | 0xFF0000000000000000000000000000000000008453 (opens in a new tab) |
خارج السلسلة مع آليات L1
اعتمادًا على التنازلات الأمنية التي تواجهها، قد يكون من المقبول وضع المعلومات في مكان آخر واستخدام آلية تضمن توفر البيانات عند الحاجة إليها. هناك متطلبان لكي يعمل هذا:
-
قم بنشر تجزئة (opens in a new tab) للبيانات على blockchain، والتي تسمى التزام الإدخال. يمكن أن تكون هذه كلمة واحدة مكونة من 32 بايتًا، لذا فهي ليست مكلفة. طالما أن التزام الإدخال متاح، يتم ضمان السلامة لأنه من غير الممكن العثور على أي بيانات أخرى يمكن تجزئتها إلى نفس القيمة. لذا، إذا تم تقديم بيانات غير صحيحة، فمن الممكن اكتشافها.
-
يجب أن يكون لديك آلية تضمن التوفر. على سبيل المثال، في Redstone (opens in a new tab) يمكن لأي عقدة إرسال تحدي التوفر. إذا لم يستجب التسلسل على السلسلة بحلول الموعد النهائي، فسيتم تجاهل التزام الإدخال، وبالتالي يُعتبر أن المعلومات لم يتم نشرها أبدًا.
يعد هذا مقبولًا بالنسبة للتجميع المتفائل لأننا نعتمد بالفعل على وجود محقق صادق واحد على الأقل لجذر الحالة. كما سيتأكد هذا المُتحقق الصادق من أنه يمتلك البيانات اللازمة لمعالجة الكتل، وإصدار تحدي التوفر إذا لم تكن المعلومات متاحة خارج السلسلة. يُطلق على هذا النوع من التجميع المتفائل اسم plasma.
رمز العقد
يمكن تخزين المعلومات التي تحتاج فقط إلى الكتابة مرة واحدة، ولا يتم الكتابة فوقها مطلقًا، والتي يجب أن تكون متاحة على السلسلة، ككود عقد. وهذا يعني أننا نقوم بإنشاء "عقد ذكي" مع البيانات ثم نستخدم EXTCODECOPY (opens in a new tab) لقراءة المعلومات. الميزة هي أن نسخ الكود رخيص نسبيًا.
بخلاف تكلفة توسيع الذاكرة، تكلف EXTCODECOPY 2600 غاز للوصول الأول إلى العقد (عندما يكون "باردًا") و100 غاز للنسخ اللاحقة من نفس العقد بالإضافة إلى 3 غاز لكل كلمة مكونة من 32 بايت. وبالمقارنة مع calldata، التي تكلف 15.95 دولارًا لكل بايت، فإن هذا أرخص بدءًا من حوالي 200 بايت. استنادًا إلى صيغة تكاليف توسيع الذاكرة (opens in a new tab)، طالما أنك لا تحتاج إلى أكثر من 4 ميجا بايت من الذاكرة، فإن تكلفة توسيع الذاكرة أصغر من تكلفة إضافة بيانات الاستدعاء.
بالطبع، هذه مجرد تكلفة قراءة البيانات. تبلغ تكلفة إنشاء العقد حوالي 32000 غاز + 200 غاز/بايت. تعتبر هذه الطريقة اقتصادية فقط عندما تكون هناك حاجة لقراءة نفس المعلومات عدة مرات في معاملات مختلفة.
يمكن أن يكون كود العقد غير منطقي، طالما أنه لا يبدأ بـ 0xEF. يتم تفسير العقود التي تبدأ بـ 0xEF على أنها تنسيق كائن الإيثريوم (opens in a new tab)، والذي يحتوي على متطلبات أكثر صرامة.
الأحداث
يتم إصدار الأحداث (opens in a new tab) بواسطة العقود الذكية، ويتم قراءتها بواسطة برنامج خارج السلسلة. ميزتها هي أن الكود خارج السلسلة يمكنه الاستماع للأحداث. التكلفة هي غاز (opens in a new tab)، 375 بالإضافة إلى 8 غاز لكل بايت من البيانات. بسعر 12 جيجاوي/غاز و2300 دولار/إيثريوم، يُترجم هذا إلى سنت واحد بالإضافة إلى 22 سنتًا لكل كيلوبايت.
التخزين
تتمتع العقود الذكية بالقدرة على الوصول إلى التخزين المستمر (opens in a new tab). ومع ذلك، فهو مكلف للغاية. إن كتابة كلمة مكونة من 32 بايت في فتحة تخزين فارغة مسبقًا قد يكلف 22100 غازًا (https://www.evm.codes/#55?fork=cancun (opens in a new tab)). بسعر 12 جيجاوي/غاز و2300 دولار/إيثريوم، يعادل هذا حوالي 61 سنتًا لكل عملية كتابة، أو 19.5 دولارًا لكل كيلوبايت.
هذا هو الشكل الأكثر تكلفة للتخزين في إيثريوم.
ملخص
يوضح هذا الجدول الخيارات المختلفة ومزاياها وعيوبها.
| نوع التخزين | مصدر البيانات | ضمان التوفر | توافر Onchain | قيود إضافية |
|---|---|---|---|---|
| كتل EIP-4844 | خارج السلسلة | ضمان الإيثريوم لمدة ~18 يومًا (opens in a new tab) | التجزئة فقط متاحة | |
| Calldata | خارج السلسلة | ضمان الإيثريوم إلى الأبد (جزء من blockchain) | متاح فقط إذا تم كتابته في عقد، وفي تلك المعاملة | |
| خارج السلسلة مع آليات L1 | خارج السلسلة | ضمان "محقق واحد صادق" خلال فترة التحدي | التجزئة فقط | مضمونة بآلية التحدي فقط خلال فترة التحدي |
| رمز العقد | على السلسلة أو خارج السلسلة | ضمان الإيثريوم إلى الأبد (جزء من blockchain) | نعم | تمت كتابته إلى عنوان "عشوائي"، لا يمكن أن يبدأ بـ 0xEF |
| الأحداث | Onchain | ضمان الإيثريوم إلى الأبد (جزء من blockchain) | لا | |
| التخزين | Onchain | ضمان الإيثريوم إلى الأبد (جزء من blockchain والحالة الحالية حتى يتم الكتابة فوقه) | نعم |