الگوریتم اجماع چیست؟

الگوریتم اجماع یک مکانیسم است که به کاربر اجازه می‌دهد تا با سایر کاربران و بلاکچین یک رمزارز هماهنگ شود. الگوریتم اجماع باید اطمینان حاصل کند که تمام کاربران حاضر در سیستم از یک منبع واحد استفاده می‌کنند و اگر تعدادی از کاربران از شبکه خارج شوند، ضرری به کل سیستم وارد نمی‌شود. به عبارت دیگر، الگوریتم اجماع کمک می‌کند که سیستم تحمل خطا داشته باشد.در این مقالۀ والکس درباره الگوریتم اجماع خواهیم گفت و دو الگوریتم رایج اثبات سهام و اثبات کار را بررسی خواهیم کرد.پیش نیاز مطالعه این مقاله:در مورد تکنولوژی دفتر کل توزیع شده (DLT) چه می‌دانید؟تکنولوژی بلاکچین چیست؛ یک توضیح ساده از زنجیره‌ای شگفت‌انگیز!تفاوت سیستم متمرکز با سیستم غیرمتمرکزدر یک سیستم متمرکز، یک مرکز واحد مدیریت کل سیستم را بر عهده دارد. در بیشتر موارد، مرکز مدیریت می‌تواند هر تغییری که بخواهد ایجاد کند و مراحل پیچیده‌ای برای ایجاد تغییرات وجود ندارد. سیستم‌های متمرکزی مانند بانک‌ها و دولت‌ها، سیستم‌هایی هستند که مدیریت و ایجاد تغییر در آن‌ها در اختیار یک قدرت مرکزی است.اما در یک سیستم غیرمتمرکز، داستان کاملاً متفاوت است. فرض کنید که تمام کاربران در حال ایجاد تغییرات روی سیستم توزیع شده هستند. چطور می‌توان وحدت سیستم را حفظ کرد تا هر کسی راه خودش را نرود و همه روی یک نسخه از سیستم توافق کنند؟ اینجا است که الگوریتم‌های اجماع اهمیت خود را نشان می‌دهند.چالش نبود اعتماد بین نودهایی (کاربران شبکه) که هیچ شناختی نسبت به هم ندارند، یک فرصت برای بلاکچین ایجاد می‌کند. فرصتی که در آن بنا بر اعتماد به همه کاربران است نه فقط به یک قدرت مرکزی.الگوریتم اجماع و رمزارزهادر رمزارزها، دارایی کاربران در یک پایگاه داده در بلاکچین ذخیره می‌شود. بسیار ضروری است که همه کاربران یک نسخه واحد از این پایگاه داده را در اختیار داشته باشند. در غیر این صورت، خیلی زود کاربران با تضادهای زیادی مواجه خواهند شد که بر خلاف هدف اصلی بلاکچین است.کلید عمومی رمزنگاری شده اطمینان حاصل می‌کند که کاربران نمی‌توانند کوین‌های یکدیگر را خرج کنند. اما هنوز مسئله دوباره خرج کردن ارزها باقی می‌ماند. ساتوشی ناکاموتو (خالق بیت کوین) سازوکار اثبات کار (Proof of Work) را برای حل این مسئله پیشنهاد کرده است.نحوۀ کارکرد الگوریتم‌های اجماعپیش از این که به سراغ توضیح سازوکار الگوریتم اثبات کار و سایر الگوریتم‌ها برویم، یک توضیح کوتاه از روش کار الگوریتم‌های اجماع خواهیم داد.اول از همه به کاربرانی نیاز داریم که بخواهند به بلاکچین، بلاک اضافه کنند تا بتوان در آن تراکنش‌های جدید را ثبت کرد. ما به این کاربران اعتبارسنج (نود ولیدیتور) می‌گوییم. لازم است که هر ولیدیتور، یک ارزش به شبکه اضافه کند که این ارزش او را از تقلب کردن منع و به فعالیت صادقانه در شبکه تشویق کند. اگر هر ولیدتور عملی غیرصادقانه در شبکه انجام دهد، سهام خود را در شبکه از دست می‌دهد. این سهام می‌تواند قدرت پردازش کامپیوتری باشد، می‌تواند رمزارز باشد یا حتی حسن شهرت فرد.اما چرا یک ولیدتور باید روی دارایی‌های خود ریسک کند؟ اینجا بحث پاداش مطرح می‌شود؛ پاداشی که معمولاً از ارزی در همان بلاکچین به کاربر داده شده تا او را به ماندن در شبکه تشویق کند. این پاداش یا از کارمزدهایی که دیگر کاربران پرداخت می‌کنند تشکیل شده یا کوین‌های جدیدی است که در بلاک جدید نهفته است (یا هر دو).آخرین چیزی که در این مسیر نیاز داریم، شفافیت است. ما باید مطمئن شویم که هیچ کس در شبکه تقلب نمی‌کند. در سیستم با الگوریتم اجماع، تقلب کردن در شبکه بسیار هزینه‌بر است و برای هیچ کس به صرفه نیست، در عوض فعالیت صادقانه سودآور و کم هزینه است.کاربرد الگوریتم اجماعالگوریتم اجماع در بلاکچین چند کاربرد مختلف دارد. مهم‌ترین کاربرد، همانطور که قبلاً گفته شد، هماهنگی و پذیرش تمام اعضای شبکه بر سر یک تغییر یا به روزرسانی شبکه است. اما این ویژگی بلاکچین خاصیت‌های دیگری نیز دارد:تایید تراکنش‌هاانتخاب گره‌ برای نمایندگی شبکه در دفتر توزیعتضمین یکدستی اطلاعات در شبکهتوافق بر سر هر یک از عملکردهای گفته شده، از طریق رای‌گیری بین اعضای شبکه انجام می‌شود. هر گره یا نود حق رای برابر با دیگران دارد. اگر یک گره یا نود، صلاحیت یک تراکنش را برای ثبت در بلاکچین تایید کند، تراکنش انجام خواهد شد و اگر آن را رد کند، ثبت تراکنش لغو می‌شود.معرفی 2 الگوریتم اجماع رایج در کریپتوکارنسیالگوریتم اجماع انواع مختلفی دارد. با این حال، 2 الگوریتم بیش از سایر الگوریتم‌ها استفاده می‌شوند. الگوریتم اثبات کار (Proof of Work) و الگوریتم اثبات سهام (Proof of Stake) دو الگوریتمی هستند که در این مقاله به آن‌ها خواهیم پرداخت.1- الگوریتم اثبات کار، PoWقدیمی‌ترین الگوریتم اجماع در بلاکچین، الگوریتم اثبات کار (Proof of Work) است. این الگوریتم برای اولین بار در بیت کوین و توسط ساتوشی ناکاموتو استفاده شد. اما مفهوم آن قبل از بیت کوین مطرح شده بود. در الگوریتم اثبات کار، نودهای اعتبارسنج (که در اینجا به آن‌ها استخراج کننده یا ماینر گفته می‌شود)، داده‌هایی را که می‌خواهند به بلاکچین اضافه کنند را هش می‌کنند تا زمانی که یک راه حل خاص تولید کنند.هش، یک رشته به ظاهر تصادفی از حروف و اعداد است که هنگام اجرای داده‌ها از طریق یک تابع هش ایجاد می‌شود. اما اگر همان دیتا را دوباره از طریق آن اجرا کنید، همیشه با همان خروجی مواجه خواهید شد. اگر حتی یکی از جزئیات را تغییر دهید، هش کاملاً متفاوتی دریافت خواهید کرد. این ویژگی، جلوی دوبار خرج شدن مقدار مشخصی بیت کوین را می‌گیرد و مانع از تقلب در شبکه می‌شود. به طوری که تقلب کردن و آسیب زدن به شبکه برای هکر هزینۀ بیشتری نسبت به فعالیت صادقانه دارد.در الگوریتم اثبات کار، ماینر زمانی پاداش شبکه را دریافت می‌کند که بتواند به درستی بلاک را هش کرده و زودتر از بقیه ماینرها آن را به شبکه اعلام کند. اگر زمانی دو ماینر همزمان یک بلاک را استخراج کنند، ماینری پاداش را دریافت می‌کند که روی طولانی‌ترین زنجیره بلاکچین در حال فعالیت باشد.1-1- مزایا و معایب الگوریتم اثبات کارالگوریتم اثبات کار تا حد زیادی کار هکرها را برای حمله به شبکه سخت می‌کند. چرا که هر هکر باید حداقل 51 درصد شبکه را در اختیار بگیرد تا بتواند به بلاکچین رمزارز حمله کند. در رمزارزهایی مانند بیت کوین که شبکه بسیار وسیع است، عملاً حمله 51 درصد صرفه اقتصادی و فنی ندارد.الگوریتم اثبات کار به خوبی تا امروز امتحان خود را در بلاکچین بیت کوین پس داده است. پس جایگاه خود را به عنوان یک الگوریتم اجماع معتبر در لیست حفظ می‌کند. اما این الگوریتم معایب قابل توجهی هم دارد. اول این که اثبات کار کند است و نهایی کردن تراکنش‌ها در شبکه با تاخیر انجام می‌شوند. از طرف دیگر، این الگوریتم انرژی زیادی هزینه می‌کند و برای طبیعت تا حدی مضر است. مصرف انرژی ماینرها یکی از بحث‌های مهم در دنیا بر سر بیت کوین است.2- الگوریتم اثبات سهام، PoSالگوریتم اثبات سهام (Proof of Stake)، در روزهای اول کار بیت کوین به عنوان یک جایگزین برای الگوریتم اثبات کار پیشنهاد شد. در سیستم اثبات سهام دیگر خبری از دستگاه‌های استخراج و سخت‌افزارهای تخصصی نیست، فقط کافی است شما به عنوان نود اعتبارسنج، یک کامپیوتر شخصی و مقداری دارایی از رمزارز داشته باشید. حداقل دارایی لازم برای گرفتن نقش اعتبارسنج در شبکه هر رمزارز متفاوت است.در این الگوریتم، شما مقداری از دارایی خود را در کیف پول قفل می‌کنید. در این حالت نمی‌توانید دارایی را جابه‌جا کنید. مانند الگوریتم اثبات کار، باید در این روش با دیگر اعتبارسنج‌ها برای تایید معاملاتی که در بلاک بعدی ثبت خواهند شد، توافق کنید. به معنای ساده‌تر، ولیدیتورها بر سر بلاک‌ها شرط‌بندی می‌کنند و شبکه در نهایت یکی را انتخاب می‌کند.1-2 روش دریافت پاداش در الگوریتم اثبات سهاماگر بلاکی که شبکه انتخاب می‌کند، همانی باشد که شما هم بر سر آن شرط بسته بودید، بسته به میزان سهم خود، درصدی از کارمزد معاملات را دریافت خواهید کرد. هرچقدر دارایی بیشتری را قفل کنید، کارمزد بالاتری هم دریافت خواهید کرد. در این روش اگر یک معامله نامعتبر را به شبکه پیشنهاد کنید، بخشی از دارایی خود یا کل آن را از دست خواهید داد. یعنی اگر تقلب کنید، عملاً هر چه دارید را از دست خواهید داد.در روش اثبات سهام، کوین جدید ایجاد نمی‌شود. بنابراین، در پاداش اعتبارسنج‌ها نیز کوین جدید لحاظ نمی‌شود. در نتیجه، ارز بومی بلاکچین باید روش دیگری برای تولید داشته باشد. عرضه اولیه سکه یا استفاده از الگوریتم اثبات کار در ابتدای کار از جمله روش‌های ممکن برای تولید کوین جدید در شبکه است.2-2 مزایا و معایب اثبات سهامالگوریتم اثبات سهام در تئوری بسیار کارآ، کم‌هزینه و موفق بوده است. تاکنون رمزارزهایی در مقیاس کوچک نیز با موفقیت از این الگوریتم استفاده کرده‌اند. اما هنوز مشخص نیست که اثبات سهام می‌تواند جایگزین مناسبی برای اثبات کار باشد یا خیر.به زودی قرار است شاهد استفاده از این الگوریتم در مقیاس گسترده ارز اتریوم 2.0 باشیم. تا آن زمان باید صبر کنیم تا کارآیی این الگوریتم در مقیاس وسیع نیز مشخص شود.الگوریتم اثبات سهام کمترین میزان استفاده از انرژی، به خصوص برق را خواهد داشت و برای محیط زیست کم ضرر است. حملۀ هکرها بسیار برایشان پرهزینه خواهد بود و شانس شکست کامل آن‌ها در حمله بسیار بالاست.با این حال، الگوریتم اثبات کار برای رسیدن به اجماع بر سر یک رشته بلاکچین مشکل جدی دارد. چرا که برای ولیدیتورها هزینۀ خاصی ندارد که روی چند فورک مختلف کار کنند و این اجماع بر یک زنجیره را مشکل می‌سازد.صحبت پایانیالگوریتم‌های مختلفی در شبکه بلاکچین برای رسیدن به اجماع و هماهنگی میان اعضا استفاده می‌شوند. هرچند تا امروز الگوریتم اثبات کار بزرگترین موفقیت را در بین الگوریتم‌ها داشته است، هنوز فرصت برای روش‌ها و راه‌حل‌های جدید فراوان است.الگوریتم اثبات سرمایه، الگوریتم اثبات زمان سپری شده، الگوریتم اثبات تاخیر کار و الگوریتم اثبات شهرت از جمله الگوریتم‌های دیگری هستند که تاکنون در بلاکچین رمزارزهای مختلف استفاده شده‌اند.الگوریتم‌های اجماع تنها دلیل موفقیت بلاکچین‌ها و بی‌نیازی آن‌ها به یک قدرت مرکزی است. بنابراین بسیار اهمیت دارند. از بین همه الگوریتم‌های اجماع، اثبات کار همچنان پیشنهاد اصلی است. هنوز جایگزینی با اطمینان و ایمنی بیشتر ارائه نشده است. با این اوصاف، تحقیقات و توسعه فوق العاده‌ای در زمینه جایگزینی اثبات سهام انجام شده است و احتمالاً در سال‌های آینده تعداد بیشتری از آنها را مشاهده خواهیم کرد.منبع: والکس