سازوکار اجماع در شبکه پولکادات
گواه اثبات کار روشی برای توافق بر روی نویسنده هر بلاک و همچنین توافق بر روی بلندترین زنجیره است. بیت کوین و همه ارزهای دیجیتال فورک شده از آن مانند (LTC)، (BCH) و بیت کوین اسوی (BSV)، از این الگوریتم اجماع استفاده میکنند. بهطور مشابه گواه اثبات سهام، مجموعه قوانینی برای انتخاب اعتبارسنجهاست؛ در این روش قانون مشخصی برای انتخاب زنجیره صحیح یا اطمینان از نهایی بودن (غیرقابلتغییر بودن) یک زنجیره وجود ندارد. ارزهای دیجیتال ، ، و ، از روش اثبات سهام یا روشهایی شبیه به آن برای حفظ امنیت بلاک چین خود استفاده میکنند.
وقتی از الگوریتم اجماع ترکیبی قیمت پولکادات صحبت میکنیم، همواره با دو اصطلاح سروکار داریم. گرَندپا و بِیب. گرَندپا ابزاری برای نهاییسازی بلاکهاست؛ به این معنی که تحت شرایط خاصی، بتوانیم از نهایی بودن بلاکها اطمینان حاصل کنیم. دستیابی به این توافق در روش اثبات کار، بسیار هزینهبر و زمانبر است؛ بنابراین گرَندپا ابزاری است که نهاییسازی بلاکها را (بدون گیرافتادن در دام اثبات کار) میسر میکند. اصطلاح بِیب نیز به مجموعه قوانینی اشاره دارد که نویسنده هر بلاک را تعیین میکند. مکانیسم بِیب، اسلاتهای زمانی تولید بلاک را بر اساس میزان سهامگذاری نودها و چرخه تصادفی پولکادات، به نودهای اعتبارسنج اختصاص میدهد. اسلاتها واحدهای گسسته زمانی هستند که طول هریک از آنها ۶ ثانیه است.
اینطور در نظر بگیرید که اعتبارسنجهای پولکادات در هر اسلات زمانی، در یک قرعهکشی شرکت میکنند که میزان سهامگذاری هر نود، نقش بلیطهای این قرعهکشی را دارد. درنهایت نتیجه این قرعهکشی مشخص میکند که کدام نودها مسئول ساخت بلاک در این اسلات هستند.
مکانیسم سهامگذاری (استیکینگ) در پولکادات
سیستم پولکادات، دارندگان توکنهای دات را به مشارکت در شبکه بهعنوان نودهای گزینشگر تشویق میکند. همچنین افرادی که علاقهمند به مشارکت مستقیم در شبکه هستند، باید یک نود اعتبارسنج راهاندازی کنند.
گزینشگران میتوانند حداکثر از ۱۶ نود اعتبارسنج بهعنوان نودهای مورداعتماد پشتیبانی کرده و به آنها رأی دهند. در ابتدای راهاندازی شبکه پولکادات تعداد محدودی از اسلاتها در اختیار این اعتبارسنجها قرار میگرفت؛ اما تعداد این اسلاتها اکنون افزایش یافته و به تدریج به بیش از ۱۰۰۰ خواهد رسید.
نکته قابلملاحظه درباره این مکانیسم، آن است که NPoS (یا اثبات سهام نامزدشده) با مفهوم عمومیتر DPoS (اثبات سهام نمایندگیشده) که توسط بلاک چینهای دیگری همچون ترون و EOS استفاده میشود، تفاوتی اساسی دارد. در روش NPoS، گزینشگران با سهامگذاری خود، درستکار بودن نودهای موردنظرشان را تضمین میکنند؛ به این معنی که در صورت خرابکاری نودهای اعتبارسنج، مبلغ سهامگذاری شده توسط گزینشگران، بهعنوان جریمه از دست خواهد رفت؛ در حالی که در روش DPoS سهامگذاران مسئولیتی در برابر رفتار نمایندگان منتخب خود ندارند.
معماری شبکه پولکادات
تصویری نمادین از معماری شبکه پولکادات و نحوه ارتباط اجزای مختلف شبکهتصویر نمادین از انواع زنجیرههای موجود در شبکه پولکادات
تمامی نودهای اعتبارسنج پولکادات توکنهای DOT خود را بر روی ریلِیچین سهامگذاری کرده و اعتبارسنجی تراکنشها را بر روی ریلِیچین انجام میدهند. ریلِیچین نسبت به سایر زنجیرههای پولکادات، از انواع نسبتاً کمتری از تراکنشها میزبانی میکند. این تراکنشها شامل تعامل سایر اعضا با مکانیسم حاکمیت، شرکت در مزایدههای مربوط به پاراچینها و مشارکت در اجماع NPoS هستند. بنابراین ریلِیچین تعمداً کمترین عملکرد را در میان سایر زنجیرهها دارد. بهعنوان مثال تراکنشهای مربوط به قراردادهای هوشمند، توسط ریلِیچین پشتیبانی نمیشوند.
مهمترین مسئولیت ریلِیچین و اعتبارسنجهای آن، هدایت سیستم بهصورت یکپارچه است و سایر کارها به پاراچینهایی واگذار شده که هریک دارای اهداف، کاربردها و قابلیتهای خاص خود هستند.
پاراچینها در امنیت کل شبکه پولکادات سهیم هستند و میتوانند از طریق سامانه پیامرسانی XCMP با پاراچینهای دیگر ارتباط برقرار کنند (در ادامه این مقاله درباره سامانه پیامرسانی XCMP توضیح خواهیم داد).
تصویر نمادین از نحوه ارتباط پاراچین و ریلیچیننحوه عملکرد نودهای رابط و نودهای اعتبارسنج در شبکه پولکادات
نودهای رابط برای مشارکت در شبکه نیازی به سهامگذاری توکنهای DOT در ریلِیچین (یا حتی در اختیار داشتن این توکنها) ندارند؛ مگر اینکه قوانین خاص پاراچین بهگونهای پیادهسازی شده باشند که آنها را ملزم به این کار کنند.
مشوق اقتصادی نودهای رابط نیز بسته به قوانین پیادهسازی شده در هر پاراچین متفاوت است. این مشوق هم میتواند تورم قیمت توکنهای اختصاصی پاراچین باشد و هم کارمزد تراکنشهای ثبت شده در پاراچین. شبکه پولکادات در این مورد قاعده ثابتی را وضع نکرده و دست پاراچینها را برای تصمیمگیری درباره نحوه تأیید تراکنشها باز گذاشته است. بهعنوان مثال ممکن است یک پاراچین خاص، تأیید تراکنشها را مشروط به پرداخت کارمزد حداقلی به نودها کرده باشد و یک پاراچین دیگر هیچ کارمزدی برای تراکنشها لحاظ نکرده باشد. در هر دو صورت، پولکادات قوانین داخلی پاراچینها را اعمال کرده و اعتبار تراکنشها را بر اساس آن میسنجد.
همان طور که گفتیم پاراچینها درباره راهاندازی توکن اختصاصی خود نیز صاحب اختیار هستند. اما در صورت تعریف توکن اختصاصی، خود پاراچین مسئول توسعه و حفظ ارزش آن خواهد بود؛ نه پولکادات.
جالب است که بدانید پاراچینها از لحاظ نوع بلاک چین (عمومی یا خصوصی) نیز محدودیتی ندارند؛ در ادامه چند نمونه از انواع پاراچینها را بررسی خواهیم کرد:
- پاراچینهای کنسرسیومی رمزنگاری شده: این پاراچینها احتمالاً بلاک چینهای خصوصی هستند که هیچگونه اطلاعاتی را به عموم ارائه نمیدهند؛ اما بهدلیل ماهیت پروتکل پیامرسانی XCMP، بدون نیاز به اعتماد میتوان با آنها ارتباط برقرار کرد.
- پاراچینهای پربسامد: بلاک چینهایی هستند که در مدتزمان کوتاه، تراکنشهای زیادی را پردازش میکنند. این سرعت بالا ناشی از بهینهسازیهای خاص در مکانیسم اجماع پاراچین است.
- پاراچینهای مبتنی بر حریم خصوصی: بلاک چینهای عمومی و بدون نیاز به مجوزی هستند که با بهرهگیری از روشهای پیشرفته همچون zk-SNARK مانع از انتشار هرگونه اطلاعات در فضای عمومی میشوند.
- پاراچینهای قرارداد هوشمند: بلاک چینهایی هستند که با پیادهسازی کدهای نرمافزاری جدید در قالب قراردادهای هوشمند، عملکردهای منطقی متنوعی را از خود به نمایش میگذارند.
پاراتریدها (یا رشتههای موازی)، از منظر فنی شباهت بسیاری به پاراچینها دارند؛ اما نحوه اتصال آنها به شبکه و مدل اقتصادی آنها اندکی با پاراچینها تفاوت دارد.
مفهوم پاراترید، ایدهای جایگزین برای پاراچینهاست تا بدون نیاز به اجاره اسلات اختصاصی، بهطور موقت (یعنی بلاکبهبلاک) در شبکه پولکادات مشارکت داشته و از مزیت امنیت آن بهرهمند شوند. این کار از طریق اشتراکگذاری اسلاتهای محدود پاراچین بین مجموعهای از پاراتریدها (با مکانیسم رقابتی) انجام میشود.
برای درک بهتر تفاوت میان پاراترید و پاراچین، از یک مثال ساده استفاده میکنیم. اگر شبکه پولکادات را همانند یک کامپیوتر عظیم درنظر بگیریم، پاراچینها همچون نرمافزارهایی هستند که روی حافظه این کامپیوتر نصب شده و کاملاً در دسترس هستند. اما پاراتریدها مانند نرمافزارهای پرتابلی هستند که بر روی یک حافظه خارجی ذخیره شدهاند و هرزمان که نیاز باشد، میتوان آنها را بر روی حافظه اصلی کامپیوتر کپی کرد.
مقایسه کلی پاراترید و پاراچین
مسلم است که بسیاری از تیمهای توسعهدهنده در بدو کار خود، سرمایه لازم برای وثیقهگذاری دوساله ۲۰٬۰۰۰ توکن دات و دریافت یک اسلات پاراچین اختصاصی را در اختیار ندارند. پاراتریدها برای این دسته از توسعهدهندگان بسیار کاربردی هستند؛ زیرا پاراتریدها به یک وثیقهگذاری حداقلی (۵۰ تا ۱۰۰ دات) نیاز دارند و به زنجیرههای زیرمجموعه خود اجازه میدهند هرزمان که یک دسته کامل از تراکنشها موجود بود، آنها را در قالب یک بلاک برای ثبت در ریلِیچین ارائه دهند. این در حالی است که پاراتریدها از مزایای امنیت اشتراکی و قابلیت اتصال به کل شبکه بهرهمند خواهند بود. همچنین اپلیکیشنهایی که مورداستقبال کاربران قرار میگیرند میتوانند با تأمین وثیقه موردنظر، پاراترید خود را به پاراچین ارتقا دهند.
اگر با نحوه کار بلاک چینهای سنتی (مانند بیت کوین و اتریوم) آشنا باشید، دلیل و نحوه پرداخت هزینه در پاراتریدها را به سادگی متوجه خواهید شد. کاربران یک پاراترید برای ثبت هر بلاک پاراترید در ریلِیچین، هزینهای پرداخت میکنند؛ درست مانند هزینهای که کاربران اتریوم و بیت کوین برای ثبت یک تراکنش در بلاکهای این شبکه میپردازند؛ یا شبیه به هزینهای که توسعه دهندگان اتریوم برای ثبت و اجرای یک قرارداد هوشمند بر روی شبکه پرداخت میکنند.
در این میان برای برخی از اپلیکیشنها، پاراترید بودن منطقیتر از پاراچین بودن است. در این اپلیکیشنها معمولاً بهروزرسانی حالت بهصورت مکرر اتفاق نمیافتد. بهعنوان مثال یک سرویس نام دامنه (DNS) را در نظر بگیرید. در این مورد، درخواستهای زیادی برای خواندن اطلاعات از بلاک چین وجود دارند اما درخواست برای ثبت نام (رجیستری) بهندرت اتفاق میافتد. بنابراین طبیعی است که بهروزرسانی درخواستهای ثبت نام، هر یک ساعت یکبار انجام شود؛ زیرا یک سرویس DNS نیاز چندانی به ثبت ۶ ثانیه یکبار بلاکها (زمان میانگین ساخت بلاکها در پولکادات) ندارد. مثال دیگری از اپلیکیشنهای مناسب برای پاراترید، اوراکلها هستند. اوراکلها بلاک چینهای خاصی برای انتقال داده از دنیای واقعی به بلاک چینهای دیگر هستند. مثلاً اوراکل وضعیت آبوهوای روزانه یا اوراکل بلاکهای شبکه بیت کوین.