اوروبورس قبل از اینکه نوع خاصی الگوریتم اثبات سهام باشد، یک افسانه یونانی است. اوروبورس که به صورت لاتین به دو شیوه Ouroboros و Uroboros نوشته میشود، به معنای دُمخوار است. این موجود اساطیری مار یا اژدهایی است که اغلب به شکل دایره کشیده میشود؛ این موجود از دُم خودش تغذیه میکند. از این موجود عجیب تعابیر متفاوتی میتوان داشت؛ در اکثر افسانهها این موجود را بهعنوان نماد پیوستگی جهان، ابدیت و بینهایت بودن زمان در نظر میگیرند.
چارلز هاسکینسون در سال ۲۰۱۷، اوروبوروس را به عنوان نماد الگوریتم اجماع بهکاررفته در کاردانو انتخاب کرد تا قابلیت رشد بینهایت و مقیاسپذیری بلاک چین را نشان دهد. پیام اوروبورس کاردانو، ایجاد فرصتهای بیشتر برای استفاده از بلاک چین در سراسر جهان و کاهش مصرف انرژی الگوریتمهای اجماع است. در این مقاله از مجله ارز دیجیتال اکسبیتو بررسی میکنیم اوروبوروس چیست و چطور کاردانو را به یکی از بلاک چینهای مقیاسپذیر تبدیل کرده است.
اوروبوروس (Ouroboros) چیست؟
اوروبورس پروتکل اجماعی است که در بلاک چین کاردانو به کار میرود و زیرمجموعهای از پروتکل اثبات سهام است. این پروتکل بر اساس تحقیقات انجامشده، توسعه پیدا کرده و یکی از ایمنترین انواع الگوریتم PoS به شمار میرود.
مکانیزمهای بهکاررفته در اوروبوروس، از نظر ریاضی تأیید شدهاند. این پروتکل همچنین از تکنولوژیهای منحصربهفردی استفاده میکند و به همین دلیل، امکان تضمین امنیت و پایداری شبکههای بلاک چینی را دارد. با استفاده از این الگوریتم میتوان شبکههایی جهانی را بدون نیاز به مجوز (permissionless) راهاندازی کرد که برای فعالیت، به حداقل میزان مصرف انرژی نیاز دارند. کاردانو اولین شبکهای است که با استفاده از این تکنولوژی راهاندازی شده است.
اوروبوروس اعضای شرکتکننده در مکانیزم اجماع را تعیین میکند، این اعضا باید در استخرهای استیکینگ بلاک چین مورد نظر سهم داشته باشند. افراد انتخاب شده میتوانند با توجه به سهمی که در استخرها دارند، بلاکهای جدید را استخراج کنند و پاداش بگیرند. با این الگوریتم اجماع ایجاد بلاک چینهای عمومی توزیعشدهای که امکان پشتیبانی از نیازهای کاربران و بازار را دارند، سادهتر میشود.
اوروبوروس (Ouroboros) چگونه کار میکند؟
اوروبوروس برای پردازش تراکنشها، زنجیرههای بلاک را به بخشهای کوچکتر تقسیم میکند؛ به هرکدام از این بخشهای کوچکتر یک اسلات (Slot) میگویند. تقسیم اسلاتها بر اساس زمان صورت میگیرد؛ بهعنوان مثال، بلاکهایی که از اکنون تا ۵ دقیقه آینده ایجاد میشوند، در اسلات اول قرار میگیرند و بلاکهایی که از ۵ دقیقه تا ۱۰ دقیقه بعد تشکیل میشوند، در اسلات دوم جاسازی شده و این فرایند به همین ترتیب ادامه پیدا میکند.
هر اسلات، یک رهبر خواهد داشت که بهصورت تصادفی انتخاب میشود. رهبر هرکدام از اسلاتها باید از آخرین بلاکهای استخراجشده گذر کند و بلاک مشخصی که پیش از این موارد استخراج شده را تاییدشده در نظر بگیرد و تراکنشهای آن را تسویه کند. به این فرایند، «تأخیر تسویه حساب» میگویند و مکانیزمی است که امنیت دفترکل بلاک چین را هنگام توزیع بین شرکتکنندگان مختلف در PoS تضمین میکند.
اوروبوروس ترکیبی از نوآوری در تکنولوژی و فلسفه است. در این مکانیزم، رفتار اعضای جامعه مورد بررسی قرار میگیرد تا به ایجاد تعادل کمک کند. این بررسیها با استفاده از نظریه بازی انجام میشود و این مسئله که افراد منفعت شخصی را به منفعت جمعی ترجیح میدهند یا برعکس نیز مورد بررسی قرار میگیرد. الگوریتمهای بهکاررفته در سیستم پاداشدهی اوروبوروس به اعضایی که صادقانه در شبکه فعالیت میکنند، پاداش میدهد و اعضای سوءاستفادهگر و متخلف را از شبکه حذف میکند.
اوروبوروس یک زیرساخت قابل اطمینان و پایدار برای شبکههایی است که به مجوز نیاز دارند و به آنها کمک میکند به اهدافشان دست پیدا کنند. مکانیزم اوروبوروس، زیرساختی برای آینده بلاک چینها ایجاد کرده است.
پیاده سازی اوروبوروس (Ouroboros) چگونه است؟
اوروبوروس در ورژنهای مختلفی پیادهسازی شده است که در ادامه هرکدام از آنها را بررسی میکنیم.
نسخه کلاسیک (Classic)
ورژن کلاسیک اولین نسخهای بود که در سال ۲۰۱۷ از اوروبوروس توسعه پیدا کرد و ۳ ویژگی کلیدی داشت:
- ایجاد پایه و اساس یک مکانیزم اجماع کارآمد با مصرف انرژی بسیار کمتر نسبت به PoW (الگوریتم اثبات کار)
- ایجاد یک چارچوب مبتنی بر محاسبات ریاضی برای تحلیلهای مورد نیاز در الگوریتم PoS
- ارائه یک متد جدید برای پاداش دادن به شرکتکنندگان در PoS
⚠️مهمترین وجه تمایز اوروبوروس کلاسیک نسبت به سایر مکانیزمهای اجماع و بهخصوص PoS، توانایی آن در انتخاب هدایتکننده الگوریتم در استخر استیکینگ بهصورت تصادفی و بیطرفانه است. این انتخاب تصادفی، مانع از ایجاد الگو در انتخاب اعضای استیکینگ میشود و امنیت پروتکل را تا حد زیادی بالاتر میبرد. همانطور که پیش از این هم اشاره کردیم، تضمین امنیت یکی از مهمترین ویژگیهای اوروبوروس است.
نسخه تحمل خطای بیزانسی (BFT)
این نسخه از الگوریتم اوروبوروس در طول بهروزرسانی بایرون (Byron) که در آن کاردانو از نسخه قدیمی به نسخه جدید منتقل شد، مورد استفاده قرار گرفت. توسعه نسخه «تحمل خطای بیزانسی» (Byzantine Fault Tolerance) در دورهای به نام Shelley در تاریخچه کاردانو کامل شد؛ در این دوره، برای افزایش امنیت و سطح تمرکززدایی، تعداد نودهای فعال در شبکه افزایش پیدا کرد.
نسخه BFT امکان ارتباط همزمان را بین شبکهای از سرورهای مختلف که توسط یک سرور مرکزی اداره میشوند، فراهم میکند. با این قابلیت، توسعه بلاک چین و اجماع در دفترکل بلاک چین، سادهتر و قطعی خواهد بود.
نسخه پرائوس (Praos)
در این نسخه از اوروبوروس، سطح امنیت و مقیاسپذیری که در نسخه کلاسیک ارائه شده بود، ارتقا پیدا کرد. نسخه Praos تراکنشها را با تقسیم زنجیره بلاک چین به بخشهای کوچکتر (اسلات) پردازش میکند؛ این اسلاتها در بازههای زمانی مشخص دوباره بههم متصل میشوند.
آنالیزهای نسخه Praos، بهصورت همزمان صورت میگیرند و حتی در برابر مهاجمها و هکرهایی که قابلیت تطبیقپذیری دارند هم مقاوم است. علت مقاومت این نسخه از اوروبوروس، انتخاب رهبر اسلات بهصورت خصوصی و با استفاده از امضاهای مبتنی بر کلیدهای امنیتی محسوب میشود. بنابراین، مهاجمها و هکرها بههیچوجه نمیتوانند رهبر اسلات بعدی را شناسایی کنند و در نتیجه، امکان حملههای متمرکز، مانند حمله دیداس را نخواهند داشت.
نسخه جنسیس (Genesis)
چهارمین نسخه اوروبوروس، جنسیس نام دارد که نسبت به Praos پیشرفتهتر است. در این نسخه یک قانون جدید برای انتخاب رهبر ایجاد شده که اعضای شبکه را قادر میسازد تا بلاک اولیه را بدون نیاز به نقاط اعتبارسنجی یا بررسی فرضیات موجود درباره فعالیتهای گذشته آنها، استخراج کنند.
در توضیحات ارائهشده درباره ورژن Ouroboros Genesis نوشته شده که این الگوریتم اجماع قابلیت ترکیب با سایر پروتکلها را دارد و میتوان از آن در مقیاس جهانی با تنظیمات دلخواه استفاده کرد.
نسخه کریپسینوس (Crypsinous)
در این نسخه، ویژگیهای مربوط به حفظ حریم خصوصی هم به نسخه قبلی اضافه شد. این اولین پروتکل بلاک چینی اثبات سهام مبتنی بر حریم خصوصی محسوب میشود که بهطور رسمی و تحلیلشده توسعه پیدا کرده است. این نسخه از اوروبوروس نیز در برابر حملات سازگارشونده مقاومت بالایی دارد و حریم خصوصی را در بالاترین سطح ممکن نگه میدارد. این قابلیتها با تکیه بر تکنیک تکامل کوینها ایجاد شده؛ این تکنیک بر رمزنگاری فوق امن با کلید خصوصی و SNARK تکیه دارد. SNARK مخفف عبارت Succinct Non-interactive Argument of Knowledge به معنی «استدلال دانش غیرتعاملی معتبر» است و یکی از ابزارهای رمزنگاری به شمار میآید.
جالب است بدانید که این ورژن اوروبوروس برای استفاده روی بلاک چین کاردانو برنامهریزی نشده است؛ اما بلاک چینهایی که به افزایش سطح حریم خصوصی نیاز دارند، میتوانند از این الگوریتم اجماع پیشرفته استفاده کنند.
نسخه کرونوس (Chronos)
این نسخه آخرین ورژن حال حاضر اوروبوروس است که دو هدف اساسی را دنبال میکند:
- این نسخه نشان میدهد که پروتکلهای بلاک چین میتوانند ساعتها بهصورت ایمن همگامسازی شوند. آنها این کار را از طریق یک مکانیزم زمانی جدید انجام میدهند و با استفاده از آن، مستقل از سرویسهای زمانی خارجی عمل میکنند.
- این نسخه یک منبع زمانی ایمن رمزنگاری شده برای سایر پروتکلها ایجاد میکند.
بهطور کلی نسخه Chronos برای افزایش مقاومت در برابر حملههایی که از اطلاعات زمانی استفاده میکنند، طراحی شده است.
ویژگیهای اوروبوروس (Ouroboros) چیست؟
در قسمتهای قبلی، عملکرد اوروبوروس را بررسی کردیم و درباره نسخههای مختلف این مکانیزم توضیح دادیم و احتمالا در طی این توضیحات، با بسیاری از ویژگیهای اوروبورس آشنا شدهاید. در وبسایت کاردانو، ۴ ویژگی کلیدی برای این مکانیزم اجماع پیشرفته معرفی شده است که عبارتند از:
۱. امنیت تضمینشده
از نظر محاسباتی و ریاضی، بلاک چینهایی که از اوروبوروس استفاده میکنند، غیرقابل نفوذ هستند. در کاردانو، تا زمانی که حداقل ۵۱ درصد از داراییها در اختیار اعضای جامعه باشد، امکان نفوذ به شبکه و ایجاد اختلال در عملکرد PoS وجود ندارد. از طرف دیگر، همانطور که پیش از این گفتیم، رهبر هر اسلات نیز بهصورت تصادفی انتخاب میشود. در نتیجه امکان پیشبینی رهبر آینده و سوءاستفاده از دسترسیهای او وجود ندارد. این مکانیزم همچنان درحال تکامل است و سطح امنیت آن در آینده افزایش خواهد یافت.
۲. ارائهدهنده پاداش
مشارکتکنندگان در مکانیزم اجماع اوروبوروس در ازای مشارکتشان پاداش دریافت میکنند و این مسئله، پایداری شبکه بلاک چینی را که از این مکانیزم اجماع بهره میبرد، تضمین خواهد کرد. در بلاک چین کاردانو، مشارکتکنندگان در فرایند تایید تراکنشها، با توکن ADA پاداش میگیرند.
۳. دارای استخر استیکینگ و نمایندگی سهام
همانطور که گفتیم، اوروبوروس نوع خاصی از مکانیزم اجماع اثبات سهام است. کنترل شبکههایی که از این مکانیزم استفاده میکنند، بر عهده استخرهای استیکینگ دارای زیرساختهای لازم برای اتصال دائمی و قابل اعتماد به شبکه، قرار دارد.
برای هر اسلات در بلاک چین اوروبوروس، یک استخر استیکینگ بهعنوان رهبر انتخاب میشود و در ازای اضافه کردن بلاکهای جدید به زنجیره، پاداش میگیرد. وقتی دارندگان ADA، کوینهایشان را در استخرهای استیکینگ سرمایهگذاری میکنند، شانس بیشتری برای انتخاب شدن بهعنوان رهبر خواهند داشت و در نتیجه، پاداش بیشتری هم دریافت میکنند. هر مقدار پاداشی که استخرها به دست میآورند، بین اعضا تقسیم میشوند.
۴. مصرف انرژی بهینه
⚠️اوروبورس یکی از مهمترین مشکلات پیش روی بلاک چینهای سنتی را حل میکند. این الگوریتم برای اجماع نیازی به مصرف انرژی زیاد ندارد. نودهای این مکانیزم برخلاف نودهای الگوریتم اثبات کار (PoW)، انرژی زیادی برای تایید تراکنشها مصرف نمیکنند. راندمان انرژی اوروبوروس میتواند تا ۴ میلیون برابر بهتر از بلاک چین بیت کوین باشد. این مکانیزم اجماع مقیاسپذیر است و بدون کاهش امنیت یا پایداری شبکه، تراکنشها را با سرعت بالا پردازش میکند.
سخن پایانی
اوروبوروس یکی از جدیدترین مکانیزمهای اجماع است که از نظر تئوری و ریاضی، مقیاسپذیری بالایی دارد و امنیت PoS را نیز به بیشترین سطح ممکن میرساند. این الگوریتم درحالحاضر در بلاک چین کاردانو مورد استفاده قرار میگیرد و بازدهی خوبی هم داشته است؛ اما باید توجه داشت که مقیاسپذیری اوروبوروس هنوز بهصورت عملی تست نشده و تعداد کاربران کاردانو هیچوقت بهاندازه بلاک چین بزرگی مثل اتریوم نبوده است. از دیگر مزیتهای اوروبوروس مصرف بهینه انرژی محسوب میشود که بسیاری از مشکلات بلاک چینها و دنیای ارزهای دیجیتال را از پیش رو برمیدارد.