درخت ورکل (Verkle Tree) چیست و چه تفاوتی با درخت مرکل دارد؟
به گزارش اکسران : ارزش و اعتبار بلاک چین به تغییرناپذیری و انتقال ایمن داده در شبکهای از اطلاعات وابسته است. آنچه بلاک چین را از بسیاری دیگر از شبکههای داده متمایز میکند، امکان تبدیل اطلاعات به کدهای رمزنگاریشدهای است که دادهها را در قالب زنجیرهای خطی و متصل و تغییرناپذیر از بلاکها طبقهبندی و ایمنسازی میکنند؛ اما با پذیرش روزافزون بلاک چین و نیاز برای مقیاسپذیری بیشتر، مهندسان رمزنگاری نیز پیوسته در جستوجوی بهترین راهکارها برای فشردهسازی دادهها هستند؛ بهصورتیکه ایمنی داده تحتتأثیر قرار نگیرد. درخت ورکل (Verkle Tree) یکی از این راهکارهاست.
دادهها در بلاک چین بهواسطه توابع هش (Hash Function) به رشتههایی از بیت (Bit) با اندازه و طول ثابت تبدیل میشوند تا بهراحتی شناساییشدنی و انتقالدادنی باشند. این رشتهها که «هش» نامیده میشوند، میتوانند تضمینکننده ویژگیهای مهم بلاک چین، یعنی تغییرناپذیری، صحت دادهها، حفظ حریم خصوصی و شفافیت اطلاعات باشند. بلاک چینهای مختلف ساختارهای داده متفاوتی را برای طبقهبندی و سازماندهی این کدهای هش بهکار میگیرند که برخی از آنها کارآمدتر هستند. درخت ورکل یکی از ساختارهای دادهای است که با بهبود دقت و سرعت پردازش داده میتواند نقش پررنگی در بهروزرسانیهای اتریوم و افزایش مقیاسپذیری این شبکه ایفا کند.
بیشتر بخوانید: درخت مرکل (Merkle Tree) چیست؟
باتوجهبه اهمیت و نقش درخت ورکل در ارتقای شبکه اتریوم، در این مطلب تلاش میکنیم این ساختار و نحوه کارکرد آن را واکاوی کنیم. همچنین، باتوجهبه شباهتهای درخت ورکل و درخت مرکل، ابتدا به اهمیت این دو ساختار اطلاعات اشاره و درادامه، تفاوتهای مهم آنها را برجسته میکنیم. توجه کنید که این ساختارهای داده جزئیات فنی و پیچیده زیادی دارند. در این مقاله، با سادهسازی مفاهیم تخصصی به معرفی اجمالی بسنده کردهایم تا صرفاً شما را با ماهیت و نقش حیاتی درخت ورکل بیشتر آشنا کنیم.
درخت ورکل (Verkle) چیست؟
درخت ورکل ساختار دادهای است که به خلاصهسازی و سازماندهی حجم زیادی از دادهها کمک میکند. این ساختار بهاصطلاح «شاهد» (Witness) مختصری از هر داده یا گروه دادهها ایجاد میکند تا هر فردی که به ریشه (Root) درخت دسترسی دارد، بتواند دادهها را اعتبارسنجی و تأیید کند.
بهعبارت سادهتر، شما میتوانید حجم زیادی از اطلاعات را به درخت ورکل بسپارید و درنهایت، فقط اثباتی کوتاه تحویل بگیرید. در این صورت، هر فردی که به ریشه درخت دسترسی داشته باشد، میتواند هر بخش از دادهها را بهصورت مجزا اعتبارسنجی و تأیید کند.
در سال ۲۰۱۸، جان کوزمال (John Kuszmaul) مفهوم درخت ورکل را معرفی کرد. این ساختار دادههای رمزنگاریشده که هنوز بهاندازه سایر همتایانش شناختهشده نیست، عملکردی شبیه به درخت مرکل پاتریشیا (Merkle Patricia) دارد که درحالحاضر، در بلاک چین اتریوم بهکار گرفته میشود. برای درک بهتر درخت ورکل، بهتر است نگاه مختصری بر درخت مرکل و درخت مرکل پاتریشیا بیندازیم.
درخت مرکل (Merkle Tree)
درخت مرکل (Merkle Tree) حجم زیادی از اطلاعات را در فضایی اقتصادی و اندک میگنجاند و به رمزنگاری و اعتبارسنجی سریعتر و کارآمدتر کمک میکند. این ساختار که در بلاک چینهای مختلف ازجمله بیت کوین به کار گرفته میشود، دادههای مجزای تراکنشهای مختلف را دریافت و آنها را دوبهدو تحت الگوریتمهای رمزنگاری و هشینگ به کدهای هش تبدیل میکند.
بیشتر بخوانید: تابع هش و هشینگ چیست؟
هر جفت هش دوباره زیر تابع هش قرار میگیرند تا هش جدیدی ایجاد شود. بدینترتیب، تعداد نودها در هر لایه جدید به نصف کاهش پیدا میکند و ساختار درخت مرکل باریکتر میشود. برای تصور بهتر آنچه اتفاق میافتد، فقط کافی است درختی وارونه مشابه تصویر زیر را در نظر بگیرید.
در تصویر سادهسازیشده بالا، از یک ساختار درخت مرکل نودهای ۰-۰، ۰-۱، ۱-۰ و ۱-۱ با عنوان نود برگی (Leaf Node) شناخته میشوند که بهترتیب مقادیر هش تراکنشهای L۱ ،L2 ،L۳ و L۴ هستند. کدهای هش این نودها در ساختاری دودویی و جفتی زیر تابع هش قرار میگیرند تا دوباره به مقادیر هش جدیدی تبدیل شوند.
مقادیر جدید هش در نودهای ۰ و ۱ ذخیره میشوند که با عنوان نود غیربرگی (Non-Leaf Node) یا نودهای والد (Parent Node) شناخته میشوند. همچنین، ازآنجاکه این نودها در میانه ساختار داده قرار دارند، با عنوان نودهای میانه (Intermediate Node) هم از آنها نام برده میشود. گفتنی است نودهای ۰-۱ و ۱-۱ نیز نودهای فرزند (Child Node) برای نود ۱ و نودهای ۰-۰ و ۰-۱ نیز نودهای فرزند برای نود ۰ محسوب میشوند. توجه کنید که ساختار دادهها بسیار گستردهتر از تصویر سادهسازیشده بالا هستند.
روند هشینگ تا چه زمانی ادامه دارد؟
روند هشینگ آنقدر ادامه پیدا میکند تا درنهایت به دو نود غیربرگی برسیم که هش نهایی یا «Top Hash» را ایجاد میکنند. هش نهایی ریشه درخت مرکل است و در هِدِر (Header) بلاک ثبت میشود. این هش شناسه بلاک محسوب میشود و میتواند برای اعتبارسنجی نودهای برگی بهکار گرفته شود. بهعبارتدیگر، ریشه مرکل تضمینی برای صحت دادههای تمام بلاک بهشمار میرود.
بیشتر بخوانید: بلاک در بلاک چین بیت کوین چیست و در داخل آن چه چیزی وجود دارد؟
اتریوم از ایده ساختار درختی مرکل بیت کوین استفاده میکند؛ اما در این شبکه بهجای یک درخت مرکل، با سه درخت مرکل روبهرو هستیم که برای سه جزء تراکنشها و رسیدهای تراکنش و وضعیت شبکه استفاده میشوند. این ساختار داده به درخت مرکل پاتریشیا معروف است که دادهها را ذخیرهسازی و وضعیت شبکه را بهروزرسانی میکند تا علاوهبر کمک به اعتبارسنجی، سپری دربرابر اقدامات مخرب و دستکاری اطلاعات باشد. اکنون، اتریوم با معرفی ساختار جدیدی به نام درخت ورکل تلاش میکند بهرهوری پردازش داده را بیشتر کند.
ویژگیهای درخت ورکل چیست؟
در درخت ورکل با ساختاری مشابه مرکل پاتریشیا روبهرو هستیم. بهعبارتدیگر، هر نود در این ساختار سه ویژگی اصلی دارد:
- خالی است.
- نود برگی با یک کلید و مقدار است. برای توضیح بهتر، کلید را میتوانید آدرس یک حساب و مقدار را موجودی آن در نظر بگیرید.
- نود میانی با تعداد مشخصی از نودهای فرزند است که عرض درخت را مشخص میکنند. بهعبارت سادهتر، مشخص میکند که در هر لایه از درخت چند نود جای میگیرد.
مهمترین ویژگی درخت ورکل کاهش اندازه اثبات دادههاست. جالب است بدانید درخت مرکل به یک کیلوبایت فضا برای ایجاد اثبات درختی با یکمیلیارد نقطه داده احتیاج دارد؛ درحالیکه همین فضا برای درخت ورکل فقط محدود به ۱۵۰ بایت است. درواقع، درخت ورکل از سیستم اثباتی به نام «عملیات چندجملهای» (Polynomial Commitments) استفاده میکند که برای توضیح دادهها به توابع چندجملهای وابسته است.
اگر بخواهیم خلاصه بگوییم، «عملیات چندجملهای» سیستم اثباتی است که ازطریق برخی ویژگیهای رمزنگاری فقط به یک «شاهد» کوچک اجازه میدهد تا مقادیر زیادی از دادهها را اثبات کند. از این عملیات برای پردازش و انتقال سریعتر دادهها استفاده میشود. البته ایجاد این اثبات کوچک مستلزم انجام عملیات رمزنگاری پیچیدهتری درمقایسهبا درخت مرکل است.
دلایل اهمیت درخت مرکل و درخت ورکل چیست؟
ساختارهای دادهای همچون درخت مرکل و درخت مرکل پاتریشیا و درخت ورکل در بلاک چینهای بیت کوین و اتریوم و سایر شبکههای ارزهای دیجیتال برای ذخیرهسازی و رمزنگاری مؤثرتر و ایمنتر دادهها بدون نیاز به فضای نگهداری زیاد استفاده میشوند. علاوهبراین، حفظ حریم خصوصی و ذخیره مجزای دادهها درکنار شفافیت و قابلیت اعتبارسنجی برخی دیگر از دستاوردهای دیگر این ساختارها برای شبکههای بلاک چین محسوب میشوند. بدینترتیب علاوهبر کاهش حجم دادهها، ایمنی و تغییرناپذیری آنها نیز بهواسطه این ساختارها تأمین میشود.
همچنین، ساختارهایی همچون درخت مرکل از نودهای لایت و تأیید پرداخت ساده (SPV) پشتیبانی میکنند. بهعبارتدیگر، این ویژگی به کاربر اجازه میدهد بدون نیاز به دانلود بلاک چین یا حتی یک بلاک کامل، بتواند کار اعتبارسنجی تراکنشها را انجام دهد. بدینترتیب، امکان استفاده از یک کیف پول دیجیتال یا نود کلاینت لایت برای ارسال و دریافت تراکنشها فراهم میشود.
دراینبین، اهمیت درختهای ورکل مربوط به قابلیت آنها در کاهش اندازه اثبات است که میتواند درنهایت با کاهش نیاز به پهنای باند همراه باشد. این مسئله در شبکههایی مانند اتریوم که بستری برای قراردادهای هوشمند و نیازمند تغییر وضعیت مداوم هستند، به مقیاسپذیری بیشتر و اجماع کارآمدتر و بهروزرسانی سریعتر کمک شایانی میکند.
گفتنی است اندازه اثبات در درختهای ورکل درمقایسهبا درختهای مرکل شش تا هشت برابر و درمقایسهبا درختهای مرکل پاتریشیا در شبکه اتریوم حدود بیست تا سی برابر کوچکتر است که میتواند در انتقالپذیری سریعتر و مقیاسپذیرتر دادهها در بلاک چینی مانند اتریوم نقش بسیار مؤثری ایفا کند.
درخت ورکل چه تفاوتی با درخت مرکل دارد؟
همانطورکه احتمالاً تاکنون متوجه شدهاید، ساختارهای دادههای مرکل و ورکل با وجود شباهت در ساختار، تفاوتهایی نیز ازنظر ویژگیها و عملکرد با یکدیگر دارند. یکی از تفاوتهای مهم این دو ساختار به اثبات مرکل و اثبات ورکل مربوط است.
«شاهد» و اثبات در درخت مرکل شامل مجموعهای از «نودهای خواهر» (Sister Node) میشوند. نودهای خواهر به نودهایی گفته میشود که در یک لایه از سلسلهمراتب نودها جای میگیرند. در این حالت، تمام نودهای درخت باید در اثبات جای داشته باشند. بهعبارتدیگر، نودی که بررسی میشود، باید حداقل یک نود مشترک با والد خود داشته باشد؛ اما در درخت ورکل، بدون نیاز به نودهای خواهر امکان اعتبارسنجی دادهها وجود دارد.
بهطورکلی، درخت مرکل ساختار سادهتری دارد که ارزیابی و بهروزرسانی را در بخشهای کوچکتر تسهیل میکند. بدینترتیب، افراد در سرتاسر جهان با بهکارگیری کیف پولهای دیجیتال خود و دستگاههای الکترونیکی همچون تلفن هوشمند یا کامپیوتر میتوانند به ریشه مرکل دسترسی داشته باشند و دادهها را بررسی و پردازش کنند.
درمقابل اثبات ورکل با وجود کارایی بهتر، به کدهای پیچیدهتر و عملیات چندجملهای احتیاج دارد. این مسئله میتواند فرایند محاسبه یکباره تمام شواهد در درخت ورکل را اندکی دشوارتر کند. بااینهمه، این پیچیدگی ساختار بهمنظور بهبود عملیات انتقال دادهها و بهروزرسانی مداوم شبکه بهویژه هنگام اجرای همزمان تعداد زیادی از قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز خواهد بود.
جمعبندی
در این مطلب، با دیتا استراکچر درخت ورکل و نقش مهمی که در بلاک چینهایی همچون اتریوم بازی میکند، آشنا شدیم. همچنین، ساختارهای مشابه همچون درخت مرکل و درخت مرکل پاتریشیا را مرور و برخی از تفاوتهای این مدلهای اطلاعات را برجسته کردیم. درادامه، نحوه عملکرد درخت ورکل را بهاختصار توضیح دادیم و به تأثیر پررنگ آن در بهروزرسانیهای اتریوم و افزایش مقیاسپذیری این شبکه اشاره کردیم.
درمجموع، میتوانیم بگوییم برجستهترین ویژگی درخت ورکل کاهش اندازه اثبات است که نقشی مهم در بهبود توان عملیاتی شبکه ایفا میکند. درواقع، درخت مرکل در شکلگیری مفهوم بلاک چین و بیت کوین مؤثر است و برای رمزنگاری و اعتبارسنجی ایمن دادهها استفاده میشود. درخت ورکل نیز میتواند بهعنوان کاتالیزور قدرتمندی برای افزایش مقیاسپذیری و سرعت پردازش دادهها در بلاک چین اتریوم به حساب آید.