[ad_1]
ارزش و اعتبار بلاک چین به تغییرناپذیری و انتقال ایمن داده در شبکهای از اطلاعات وابسته است. آنچه بلاک چین را از بسیاری دیگر از شبکههای داده متمایز میکند، امکان تبدیل اطلاعات به کدهای رمزنگاریشدهای است که اطلاعات را در قالب زنجیرهای خطی و متصل و تغییرناپذیر از بلاکها طبقهبندی و ایمنسازی میکنند؛ اما با پذیرش روزافزون بلاک چین و نیاز برای مقیاسپذیری بیشتر، مهندسان رمزنگاری هم پیوسته در جستوجوی بهترین راهکارها برای فشردهسازی اطلاعات هستند؛ بهصورتیکه ایمنی داده تحتتأثیر قرار نگیرد. درخت ورکل (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) میشوند. نودهای خواهر به نودهایی گفته میگردد.که در یک لایه از سلسلهمراتب نودها جای میگیرند. در این حالت، تمام نودهای درخت باید در اثبات جای داشته باشند. یعنی، نودی که بررسی میگردد. باید حداقل یک نود مشترک با والد خود داشته باشد؛ اما در درخت ورکل، بدون نیاز به نودهای خواهر امکان اعتبارسنجی اطلاعات وجود دارد.
بهروشکلی، درخت مرکل ساختار سادهتری دارد که ارزیابی و بهروزرسانی را در بخشهای کوچکتر تسهیل میکند. بدینترتیب، افراد در سرتاسر جهان با بهکارگیری کیف پولهای دیجیتال خود و دستگاههای الکترونیکی مانند تلفن هوشمند یا کامپیوتر میتوانند به ریشه مرکل دسترسی داشته باشند و اطلاعات را بررسی و پردازش کنند.
درمقابل اثبات ورکل علیرقم کارایی بهتر، به کدهای پیچیدهتر و عملیات چندجملهای احتیاج دارد. این مسئله میتواند پروسه محاسبه یکباره تمام شواهد در درخت ورکل را ناچیزی سختتر کند. بااینهمه، این پیچیدگی ساختار بهمنظور بهبود عملیات انتقال اطلاعات و بهروزرسانی مداوم شبکه بهویژه هنگام اجرای مقارن تعداد زیادی از قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز خواهد بود.
جمعبندی
در این مطلب، با دیتا استراکچر درخت ورکل و وظیفه مهمی که در بلاک چینهایی مانند اتریوم بازی میکند، آشنا شدیم. ضمناً، ساختارهای مشابه مانند درخت مرکل و درخت مرکل پاتریشیا را مرور و تعدادی از فرقهای این مدلهای اطلاعات را برجسته کردیم. درادامه، نحوه کارکرد درخت ورکل را بهاختصار توضیح دادیم و به تأثیر پررنگ آن در بهروزرسانیهای اتریوم و افزایش مقیاسپذیری این شبکه اشاره کردیم.
درمجموع، میتوانیم بگوییم برجستهترین ویژگی درخت ورکل کاهش اندازه اثبات است که وظیفهی مهم در بهبود توان عملیاتی شبکه ایفا میکند. درواقع، درخت مرکل در پیدایش معنی بلاک چین و بیت کوین مؤثر است و برای رمزنگاری و اعتبارسنجی ایمن اطلاعات استفاده میگردد. درخت ورکل هم میتواند بهعنوان کاتالیزور قدرتمندی برای افزایش مقیاسپذیری و سرعت پردازش اطلاعات در بلاک چین اتریوم به حساب آید.