شجرة ميركل

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

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

هيكل شجرة ميركل

4 transactions in a block: Tx1, Tx2, Tx3, Tx4

Step 1: Hash each transaction (Bitcoin uses double SHA-256)
  H1 = SHA256(SHA256(Tx1)) = "abc..."
  H2 = SHA256(SHA256(Tx2)) = "def..."
  H3 = SHA256(SHA256(Tx3)) = "ghi..."
  H4 = SHA256(SHA256(Tx4)) = "jkl..."

Step 2: Hash pairs of child nodes
  H12 = SHA256(SHA256(H1 + H2)) = "mno..."
  H34 = SHA256(SHA256(H3 + H4)) = "pqr..."

Step 3: Hash to root
  Merkle Root = SHA256(SHA256(H12 + H34)) = "stu..."

Tree structure:
         Merkle Root (stu...)
        /                   \
  H12 (mno...)         H34 (pqr...)
  /        \            /        \
H1(abc)  H2(def)   H3(ghi)  H4(jkl)
  |          |         |         |
  Tx1       Tx2       Tx3       Tx4

Merkle Proof for Tx3 (prove Tx3 is in block):
  Provide:  H4, H12
  Verifier computes:
    H3    = hash(Tx3)              ← from the transaction itself
    H34   = hash(H3 + H4)         ← H4 provided
    Root  = hash(H12 + H34)       ← H12 provided
  If computed Root matches block header Root → Tx3 confirmed ✓
  Data required: 2 hashes (not all 4 transactions)

For a block with 4,096 transactions:
  Proof requires only 12 hashes — not 4,096
  For 1,000,000 transactions: ~20 hashes

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

تطبيقات شجرة ميركل

تطبيق كيفية استخدام أشجار ميركل
كتل بيتكوين يتم تخزين جذر Merkle للمعاملة في رأس الكتلة؛ مما يتيح إثباتات SPV للمحافظ الخفيفة
حالة إيثيريوم شجرة ميركل باتريشيا (MPT) لحالات الحسابات والتخزين وسجلات المعاملات/الإيصالات؛ أشجار فيركل مُخطط لها كترقية
أهلية الإنزال الجوي تتحقق إثباتات ميركل من صحة العناوين الفردية على سلسلة الكتل دون تخزين قائمة المستلمين الكاملة في العقد.
البراهين ZK يمكن التحقق من براهين ميركل داخل دوائر ZK للحصول على براهين تضمين مضغوطة.
Git (التحكم في الإصدار) يستخدم Git مخططًا بيانيًا موجهًا غير دوري (DAG) للكائنات معنونًا بالمحتوى - وهو هيكل مستوحى من أشجار Merkle ويرتبط بها ارتباطًا وثيقًا
شفافية الشهادة تتيح سجلات Merkle التي تُضاف إليها البيانات فقط إمكانية التدقيق العام لجميع شهادات TLS الصادرة.
العملاء عديمي الجنسية تسمح براهين ميركل/فيركل للعقد بالتحقق من صحة الكتل دون تخزين الحالة الكاملة

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

س: كيف تستخدم عمليات الإنزال الجوي في التمويل اللامركزي أشجار ميركل؟

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

س: ما هي شجرة ميركل باتريشيا؟

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

س: كيف تساعد إثباتات ميركل العملاء الخفيفين (محافظ SPV)؟

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

س: ماذا يحدث إذا كان لشجرة ميركل عدد فردي من الأوراق؟

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

س: ما الفرق بين أشجار ميركل وأشجار فيركل؟

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

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

SHA-256 · دالة التشفير التجزئية · بيتكوين · إيثيريوم · عميل خفيف (SPV) · الإنزال الجوي · إثبات المعرفة الصفرية · شجرة فيركل · شجرة ميركل باتريشيا

نصيحة من UPay: أشجار ميركل هي سر كفاءة التحقق من سلسلة الكتل، وليس مجرد اكتماله نظريًا. عند التحقق من معاملة على Etherscan، فأنت في الواقع تتحقق من دليل ميركل. عند المطالبة بتوزيع مجاني عبر إرسال معاملة على سلسلة الكتل، فأنت تُرسل دليل ميركل على أهليتك. عندما تؤكد محفظة جوالة دفع بيتكوين دون تنزيل سلسلة الكتل كاملة، فإنها تستخدم التحقق من نقطة الخدمة (SPV) مع أدلة ميركل. يساعدك فهم أشجار ميركل على إدراك سبب كون التحقق من سلسلة الكتل قابلًا للإثبات تشفيريًا وفعالًا عمليًا - فلن تحتاج أبدًا إلى تنزيل كل شيء للتحقق من أي شيء.

تنويه: هذا المحتوى لأغراض تعليمية فقط ولا يشكل نصيحة مالية. 

الأخبار و الأحداث