---
title: أشجار فيركل
description: وصف عالي المستوى لأشجار فيركل وكيف سيتم استخدامها لترقية إيثيريوم
lang: ar
template: roadmap
summaryPoints:
  - اكتشف ما هي أشجار فيركل
  - اقرأ لماذا تعد أشجار فيركل ترقية مفيدة لإيثيريوم
---

أشجار فيركل (وهي مزيج من كلمتي <span dir="ltr">"Vector commitment"</span> و<span dir="ltr">"Merkle Trees"</span>) هي بنية بيانات يمكن استخدامها لترقية عقد [إيثيريوم](/) بحيث يمكنها التوقف عن تخزين كميات كبيرة من بيانات الحالة دون فقدان القدرة على التحقق من صحة الكتل.

## انعدام الحالة {#statelessness}

تعد أشجار فيركل خطوة حاسمة على طريق عملاء إيثيريوم عديمي الحالة. العملاء عديمو الحالة هم أولئك الذين لا يضطرون إلى تخزين قاعدة بيانات الحالة بأكملها من أجل التحقق من صحة الكتل الواردة. بدلاً من استخدام نسختهم المحلية الخاصة من حالة إيثيريوم للتحقق من الكتل، يستخدم العملاء عديمو الحالة "شاهدًا" لبيانات الحالة التي تصل مع الكتلة. الشاهد هو مجموعة من الأجزاء الفردية من بيانات الحالة المطلوبة لتنفيذ مجموعة معينة من المعاملات، وإثبات تشفيري على أن الشاهد هو حقًا جزء من البيانات الكاملة. يتم استخدام الشاهد _بدلاً_ من قاعدة بيانات الحالة. لكي ينجح هذا، يجب أن تكون الشواهد صغيرة جدًا، بحيث يمكن بثها بأمان عبر الشبكة في الوقت المناسب للمُدَقِّقين لمعالجتها ضمن خانة مدتها <span dir="ltr">12</span> ثانية. بنية بيانات الحالة الحالية غير مناسبة لأن الشواهد كبيرة جدًا. تحل أشجار فيركل هذه المشكلة من خلال تمكين الشواهد الصغيرة، مما يزيل أحد العوائق الرئيسية أمام العملاء عديمي الحالة.

<ExpandableCard title="لماذا نريد عملاء عديمي الحالة؟" eventCategory="/roadmap/verkle-trees" eventName="clicked why do we want stateless clients?">

يستخدم عملاء إيثيريوم حاليًا بنية بيانات تُعرف باسم شجرة باتريشيا ميركل (<span dir="ltr">Patricia Merkle Trie</span>) لتخزين بيانات الحالة الخاصة بها. يتم تخزين المعلومات حول الحسابات الفردية كأوراق على الشجرة ويتم تجزئة أزواج الأوراق بشكل متكرر حتى تتبقى تجزئة واحدة فقط. تُعرف هذه التجزئة النهائية باسم "الجذر". للتحقق من صحة الكتل، يقوم عملاء إيثيريوم بتنفيذ جميع المعاملات في الكتلة وتحديث شجرة الحالة المحلية الخاصة بهم. تعتبر الكتلة صالحة إذا كان جذر الشجرة المحلية مطابقًا للجذر الذي قدمه مقترح الكتلة، لأن أي اختلافات في الحساب الذي يقوم به مقترح الكتلة وعقدة التحقق ستؤدي إلى اختلاف تجزئة الجذر تمامًا. تكمن المشكلة في هذا في أن التحقق من سلسلة الكتل يتطلب من كل عميل تخزين شجرة الحالة بأكملها للكتلة الرأسية والعديد من الكتل التاريخية (الافتراضي في <span dir="ltr">Geth</span> هو الاحتفاظ ببيانات الحالة لـ <span dir="ltr">128</span> كتلة خلف الرأس). يتطلب هذا من العملاء الوصول إلى مساحة كبيرة على القرص، وهو ما يمثل عائقًا أمام تشغيل العقد الكاملة على أجهزة رخيصة ومنخفضة الطاقة. يتمثل أحد الحلول لذلك في تحديث شجرة الحالة إلى بنية أكثر كفاءة (شجرة فيركل) والتي يمكن تلخيصها باستخدام "شاهد" صغير للبيانات يمكن مشاركته بدلاً من بيانات الحالة الكاملة. تعد إعادة تنسيق بيانات الحالة إلى شجرة فيركل نقطة انطلاق للانتقال إلى العملاء عديمي الحالة.

</ExpandableCard>

## ما هو الشاهد ولماذا نحتاج إليه؟ {#what-is-a-witness}

يعني التحقق من صحة الكتلة إعادة تنفيذ المعاملات الواردة في الكتلة، وتطبيق التغييرات على شجرة حالة إيثيريوم، وحساب تجزئة الجذر الجديدة. الكتلة التي تم التحقق منها هي تلك التي تكون تجزئة جذر الحالة المحسوبة لها مطابقة لتلك المقدمة مع الكتلة (لأن هذا يعني أن مقترح الكتلة قد قام بالفعل بالحسابات التي يدعي القيام بها). في عملاء إيثيريوم اليوم، يتطلب تحديث الحالة الوصول إلى شجرة الحالة بأكملها، وهي بنية بيانات كبيرة يجب تخزينها محليًا. يحتوي الشاهد فقط على أجزاء من بيانات الحالة المطلوبة لتنفيذ المعاملات في الكتلة. يمكن للمُدَقِّق بعد ذلك استخدام هذه الأجزاء فقط للتحقق من أن مقترح الكتلة قد نفذ معاملات الكتلة وقام بتحديث الحالة بشكل صحيح. ومع ذلك، هذا يعني أن الشاهد يحتاج إلى النقل بين النظراء على شبكة إيثيريوم بسرعة كافية ليتم استلامه ومعالجته بواسطة كل عقدة بأمان ضمن خانة مدتها <span dir="ltr">12</span> ثانية. إذا كان الشاهد كبيرًا جدًا، فقد يستغرق الأمر وقتًا طويلاً لبعض العقد لتنزيله ومواكبة السلسلة. هذه قوة مركزية لأنها تعني أن العقد ذات اتصالات الإنترنت السريعة فقط هي التي يمكنها المشاركة في التحقق من صحة الكتل. مع أشجار فيركل، ليست هناك حاجة لتخزين الحالة على محرك الأقراص الثابتة لديك؛ _كل شيء_ تحتاجه للتحقق من صحة الكتلة موجود داخل الكتلة نفسها. لسوء الحظ، فإن الشواهد التي يمكن إنتاجها من أشجار ميركل كبيرة جدًا بحيث لا يمكنها دعم العملاء عديمي الحالة.

## لماذا تتيح أشجار فيركل شواهد أصغر؟ {#why-do-verkle-trees-enable-smaller-witnesses}

تجعل بنية شجرة ميركل أحجام الشواهد كبيرة جدًا - أكبر من أن يتم بثها بأمان بين النظراء ضمن خانة مدتها <span dir="ltr">12</span> ثانية. وذلك لأن الشاهد عبارة عن مسار يربط البيانات، المحفوظة في الأوراق، بتجزئة الجذر. للتحقق من البيانات، من الضروري ألا يكون لديك فقط جميع التجزئات الوسيطة التي تربط كل ورقة بالجذر، بل وأيضًا جميع العقد "الشقيقة". كل عقدة في الإثبات لها شقيق يتم تجزئته معها لإنشاء التجزئة التالية في الشجرة. هذا يمثل الكثير من البيانات. تقلل أشجار فيركل من حجم الشاهد عن طريق تقصير المسافة بين أوراق الشجرة وجذرها، وكذلك القضاء على الحاجة إلى توفير عقد شقيقة للتحقق من تجزئة الجذر. سيتم اكتساب المزيد من كفاءة المساحة باستخدام مخطط التزام متعدد الحدود قوي بدلاً من التزام المتجه بأسلوب التجزئة. يسمح الالتزام متعدد الحدود بأن يكون للشاهد حجم ثابت بغض النظر عن عدد الأوراق التي يثبتها.

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

<ExpandableCard title="بأي مقدار بالضبط يمكن لأشجار فيركل تقليل حجم الشاهد؟" eventCategory="/roadmap/verkle-trees" eventName="clicked exactly how much can Verkle trees reduce witness size?">

يختلف حجم الشاهد اعتمادًا على عدد الأوراق التي يتضمنها. بافتراض أن الشاهد يغطي <span dir="ltr">1000</span> ورقة، فإن الشاهد لشجرة ميركل سيكون حوالي <span dir="ltr">3.5MB</span> (بافتراض وجود <span dir="ltr">7</span> مستويات للشجرة). سيكون الشاهد لنفس البيانات في شجرة فيركل (بافتراض وجود <span dir="ltr">4</span> مستويات للشجرة) حوالي <span dir="ltr">150 kB</span> - **أصغر بحوالي <span dir="ltr">23x</span>**. سيسمح هذا الانخفاض في حجم الشاهد لشواهد العملاء عديمي الحالة بأن تكون صغيرة بشكل مقبول. تتراوح الشواهد متعددة الحدود بين <span dir="ltr">0.128 - 1 kB</span> اعتمادًا على الالتزام متعدد الحدود المحدد المستخدم.

</ExpandableCard>

## ما هي بنية شجرة فيركل؟ {#what-is-the-structure-of-a-verkle-tree}

أشجار فيركل هي أزواج `(key,value)` حيث تكون المفاتيح عبارة عن عناصر بحجم <span dir="ltr">32-byte</span> تتكون من _جذع_ بحجم <span dir="ltr">31-byte</span> و_لاحقة_ بحجم بايت واحد. يتم تنظيم هذه المفاتيح في عقد _امتداد_ وعقد _داخلية_. تمثل عقد الامتداد جذعًا واحدًا لـ <span dir="ltr">256</span> طفلاً بلاحقات مختلفة. تحتوي العقد الداخلية أيضًا على <span dir="ltr">256</span> طفلاً، ولكن يمكن أن تكون عقد امتداد أخرى. يتمثل الاختلاف الرئيسي بين بنية شجرة فيركل وشجرة ميركل في أن شجرة فيركل أكثر تسطحًا بكثير، مما يعني وجود عدد أقل من العقد الوسيطة التي تربط الورقة بالجذر، وبالتالي تتطلب بيانات أقل لإنشاء إثبات.

![Diagram of a Verkle tree data structure](./verkle.png)

[اقرأ المزيد عن بنية أشجار فيركل](https://blog.ethereum.org/2021/12/02/verkle-tree-structure)

## التقدم الحالي {#current-progress}

شبكات اختبار أشجار فيركل قيد التشغيل بالفعل، ولكن لا تزال هناك تحديثات معلقة كبيرة للعملاء مطلوبة لدعم أشجار فيركل. يمكنك المساعدة في تسريع التقدم من خلال نشر العقود على شبكات الاختبار أو تشغيل عملاء شبكة الاختبار.

[شاهد غيوم باليه (Guillaume Ballet) يشرح شبكة اختبار فيركل كوندريو (Condrieu)](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (لاحظ أن شبكة اختبار كوندريو كانت تعتمد على إثبات العمل (PoW) وقد تم استبدالها الآن بشبكة اختبار <span dir="ltr">Verkle Gen Devnet 6</span>).

## قراءة إضافية {#further-reading}

- [أشجار فيركل لانعدام الحالة](https://verkle.info/)
- [دانكراد فيست (Dankrad Feist) يشرح أشجار فيركل على PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
- [أشجار فيركل لبقيتنا](https://web.archive.org/web/20250124132255/https://research.2077.xyz/verkle-trees)
- [تشريح إثبات فيركل](https://ihagopian.com/posts/anatomy-of-a-verkle-proof)
- [غيوم باليه يشرح أشجار فيركل في ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- ["كيف تجعل أشجار فيركل إيثيريوم أكثر كفاءة وقوة" بقلم غيوم باليه في Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [بايبر ميريام (Piper Merriam) يتحدث عن العملاء عديمي الحالة من ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
- [دانكراد فيست يشرح أشجار فيركل وانعدام الحالة في بودكاست المعرفة الصفرية (Zero Knowledge)](https://zeroknowledge.fm/podcast/202/)
- [فيتاليك بوتيرين يتحدث عن أشجار فيركل](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [دانكراد فيست يتحدث عن أشجار فيركل](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [وثائق EIP لشجرة فيركل](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
