الگوریتم اجماع در بلاک چین و ارز دیجیتال چیست؟


الگوریتم اجماع مفهومی کلیدی در بلاک چین و ارز دیجیتال است. با انواع الگوریتم اجماع در بلاکچین مانند اثبات کار و اثبات سهام آشنا می‌شویم.

الگوریتم اجماع (Consensus Algorithm) در بلاک چین مکانیسمی است که امکان هماهنگی در یک شرایط توزیع شده را برای کاربران فراهم می‌کند. این سازوکار باید اطمینان حاصل کند که همه عوامل یک سیستم می‌توانند در مورد یک منبع واحد حقیقت به توافق برسند، حتی اگر برخی از عوامل شکست بخورند. به‌ عبارت دیگر این سیستم باید توانایی تحمل خطا را داشته باشد.

در یک ساختار متمرکز یک نفر قدرت کنترل سیستم را در اختیار دارد. در بسیاری از موارد این افراد می‌توانند هر تغییراتی که می‌خواهند ایجاد کنند و یک سیستم پیچیده حاکمیتی برای رسیدن به اجماعی میان این مدیران متعدد وجود ندارد.

اما در یک ساختار غیر متمرکز داستان کاملاً فرق می‌کند. فرض کنید می‌خواهیم با یک پایگاه داده توزیع شده کار کنیم، در این حالت چطور می‌توانیم در مورد ورودی‌هایی که اضافه می‌شوند به توافق برسیم؟

شاید غلبه بر این چالش در محیطی که غریبه‌ها به هم اعتماد ندارند، مهم‌ترین پیشرفتی بود که راه را برای بلاک چین باز کرد. در این مطلب می‌خواهیم بررسی کنیم چطور الگوریتم اجماع برای عملکرد ارزهای دیجیتال و دفتر کل توزیع شده حیاتی است.

الگوریتم های اجماع و ارزهای دیجیتال

در ارزهای دیجیتال، تراز حساب کاربران در یک پایگاه داده به نام بلاک چین ثبت می‌شود. مهم است که همه (یا اگر بخواهیم دقیق‌تر بگوییم هر گره یا نود) یک کپی مشابه از این پایگاه داده داشته باشند. در غیر این صورت خیلی زود با اطلاعات متناقضی روبرو می‌شوید که کل هدف شبکه ارزهای دیجیتال را تضعیف می‌کنند.

رمزنگاری کلید عمومی این مسئله را که کاربران نمی‌توانند سکه‌های یکدیگر را خرج کنند تضمین می‌کند. اما همچنان لازم است یک منبع واحد حقیقت وجود داشته باشد که مشارکت کنندگان شبکه برای تعیین اینکه منابع مالی خرج شده‌اند یا نه به آن تکیه کنند.

ساتوشی ناکاموتو (Satoshi Nakamoto)، خالق بیت کوین، یک سیستم اثبات کار (POW) برای هماهنگ کردن شرکت کنندگان پیشنهاد داد. فعلاً نحوه عملکرد اثبات کار را به ‌صورت مختصر بررسی می‌کنیم و به واکاوی برخی از ویژگی‌های مشترک بسیاری از الگوریتم‌های اجماع موجود می‌پردازیم.

در ابتدا لازم است کاربرانی که می‌خواهند بلاک‌ها را اضافه کنند (ما به آن‌ها می‌گوییم تایید کننده) یک استیک ارائه می‌دهند. این استیک نوعی ارزش است که یک تایید کننده باید پیشنهاد بدهد و باعث می‌شود تایید کننده‌ها رفتار غیرصادقانه‌ای نداشته باشند. اگر آن‌ها تقلب کنند، دارایی استیک شده خود را از دست می‌دهند. استیکینگ می‌تواند قدرت محاسباتی، ارز دیجیتال یا حتی شهرت باشد.

چرا تایید کننده‌ها باید ریسک از دست دادن منابع خود را بپذیرند؟ البته پاداشی هم برای این کار وجود دارد. معمولاً این پاداش شامل ارز دیجیتال بومی پروتکل است و از کارمزدهایی که توسط سایر کاربران پرداخت شده، واحدهای ارز دیجیتالی که تازه تولید شده‌اند یا هر دو این موارد تشکیل می‌شود.

در آخر به شفافیت نیاز داریم. لازم است توانایی این را داشته باشیم که تشخیص دهیم چه زمانی یک نفر در حال تقلب کردن است. در حالت ایده آل، باید ایجاد بلاک‌ها برای آن‌ها هزینه زیادی داشته باشد اما هزینه آن برای هر کسی که می‌خواهد بلاک را تایید کند کم باشد. این کار ضمانت می‌کند که کاربران عادی تایید کننده‌ها را کنترل می‌کنند.

انواع الگوریتم های اجماع

تا اینجا با مفهوم کلی الگوریتم اجماع در بلاک چین آشنا شدیم. در ادامه به بررسی انواع الگوریتم‌های اجماع می‌پردازیم.

الگوریتم اجماع اثبات کار (PoW)

الگوریتم اثبات کار (PoW) پدرخوانده الگوریتم‌های اجماع بلاک چین است. این الگوریتم اولین بار در بیت کوین اجرا شد، اما چند وقتی می‌شود مفهوم واقعی آن‌ها وجود دارد. تایید کننده‌ها در الگوریتم اثبات کار (که به آن‌ها ماینر می‌گویند) داده‌هایی که می‌خواهند اضافه کنند را تا زمانی که به یک پاسخ خاص برسند، هش می‌کنند.

هش یک رشته ظاهراً تصادفی شامل حروف و اعدادی است که وقتی داده‌ها را داخل یک تابع Hash اجرا می‌کنید ایجاد می‌شوند. اما وقتی دوباره همان داده‌ها را درون آن تابع هش اجرا کنید هم همیشه خروجی یکسانی دریافت خواهید کرد. اگر حتی فقط یکی از جزئیات را تغییر دهید، هش شما کاملاً متفاوت خواهد شد.

احتمالاً با بررسی خروجی نمی‌توانید اطلاعاتی که وارد تابع شده است را پیدا کنید. بنابراین آن‌ها برای اثبات اینکه شما بخشی از اطلاعات را قبل از یک زمان مشخص می‌دانستید مفید هستند. می‌توانید هش را به یک نفر بدهید و بعداً وقتی اطلاعات مورد نظر را فاش کردید، آن شخص برای اطمینان از یکسان بودن خروجی می‌تواند داده را از طریق تابع اجرا کند.

در الگوریتم اجماع اثبات کار، پروتکل شرایطی را برای چیزهایی که باعث معتبر شدن یک بلاک می‌شوند تعیین می‌کند. برای مثال ممکن است پروتکل بگوید فقط بلاکی که هش آن با 00 شروع می‌شود معتبر خواهد بود. در این حالت یک ماینر برای ایجاد بلاکی که با آن ترکیب مطابق باشد، فقط می‌تواند از ورودی‌های بروت فورس (brute-force) استفاده کند.

آن‌ها می‌توانند تا زمانی که به هش درست برسند با تغییر یک پارامتر در داده‌های خود، خروجی متفاوتی برای هر حدسی که دارند ایجاد کنند.

در بلاک چین های بزرگ، فشار رقابت به شکلی باورنکردنی بالا می‌رود. برای رقابت با سایر ماینرها به انباری پر از سخت افزار هشینگ (اسیک‌ها) نیاز دارید تا شانس ایجاد یک بلاک با هش معتبر را داشته باشید.

در الگوریتم اجماع اثبات کار و ماینینگ، استیک شما هزینه این دستگاه‌ها و برق مورد نیاز برای راه اندازی آن‌ها است. اسیک‌ها (ASIC) برای یک هدف ساخته شده‌اند و در برنامه‌هایی غیر از ماینینگ ارز دیجیتال کاربردی ندارند. فقط می‌توانید از طریق ماینینگ سرمایه اولیه خود را برگردانید و اگر در حین انجام این کار بتوانید با موفقیت یک بلاک جدید به بلاک چین اضافه کنید، پاداش قابل توجهی دریافت خواهید کرد.

تایید این مسئله که آیا واقعاً یک بلاک مناسب ایجاد کرده‌اید یا نه برای شبکه یک امر بدیهی محسوب می‌شود. حتی اگر برای رسیدن به هش درست چندین تریلیون ترکیب را امتحان کرده باشید، برای فهمیدن این موضوع فقط کافی است داده‌های شما را یک بار داخل تابع اجرا کنند. اگر داده‌ها یک هش معتبر ایجاد کرده باشند، شبکه آن را قبول می‌کند و جایزه دریافت می‌کنید. در غیر این صورت شبکه آن را رد می‌کند و شما وقت و برق خود را بیهوده تلف کرده‌اید.

الگوریتم اجماع اثبات سهام (PoS)

الگوریتم اجماع اثبات سهام (PoS) در اولین روزهای بیت کوین به‌ عنوان جایگزینی برای اثبات کار پیشنهاد شد. در سیستم اثبات سهام مفاهیمی مثل ماینرها، سخت افزارهای تخصصی یا مصرف انرژی انبوه وجود ندارد. فقط به یک کامپیوتر معمولی نیاز دارید.

البته تمام چیزی که نیاز دارید این نیست. برای استفاده از این الگوریتم باید کمی هم ریسک بپذیرید. در الگوریتم اجماع اثبات سهام لازم نیست یک منبع خارجی (مثل برق یا سخت افزار) ارائه دهید، در عوض از یک منبع داخلی یعنی ارز دیجیتال استفاده می‌کنید. قوانین هر پروتکل با دیگری متفاوت است، اما در کل برای اینکه واجد شرایط استیکینگ باشید باید حداقل مقدار دارایی مشخص شده را هولد کنید.

سپس باید دارایی‌های خود را داخل یک کیف پول قفل کنید. در زمان استیکینگ امکان جابجا کردن دارایی‌ها وجود ندارد. معمولاً در مورد اینکه چه تراکنش‌هایی در بلاک بعدی انجام شوند با سایر تایید کننده‌ها موافقت می‌کنید. در واقع روی بلاکی که انتخاب می‌شود شرط بندی می‌کنید و پروتکل هم یکی را انتخاب خواهد کرد.

اگر بلاک شما انتخاب شود، بخشی از کارمزد تراکنش را بر اساس استیک خود دریافت می‌کنید. هر چه دارایی‌های بیشتری قفل کنید پاداش بیشتری هم به‌دست می‌آورید. اما اگر سعی داشته باشید با پیشنهاد تراکنش‌های نامعتبر تقلب کنید، بخشی (یا همه) دارایی‌هایی که استیک کرده‌اید را از دست خواهید داد. بنابراین در اینجا مکانیسم مشابهی با الگوریتم اجماع اثبات کار وجود دارد و رفتار درست و صادقانه نسبت به تقلب کردن سود بیشتری برای کاربران دارد.

به ‌صورت کلی سکه‌هایی که تازه ایجاد می‌شوند بخشی از پاداش تایید کننده‌ها نیستند. بنابراین ارز دیجیتال بومی بلاک چین باید به شکل دیگری صادر شود. این کار یا از طریق توزیع اولیه (یعنی یا از طریق عرضه اولیه سکه یا عرضه اولیه صرافی) انجام می‌شود یا با راه اندازی پروتکل با PoW قبل از اینکه انتقال بعدی به PoS صورت بگیرد.

تا به امروز الگوریتم اثبات سهام خالص فقط در ارزهای دیجیتال کوچک‌تر به کار گرفته شده است. بنابراین مشخص نیست که این الگوریتم می‌تواند جایگزین مناسبی برای اثبات کار باشد یا نه. با این حال از لحاظ تئوری به نظر می‌رسد عملکرد این الگوریتم خیلی متفاوت باشد.

زمانی که اثبات سهام در شبکه‌ای با ارزش زیاد راه اندازی شود، سیستم تبدیل به میدان تئوری‌های بازی و انگیزه‌های مالی می‌شود. هر کسی که روش «هک» کردن یک سیستم اثبات سهام را بلد باشد، احتمالاً تنها در صورتی این کار را انجام می‌دهد که سودی برایش داشته باشد، پس تنها راهی که می‌توانیم بفهمیم امکانش وجود دارد یا نه این است که روی یک شبکه زنده این کار را انجام بدهیم.

به‌زودی شاهد آزمایش الگوریتم اجماع اثبات سهام در یک مقیاس بزرگ خواهیم بود؛ کسپر (Casper) به‌عنوان بخشی از یک مجموعه آپدیت در شبکه اتریوم (که در کل به‌عنوان اتریوم 2.0 شناخته می‌شود) اجرا خواهد شد.

سایر الگوریتم‌های اجماع

اثبات کار و اثبات سهام بیش از بقیه الگوریتم های اجماع مورد بحث قرار گرفته‌اند. اما الگوریتم‌های متعدد و متنوع دیگری هم وجود دارد که مزایا و معایب خودشان را دارند. در زیر می‌توانید با سایر الگوریتم‌های اجماع هم آشنا شوید:

  • اثبات تاخیر کار (Delayed Proof of Work)
  • اثبات سهام استیجاری (Leased Proof of Stake Consensus)
  • اثبات اعتبار (Proof of Authority)
  • اثبات سوختن (Proof of Burn)
  • اثبات سهام نمایندگی شده (Delegated Proof of Stake)
  • الگوریتم اجماع ترکیبی کار و سهام (Hybrid PoW/PoS Consensus)

جمع‌بندی

ساختارهای مخصوص رسیدن به اجماع برای سیستم‌های توزیع شده حیاتی هستند. خیلی از افراد معتقدند بزرگ‌ترین اختراع در بیت کوین، استفاده از اثبات کار برای دادن این امکان به کاربران است که روی مجموعه حقایقی که به اشتراک گذاشته می‌شود توافق کنند.

در حال حاضر الگوریتم‌های اجماع زیربنای سیستم‌های پولی دیجیتال و بلاک چین هایی هستند که امکان اجرای کدها در یک شبکه توزیع شده را برای توسعه دهندگان فراهم می‌کنند. حالا آن‌ها سنگ بنای فناوری بلاک چین هستند و عنصری حیاتی برای ماندگاری طولانی مدت شبکه‌های مختلف موجود محسوب می‌شوند.

در میان تمام الگوریتم‌های اجماع، اثبات کار همچنان به‌ عنوان برترین پیشنهاد شناخته می‌شود و هنوز جایگزینی قابل اعتمادتر و مطمئن‌تر برای آن ارائه نشده است. با این وجود تحقیقات و پیشرفت‌های زیادی در زمینه پیدا کردن جایگزینی برای اثبات کار انجام شده و احتمالاً در سال‌های آینده شاهد ظهور تعداد بیشتری از آن‌ها خواهیم بود.



ثبت نظر
نظرات کاربران (0 نظر)