در دنیای سیستمهای توزیع شده نمیتوان هرروز فردی را دید که پا به عرصه میگذارد و ادعا میکند که یکی از موانع سر راه این حوزه را از میان برداشته است. با این حال اخیراً پروفسور «امین گانسیرر» از دانشگاه «کرنل» این ادعا را داشته است. در ادامه قصد داریم خانوادهای جدید از پروتکلهای «اجماع» (Consensus) را برسی کنیم که بهتازگی و در ماههای اخیر مطرح شده است.
تیمی با عنوان مستعار «تیم راکت» با همکاری پروفسور امین گان سیرن (Emin Gün Sirer) مقالهای را در وبسایت IPFS منتشر نمودهاند. این مقاله با عنوان «اسنوفلیک به اولنچ: خانواده جدید پروتکل پایدار اجماع برای ارزهای دیجیتال» (Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies) بر روی این وبسایت قرار گرفت.
در این مقاله جزئیاتی جامع از نحوه کارکرد این پروتکل آورده شده است که بدون دانش کافی و در سطح آکادمیک امکان فهم کامل آن وجود نخواهد داشت. در ادامه قصد داریم تا این پروتکل را بهصورتی سادهتر برای شما بیان کنیم تا به درک درستی از آن برسید.
بیشتر بخوانید: مروری بر تاریخ ۷ هزار سالهی اعتماد با مایکل کیسی
در مورد نامگذاری این پروتکل جدید باید گفت که اولنچ به معنی «بهمن و توده ی برف» است. از طرف دیگر در نامگذاری مقاله، پروتکلهای دیگر با عنوان دانههای برف «اسنوفلیک»، نام برده شدهاند و بهنوعی، تمجیدی است از نوآوریهای موجود در پروتکل اولنچ.
دو کلاس متفاوت از پروتکلهای اجماع
هنگامیکه چندین رایانه توزیعشده، وظایف و منابع مختلفی را به اشتراک میگذارند، اجماع به یکی از اصلیترین و حیاتیترین مسائل بدل میشود.
یکی از مرسومترین مثالها در این زمینه، تعیین نمودن ماندهحسابها در سیستمهای بانکی هستند که بر عهده چندین سرور است. بانکها برای انجام تراکنشهای خود، تنها به یک پایگاه داده اتکا نمیکنند، بلکه از چندین رایانه مختلف که در نقاط متفاوتی از دنیای قرار گرفتهاند، بهره میبرند. این کار نیز مستلزم روشی است که بهوسیله آن بتوان بر روی تمامی این دستگاهها نظارتی مناسب را انجام داد تا به مقداری دقیق، که بیانگر ماندهحسابهای کاربران است، برسند.
از دیگر مثالها که نمایانگر این مسئله است، میتوان به وبسایت آمازون اشاره کرد. این غول خرید آنلاین، بهمنظور سرویس دهی در سطح جهانی، پایگاههای داده مختلفی را در سرتاسر دنیا ایجاد نموده است. چراکه این وبسایت میبایست نظارتی کافی بر اجناس باقیمانده در انبارها داشته باشد تا به این وسیله از خطاهای احتمالی و برنامهریزی نشده جلوگیری شود. ازجمله این خطاها نیز میتوان دوبار فروختن آخرین آخرین جنس در انبار اشاره کرد.
این موضوع، برای مدت زیادی جزو مهمترین مشکلات دنیای علوم رایانهای بوده است. بهمنظور حل این مشکل نیز، دانشمندان و مهندسین مربوطه، طی دورهای چهل ساله به دنبال راهحلهای متفاوتی بودهاند. درزمینهٔ سیستمهای توزیعشده، تنها دو خانواده از پروتکلهای اجماع وجود دارند که در ادامه به تشریح آنها خواهیم پرداخت:
پروتکلهای اجماع کلاسیک
اولین کلاس از این پروتکلها، نوع کلاسیک آن است که توسط دو دانشمند برجسته در علوم رایانهای، «لزلی لامپورت» و «باربارا لیسکوف»، که هر دو برنده جایزه «تورینگ» نیز شدهاند، توسعه یافته است. جایزه تورینگ را میتوان همرده نوبل برای علوم رایانهای دانست. ازجمله مزایای این پروتکل میتوان به قطعیت و تضمین سریع تراکنشهای انجام شده، اشاره نمود. صد البته بهایی که باید برای این مزایا پرداخت شود کمی بالاست:
- مقیاسپذیری این پروتکل برای یک میزان مشخصی نود (Node) قابل انجام است. چراکه نیازمند هزینه ارتباطی درجه دو هستند. یعنی (O(n² در میان نودهایی که در سیستم مشارکت میکنند.
- کل شبکه را ملزم میکنند که تمام شرکتکنندگان را بشناسند.
اساساً، امنیت این قبیل شبکهها نیز مستلزم تطابق قوه قضاوت میان اکثریت نودهاست که تراکنش را وارد دانسته و اقدام به انجام آن میکنند. این رویکرد برای زمانهایی منطقی است که بلاک چینی مبتنی بر کسب مجوز (permissioned) میسازید. در ارتباط با شبکههایی پویا (دینامیک) از نودهایی غیرقابل اطمینان استفاده از چنین پروتکلی مناسب به نظر نمیرسد. اینچنین بلاک چینها که اصطلاحاً بلاک چینهایی بدون نیاز به مجوز (Permissionless) نامیده میشوند، از نوع دیگری از اجماع بهره میبرند.
پروتکل اجماع ناکاموتو
در سال ۲۰۰۹، شاهد ظهور خانوادهای دیگر از پروتکلهای اجماع بودیم. «ساتوشی ناکاموتو»، در حالی پا به این عرصه میگذاشت که راهحلی منحصربهفرد و نوینی را به همراه داشت:
- در این پروتکل نیازی به شناخت تمامی نودهای حاضر بر روی شبکه نیست. هر نود میتواند در هر زمانی وارد یا از شبکه خارج شود و هر ماینری میتواند با یک بلاک در سیستم مشارکت داشته باشد.
- بهوسیله این پروتکل میتوان تعداد بسیاری از نودهای را از سرتاسر جهان در اختیار داشت
صد البته این پروتکل نیز هزینههایی را برای شبکه به همراه دارد. در ادامه به چند نمونه از آنها اشاره خواهیم کرد:
- بهطور کلی در شبکه بیت کوین، انجام هر تراکنش چیزی در حدود ده دقیقه تا یک ساعت به طول میانجامد. این زمان، مدتی است که تائید و قرارگیری یک تراکنش بهوسیله نودها طول میکشد.
- از طرف دیگر توان عملیاتی این پروتکل بسیار محدود است. بیت کوین در هر ثانیه قادر به انجام فقط سه الی هفت تراکنش است. مشخصاً این مقدار برای بدل شدن به یک ارز جهانی بسیارکم است.
- در پایان نیز باید خاطرنشان کرد که بیت کوین انرژی بسیاری را مصرف میکند. تا به اینجا چیزی در حدود چهار برابر انرژی تولیدشده توسط نیروگاه اتمی چرنوبیل توسط بیت کوین بلعیده شده است. این حجم از انرژی برای مصارف نگهداری از گزارشهای تراکنشها صرف شده است.
حالا اولنچ
این پروتکل جدید، محاسن تمامی پروتکلهای قبلی را در یک پروتکل خلاصه نموده است.
قطعیت سریع و تأخیر کم: چیزی در حدود دو ثانیه طول میکشد تا این پروتکل به قطعیت برسد. این بدان معناست که تنها بعد از دو ثانیه، تراکنش شما پردازش و تائید میشود.
توان عملیاتی بالا: این پروتکل توانایی پردازش هزار الی ده هزار تراکنش در ثانیه را داراست.
قدرت: در این شبکه برای رسیدن به اجماعی غیرقابلانکار، نیازی به توافق بر سر هویت مشترکان ندارد.
پروتکلی سالم: از همه مهمتر در این پروتکل، آسیبی به طبیعت نخواهد رسید. این یعنی، اولنچ با محیط زیست سازگار است، انرژی هدر نمیدهد و پای اکوسیستم خاصی از ماینرها با مقاصدی جدا از کاربران در میان نیست.
ایده اصلی: پایداری ناقص
ایده اصلی اولنچ را میتوان «پایداری ناقص» یا metastability آن در نظر گرفت. منفیترین جنبه یک پروتکل اجماع را میتوان عدم توانایی آن در انتخاب دو گزینه دانست. برای مثال: شما نمیخواهید که بگویید نه گزینه یک اتفاق بیافتد و نه گزینه دو، بلکه میخواهید یکی از گزینهها توسط پروتکل انتخاب شوند. پروتکل پایداری ناقص اولنچ به این منظور طراحیشده تا نظرات را به یک سمت سوق دهد.
برای توضیح و فهم بهتر این روند، بیاید با مثالی ساده، فرایندی که در تصویر بالا نشان دادهشده را توضیح دهیم. شبکهای را در نظر بگیرید که از اعضایی غیرقابلاعتماد تشکیلشدهاند و میخواهند بر سر آبی یا قرمز بودن شبکه، تصمیمگیری نمایند.
- یک نود از شبکه اقدام به انتخاب عددی کوچک از نودهای همتا میکند. این عدد در مثال ما پنج خواهد بود. سپس از آنها میخواهد تا یک رنگ را انتخاب نمایند.
- هر نود همتا، در پاسخ به نود اول، رأی میدهد. این رأی توسط نود درخواستکننده بهمنظور تعیین نتیجه رأیگیری، جمعآوری میشود. در اولین بخش از تصویر بالا، ازنقطهنظر نود، تمام شبکه در اولین دور از رأیگیری، در حال سوق پیدا کردن به سمت رنگ قرمز هستند.
- این روند برای تمام افراد حاضر در شبکه نیز تکرار خواهد شد.
در این پروتکل برای رأیگیری از روند اخذ رأی دورهای و در گروههای کوچکی از کل جامعه آماری استفاده میشود. در این روش، حتی اگر در دور اول، درصد رأیها پنجاه به پنجاه باشد، که بدترین سناریو ممکن خواهد بود، رفتهرفته و با انجام دورههای بیشتر، بهاحتمال بسیاری زیادی، شاهد بروز حالت پنجاه به پنجاه نخواهیم بود.
در این پروتکل پس از دور دوم، احتمال وقوع حالت پنجاه به پنجاه، تا حد بسیاری زیادی کاهش خواهد یافت و این احتمال در دورههای بعدی، کمتر نیز خواهد شد، تا جایی که به نزدیک صفر برسد. رفتهرفته و با انجام دورههای بیشتر، اکثریت شبکه به سمت یک رنگ سوق خواهند یافت. در این پروتکل، باگذشت زمان شاهد حرکت تمامی اعضای شبکه به یک سمت خواهیم بود، این حرکت باگذشت زمان بیشتر شده و تا جایی که تمام شبکه بر روی یک رنگ خاص به اجماعی برسند که قابل بازگشت نخواهد بود.
نکاتی در ارتباط با پروتکل
مقیاسپذیری کارآمد: این پروتکل سبک است و میتواند مقیاسپذیری مناسب و تأخیر کم را به همراه داشته باشد.
تحمل خطای بیزانس: این پروتکل میتواند درصد بالایی از مشترکین را تحمل کند، بدون آنکه بر امنیت آن لطمهای وارد شود. بهصورت دقیق شما میتوانید پنجاه درصد از نودها را در حالت خطای بیزانس داشته باشد. یعنی این مقدار از نودها، شبکه را دور بزنند و به دنبال خارج کردن شبکه از حالت تعادل باشند. باوجوداین، امکان انجام چنین کاری بهوسیله وادار کردن دو نود بر انتخاب دو رنگ متفاوت، وجود نخواهد داشت.
اکوسیستم برابر: پروتکل اولنچ، به ایده اکوسیستمها برابر جامه عمل پوشانده است. این یعنی، تمام نودهای حاضر در شبکه یکسان در نظر گرفته میشوند. در شبکه هیچ ماینری را نمیتوان یافت که مزیتهای خاصی بر دیگران داشته باشند.
تضمین وجود تقارن برای تراکنشهای مصادف وجود نخواهد داشت: اگر یک مهاجم تلاش کند تا پولی را دو بار، در دو تراکنش متفاوت مصرف کند، پروتکل اولنچ نمیتواند تصمیم بگیرد که کدام تراکنش درست است، از همین رو، این میزان از پول، از دست خواهد رفت. در پروتکلهای کلاسیک و ناکاموتو، شبکه ملزم به انتخاب از میان یکی از این دو تراکنش خواهد بود و این مسئله در مورد پروتکل اولنچ وجود نخواهد داشت. وجود چنین چیزی را میتوان یک ویژگی مثبت برای اولنچ قلمداد کرد، چراکه یک جریمه ذاتی در این پروتکل برای افراد مهاجم در نظر گرفتهشده است.
توکن های اولنچ: AVA
توکن های اولنچ، بهاختصار AVA نامیده میشوند از این پروتکل استفاده خواهد کرد.
جلوگیری از تهدیدات سیبل بهوسیله گرو گذاشتن (استکینگ): پروتکل اولنچ قادر است تا بهوسیله گرو گذاشتن توکن های AVA، جلوی حملات سیبل را بگیرد. این بدان معناست که نودها، توکن ها را در شبکه گرو میگذارند تا بهنوعی مالکیت خود را در سیستم نشان دهند. برخلاف اتریوم و دیگر شبکهها، در اولنچ، گروها التزامی ندارند و هیچگاه از دست نخواهند رفت. اگر شما رفتاری ناهنجار در شبکه داشته باشید، امکان از دست رفتن سرمایههای شما وجود نخواهد داشت. از همین رو، سرمایهها در شبکه مخصوص به یک فرد هستند و امکان جعل هویت توسط افراد دیگر وجود نخواهد داشت. این موضوع را میتوان یکی از بهترین نتایج استفاده از پروتکل اولنچ دانست. به یاد داشته باشید که گرو گذاشتن سرمایهها، بهمنظور ایجاد اجماع بهکار گرفته نمیشود و مسئلهای کاملاً جدا و مستقل است.
حاکمیت اقتصادی بهوسیله رأیگیری: یکی از جالبترین نکاتی که در ارتباط با این سیستم وجود دارد، حاکمیت آن است. ایده اصلی این پروتکل تا به اینجا، تنها ایدهای بوده است که از رأیگیری از دستههای کوچک جامعه آماری برای رسیدن به یک اجماع برده. ما نیز میتوانیم از همین ایده برای رسیدن به یک توافق بر سر پارامترهای اساسی خود پروتکل نیز بهره ببریم. بهعنوانمثال تا به اینجا، شبکه میتواند بر سربالا بردن نرخ استخراج، در مواقعی که منابع کافی در اختیار ندارد، به توافق برسد. در مقابل، شبکه میتواند تصمیم بگیرد، بهمنظور کاهش عرضه منابع، نرخ استخراج را پایین بیاورد یا خیر. در طرف مقابل، ناکاموتو با منحنی استخراج بیست و یک میلیونی قرار دارد. درواقع اولنچ یک نوید عمومی است، که میتواند جایگزین بانکهای مرکزی شود که در آنها سکههایی ضرب میشوند که از دل نیازهای مردم برآمده.
نتیجهگیری
مردم معمولاً از پروتکل اجماع بیت کوین بهعنوان پروتکلی یاد میکنند که بهصورت محض غیرمتمرکز است، و نظر تکتک مشترکان مساوی است. اما متأسفانه این تصویری اشتباه است، در بیت کوین، بیشتر تصمیمات توسط ماینرها گرفته میشوند.
در مقابل اما، در پروتکل اولنچ، مسائل اجماع از مسائل حاکمیت جداشدهاند و هرکدام دارای استقلالاند. در اولنچ، اجماع بهوسیله ترکیبی هوشمندانه از رأیگیریهای گروهی و پخش شدن اخبار بهدست میآید. درحالیکه حاکمیت بهوسیله گرو گذاشتن و نمونهبرداریهای مرتبط از کاربران و تصمیماتشان حاصل میشود.
منبع: medium
پروتکل اولنچ (Avalanche) چیست ؟
AvalancheAvalanche چیستاجماع Avalancheاولنچپروتکل Avalancheپروتکل اولنچپروتکل های اجماع
نظرات
ارسال نظر