ملخّص الذكاء الاصطناعي
عرض المزيد
استخلص فحوى محتوى المقال بسرعة، مستشعرًا معنويات السوق في غضون 30 ثانية فقط!
تُستخدم أشجار ميركل في تطبيقات علوم الكمبيوتر كهيكل بيانات للتحقق من البيانات ومزامنتها. تُستخدم أشجار ميركل أيضًا لتشفير بيانات البلوكشين بشكل أكثر أمانًا وكفاءة في بيتكوين والعديد من العملات الرقمية الأخرى.
في العملات الرقمية، تُستخدم قاعدة بيانات شجرة ميركل لتقسيم بيانات البلوك بأمان وضمان عدم فقدانها أو تلفها أو تعديلها. تجعل هذه الطريقة في إدارة البيانات من الممكن التحقق من معاملات محددة دون تنزيل سلسلة الكتل بالكامل والتي يبلغ حجمها تيرابايت. إنها طريقة موثوقة وآمنة وتشفيرية لتشغيل تقنية البلوكشين.
نتيجة لسقوط عملاق التبادل المركزي (CEX)، FTX، قامت العديد من مؤسسات CEX ببناء وتنفيذ شجرة ميركل كشكل من أشكال إثبات الاحتياطيات (PoR) لضمان سلامة أموال المستخدمين. في هذه المقالة، سنتحدث عن ماهية أشجار ميركل، ودورها في تقنية البلوكشين وكيف يمكن للمستخدم التحقق من أمواله باستخدام شجرة ميركل.
رالف ميركل، عالم حاسوب معروف بعمله على التشفير بالمفتاح العام، اقترح أشجار ميركل في الورقة العلمية لعام 1987 "توقيع رقمي بناءً على وظيفة تشفير تقليدية". تم اختراع التجزئة التشفيرية أيضًا بواسطة ميركل.
شجرة ميركل هي بنية بيانات رياضية قائمة على التجزئة التي تجمع ملخصات جميع المعاملات في كتلة. إنها وسيلة للتحقق السريع من دقة البيانات بطريقة لا مركزية. كنتيجة لوظائفها، تُستخدم أشجار ميركل بشكل أكثر فعالية وأمانًا لتشفير بيانات البلوكشين.
تُستخدم أشجار ميركل غالبًا مع الشبكات الند للند (P2P) بسبب الحاجة إلى مشاركة المعلومات والتحقق منها بشكل مستقل. لنفهم المزيد حول أشجار ميركل وكيف تعمل.
شجرة ميركل، والمعروفة أيضًا باسم شجرة التجزئة، لها بنية شجرة ثنائية، مع تجزئات بيانات المعاملات في الصف السفلي المشار إليها باسم "عقد الأوراق"، والتجزئات الوسيطة المشار إليها باسم "عقد غير الأوراق"، والتجزئة في الأعلى المشار إليها بـ "الجذر". حتى وإن كانت معظم تنفيذات شجرة التجزئة ثنائية (كل عقدة لها عقدتا ابنة)، إلا أنها يمكن أن تحتوي على عدد أكبر بكثير من العقد الابنة.
عند النظر في بنية شجرة ميركل، يتم تجميع جميع المعاملات في أزواج. كل زوج لديه تجزئة محسوبة يتم تخزينها مباشرة في العقدة الأم. يتم أيضًا تجميع هذه العقد في أزواج، وبعد ذلك يتم تخزين تجزئتها في المستوى التالي. يستمر هذه العملية حتى تصل إلى جذر شجرة ميركل.
لنلقي نظرة على كل من العقد:
هذه هي تجزئات كل معاملة عملة مشفرة في كتلة، تُعرف أيضًا بمعرفات المعاملات (TXIDs). تشاهد تجزئة المعاملة عندما تبحث عن معاملة في مستكشف الكتل.
بعد ذلك، لإنشاء طبقة من العقد غير الورقية فوق العقد الورقية، يتم تجزئة هذه العقد الورقية معًا في أزواج. تُعرف بالعقد غير الورقية لأنها، على عكس العقد الورقية، تخزن فقط تجزئة العقدتين الورقيتين التي تمثلها ولا تحتوي على معرفات المعاملات (أو التجزئات). نتيجةً لذلك، سيكون هناك نصف عدد التجزئات (أو العقد) في طبقة العقد غير الورقية فوق العقد الورقية مقارنةً بعددها في طبقة العقد الورقية. مع تضاؤل الشجرة خلال صعودها، تستمر طبقات العقد غير الورقية في الاندماج معًا في أزواج، مما ينتج عنه نصف عدد العقد في كل طبقة. سيكون هناك عقدتان في الطبقة النهائية من العقد غير الورقية. هذا يخلق جذر ميركل ويعد موقع التجزئة الأخير في شجرة ميركل.
مع البيتكوين، يتم دمج تجزئات جميع المعاملات في تجزئة واحدة وتخزينها في رأس الكتلة. جذر ميركل، المعروف أيضًا باسم التجزئة الجذرية، هو هذا التجزئة المعينة. يمكن التحقق من العقد الورقية (معرفات/تجزئات المعاملات) في قاعدة شجرة ميركل باستخدام جذر ميركل هذا. عند استخدامه في العملات المشفرة، يضمن جذر ميركل أن كتل البيانات غير متغيرة وغير تالفة وكاملة.
شجرة ميركل ثنائية، مما يعني أن العدد الإجمالي للعقد الورقية المختلفة يجب أن يكون زوجيًا ليتم بناء الشجرة بشكل صحيح. عندما يكون هناك عدد فردي من العقد الورقية، سيتم تكرار التجزئة السابقة لتوفير عدد زوجي من العقد.
صُممت شجرة ميركل أساسًا لتقسيم القطع الكبيرة من البيانات إلى أجزاء أصغر بكثير، مما يضمن إمكانية التحقق من جميع المعاملات بشكل سريع. تلخص الشجرة كل معاملة عن طريق إنشاء بصمة صغيرة لمجموعة محددة من المعاملات، مما يسهل على المستخدمين التحقق من توافر المعاملات في كتلة.
يتم تشكيل أشجار ميركل عن طريق هاش أزواج مختلفة من العقد حتى يبقى هاش واحد فقط، والذي يشار إليه بـجذر ميركل. يتم بناء هذه الأشجار من الأسفل إلى الأعلى، مع كل معاملة تتكون من هاشات. كل عقدة ورقة هي هاش منفرد للبيانات. أما بالنسبة للعقد غير الورقية، فهي هاشات لهاشات سابقة.
لنفترض أن شجرة ميركل تتألف من أربع معاملات تحمل التسميات D0، D1، D2، وD3. يتم تنفيذ عملية الهاش لكل معاملة قبل أن يتم تخزين الهاش مباشرة في عقدة الورقة. عند حدوث ذلك، يتم إنشاء هاش N0، N1، N2 وN3. سيتم تلخيص أي زوج متتالٍ من عقد الورقة بعد ذلك في عقدة الوالد من خلال الهاش لهماش N0 وهاش N1، والذي ينتج عنه هاش N4. إذا تم تنفيذ الهاش معًا لهاش N2 وهاش N3، يتم إنشاء هاش N5. يتم إجراء الهاش لكلا الهاشين، N4 وN5، مرة أخرى من أجل إنشاء جذر ميركل.
يمكن استخدام هذه العملية مع مجموعات بيانات واسعة النطاق. يتحمل جذر الميركل مسؤولية تلخيص البيانات الموجودة في معاملات محددة، والتي يتم تخزينها جميعًا مباشرة في رأس الكتلة. تؤدي هذه التقنية إلى الحفاظ على سلامة البيانات بشكل صحيح. في حال تم تغيير تفصيل واحد داخل المعاملة في أي وقت، فإن جذر ميركل سيتغير تلقائيًا معه.
هناك العديد من الفوائد لتكنولوجيا البلوكشين ومنصات العملات الرقمية عند استخدام شجرة ميركل للتحقق من المعاملات، وتشمل كل شيء من التحقق الفعّال إلى سهولة اكتشاف العبث.
من السهل التحقق من سلامة المعاملة بشكل سريع جدًا. بسبب كيف يتم هيكلة البيانات، يتم استخدام القليل من الذاكرة خلال عملية التحقق ويتم تقليص قدرة الحوسبة المطلوبة بشكل كبير.
نظرًا لأن البلوكشين عمومًا يتكون من مئات الآلاف من الكتل، كل منها يمكن أن يحتوي على عدة آلاف من المعاملات، فإن التحقق من صحة البيانات يواجه تحديين رئيسيين: مساحة الذاكرة وقدرة الحوسبة. كان كل عقدة في الشبكة سيُطلب منها الحفاظ على نسخة كاملة من كل معاملة حدثت على البلوكشين لو لم تكن فكرة أشجار ميركل موجودة في البلوكشين. كانت العقدة ستحتاج إلى مقارنة كل إدخال سطرًا سطرًا عند التحقق من معاملة للتأكد من أن سجلاتها تتطابق بالضبط مع سجلات الشبكة. يمكن أن تتعرض أمان الشبكة للخطر إذا كان هناك أي تناقض بين السجلات. نتيجة لذلك، لمقارنة السجلات للتأكد من عدم حدوث أي تغييرات، كان الكمبيوتر المستخدم للتحقق من البيانات بحاجة إلى قدرة حوسبة أكبر بكثير.
لكن أشجار ميركل تقدم حلاً لهذه المشكلة من خلال تقليص الكمية من البيانات التي يجب الاحتفاظ بها لأغراض التحقق بشكل كبير. يتم تجزئة كل إدخال في السجل، مما يفصل بشكل فعال البيانات نفسها عن الأدلة التي تدعمها. بدون معرفة كل معرف معاملات داخل كتلة، يمكنك التحقق من معرف المعاملة باستخدام الجذر ميركل مع شجرة الميركل. شجرة المرقل هي في الأساس طريقة رائعة لإثبات وجود شيء ما في مجموعة بيانات دون الحاجة إلى تحميل المجموعة بأكملها. وبالتالي، هناك حاجة إلى قوة حوسبة أقل للتحقق من صحة المعاملات.
نتيجة لتوزيع المعاملات على الكتلة بين المدققين، كل مدقق يعمل على معاملة مختلفة في نفس الوقت. مقارنة بطريقة يتم فيها التحقق من كل معاملة على التوالي بعد أخرى، هذا أكثر فعالية بكثير.
التحقق البسيط من الدفع (SPV)، الذي يتيح لك تأكيد معاملة دون تحميل كتلة كاملة أو سلسلة بلوكشين بأكملها، يتم بواسطة شجرة الميركل. هذا يتيح استخدام عقدة العميل الخفيف، التي تُعرف بشكل رسمي أكثر باسم محفظة العملات المشفرة، لإرسال واستقبال المعاملات.
تجعل بنية الهاش من السهل على المعدنين تحديد ما إذا كان هناك تلاعب بالمعاملات.
يتم توليد قيمة هاش مميزة لكل كتلة باستخدام الجذر ميركل. تربط الكتلة كتلة بأخرى في سلسلة البلوكشين عن طريق تضمين هاش الكتلة السابقة. تغيير هاش أي معاملة يتغير كلما تم تعديل تلك المعاملة. تصبح الكتلة غير صالحة نتيجة لهذا التغيير لأنه ينتقل إلى الجذر ميركل ويغير قيمته. ثم يتسبب هذا في تغيير هاش الكتلة التالية، مما يجعل باقي البلوكشين غير صالح. ونتيجة لذلك، يخلق شجرة ميركل سجلاً غير قابل للتغيير لمعاملات الكتلة.
كما يمكن منع الإنفاق المزدوج نتيجة لذلك. إذا حاول شخص إنفاق عملته الرقمية مرتين، سيتم توليد تجزئة لتلك المعاملة. إذا تطابقت تلك التجزئة مع السجلات الموجودة على البلوكشين، يتم رفض تلك المعاملة.
أثبتت أشجار ميركل أنها ضرورية لتكنولوجيا البلوكشين لأنها تسهل التحقق السريع والسهل بطريقة غير ممكنة باستخدام تقنيات أخرى. تتيح هذه الأشجار للمطورين القدرة على ضغط مجموعات كبيرة جدًا من البيانات عن طريق التخلص من جميع البيانات غير الضرورية، وتحويل البيانات المتبقية إلى تجزئات. تشمل الميزات المختلفة التي توفرها أشجار ميركل:
كما ذكرنا في البداية، بعد انهيار FTX، أصبح المستخدمون قلقين بشأن ما إذا كانت أموالهم محفوظة بأمان في CEXs. ونتيجة لذلك، تقدمت العديد من الـ CEXs لتطوير آلية إثبات احتياطيات شجرة ميركل. في هذا القسم، سنبحث في إثباتات ميركل وكيف يمكن لمستخدمينا التحقق من أموالهم.
إثبات شجرة ميركل هو جزء من شجرة ميركل، وليس الشجرة الفعلية. ويتم تمثيلها كمصفوفة أو سلسلة (يظهرها الجزء البرتقالي في الرسم البياني أدناه).
كل عقد الأوراق ومعلومات الرصيد لمستخدم معين واحد من شركتنا يتم تمثيلها من خلال العقد في المستوى الأخير من الشكل. بالنظر إلى أن الأشخاص باللون الوردي في الشكل يمثلون المستلمين المقصودين من الإثباتات، فإننا نستخرج الأجزاء البرتقالية من الشكل مستوى مستوى ونقدم مستندات الإثبات للمستخدمين بترتيب الارتفاع. من المهم أن نتذكر أن دليل ميركل له مكونان رئيسيان
بأخذ حجم 10 ملايين مستخدم كمثال، يمكن حساب ارتفاع الشجرة كـ Log2(10,000,000) = 23.2534966642 بناءً على الصيغة الرياضية، مما يعطي ارتفاع الشجرة بـ 24 مستوى. لذلك، العقد في الرسم التي لم يتم تقديمها عمدًا للمستخدمين ستكون 24 - 2 = 22.
شجرة ميركل هي شجرة ثنائية كاملة، والتي تسمح لنا بحساب جميع المعلومات حول عقدتها الأم ببساطة عن طريق معرفة العقد اليسرى واليمنى. يتكون هذا المعلومات الكاملة من جزئين: بيانات الرصيد وبيانات التجزئة.
يتم حساب التحقق من شجرة Merkle من خلال اشتقاق B وD والتحقق من
باستخدام دالة ملخص التجزئة، تُمكن شجرة Merkle المستخدمين من تحديد ما إذا كانوا جزءًا من الشجرة الكاملة دون الحاجة إلى معرفة كل عقدة أرجوانية في الرسم البياني. الدليل Merkle خاص بهذا المستخدم فقط. على سبيل المثال، شجرة Merkle ذات 24 مستوى تتطلب مصفوفة من 23 عنصرًا للتحقق من معلومات رصيد المستخدم، ويمكن لهذه المصفوفة فقط تأكيد أن دليل رصيد المستخدم دقيق.
لا يمكن للمستخدم إعادة بناء الشجرة الكاملة بناءً على معلوماته المجزأة طالما لم يحصل على أكثر من نصف عدد المستخدمين الإجمالي. نتيجة لذلك، تحمي شجرة Merkle خصوصية المستخدم وكذلك قدرة الشركة على منع تسرب المعلومات عن أصول الشركة الكلية.
هناك طريقتان متاحتان لك للتحقق من صحة حساب Bybit الخاص بك والتحقق من صلاحية الأموال.
أداة التحقق من المنصة
هذه الطريقة هي الأولى والوحيدة في الشبكة بأكملها، وسوف تعرض عملية اشتقاق العقد لتحقق شجرة Merkle بطريقة بيانية بديهية على منصة الشركة.
أداة التحقق الذاتية
كود مصدر توليد شجرة Merkle وكود التحقق الخاص بالشركة متاح بشكل مفتوح على github لمساعدة المستخدمين في برمجة تحققهم الخاص. تنطوي عملية حساب شجرة Merkle على كمية كبيرة من حسابات المستخدم، والتي يتم تنفيذها عادة بواسطة البيانات الضخمة وJava.
*كود Java المفتوح يعني أنه مفتوح للمستخدمين بدون حجب أي معلومات.
لقد جعلت Bybit الكود التالي مفتوح المصدر للمستخدمين المحترفين للتحقق من ملف إثبات شجرة Merkle الخاص بهم عن طريق نسخه من صفحة إثبات الاحتياطي إلى نسختهم "الدائمة" من النظام عبر زر نسخ البيانات وتخزينه كملف باسم myProof.json على القرص المحلي.
تم تبني هياكل شجرة Merkle والجذر الخاص بها على نطاق واسع عبر العديد من البلوكشينات المختلفة ومنصات العملات المشفرة. وفيما يلي ثلاثة من هذه التطبيقات.
يستخدم Bitcoin شجرات Merkle بعدة طرق، مما يجعل هذه الشجرات جزءاً لا يتجزأ من منصة Bitcoin بالكامل. في الواقع، توجد هذه الشجرات في كل رأس كتلة Bitcoin. يتم وضع الهاش لكل معاملة متوفرة داخل الكتلة في العنوان. عندما يتعلق الأمر بالبيتكوين، فإن جذر ميركل مهم للتعدين وكذلك للتحقق.
تتكون كتل البيتكوين من عناوين تحتوي على بيانات وصفية بالإضافة إلى قائمة موسعة من المعاملات. عادةً ما تكون هذه القائمة أكبر من عنوان الكتلة. يقوم المعدنون بتجزئة البيانات لإنشاء مخرج يتوافق مع شروط معينة، وهو ضروري عند التحقق من صحة الكتلة. يمكن للمعدنين تجربة تريليونات من المحاولات المنفصلة قبل أن يعثروا على كتلة صالحة. كل محاولة تتطلب تغيير رقم في عنوان الكتلة. حتى وإن كانت هناك آلاف من المعاملات المنفصلة يمكن أن توجد في كتلة، يجب تجزئة كل واحدة منها.
تتيح جذور ميركل للمعدنين جعل هذه العملية أكثر كفاءة بكثير. عندما تبدأ عملية التعدين، كل ما هو ضروري هو تحويل المعاملات إلى شجرة ميركل، وبعد ذلك يمكن وضع جذر التجزئة داخل عنوان الكتلة. في هذه المرحلة، يطلب من المعدن فقط تجزئة عنوان الكتلة، بدلاً من الكتلة بأكملها.
جانب آخر من جذر ميركل الذي يستخدم مع البيتكوين يتضمن الرافعة المالية، والتي تركز على العملاء الخفيفين. عندما يتم تشغيل العقدة على جهاز ضعيف نسبياً لديه موارد محدودة، لن يتمكن المستخدمون من تحميل وتجزئة كل معاملة في كتلة واحدة. بدلاً من ذلك، يمكن طلب إثبات ميركل، وهو تأكيد على أن المعاملة موجودة في كتلة. عن طريق تقليل عدد التجزئات التي يجب تنفيذها خلال عملية التحقق، يمكن أن يتم التحقق بدون استخدام العديد من موارد الحوسبة.
إيثريوم يعتمد على نسخة معدلة قليلاً من شجرة ميركل، ولهذا السبب يشار إليه باسم شجرة ميركل باتريشيا. يتكون كل كتلة داخل سلسلة كتل إيثريوم من ثلاث شجرات ميركل، بعكس شجرة ثنائية واحدة – وهو ما يحدث في كتل البتكوين. كل من الجذور الثلاثة له هدفه الخاص.
يُعتبر الجذر الأول هو جذر كل معاملة. أما الجذر الثاني، فيوضح حالة المعاملة. الجذر النهائي هو إيصال المعاملة. يمكن للمستخدم النظر إلى جذر ميركل لتحديد ما إذا كانت المعاملة موجودة في كتلة معينة، وكذلك تحديد ما هو رصيد حسابهم.
عند النظر بشكل محدد إلى هايبرليدجر فابريك، تستخدم هذه المنصة البلوكتشين شجرة ميركل لحساب بيانات الكتلة كتجزئة. تعرف قيمة التجزئة عرض شجرة ميركل. تعمل شجرات ميركل على منصة هايبرليدجر فابريك تماماً مثل تلك الموجودة على منصة البتكوين.
أثبتت شجرات ميركل أنها مفيدة للغاية لمنصات العملات المشفرة التي تريد التأكد من أن عملية تحقق المعاملات سهلة وفعالة قدر الإمكان. بدون وجود هذه البنية، سيكون التحقق عملية تستغرق وقتًا طويلًا لأن البيانات ستحتاج إلى النقل عبر الشبكة بأكملها لأغراض التحقق. المنصات التي تستخدم أشجار ميركل تستفيد من متطلبات أقل لنطاق الترددات وقوة الحوسبة.