مقدمه
از زمانی که فناوری بلاکچین پا به دنیای کریپتوکارنسی گذاشته است تا به اکنون، مدام در حال تغییر، رشد و توسعه است که همین امر باعث توقف ناپذیری این پروژه بزرگ شده است. اما بلاکچین چیست؟ قطعا میدانیم که بلاکچین، یک شبکه غیرمتمرکز توزیع شده است که تغییر ناپذیری، حریم خصوصی، امنیت و شفافیت را فراهم می کند. در بلاکچین هیچ مرجع مرکزی برای تأیید تراکنش ها وجود ندارد، با این حال هر تراکنش در بلاکچین کاملاً ایمن و شفاف تأیید میشود. اما سوالی مهمی که در اینجا مطرح میشود این است که از چه چیزی برای ایمن سازی معاملات در بلاکچین استفاده میشود؟
پاسخ این سوال الگوریتم اجماع است؛ الگوریتمی که بخش اصلی هر شبکه بلاکچین است و تنها با وجود آن، ایمن سازی معاملات امکان پذیر است.
الگوریتم ارجاع چیست؟
الگوریتم یا مکانیسم اجماع برای به دست آوردن قابلیت اطمینان در شبکه ای که از گرهها یا چندین کاربر تشکیل و طراحی شده است. این گرهها و یا کاربرها در یک شبکه تعیین میکنند که کدام تراکنشهای بلاکچین معتبر هستند و کدام معتبر نیستند. بنابراین، الگوریتمهای اجماع به بلاکچین اجازه میدهند تا ضمن تضمین امنیت در محیط شبکه، به قابلیت اطمینان و اعتماد در میان گرهها دست یابند.
به طور خلاصه، الگوریتم اجماع به عنوان ستون فقرات بلاک چین عمل میکند که به تأیید تراکنشها از گرههای مختلف در شبکه با استفاده از هشهای رمزنگاری کمک میکند. بسته به بلاک چین و کاربرد آن، انواع مختلفی از الگوریتم های اجماع وجود دارد. در حالی که آنها در مصرف انرژی، امنیت و مقیاس پذیری متفاوت هستند، اما دارای اهداف مشترکی نیز هستند؛ که این هدف مشترک مکانیسم اجماع، همکاری، حقوق برابر برای هر گره، توافق و مشارکت اجباری هر گره است.
الگوریتم های اجماع چگونه کار می کنند؟
الگوریتمهای اجماع، در سیستمهای مقاوم در برابر خطا در مقیاس بزرگ، ضروری هستند زیرا مجموعهای از سرورهای توزیعشده(گره ها) را قادر میسازند تا به عنوان یک گروه منسجم کار کنند و بر روی وضعیت سیستم توافق کنند، حتی در صورت وجود خرابی یا قطعی. که برای دستیابی به این هدف، الگوریتم یک آستانه یا تعدادی گره را به عنوان عضوی که باید به توافق برسند را تعیین میکند.
کاربردهای الگوریتم های اجماع در بلاکچین
الگوریتمهای اجماع کاربردهای زیادی در دنیای واقعی در شبکه های غیرمتمرکز یا توزیع شده دارند. یکی از رایج ترین کاربردها، بلاکچین است.
شبکههای بلاکچین برای دستیابی به توافق بین گرههای مختلف توزیع شده، بر الگوریتم های اجماع متکی هستند. یک مکانیسم توافقی مانند اثبات کار (PoW) یا اثبات سهام (PoS) شبکه را ایمن میکند و از اعتبارسنجی تراکنشهای مخرب، توسط کاربران غیرمجاز جلوگیری میکند. این مکانیسم همچنین توافق بر روی شبکه را حتی زمانی که هیچ گره ای مسئول نیست، امکان پذیر می کند.
سایر کاربردهای الگوریتم های اجماع
- بر اساس یک مکانیسم اساسی، الگوریتم های اجماع تصمیم می گیرند که آیا یک تراکنش توزیع شده را به یک پایگاه داده انجام دهند یا خیر.
- از این مکانیسم معمولاً برای همگام سازی داده ها در یک شبکه غیرمتمرکز و اطمینان از ثبات و شفافیت در تراکنش ها استفاده می شوند.
- الگوریتمهای اجماع نیز برای تعیین وضعیت رهبر به یک گره استفاده میشوند.
- الگوریتمهای اجماع، کپیهای ماشین حالت را همگامسازی میکنند و هماهنگی بین آنها را تضمین میکنند. آنها اغلب برای دستیابی به اعتماد و امنیت در سراسر یک شبکه کامپیوتری غیرمتمرکز مانند بلاک چین استفاده می شوند و برای نگهداری سوابق بسیار مفید هستند.
انواع الگوریتم های اجماع
الگوریتم های اجماع انواع مختلفی دارند که بر روی اصول مختلفی کار می کنند. بنابراین، بیایید هر یک از این الگوریتم ها و نحوه کار آنها را درک کنیم.
1. الگوریتم اجماع اثبات کار (Proof of Work)
الگوریتم PoW یکی از قدیمی ترین انواع الگوریتم های اجماع است. اولین بار در سال 2008 توسط بنیانگذار بیتکوین ساتوشی ناکاموتو معرفی شد.
ایده اصلی PoW این است که گره ها ، معماهای پیچیده ریاضی را حل کنند و حدس های زیادی را در سریع ترین زمان ممکن انجام دهند. اولین کسی که عدد 64 رقمی هگزادسیمال (هش) را ارائه کرد، حق تشکیل بلوک جدید و تایید تراکنش ها را به دست می آورد. ماینر موفق همچنین با مقدار از پیش تعیین شده رمزارز، که به عنوان “پاداش بلوک” شناخته می شود، پاداش می گیرد.
عملکرد الگوریتم اثبات کار
همانطور که گفتیم در بلاکچینهای ارزهای دیجیتال مبتنی بر الگوریتم PoW، استخراجکنندگان یا اعتباردهندهها که به عنوان گرههای مشارکتکننده نیز شناخته میشوند، باید ثابت کنند که کاری که انجام دادهاند و ارسال کردهاند به آنها حق اضافه کردن تراکنشهای جدید به بلاک چین را میدهد. آنها باید یک مسئله پیچیده ریاضی را با یافتن یک هش رمزنگاری از یک بلوک خاص حل کنند. این کار با گرفتن داده ها از هدر بلوک به عنوان ورودی، و اجرای مداوم این داده ها از طریق یک تابع هش رمزنگاری انجام می شود. هر بار که این کار انجام می شود، تغییرات کوچکی در داده های ورودی با گنجاندن یک عدد دلخواه به نام nonce ایجاد می شود.
در نهایت، زمانی که ماینر راهحلی را پیدا میکند که منجر به اجماع شود، در ارز دیجیتال پاداش دریافت میکند. با این حال، همه این اقدامات نیاز به تکرارهای متعدد دارند که مقدار قابل توجهی از توان محاسباتی را مصرف می کنند. به همین دلیل است که PoW یک مکانیسم اجماع ناکارآمد در نظر گرفته می شود.
با این وجود، الگوریتم PoW همچنان محبوب است و توسط اتریوم، بیتکوین و سایر بلاک چینهای عمومی استفاده میشود؛ زیرا امنیت شبکه را حفظ می کند و نسبتاً در برابر حملات سایبری مانند حملات DDoS مقاوم است.همچنین قدیمی ترین الگوریتم اجماع است و به خوبی روی بلاک چین ها کار می کند.
از آنجایی که به مقادیر زیادی منابع محاسباتی و انرژی برای تولید بلوکهای جدید نیاز دارد، هزینههای عملیاتی PoW بسیار بالاست. و همین امر به عنوان مانعی برای ورود ماینرهای جدید عمل می کند که منجر به نگرانی در مورد تمرکز و محدودیت های مقیاس پذیری می شود.
تنها مسئله هزینه بالای آن نیست؛ بلکه رایج ترین انتقادی که از PoW میشود تأثیر مصرف برق بر محیط زیست است.
2.اثبات سهام (Proof of Stake)
همانطور که از نام آن پیداست، این روش محبوب الگوریتم اجماع، حول فرآیندی است که به نام سهامداری شناخته می شود. در یک سیستم اثبات سهام (PoS)، ماینرها ملزم به خرید«سهم» ارز دیجیتال هستند تا شانس انتخاب تصادفی بهعنوان اعتبارسنجی را داشته باشند. این روند بی شباهت به قرعه کشی نیست که در آن هر چه توکن یا سکههای بیشتری را شرط بندی کنید، شانس شما بیشتر است.
اثبات سهام (PoS) جایگزینی برای PoW
برخلاف الگوریتم اثبات کار، PoS به منابع سخت افزاری یا نرم افزاری تخصصی کمی برای استخراج ارزهای دیجیتال نیاز دارد، زیرا شامل حل مشکلات محاسباتی پیچیده نیست. در عوض، اعتبارسنجیهای رمزنگاری برخی از سکههای خود را در کیف پول قفل میکنند یا در آن قرار میدهند. سپس در صورت کشف بلوکی که می تواند به بلاک چین اضافه شود، بلاک ها را اعتبارسنجی میکنند.
اعتبار سنجیها متناسب با شرط بندی هایشان بر اساس بلوک های اضافه شده به بلاک چین، پاداشی دریافت می کنند یا سهام آنها افزایش می یابد. از آنجایی که الگوریتم مبتنی بر انگیزه است، انرژی محاسباتی کمتری نسبت به PoW مصرف میکند.
با وجود این مزیت، الگوریتم PoS یک اشکال جدی دارد. ظرفیت استخراج یک اعتبارسنجی به تعداد توکنهای آن بستگی دارد، بنابراین ماینری که با سکههای بیشتری شروع میکند، کنترل بیشتری بر مکانیسم اجماع دارد. علاوه بر این، تعداد کمی از ماینرها میتوانند سکههای زیادی بخرند، که این خاصیت عدم تمرکز سیستم را کاهش میدهد.
پلتفرم های برجسته PoS عبارتند :
- Cardano (ADA)
- Solana (SOL)
- Tezos (XTC)
الگوریتم اثبات سهام، شامل دو زیر مجموعه محبوب دیگر نیز هست: DPoS و LPoS
الگوریتم اثبات سهام واگذار شده (Delegate Proof of Stake)
در DPoS، ماینرها سکه خود را شرط بندی می کنند و به تعداد مشخصی از نمایندگان رای می دهند، به گونه ای که هر چه بیشتر سرمایه گذاری کنند، اولویت بیشتری دریافت می کنند. آنها از نظر سکه یا کارمزد تراکنش پاداش دریافت می کنند.
دراثبات سهام واگذار شده 12 تا 100 نماینده به صورت دوره ای انتخاب و برای تحویل بلوک های خود تعیین می شوند. در صورت که تعداد انتشار بلوک ها کافی نباشد یا نامعتبر باشند؛ ماینرها به آنها رای می دهند تا با نمایندگان منتخب دیگر جایگزین شوند.
در حال حاضر DPoS بر روی سیستم رای گیری مبتنی بر سهام، کار می کند و به یکی از سریع ترین مدل های اجماع بلاکچین در حال رشد و سازگاری تبدیل شده است.
اگرچه DPoS کمتر از PoS رایج است، اما از نظر بسیاری کارآمدتر، دموکراتیکتر و از نظر مالی فراگیرتر از نسخه قبلی خود است.
پلتفرم هایی که ازDPos استفاده میکنند عبارت اند از:
- Lisk (LSK)
- EOS.IO (EOS)،
- Steem (STEEM)،
- BitShares (BTS)
- Ark (ARK)
الگوریتم اثبات سهام اجاره شده (Leased Proof of Stake)
LPoS بر روی پلت فرم بلاکچین Waves کار می کند و نسخه پیشرفته PoS است. در LPoS، کاربران توکنهای کریپتو را به گرهای اجاره میدهند که میخواهد بهعنوان تولیدکننده بلوک برای شبکه عمل کند. گره ای با حداکثر تعداد توکن های شرط بندی شده به احتمال زیاد برای نسل بلوک بعدی و همچنین دریافت پاداش انتخاب می شود.
همچنین به کاربرانی که توکنهای کمتری دارند؛ این امکان را میدهد تا با گرفتن توکن از افراد دیگر، به عنوان اعتبارسنج بلاکچین شانس انتخاب خود را بالا ببرند و خود و فردی که توکن به ان اجاره داده را در سود بدست آمده شریک کنند.
الگوریتم اجماع اثبات سهام اجاره شده (LPoS) برای شبکههایی با الزامات فنی بالا برای عملیاتی کردن گرههای کامل که قادر به تأیید تراکنشها هستند، بهترین است.
3. اثبات فعالیت (Proof of Activity)
اثبات فعالیت (PoA) ترکیبی از الگوریتم اجماع اثبات کار و اثبات سهام است. در سیستمهای PoA، فرآیند ماینینگ مانند PoW آغاز میشود، و ماینرها برای حل یک مسئله ریاضی پیچیده با استفاده از قدرت محاسباتی بسیار رقابت میکنند.در همین حال، هنگامی که بلوک استخراج شد، سیستم تغییر میکند تا شبیه PoS شود و هدر بلوک با موفقیت تولید شده و در شبکه PoA پخش میشود. سپس گروهی از اعتبارسنجیها بهطور تصادفی انتخاب میشوند تا در هش امضا کنند و بلوک جدید را تأیید کنند. مانند PoS، هر چه اعتباردهنده رمز ارز بیشتری داشته باشد، شانس انتخاب شدن آنها بیشتر است. هنگامی که هر اعتبارسنجی انتخابی بلوک را امضا کرد، به شبکه بلاک چین اضافه میشود و آماده ثبت تراکنشها است. سپس پاداش های بلوک بین ماینر و اعتبار سنجی به اشتراک گذاشته می شود.
اگرچه الگوریتم PoA با هدف ترکیب بهترین ویژگیهای PoW و PoS طراحی شده است و سعی برآن داشته از کاستیهای این دو الگوریتم اجتناب کنند، اما با این حال به دلیل مرحله استخراج انرژی آن و حمایت، افرادی که توکن و سکه بیشتری دارند به عنوان اعتبارسنجیها، انتقاداتی را به دنبال داشته است.
این الگوریتم توسط پروژه های بلاک چین زیر استفاده میشود :
- Decred (DCR)
- Espers (ESP)
4.اثبات سوختگی (Proof of Burn)
اثبات سوختگی (PoB) به عنوان یک جایگزین قابل دوام و پایدار برای الگوریتمهای PoW و PoS در حال آزمایش است.
این الگوریتم مانند الگوریتم اثبات کار (PoW) است، اما انرژی محاسباتی بسیار کمتری مصرف می کند. این به این دلیل است که فرآیند اعتبارسنجی بلوک آن در بلاک چین به منابع محاسباتی یا سخت افزار نیاز ندارد. در عوض، ماینرها برای دستیابی به اجماع، سکه ها را در بلاک چین می سوزانند یا سرمایه گذاری می کنند.
سکهها به آدرسی فرستاده میشوند که از آنجا قابل بازیابی نیست، و آنها را غیرقابل دسترس و بیفایده میکند. این نشان دهنده تعهد ماینرها به شبکه است و به آنها حق استخراج سکه های جدید و اعتبارسنجی تراکنش های جدید در شبکه را می دهد. هرچه یک ماینر سکه های بیشتری بسوزاند، قدرت استخراج بیشتری دارد که شانس او را برای تبدیل شدن به اعتبارسنجی بلاک بعدی افزایش می دهد. سوزاندن سکه در PoB باعث کاهش عرضه سکه و افزایش ارزش آنها می شود. همچنین امنیت شبکه را از طریق سرمایه گذاری سکه های سوخته بهبود می بخشد.
ارزهای دیجیتالی که از پروتکل اثبات سوختگی استفاده می کنند عبارتاند از:
- Slimcoin (SLM)،
- Counterparty (XCP)
- Factom (FCT)
5.الگوریتم اثبات زمان سپری شده (Proof of Elapsed Time)
یکی از منصفانه ترین الگوریتم های اجماع، الگوریتم اثبات زمان سپری شده است که به طور گسترده در شبکه های بلاک چین مجاز استفاده می شود. بلاک چین های مجاز به بلاک چین هایی گفته میشود که برای اتصال به شبکه نیازمند تایید یه گره یا نود در شبکه هستند.
در این الگوریتم، هراعتبارسنجی در شبکه یک زمان مناسبی برای ایجاد بلوک خود دارد. همه گرهها این بلاکچین باید مدت زمان که به صورت تصادفی انتخاب شده را منتظر بمانند سپس بعد از به اتمام رسیدن زمان، میتوانند یک بلوک جدید دربلاکچین اضافه کنند و اطلاعات لازم را در شبکه پخش کند و در نهایت همین روند برای ایجاد بلوک بعدی تکرار خواهد شد. همچنین این مکانیسم اجماع، بسیار کارآمد، کممصرف و مقیاسپذیر است.
بلاکچینی که از این الگوریتم استفاده میکند عبارتاند از:
- Hyperledger’s Sawtooth
6. اثبات تاریخ (Proof of History)
همانطور که از نام آن پیداست، الگوریتم اثبات تاریخ (PoH) اثبات وقایع تاریخی را ارائه می دهد. PoH توسط Solana توسعه داده شده است،و اجازه می دهد تا «مهر زمانی» در خود بلاک چین ساخته شود و گذر زمان بین تراکنش ها را بدون نیاز به تکیه بر گره های دیگر تأیید کند.
روش مهر زمانی توسط هشی به عنوان SHA-256 شناخته و فعال میشود.
عملکرد این تابع به این صورت است که تراکنش مورد نظر را خروجی گرفته و از آن به عنوان ورودی برای هش بعدی استفاده میکنند. این کار به همه افراد امکان میدهد تا به طور شفاف ببینند کدام رویداد در یک دنباله خاص ردر حال رخ دادن است. از آنجایی که VDF (تابع تأخیر قابل تأیید با هش متوالی ) تنها با یک امتیاز CPU قابل حل هستند، PoH وزن پردازش بلاک چین را به شدت کاهش می دهد و آن را سریعتر و از نظر انرژی کارآمدتر از بسیاری از همتایان خود می کند.
از آنجایی که PoH فقط توسط Solana استفاده می شود، هنوز در مقیاس بزرگ آزمایش نشده است.
7.اثبات اهمیت (Proof of Importance)
اولین بار توسط NEM (XEM) معرفی شد، اثبات اهمیت (PoI) ماینرهای خود را بر اساس معیارهای خاصی در فرآیندی به نام “برداشت” انتخاب می کند. عوامل متداول شامل تعداد و اندازه تراکنش ها در 30 روز گذشته، میزان ارز اختصاص یافته و فعالیت شبکه است. بر اساس این عوامل است که به گرهها امتیاز تعلق خواهد گرفت. هر چه امتیاز بالاتر باشد، احتمال انتخاب شدن برای برداشت یک بلوک و دریافت کارمزد تراکنش همراه بیشتر است.
اگرچه مشابه PoS است، امادر الگوریتم اثبات هویت PoI شرط بندی بالا لزوماً شانس برنده شدن بلوک را تضمین نمی کند.
8.اثبات ظرفیت/ اثبات فضا (Proof of Capacity)
برخلاف اکثر الگوریتمها که حقوق استخراج را بر اساس قدرت محاسباتی یا سکههای موجود انتخاب میکند. اثبات ظرفیت (PoC) که به عنوان اثبات فضا (PoSpace) نیز شناخته میشودکه الگوریتم ماینینگ خود را بر اساس میزان فضای موجود در هارد دیسک استخراجکننده قرار میدهد.
درالگوریتم اثبات ظرفیت، ماینرها تعدادی لیست از تمام هشهای ممکن را قبل از طی کردن فرایند تولید میکنند وسپس این نمودارها یا هش ها روی هارد دیسک ذخیره می شوند. هر چه یک ماینر ظرفیت ذخیره سازی بیشتری داشته باشد، راه حل های ممکن بیشتر است. هر چه تعداد راه حل ها بیشتر باشد، شانس داشتن ترکیب صحیح هش ها و برنده شدن جایزه بیشتر می شود.
از آنجایی که به تجهیزات گران قیمت یا تخصصی نیاز ندارد،الگوریتم PoC فرصت هایی را برای افراد عادی برای مشارکت در شبکه باز می کند. به این ترتیب، جایگزینی با انرژی کمتر و غیرمتمرکزتر برای برخی از مکانیسم های متداول تر مورد توافق در این راهنما است. با این حال، با توجه به حساسیتها و حملات بد افزاری هنوز تعدادی از توسعه دهندگان از این الگوریتم استفاده نمیکنند.
این مکانیسم در حال حاضر توسط بلاکچین زیر استفاده میشود:
- Signum (SIGNA)
- Burstcoin (BURST)،
- Storj (STORJ)
- Chia (XCH)
9.اثبات نمودار جهت دار غیر مدور (Directed Acyclic Graphs)
DAG یک مدل اجماع ساختار داده یا مدل سازی است که اغلب در ارزهای دیجیتال استفاده می شود. برخلاف یک شبکه بلاک چین معمولی متشکل از بلوک ها، DAG دارای لبه ها و رئوس هایی است که تراکنش ها روی یکدیگر ثبت می شوند. و همانطور که از نام آن پیداست،الگوریتم DAG بهجای مجموعهای از زنجیرهها شبیه یک نمودار به نظر میرسد و به دلیل ذخیرهسازی و پردازش مؤثر تراکنشها، به عنوان جایگزین احتمالی بلاک چین در نظر گرفته میشود.
آنها جهتدار هستند زیرا در یک جهت حرکت می کنند و غیر چرخه ای هستند زیرا راس ها حلقه نمی شوند.
در مکانیسم اجماع DAG، هر گره برای استخراجکننده بودن آماده میشود و هزینههای مربوطه را با تایید تراکنشها توسط خود کاربران کاهش میدهد و کل فرآیند را سریعتر، سبکتر و ایمنتر میکند.
10. اثبات اعتبار (Proof of Authority)
الگوریتم اجماع اثبات اقتدار (PoA) یک جایگزین کارآمدتر و مقیاس پذیرتر برای الگوریتم PoW تشنه قدرت و مقیاس پذیر کمتر است. علاوه بر این، در PoA، اعتبارسنجیهای بلوک به جای سکهها، اعتبار و هویت خود را به خطر میاندازند و سیستم را از PoS ایمنتر میکنند.
اساساً یک شبکه بلاک چین مبتنی بر PoA توسط تعداد محدودی از گره های اعتبار سنجی ایمن می شود. این گره ها طرف های قابل اعتمادی هستند که به طور دلخواه انتخاب شده و از قبل تایید شده اند تا بلاک ها و تراکنش ها را تایید کنند. این شرکت کنندگان به عنوان تعدیل کننده سیستم عمل و به ایجاد مکانیزم مقیاس پذیرتر از PoW کمک می کنند. از آنجایی که هویت واقعی این گره های تعدیل کننده شناخته شده و قابل اعتماد است، PoA برای کاربردهای لجستیکی مانند زنجیره تامین یا شبکه های تجاری بسیار مناسب است.
در نتیجه
با توجه به تنوع بلاکچین ها، رشد، توسعه و داشتن مزایای و معایب زیادآنها، شما باید به عنوان فردی که وارد دنیای کریپتو کارنسی شده است؛ شناخت خود را در مورد الگوریتم اجماع، چگونگی عملکرد و همچنین انواع الگوریتم های آن بالا ببرید. که ما در این مقاله به طور مفصل و جامع به آن پرداختیم.
در نهایت وقتی نوبت به تأیید صحت پلتفرم های بلاک چین، توزیع شده می رسد؛ هر مکانیزم اجماع مجموعه ای از مزایا و معایب خاص خود را دارد. در حالی که PoW و PoS مطمئناً رایجترین الگوریتمها هستند، انواع الگوریتمهای جدید و در حال تکامل همچنان در حال ظهور هستند.