شجرة ميركل

شجرة ميركل، المعروفة أيضًا بشجرة التجزئة، هي بنية بيانات هرمية، حيث تحتوي كل عقدة طرفية على التجزئة المشفرة لكتلة بيانات، بينما تحتوي كل عقدة غير طرفية (أصلية) على التجزئة المشفرة لتسلسل تجزئات عقدها الفرعية. تتيح هذه البنية الشجرية الثنائية التحقق من سلامة واتساق مجموعات البيانات الكبيرة بكفاءة فائقة؛ فبدلاً من فحص كل جزء من البيانات على حدة، يحتاج المُدقِّق فقط إلى فحص عدد قليل من التجزئات على طول فرع واحد من العقدة الطرفية إلى الجذر. تعمل التجزئة الوحيدة الموجودة في أعلى الشجرة، والتي تُسمى جذر ميركل، كبصمة فريدة لمجموعة البيانات بأكملها أسفلها. إذا تم تغيير أي بت من البيانات في أي مكان في الشجرة، ينتقل التغيير تصاعديًا عبر كل تجزئة أصلية حتى يتغير جذر ميركل نفسه، مما يشير فورًا إلى التلاعب بالبيانات.

في تقنية البلوك تشين، تُعدّ أشجار ميركل أساسيةً لكيفية تخزين المعاملات والتحقق منها في الكتل. يحتوي رأس كل كتلة في بيتكوين وإيثيريوم، وفي جميع بروتوكولات البلوك تشين الأخرى تقريبًا، على جذر ميركل الذي يلخص جميع المعاملات المُضمنة في تلك الكتلة. يُمكّن هذا التصميم العملاء خفيفي الوزن - الذين يُطلق عليهم غالبًا عُقد التحقق المُبسّط من الدفع (SPV) - من تأكيد تضمين معاملة مُحددة في كتلة دون الحاجة إلى تنزيل محتويات الكتلة بأكملها. يحتاج العميل فقط إلى رأس الكتلة (الذي يحتوي على جذر ميركل) وسلسلة قصيرة من التجزئات المُتشابهة تُسمى إثبات ميركل أو مسار ميركل. بالنسبة لكتلة تحتوي على 4,096 معاملة، يتطلب هذا الإثبات 12 تجزئة فقط بدلًا من جميع تجزئات المعاملات البالغ عددها 4,096 - وهو انخفاض لوغاريتمي يجعل المحافظ المحمولة والأجهزة ذات الموارد المحدودة مُشاركين فاعلين في الشبكة.

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

الأصل والتاريخ

في عام 1979، وصف رالف ميركل لأول مرة أشجار التجزئة في أطروحته للدكتوراه بجامعة ستانفورد، ثم حصل على براءة اختراع للمفهوم (براءة الاختراع الأمريكية رقم 4,309,569، تاريخ تقديم الطلب 5 سبتمبر 1979، وتاريخ منح البراءة 5 يناير 1982). وقد طور ميركل هذا الهيكل كجزء من عمله الرائد في مجال التشفير بالمفتاح العام والتوقيعات الرقمية، ساعيًا إلى إيجاد طريقة فعالة للتحقق من صحة هياكل البيانات الكبيرة.

1987-1988: قام ميركل بدمج بنية شجرة التجزئة الخاصة به مع مخططات التوقيع لمرة واحدة، بالاعتماد على بنية التوقيع لمرة واحدة السابقة لامبورت-ديفي، في ورقة بحثية تم تقديمها في مؤتمر CRYPTO '87 ونُشرت في وقائع المؤتمر في عام 1988. وقد أظهر هذا الدمج، المعروف الآن بشكل عام باسم مخطط توقيع ميركل، أن شجرة تجزئة واحدة يمكنها التحقق من صحة العديد من أزواج المفاتيح لمرة واحدة تحت مفتاح عام واحد، مما يتيح إدارة أعداد كبيرة من مفاتيح التشفير بكفاءة.

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

في عام ٢٠٠٨، قام ساتوشي ناكاموتو بدمج أشجار ميركل في تصميم بروتوكول بيتكوين. يشرح القسم ٧ من الورقة البيضاء لبيتكوين، بعنوان "استعادة مساحة القرص"، كيف تسمح أشجار ميركل بحذف بيانات المعاملات القديمة مع الحفاظ على تجزئة جذرية مضغوطة. ويشرح القسم ٨، بعنوان "التحقق المبسط من الدفع"، بشكل منفصل كيف تُمكّن البنية نفسها العملاء الخفيفين من تأكيد تضمين معاملة في كتلة باستخدام رأس الكتلة فقط وإثبات ميركل.

2009: تم إطلاق شبكة بيتكوين مع تضمين جذور ميركل في رأس كل كتلة. احتوت كتلة التكوين (الكتلة 0) على معاملة واحدة بجذر ميركل يساوي تجزئة تلك المعاملة، مما أرسى النمط لجميع الكتل اللاحقة.

في عام 2015، أُطلقت إيثيريوم بثلاثة أنواع مختلفة من أشجار ميركل في رأس كل كتلة - شجرة معاملات، وشجرة إيصالات، وشجرة حالة - وكلها مُنفذة باستخدام أشجار ميركل باتريشيا. وقد وسّع هذا التصميم وظائف شجرة ميركل من التحقق البسيط من المعاملات إلى المصادقة الكاملة على حالة الشبكة.

2017-2019: أصبحت أشجار ميركل عنصراً أساسياً في تصميم حلول توسيع الطبقة الثانية. استخدمت سلاسل بلازما التزامات ميركل لربط حالة السلاسل الفرعية بشبكة إيثيريوم الرئيسية، بينما استخدمت تصميمات التجميع المبكرة جذور ميركل لتجميع مئات المعاملات في إثبات واحد على السلسلة.

2020-2024: اعتمدت أنظمة إثبات المعرفة الصفرية، مثل zkSync وStarkNet، أنواعًا متخصصة من أشجار Merkle، بما في ذلك أشجار Merkle المتفرقة القائمة على تجزئة Poseidon، والمُحسَّنة لإجراء حسابات فعالة داخل دوائر إثبات المعرفة الصفرية. وأصبحت عقود الإنزال الجوي Merkle النمط القياسي لتوزيع الرموز على شبكة Ethereum.

"تتيح شجرة التجزئة فحص أي فرع من فروع شجرة التجزئة بشكل مستقل دون الحاجة إلى أن تقوم العقد بتخزين مجموعة البيانات الكاملة."
– رالف ميركل، أطروحة دكتوراه من جامعة ستانفورد (1979)

بعبارات بسيطة

تخيل جدول مباريات بطولة رياضية. كل مباراة في الجولة الأولى تُحدد فائزًا. يتمّ اختيار الفائزين لمواجهات في الجولة الثانية، وهكذا، حتى يبقى بطل واحد في القمة. تعمل شجرة ميركل بنفس الطريقة - باستثناء أنك بدلًا من الفرق الرياضية، تبدأ بكتل بيانات، وبدلًا من لعب المباريات، تقوم بدمج أزواج من البيانات باستخدام التشفير التجزئي حتى تحصل على "تجزئة البطل" في الأعلى، والتي تُسمى جذر ميركل.

تخيل الأمر كشجرة عائلة معكوسة. في الأسفل، توجد مئات من أفراد العائلة (كتل البيانات). كل زوج من الأشقاء يُمثل والديهم. هؤلاء الآباء يُمثلون الأجداد، وهكذا، حتى تصل إلى سلف واحد في الأعلى. إذا تغير أي فرد من أفراد العائلة، يتغير كل جيل فوقه أيضًا، وصولًا إلى السلف في الأعلى.

تخيل نظام فهرسة مكتبة. بدلاً من فحص كل كتاب على كل رف للتأكد من عدم وجود أي كتاب مفقود، يحتفظ أمين المكتبة بملخص لكل رف، ثم يجمع ملخصات الرفوف في ملخصات الممرات، وملخصات الممرات في ملخصات الطوابق، ويحتفظ بملخص رئيسي واحد للمكتبة بأكملها. للتحقق من وجود كتاب واحد، يكفي فحص الملخصات على طول مساره من الرف إلى الملخص الرئيسي - وليس كل كتاب آخر.

تخيل عملية حفظ الأدلة في قضية محكمة. يُوضع كل دليل في ظرف خاص به مقاوم للعبث. تُوضع أزواج من الأظرف داخل أظرف أكبر، والتي بدورها تُوضع داخل أظرف أكبر، حتى تُجمع جميع الأدلة داخل ظرف رئيسي واحد مختوم بختم واحد. إذا عبث أي شخص بأي دليل، ستظهر علامات العبث على جميع الأظرف التي تعلوه، وينكسر الختم الرئيسي.

هام: توفر أشجار ميركل دليلاً على تضمين البيانات وسلامتها، لكنها لا تشفر البيانات ولا توفر السرية. يمكن لأي شخص لديه حق الوصول إلى الشجرة رؤية البيانات - فالشجرة تضمن فقط عدم تغيير البيانات. بالإضافة إلى ذلك، يعتمد أمان شجرة ميركل كلياً على قوة دالة التجزئة الأساسية؛ فإذا تم اختراق دالة التجزئة، فإن سلامة الشجرة تضمن انهيارها.

الميزات التقنية الرئيسية

بنية شجرة التجزئة الثنائية

  • تحتوي العقد الطرفية على تجزئة كتل البيانات الفردية (مثل المعاملات).
  • تحتوي العقد الداخلية على تجزئة ناتجة عن دمج تجزئتي العقدتين الفرعيتين التابعتين لها: H(parent) = Hash(H(left) || H(right))
  • تكون الشجرة متوازنة دائمًا؛ إذا كان عدد الأوراق فرديًا، تُكرر الورقة الأخيرة لإكمال زوج.
  • عمق الشجرة هو log2(n) أين n عدد العقد الورقية
  • تُعدّ تجزئة الجذر (جذر ميركل) بصمة ثابتة الحجم لمجموعة البيانات بأكملها بغض النظر عن حجم مجموعة البيانات

كيف يعمل التحقق من صحة برهان ميركل

  • يرغب المدقق في التأكد من أن معاملة معينة Tx_k يتم تضمينها في كتلة
  • يحصل المدقق على رأس الكتلة، الذي يحتوي على جذر ميركل
  • يقدم المُثبت قيمة التجزئة لـ Tx_k إلى جانب برهان ميركل الخاص به – وهو تسلسل التجزئات الشقيقة على طول المسار من الورقة إلى الجذر
  • يقوم برنامج التحقق بتقسيم البيانات إلى أجزاء صغيرة Tx_kثم يدمجها مع أول تجزئة شقيقة باستخدام نفس دالة التجزئة.
  • تُدمج النتيجة مع قيمة التجزئة الشقيقة التالية، وهكذا، صعودًا في الشجرة مستوى تلو الآخر.
  • إذا تطابقت قيمة التجزئة المحسوبة النهائية مع جذر ميركل في رأس الكتلة، فسيتم التحقق من تضمين المعاملة.
  • لشجرة مع n أوراق الشجر فقط log2(n) يلزم استخدام التجزئة - على سبيل المثال، 20 تجزئة للتحقق من معاملة واحدة من بين 1,048,576 معاملة

ميركل باتريشيا تراي (إيثيريوم)

  • توسع إيثيريوم شجرة ميركل الأساسية إلى شجرة باتريشيا (شجرة جذرية) التي تربط المفاتيح بالقيم
  • تقوم شجرة الحالة بربط عناوين الحسابات بحالات الحسابات (الرصيد، والرقم العشوائي، وجذر التخزين، وتجزئة الكود).
  • تقوم شجرة التخزين بربط خانات التخزين ذات 256 بت بقيمها لكل عقد ذكي
  • يقلل ضغط المسار من الحمل الزائد للتخزين عن طريق دمج السلاسل الفرعية الفردية في عقد امتداد.
  • ثلاثة أنواع من العقد: عقد التفرع (16 طفلاً + قيمة)، عقد الامتداد (بادئة مشتركة + العقدة التالية)، عقد الأوراق (المسار المتبقي + قيمة)

أشجار ميركل المتفرقة لإثباتات المعرفة الصفرية

  • أشجار ميركل المتفرقة (SMTs) هي أشجار ميركل حيث تكون معظم الأوراق فارغة (قيمة التجزئة الافتراضية).
  • تُستخدم في ZK-rollups لتمثيل حالات الحساب مع إثباتات عضوية وعدم عضوية فعالة
  • تُستخدم دوال التجزئة المُحسّنة مثل بوسيدون وبيدرسن لإجراء حسابات ملائمة لدوائر ZK.
  • يمكن لتقنية SMT بعمق 256 أن تمثل جميع المفاتيح الممكنة ذات 256 بت مع الحفاظ على سهولة الحساب.
  • إن إثبات عدم التضمين بسيط مثل إثبات أن الورقة في موضع معين تحتوي على القيمة الافتراضية

إيجابيات - سلبيات

المزاياعيوب
التحقق اللوغاريتمي: حجم البرهان ونطاق وقت التحقق كـ O(log n)مما يتيح التحقق الفعال حتى لملايين المعاملاتتكاليف التخزين الإضافية: يتطلب تخزين جميع التجزئات الوسيطة ما يقارب 2n - 1 عقد لـ n العقد الطرفية، مما يضاعف تقريبًا متطلبات تخزين البيانات الأولية
كشف التلاعب: أي تغيير في أي عقدة طرفية ينتشر إلى الأعلى، مما يؤدي إلى تغيير جذر ميركل ويكشف على الفور عن تلف البيانات أو التلاعب بها.تكلفة إعادة الحساب: يتطلب تحديث ورقة واحدة إعادة حساب جميع التجزئات على طول المسار إلى الجذر – O(log n) عمليات التجزئة لكل تحديث
دعم عملاء خفيف الوزن: يمكن لعقد SPV التحقق من تضمين المعاملات باستخدام رؤوس الكتل وإثباتات Merkle فقط، مما يتيح استخدام المحافظ المحمولة والمدمجة.الاعتماد على دالة التجزئة: يعتمد نموذج الأمان بأكمله على مقاومة دالة التجزئة المختارة للتصادم؛ فدالة التجزئة المعطوبة تُعطّل الشجرة.
كفاءة عرض النطاق الترددي: لا تنقل براهين ميركل إلا log2(n) يتم استخدام التجزئات بدلاً من مجموعة البيانات الكاملة، مما يقلل بشكل كبير من عرض النطاق الترددي للشبكة اللازم للتحقق.متطلبات الموازنة: تتطلب أشجار ميركل الثنائية القياسية عددًا زوجيًا من الأوراق؛ بينما تحتاج مجموعات البيانات ذات الأعداد الفردية إلى التكرار، مما قد يُسبب أخطاءً برمجية دقيقة.
قابلية التركيب: يمكن تداخل أشجار ميركل - يمكن أن يكون جذر ميركل ورقة في شجرة ذات مستوى أعلى - مما يتيح مخططات التزام البيانات متعددة الطبقات المستخدمة في عمليات التجميع والتجزئةتعقيد أشجار التراي: تُعد أشجار التراي من نوع Merkle Patricia (كما هو الحال في إيثيريوم) أكثر تعقيدًا بكثير في التنفيذ من أشجار Merkle الثنائية الأساسية، مع أنواع متعددة من العقد وتشفير المسار.
البناء المتوازي: يمكن حساب تجزئات الأوراق بشكل مستقل ومتوازٍ، مما يجعل بناء شجرة ميركل قابلاً للتوازي بدرجة كبيرة على الأجهزة الحديثة.تضخم الحالة: في سلاسل الكتل ذات الحالة، تنمو شجرة ميركل مع كل حساب جديد ومساحة تخزين إضافية، مما يساهم في تضخم الحالة على المدى الطويل ويزيد من أوقات المزامنة.
معياري ومُجرَّب ميدانيًا: عقود من البحث الأكاديمي والتطبيق العملي (بيتكوين منذ عام 2009) توفر ثقة عالية في خصائص الأمان الخاصة بالبنيةتزايد حجم البراهين: على الرغم من أن حجم البراهين لوغاريتمي، إلا أنه يزداد مع حجم مجموعة البيانات؛ ففي الأشجار الكبيرة جدًا (مليارات الأوراق)، قد يصبح حجم البراهين كبيرًا جدًا.

خدمات إدارة المخاطر

مخاطر ثغرات وظائف التجزئة

  • ترث أشجار ميركل خصائص الأمان لوظيفة التجزئة الأساسية الخاصة بها (عادةً SHA-256 لبيتكوين، وKeccak-256 لإيثيريوم).
  • إذا أصبحت هجمات التصادم عملية ضد دالة التجزئة، فسيتمكن المهاجم من إنشاء مجموعتي بيانات مختلفتين لهما نفس جذر ميركل.
  • إجراءات التخفيف: مراقبة الأبحاث التشفيرية لرصد أي تطورات في مجال مكافحة خوارزميتي SHA-256 وKeccak-256؛ ويمكن لمجتمعات البلوك تشين إجراء تحديث جذري (hard-fork) لترقية وظائف التجزئة عند الضرورة.
  • تشكل الحوسبة الكمومية تهديدًا طويل الأمد لأمن وظائف التجزئة، على الرغم من أن التقديرات الحالية تشير إلى أن SHA-256 سيظل آمنًا لعقود.

مخاطر أخطاء التنفيذ

  • يمكن أن تؤدي الأخطاء الدقيقة في تطبيقات شجرة ميركل - مثل المعالجة غير الصحيحة للأوراق ذات الأرقام الفردية، أو أخطاء الإزاحة بمقدار واحد في مسارات الإثبات، أو عدم تطابق ترتيب البايتات - إلى خلق ثغرات أمنية قابلة للاستغلال
  • كشف "انقسام" بيتكوين كاش في عام 2018 عن حالات استثنائية في التحقق من صحة شجرة ميركل أثناء التحقق من صحة الكتلة
  • الحلول: استخدام مكتبات مفتوحة المصدر خضعت لتدقيق جيد (مثل مكتبة MerkleProof.sol من OpenZeppelin للغة Solidity)؛ وإجراء تحقق رسمي من التطبيقات الأساسية.
  • اختبر باستخدام مدخلات معادية تتضمن أشجارًا فارغة، وأشجارًا ذات ورقة واحدة، وأشجارًا ذات عمق أقصى

مخاطر هجوم الغموض النوعي

  • في شجرة ميركل الساذجة، يمكن للمهاجم إنشاء عقدة داخلية احتيالية تصطدم بعقدة طرفية شرعية.
  • يُعرف هذا النوع من الهجمات بدقة أكبر باسم هجوم غموض النوع أو هجوم العقد المتعددة، ويمكن التخفيف من آثاره عن طريق إضافة فاصل نطاق (0x00 للأوراق، 0x01 للعقد الداخلية) قبل التجزئة.
  • يستخدم تطبيق شجرة ميركل في بيتكوين تجزئة SHA-256 المزدوجة، مما يوفر مقاومة إضافية
  • التخفيف: قم دائمًا بالتمييز بين تجزئة العقدة الطرفية والعقدة الداخلية؛ اتبع المعايير المعمول بها مثل RFC 6962 (شفافية الشهادة).

مخاطر نمو الدولة وأدائها

  • في إيثيريوم، تنمو شجرة الحالة مع كل حساب جديد وموقع تخزين للعقود، مما يزيد من تكلفة إنشاء الإثبات والتحقق منه بمرور الوقت.
  • تتأثر أوقات مزامنة العقدة الكاملة بشكل كبير بحجم شجرة الحالة (مئات الجيجابايت)
  • التخفيف: تهدف مقترحات انتهاء صلاحية الحالة (EIP-4444، أشجار فيركل) إلى تقليص الحالة التاريخية؛ ويركز بحث العميل عديم الحالة على توفير إثباتات الحالة مع كل كتلة

الصلة الثقافية

تحتل أشجار ميركل مكانة فريدة في عالم العملات الرقمية، فهي من بين هياكل البيانات القليلة التي حظيت بشهرة واسعة خارج أوساط علوم الحاسوب. ويُستخدم مصطلح "برهان ميركل" بكثرة في خوادم ديسكورد، ومنشورات تويتر، ومناقشات منتديات الحوكمة، وغالبًا ما يستخدمه مشاركون قد لا يفهمون تمامًا الرياضيات الكامنة وراءه، لكنهم يدركون أهمية المصطلح.

"أشجار ميركل هي البطل المجهول في تقنية البلوك تشين. في كل مرة تتحقق فيها من معاملة، اشكر رالف ميركل."
- أندرياس إم أنتونوبولوس، "إتقان البيتكوين" (2017)

اكتسب مفهوم "إثبات الاحتياطيات" شهرة واسعة في أوساط ثقافة العملات الرقمية خلال انهيار منصة FTX عام 2022، حين دخل هذا المصطلح حيز التداول العام. وقد طبقت منصات تداول مثل باينانس وكراكن أنظمة إثبات الاحتياطيات القائمة على شجرة ميركل، مما أتاح للمستخدمين التحقق بشكل مستقل من وجود أموالهم ضمن الأصول المعلنة للمنصة. وأصبح مصطلح "إثبات الاحتياطيات باستخدام شجرة ميركل" رمزًا للثقة في بيئة ما بعد انهيار FTX، مما يُظهر كيف تحول اختراعٌ في علوم الحاسوب يعود لعام 1979 إلى مرجع ثقافي للمساءلة المالية.

في مجتمعات الرموز غير القابلة للاستبدال (NFT) وعمليات التوزيع المجاني للرموز الرقمية (Airdrop)، أصبح مصطلح "توزيع Merkle المجاني" مصطلحًا شائعًا. استخدمت مشاريع مثل Uniswap وENS وOptimism عقود توزيع قائمة على شجرة Merkle، مما سمح للعناوين المؤهلة بالمطالبة بالرموز من خلال تقديم دليل Merkle على إدراجها في قائمة التوزيع. وقد تم تطبيق هذا النمط، الذي شاع بفضل مكتبة OpenZeppelin، من قبل مئات المشاريع، وأصبح الآن المعيار الفعلي لتوزيع الرموز على سلسلة الكتل.

يناقش مجتمع المطورين بانتظام مزايا أشجار Merkle مقابل البدائل الأحدث مثل أشجار Verkle (المقترحة لخارطة طريق Ethereum الخاصة بانعدام الحالة)، مما يعكس مدى عمق تجذر هذا الهيكل في مناقشات بنية سلسلة الكتل.

أمثلة من العالم الحقيقي

التحقق من محفظة بيتكوين SPV

السيناريو: مستخدم يقوم بتشغيل محفظة بيتكوين محمولة على هاتف ذكي ذي مساحة تخزين محدودة يريد التحقق من أن دفعة بقيمة 0.5 بيتكوين استلمها شرعية دون تنزيل سلسلة الكتل بأكملها التي تزيد عن 500 جيجابايت.

التنفيذ: تقوم محفظة SPV بتنزيل رؤوس الكتل فقط (80 بايت لكل رأس، بإجمالي 60 ميجابايت تقريبًا لتاريخ سلسلة الكتل بالكامل). عند استلام المستخدم دفعة، تطلب المحفظة إثبات Merkle من عقدة كاملة - وهي عبارة عن مجموعة من 10 إلى 12 تجزئات متجاورة ترسم مسارًا من المعاملة إلى جذر Merkle في رأس الكتلة.

النتيجة: تتحقق المحفظة من إدراج المعاملة في الكتلة عن طريق إعادة حساب التجزئات حتى جذر ميركل، مما يؤكد صحة الدفع. يستغرق هذا أجزاءً من الثانية ويستخدم كيلوبايتات من البيانات، مما يجعل استخدام بيتكوين ممكنًا على الأجهزة المحمولة ذات الموارد المحدودة. هذه هي حالة الاستخدام التي وصفها ساتوشي في القسم 8 من الورقة البيضاء لبيتكوين.

توزيع رموز Uniswap UNI (2020)

السيناريو: احتاجت منصة Uniswap إلى توزيع 150 مليون رمز UNI على ما يقارب 250,000 مستخدم سابق. سيكلف تخزين جميع العناوين البالغ عددها 250,000 عنوانًا على سلسلة الكتل ملايين الدولارات كرسوم غاز.

التنفيذ: قام مهندسو Uniswap بإنشاء شجرة Merkle، حيث تمثل كل عقدة طرفية كل عنوان مؤهل ومقداره القابل للمطالبة. تم تخزين جذر Merkle الوحيد (32 بايت) على سلسلة الكتل في عقد الموزع. يمكن لكل مستخدم المطالبة برموزه المميزة عن طريق تقديم إثبات Merkle (حوالي 18 تجزئة لـ 250,000 عنوان) لإثبات وجوده في الشجرة.

النتيجة: استهلك عقد الإنزال الجوي الحد الأدنى من مساحة التخزين على سلسلة الكتل، مع السماح لأي مستخدم مؤهل بالحصول على الرموز دون الحاجة إلى إذن. بلغت تكلفة الغاز لكل عملية إنزال ما بين 80,000 و100,000 وحدة غاز، مقارنةً بملايين الدولارات التي كانت ستُكلّف تحميل جميع العناوين مسبقًا على سلسلة الكتل. وقد أصبح هذا النمط منذ ذلك الحين المعيار الصناعي لتوزيع الرموز.

إثبات احتياطيات بينانس (بعد تحديث FTX، 2022)

السيناريو: بعد انهيار منصة FTX، واجهت منصة Binance ضغوطًا ملحة لإثبات أن أموال العملاء مدعومة بالكامل. كانت المنصة تحتفظ بأصول لعدد كبير جدًا من حسابات المستخدمين، مما جعل الكشف عن كل حساب على حدة أمرًا غير عملي وانتهاكًا للخصوصية.

التنفيذ: طبّقت منصة باينانس نظام إثبات الاحتياطيات القائم على شجرة ميركل، حيث يتم تشفير رصيد حساب كل مستخدم كعقدة طرفية. يمكن للمستخدمين التحقق من إدراج حساباتهم بتسجيل الدخول وطلب إثبات ميركل الشخصي، والذي يمكنهم التحقق منه بشكل مستقل مقابل جذر ميركل المنشور. يتحقق مدققون خارجيون من تطابق إجمالي الاحتياطيات مع التزام جذر ميركل.

النتيجة: تمكّن المستخدمون من التحقق من إدراج حساباتهم في شجرة الاحتياطيات، مما أعاد قدراً من الثقة في منصات التداول المركزية. ورغم أن هذا النهج ليس مثالياً (فهو لا يثبت انعدام الالتزامات)، إلا أنه رسّخ الشفافية القائمة على شجرة ميركل كمعيار معتمد على نطاق واسع لمساءلة منصات التداول.

التحقق من حالة إيثيريوم لبروتوكولات التمويل اللامركزي

السيناريو: يحتاج بروتوكول إقراض التمويل اللامركزي على شبكة إيثيريوم إلى التحقق من رصيد الضمان الحالي لحساب المستخدم على تجميع الطبقة الثانية قبل معالجة التصفية.

التنفيذ: يقوم نظام التجميع بنشر جذر حالته (جذر ميركل لجميع أرصدة الحسابات) على شبكة إيثيريوم الرئيسية. يقبل عقد التصفية على إيثيريوم إثبات ميركل الذي يوضح رصيد الضمان الخاص بالمستخدم ضمن شجرة حالة نظام التجميع. يحتوي الإثبات على ما يقارب 20-30 تجزئة لشجرة ميركل متفرقة تمثل نطاقًا واسعًا جدًا من الحسابات المحتملة.

النتيجة: تتم عملية التصفية عبر الطبقات دون الحاجة إلى وسيط موثوق - فلا حاجة إلى وسيط أو جسر وسيط. يربط برهان ميركل حالة التجميع بعقد الشبكة الرئيسية تشفيرياً، مما يتيح إمكانية التركيب بين الطبقتين الأولى والثانية دون المساس بالأمان. يُستخدم هذا النمط العام في عدد من تصميمات التجميع والإقراض عبر السلاسل.

جدول المقارنة

الميزاتشجرة ميركل (ثنائية)ميركل باتريشيا تراي (إيثيريوم)شجرة فيركل (مقترحة)
الهيكليةشجرة ثنائية من التجزئاتشجرة الجذر مع التزامات التجزئةشجرة ذات التزامات متجهة
حجم الإثباتO(log n) التجزئة (~32 بايت لكل منها)O(log n) لكنها أكبر بسبب عامل التفرع 16O(log n) لكنها أصغر من براهين ميركل
الاستخدام الأساسيإدراج المعاملة (بيتكوين)تخزين حالة العالم الكاملة (إيثيريوم)التحقق من العميل بدون حالة (إيثيريوم مستقبلاً)
رسم الخرائط الرئيسيةالموضعي (القائم على المؤشر)مفتاح-قيمة (عنوان-إلى-ولاية)مفتاح-قيمة (عنوان-إلى-ولاية)
تكلفة التحديثO(log n) إعادة صياغةO(log n) لكن مع تكاليف إعادة هيكلة الشجرةO(log n) مع التزامات أرخص
التحقق من الإثباتإعادة حساب التجزئة البسيطةأكثر تعقيدًا (أنواع متعددة من العقد)يتطلب عمليات على المنحنى الإهليلجي
انتفاخ الدولةالحد الأدنى (قوائم المعاملات محدودة)شديد (تنمو الحالة بلا حدود)تم التخفيف من ذلك عن طريق أحجام إثبات أصغر
مقاومة الكميعتمد على التجزئة (آمن نسبيًا من الحوسبة الكمومية)يعتمد على التجزئة (آمن نسبيًا من الحوسبة الكمومية)يعتمد على المنحنيات الإهليلجية (العرضة للتأثيرات الكمومية)
النضجتم نشرها منذ عام 2009 (بيتكوين)تم نشره منذ عام 2015 (إيثيريوم)مرحلة البحث/التطبيق (EIP-6800)

الشروط ذات الصلة

  • دالة تجزئة – دالة رياضية تحول بيانات الإدخال إلى مخرجات ذات حجم ثابت، وتعمل كوحدة بناء أساسية لكل عقدة في شجرة ميركل.
  • التحقق من الدفع المبسط (SPV) – طريقة للتحقق من معاملات البيتكوين باستخدام رؤوس الكتل وإثباتات ميركل فقط، مما يتيح للعملاء الخفيفين الاعتماد كليًا على كفاءة شجرة ميركل.
  • جذر ميركل - التجزئة الفردية في أعلى شجرة ميركل والتي تعمل كالتزام تشفيري لجميع البيانات المخزنة في الشجرة، والمضمنة في كل رأس كتلة سلسلة الكتل.
  • رأس الكتلة – قسم البيانات الوصفية لكتلة سلسلة الكتل الذي يحتوي على جذر Merkle، وتجزئة الكتلة السابقة، والطابع الزمني، والحقول الأخرى الخاصة بالبروتوكول.
  • شجرة باتريشيا - شجرة محسّنة من حيث المساحة (شجرة البادئة) تستخدمها إيثيريوم بالاشتراك مع تجزئة ميركل لإنشاء شجرة ميركل باتريشيا لتخزين الحالة.
  • شجرة فيركل - خليفة مقترح لأشجار ميركل في إيثيريوم تستخدم التزامات المتجهات بدلاً من الالتزامات القائمة على التجزئة، مما يقلل من أحجام الإثبات.
  • إثبات المعرفة الصفرية – طريقة تشفير تسمح لأحد الأطراف بإثبات معرفة حقيقة ما دون الكشف عن الحقيقة نفسها، وغالبًا ما تستخدم أشجار ميركل لالتزامات الحالة في ZK-rollups.
  • إثبات الاحتياطيات - ممارسة تدقيق تستخدم فيها منصات تداول العملات المشفرة أشجار ميركل لإثبات أن ودائع العملاء مدعومة بالكامل بأصول على سلسلة الكتل.
  • التوزيع التحفيزي – حدث توزيع الرموز الذي يستخدم عادة العقود الذكية القائمة على شجرة Merkle للسماح للمستلمين المؤهلين بالمطالبة بالرموز عن طريق تقديم إثباتات Merkle.
  • State Trie – بنية Merkle Patricia Trie الخاصة بـ Ethereum والتي تربط كل عنوان حساب بحالته الحالية، مما يشكل العمود الفقري لبنية تخزين البيانات الخاصة بـ Ethereum.
  • الشجرة الثنائية - بنية بيانات أساسية في علوم الحاسوب حيث تحتوي كل عقدة على طفلين على الأكثر، وهي بمثابة الأساس الهيكلي لأشجار ميركل القياسية.
  • إيصال المعاملة - بنية بيانات يتم إنشاؤها بعد تنفيذ معاملة إيثيريوم، ويتم تخزينها في شجرة ميركل منفصلة داخل كل كتلة للتحقق الفعال من الإيصال.

الأسئلة الشائعة

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

س: كيف يعمل برهان ميركل؟ يتكون برهان ميركل من تجزئات الأشقاء على طول المسار من عقدة ورقية محددة إلى جذر ميركل. للتحقق، يتم تجزئة البيانات المستهدفة، ثم دمجها مع تجزئة أول شقيق، ثم تجزئة النتيجة، ثم دمجها مع تجزئة الشقيق التالي، وهكذا حتى الوصول إلى الجذر. إذا تطابق الجذر المحسوب مع جذر ميركل المعروف، يتم التحقق من أن البيانات مُضمنة في الشجرة. بالنسبة لشجرة تحتوي على مليون ورقة، يتطلب هذا حوالي 20 تجزئة فقط.

س: ما الفرق بين شجرة ميركل وشجرة ميركل باتريشيا؟ شجرة ميركل القياسية هي شجرة تجزئة ثنائية بسيطة تُستخدم لقوائم البيانات المرتبة (مثل المعاملات في كتلة بيتكوين). أما شجرة ميركل باتريشيا، المستخدمة في إيثيريوم، فهي بنية أكثر تعقيدًا تجمع بين شجرة الجذر (شجرة البادئة) وتجزئة ميركل لإنشاء مخزن قيم مفتاحية ذي سلامة قابلة للتحقق.

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

س: كيف تُستخدم أشجار ميركل في الرموز غير القابلة للاستبدال (NFT) وعمليات توزيع الرموز المجانية؟ تقوم المشاريع بإنشاء شجرة ميركل، حيث تمثل عناوين المحافظ المؤهلة (ومبالغها القابلة للمطالبة) أوراق الشجرة. يتم تخزين جذر ميركل فقط على سلسلة الكتل، مما يوفر تكاليف الغاز. يمكن لكل مستخدم مؤهل المطالبة بالرموز عن طريق تقديم إثبات ميركل الخاص به - وهو عبارة عن مجموعة صغيرة من التجزئات التي تثبت وجود عنوانه في الشجرة. وقد تم استخدام هذا النمط، الذي شاع استخدامه بفضل مكتبة MerkleProof الخاصة بـ OpenZeppelin، من قبل Uniswap وENS وOptimism ومئات المشاريع الأخرى.

س: هل يمكن استخدام أشجار ميركل لحماية الخصوصية؟ لا توفر أشجار ميركل القياسية الخصوصية، فجميع البيانات مرئية. مع ذلك، تُستخدم أنواع متخصصة منها في الأنظمة التي تحافظ على الخصوصية. تسمح براهين ميركل ذات المعرفة الصفرية بإثبات التضمين دون الكشف عن بيانات الأوراق، مما يُمكّن من إجراء معاملات خاصة والتحقق من الحالة بسرية تامة.

س: ماذا يحدث إذا أنتجت مجموعتا بيانات مختلفتان نفس جذر ميركل؟ هذا يُشكّل تصادمًا في دالة التجزئة - مدخلان مختلفان يُنتجان نفس الناتج من دالة التجزئة. باستخدام خوارزمية SHA-256 (المستخدمة في بيتكوين)، يتطلب إيجاد مثل هذا التصادم حوالي 2^128 عملية حسابية، وهو أمر غير ممكن حسابيًا بالتقنيات الحالية والمتوقعة.

مصادر

تحقق من أرقامك الخاصة

توفر حاسبة UEEx المجانية معلومات عن سعر التصفية واستخدام الهامش والرسوم لأي حجم مركز

ملخص UEEx الأسبوعي

تحليلات السوق وتنبيهات الأمن، يقرأها 10,000 متداول