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

تصور کنید هزاران کامپیوتر در سراسر دنیا بخواهند یک دفترچه حساب مشترک را بدون هیچ مدیر مرکزی مدیریت کنند. اینجاست که با یک سوال اساسی روبهرو میشویم: الگوریتم اجماع چیست؟ پاسخ ساده است؛ الگوریتم اجماع (Consensus Algorithm) مجموعه قوانین و سازوکاری است که به نودها (Nodes) کمک میکند تا درباره اعتبار و ترتیب دقیق تراکنشها با یکدیگر به توافق برسند.
فراموش نکنید که در یک دفتر کل توزیعشده (DLT)، صرفا ذخیره کردن اطلاعات یا استفاده از روشهای رمزنگاری برای حفظ امنیت دادهها کافی نیست. در واقع، ابزارهای رمزنگاری فقط نشان میدهند که تراکنش توسط شخص درستی امضا شده است؛ اما این قانون اجماع است که جلوی تقلب را میگیرد و تأیید میکند آیا موجودی فرستنده کافی بوده و تراکنشها با چه ترتیبی باید نهایی شوند.
برای درک بهتر، همان دفترچه مشترک را در نظر بگیرید. هرگاه سطر جدیدی به این دفتر اضافه شود، شبکه باید طبق قاعدهای مشخص آن را بررسی کند. با این حال، به یاد داشته باشید که در شبکههای بلاکچینی، همه نودها همیشه حق رأی و دخالت برابر ندارند. بسته به نوع شبکه، این قوانین از پیش تعیینشده مشخص میکنند چه کسی و تحت چه شرایطی حق دارد اطلاعات جدید را تایید و در سیستم ثبت کند.
تفاوت اجماع در سیستم متمرکز و غیرمتمرکز
برای روشن شدن موضوع، بیایید نحوه ثبت یک تراکنش ساده را در دو مدل متفاوت بررسی کنیم. در یک سیستم متمرکز مثل بانک، وقتی پولی را حواله میکنید، سرور مرکزی بانک بهعنوان تنها مرجع تصمیمگیرنده، موجودی شما را کسر و به حساب مقصد اضافه میکند. در اینجا نیازی به توافق جمعی نیست؛ چون همه کاربران پذیرفتهاند که بانک بهتنهایی دفتر کل را مدیریت میکند.
اما وقتی درباره تفاوت اجماع در سیستم متمرکز و غیرمتمرکز صحبت میکنیم، ماجرا کاملا تغییر میکند. در شبکهای مانند بلاکچین، هیچ سرور مرکزی یا نهاد ارشدی وجود ندارد که حرف آخر را بزند. در عوض، هزاران نود مستقل همزمان یک نسخه از دفتر کل را در اختیار دارند. چون هر کسی میتواند ادعا کند تراکنش جدیدی انجام شده، داشتن نسخه مشترک دادهها حیاتی است. البته دقت کنید که ساختار غیرمتمرکز لزوما معادل امنیت تضمینی نیست؛ بلکه شبکه برای حفظ پایداری خود به قواعد دقیقی نیاز دارد تا مطمئن شود همه نودها با وجود مستقل بودن، دقیقا به یک نسخه واحد میرسند و کسی نمیتواند داده جعلی به بقیه تحمیل کند.
معمای ژنرالهای بیزانسی و ارتباط آن با اجماع
برای درک اینکه چرا شبکههای غیرمتمرکز به قوانین دقیقی نیاز دارند، باید با معمای ژنرالهای بیزانسی آشنا شویم. داستان از این قرار است: چند ژنرال با لشکرهایشان شهری را محاصره کردهاند و برای پیروزی، باید همزمان حمله یا عقبنشینی کنند. ارتباط آنها فقط از طریق ارسال پیک است؛ اما مشکل اینجاست که ژنرالهای خائن ممکن است پیامهای متناقضی بفرستند تا کل ارتش به اشتباه بیفتد.
در بلاکچین، این ژنرالها همان نودها و پیکها، سیگنالهای حاوی اطلاعات تراکنش هستند. معمای ژنرالهای بیزانسی و ارتباط آن با اجماع در همینجا روشن میشود. در شبکهای با هزاران کامپیوتر ناشناس، همیشه ممکن است یک نود بهخاطر قطعی اینترنت خاموش شود (خرابی عادی) یا عمدا اطلاعات دروغین به شبکه بفرستد (رفتار مخرب).
بنابراین، شبکه باید بتواند حتی با وجود گرههای خراب یا خائن، به تصمیمی واحد برسد و دادههای درست را ثبت کند. البته فراموش نکنید که این معما صرفا صورتمسئله را مطرح میکند و شبکههای مختلف، آستانه تحمل متفاوتی در برابر خرابکاری دارند؛ یعنی قرار نیست همه پروتکلها در برابر خطای تعداد ثابتی از نودها، مقاومت یکسانی داشته باشند.
الگوریتم اجماع چگونه کار میکند؟
برای درک این موضوع، مسیر یک تراکنش ساده را قدمبهقدم دنبال میکنیم. فرض کنید قصد دارید مقداری ارز دیجیتال بفرستید. درخواست شما ابتدا وارد استخر عمومی تراکنشهای منتظر تایید میشود. سپس، یکی از نودها این اطلاعات را جمعآوری کرده و در قالب یک بلاک جدید به شبکه پیشنهاد میدهد.
در مرحله بعد، فرایند اعتبارسنجی آغاز میشود. سایر کامپیوترهای شبکه محتویات این بلاک جدید را بررسی میکنند تا مطمئن شوند موجودی شما کافی بوده و قصد تقلب ندارید. در همین نقطه مکانیزم الگوریتم اجماع (Consensus Algorithms) وارد عمل میشود؛ نودها طبق قوانین شبکه با یکدیگر ارتباط برقرار کرده و درباره سلامت دادهها به توافق میرسند. البته فراموش نکنید که آستانه این توافق در شبکههای گوناگون تفاوت دارد و نمیتوان یک عدد ثابت را بهعنوان استاندارد ثابت به تمام بلاکچینها تعمیم داد.
در نهایت، پس از توافق جمعی، اطلاعات ثبت میشوند. اما باید به یک ظرافت مهم دقت کنید: پذیرفته شدن بلاک با نهاییشدن برگشتناپذیر تفاوت دارد. اضافه شدن بلاک به زنجیره به معنای پذیرش اولیه است، اما برای اینکه تراکنش کاملا قطعی (Final) و غیرقابل تغییر شود، باید منتظر بمانید تا چند بلاک دیگر روی آن ساخته شود و جایگاهش در دفتر کل برای همیشه تثبیت گردد.
کاربردهای الگوریتم اجماع در بلاکچین
بدون قوانین توافقی، شبکه توزیعشده بهسرعت فلج میشود. برای درک بهتر، مهمترین کاربردهای الگوریتم اجماع را در چهار دسته حیاتی طبقهبندی میکنیم:
- تأیید تراکنشها: بررسی دقیق اینکه فرستنده موجودی کافی دارد و اطلاعات ارسالی معتبر هستند یا خیر.
- سازگاری دفتر کل: تضمین اینکه هزاران نود در سراسر جهان، بدون نیاز به مدیر مرکزی، دقیقا یک نسخه همگام از تاریخچه تراکنشها را ذخیره کنند.
- پیشگیری از دوبار خرجکردن (Double Spending): فرض کنید کاربری بخواهد با فریب شبکه، یک ارز دیجیتال را همزمان برای دو نفر بفرستد و پرداخت تکراری انجام دهد. اینجاست که سازوکار الگوریتم اجماع / Consensus Algorithms وارد عمل میشود تا فقط تراکنش معتبرتر را تایید کرده و درخواست موازی را باطل کند.
- تحمل خرابی: حفظ پایداری سیستم، حتی در شرایطی که برخی نودها خاموش شدهاند یا دادههای اشتباه مخابره میکنند.
با این حال، باید واقعبین بود؛ توافق نودها به معنای نفوذناپذیری سیستم در برابر همه انواع تقلب نیست. این مکانیزم جلوی دستکاریهای داخلی دفتر کل را میگیرد، اما هیچگاه امنیت مطلق ارائه نمیدهد؛ چرا که خطراتی مثل سرقت اطلاعات کیف پولها یا حملات سازمانیافته، همچنان میتوانند به شبکه آسیب برسانند.
سهگانه بلاکچین و تأثیر الگوریتم اجماع
یکی از چالشهای طراحی شبکههای توزیعشده، مفهومی به نام سهگانه بلاکچین است. این چارچوب تحلیلی که توسط ویتالیک بوترین (خالق اتریوم) مطرح شد، بیان میکند که هر شبکهای همواره در تلاش است تا تعادلی میان سه ویژگی حیاتی برقرار کند: امنیت، تمرکززدایی و مقیاسپذیری (سرعت و ظرفیت). اما مشکل اینجاست که ارتقای دو مورد از این ویژگیها، معمولا به قیمت فدا شدن مورد سوم تمام میشود.
رابطه میان سهگانه بلاکچین و تأثیر الگوریتم اجماع در همین نقطه نمایان میشود. به بیان ساده، الگوریتمی که یک شبکه انتخاب میکند، تمرکز را بر یکی از این سه ویژگی افزایش میدهد. برای مثال، بیتکوین با انتخاب اثبات کار (PoW)، امنیت و تمرکززدایی را به بالاترین حد ممکن رسانده است، اما در عوض سرعت پردازش پایینی دارد (جزئیات این روش را در بخش مربوطه بررسی میکنیم). در مقابل، برخی شبکهها با انتخاب مدلهای دیگری، سرعت و ظرفیت تراکنشها را بهشدت بالا بردهاند، اما در عوض بخشی از تمرکززدایی را فدا کرده و قدرت را در دست تعداد کمتری از اعتبارسنجها قرار دادهاند.
انواع الگوریتمهای اجماع در بلاکچین
برای بررسی انواع الگوریتمهای اجماع در بلاکچین، آنها را در چند دسته کلی قرار میدهیم: مبتنی بر توان محاسباتی (مانند اثبات کار / PoW)، سهام، نمایندگان، هویت، زمان و خانواده تحمل خطای بیزانس (BFT) که جزئیات هرکدام را در زیرتیترهای بعدی بررسی میکنیم.
پیش از شروع، به یک تفاوت ساختاری دقت کنید: گراف جهتدار غیرمدور (DAG) صرفا یک ساختار داده برای ذخیره تراکنشهاست، نه یک الگوریتم اجماع مستقل. همچنین، مراقب مخففهای مشابه باشید؛ در این فضا PoA (اثبات اعتبار با اثبات فعالیت) و PoI (اثبات هویت با اثبات اهمیت) یکی نیستند و ماهیت کاملاً متفاوتی دارند.
اثبات کار (PoW) چیست و چگونه عمل میکند؟
در شبکه بیت کوین (BTC) بهعنوان آشناترین نمونه این روش، ماینرها برای ثبت تراکنشها رقابت میکنند. اما برای درک اینکه اثبات کار (PoW) چیست و چگونه عمل میکند؟ باید بدانید این رقابت، تلاش برای حل یک معادله مشخص نیست؛ بلکه ماینرها با توان سختافزاری خود میلیونها حدس تصادفی میزنند تا به خروجی رمزنگاریشدهای به نام هش (Hash) برسند. اولین کسی که هش درست را بیابد، شرط شبکه را برآورده کرده و حق ایجاد بلاک و دریافت پاداش را میگیرد؛ پاداشی که ارزش آن با نوسانات قیمت بیت کوین گره خورده است.
با این حال، الگوریتم اثبات کار چالشهای خاص خود را دارد که بارزترین آن مصرف شدید انرژی است. از طرفی، حضور ماینرها در استخرهای استخراج برای کسب درآمد پایدارتر، باعث تمرکز قدرت پردازشی میشود؛ اگر این توان متمرکز در دست یک گروه به بیش از نیمی از کل شبکه برسد، سیستم در معرض خطر حمله ۵۱ درصدی قرار میگیرد.
اثبات سهام (PoS) چیست؟
برای پاسخ به اینکه دقیقا اثبات سهام (PoS) چیست؟ باید با اعتبارسنجها (Validators) آشنا شویم. در این روش نیازی به سختافزارهای پرمصرف نیست؛ بلکه کاربران مقداری از ارزهای خود را در قراردادهای هوشمند قفل یا اصطلاحا استیک میکنند. الگوریتم اثبات سهام بر اساس میزان همین دارایی استیکشده، نودها را برای تایید تراکنشها و ساخت بلاک جدید انتخاب میکند. اگر یک اعتبارسنج قصد خرابکاری داشته باشد، بخشی از دارایی او بهعنوان جریمه سوزانده میشود.
بهترین مثال برای این مکانیزم، مهاجرت تاریخی بلاکچینهاست؛ جایی که ماینرهای پرمصرف جای خود را به استیککنندگان دادند. امروز اتریوم (ETH) پس از ارتقای The Merge دقیقا با همین مدل کار میکند و کاربران با قفل کردن دارایی خود، امنیت را تأمین میکنند؛ ارتقای مهمی که علاوه بر کاهش مصرف انرژی، توجه تحلیلگران قیمت اتریوم را نیز به ساختار جدید پاداشدهی جلب کرد.
اثبات سهام نمایندگیشده (DPoS)
در مکانیزم اثبات سهام نمایندگیشده (DPoS)، شما نیازی به درگیر شدن با پیچیدگیهای فنی اجرای یک نود ندارید. در عوض، میتوانید ارزهای خود را به شخص دیگری واگذار کنید تا او به نمایندگی از شما وظیفه تأیید تراکنشها و ساخت بلاک را انجام دهد و شما نیز در سود آن شریک شوید. در این سیستم، کاربران با داراییهای استیکشده خود رأی میدهند و نمایندگان (Delegates) برتر را انتخاب میکنند.
مهمترین مزیت اثبات سهام نمایندگی شده، سرعت بسیار بالای پردازش است؛ چرا که توافق میان یک گروه کوچک و مشخص از نمایندگان، بسیار سریعتر از هزاران نود پراکنده انجام میشود. البته این سرعت بالا، باعث کاهش تمرکززدایی میشود. برای مثال، در شبکه ترون مدیریت کل بلاکچین بر عهده تنها ۲۷ نماینده است. بنابراین هیچگاه نمیتوان ادعا کرد یک شبکه خاص، همزمان سرعت بیرقیب و تمرکززدایی مطلق را با هم تضمین میکند.
اثبات سهام استیجاری (LPoS)
شاید بپرسید تفاوت این روش با مدل نمایندگیشده (DPoS) در چیست؟ در مکانیزم اثبات سهام استیجاری (LPoS)، شما بهجای رأی دادن به اشخاص، قدرت یا اصطلاحا وزن دارایی خود را به یک اعتبارسنج اجاره میدهید. شبکه ویوز (Waves) مشهورترین پروژهای است که از این ساختار بهره میبرد.
ویژگی کلیدی این مدل، حفظ کامل مالکیت داراییهاست؛ در این فرایند، توکنها هرگز از کیف پول شما خارج نمیشوند و صرفا در همان جا قفل میمانند. البته فراموش نکنید که مشارکت در شبکههای مبتنی بر اثبات سهام استیجاری به معنای کسب درآمد قطعی یا بدون ریسک نیست؛ زیرا دریافت پاداش مستقیما به عملکرد و پایداری همان نودی بستگی دارد که انتخاب کردهاید. همچنین، طبق مستندات شبکههایی مثل ویوز، شما این اختیار را دارید که قرارداد اجاره را لغو کرده و موجودی خود را آزاد کنید.
اثبات اعتبار (Proof of Authority)
الگوریتم اثبات اعتبار (Proof of Authority) که بهاختصار PoA نامیده میشود، مسیر کاملا متفاوتی را طی میکند. در این روش، نیازی به مصرف برق یا قفل کردن سرمایه نیست؛ بلکه آن چیزی که نودها در گرو شبکه میگذارند، هویت واقعی و شهرت آنهاست. در واقع، فقط نهادها یا افراد شناختهشده و تأییدصلاحیتشده حق دارند بهعنوان اعتبارسنج در شبکه فعالیت کنند.
طبیعتا چنین ساختار مجوزمحوری (Permissioned)، با آرمانهای تمرکززدایی کاملِ بلاکچین فاصله دارد و بیشتر برای شبکههای خصوصی، سازمانی یا پروژههایی با اهداف خاص تجاری استفاده میشود؛ پروژههایی مثل ویچین (VeChain) که به پردازش سریع و امن تراکنشها توسط نودهای کاملا شناساییشده نیاز دارند. همچنین دقت کنید که مخفف PoA گاهی برای اثبات فعالیت (Proof of Activity) هم به کار میرود که الگوریتم کاملا متفاوتی است و نباید این دو را با هم اشتباه گرفت.
تحمل خطای بیزانس و مدلهای PBFT، dBFT و SBFT
مفهوم تحمل خطای بیزانس (BFT) به توانایی سیستم برای ادامه کار و رسیدن به توافق، حتی هنگام خاموشی یا رفتار مخرب تعدادی از گرهها اشاره دارد. در واقع بدون تحمل خطای بیزانس، شبکه با دریافت اولین اطلاعات اشتباه مختل میشود؛ اما در این سیستمها، نودها از طریق یک فرایند رأیگیری چندمرحلهای دادههای درست را تشخیص میدهند.
برای درک بهتر تحمل خطای بیزانس و مدلهای PBFT، dBFT و SBFT، ابتدا باید با نسخه کلاسیک آن یعنی PBFT آشنا شویم. در این مدل، اگر کل نودهای شبکه را (n) و نودهای خراب را (f) در نظر بگیریم، توافق تنها با شرط f ≤ ⌊(n-1)/3⌋ حاصل میشود؛ یعنی حداکثر یکسوم شبکه میتواند خطاکار باشد. البته دقت کنید که این فرمول صرفا در چارچوب PBFT کلاسیک صدق میکند و نباید مرز تحمل یکسوم را به همه الگوریتمها تعمیم داد.
همچنین از دل این مکانیزم، زیرگونههای مجزایی متولد شدهاند؛ مانند dBFT (مدل نمایندگیشده برای سرعت پردازش بالاتر) و SBFT (مدل سادهشده جهت بهبود مقیاسپذیری) که هرکدام ساختار رأیگیری را برای معماری شبکه خود بهینهسازی کردهاند.
گراف جهتدار غیرمدور (DAG)
هنگام بررسی گراف جهتدار غیرمدور (DAG)، باید یک مرزبندی مهم را در نظر بگیریم. در حقیقت، DAG یک الگوریتم اجماع مستقل نیست؛ بلکه یک ساختار داده نوین برای ذخیره تراکنشهاست. برخلاف بلاکچین که دادهها را در زنجیرهای خطی از بلاکها قرار میدهد، گراف جهتدار غیرمدور (DAG) شبکهای درهمتنیده از تراکنشها میسازد؛ به این شکل که هر تراکنش جدید، برای ثبت شدن باید یک یا چند تراکنش قبلی را تایید کند.
این معماری باعث میشود با افزایش کاربران، سرعت پردازش شبکه بهجای افت کردن، بالا برود. اما پروژههایی که از این ساختار استفاده میکنند، برای جلوگیری از تقلب همچنان به یک الگوریتم توافقی مکمل نیاز دارند. برای مثال، شبکه آیوتا (IOTA) از ساختار داده DAG بهره میبرد، اما برای تایید نهایی و رفع تعارضها، مکانیزم اجماع اختصاصی خودش را دارد. بنابراین، ساختار ذخیره داده را نباید با قانون توافق شبکه یکی دانست.
اثبات ظرفیت (PoC) و اثبات فضا و زمان (PoST)
در الگوریتمهای اثبات ظرفیت (PoC) و اثبات فضا و زمان (PoST)، رویکرد کاملا متفاوتی برای حل مشکل مصرف برق ارائه میشود. در مدل اثبات ظرفیت (PoC)، استخراجکنندگان بهجای درگیر کردن پردازندههای قدرتمند (برخلاف اثبات کار)، از فضای خالی هارد دیسک خود برای ذخیره پیشاپیشِ جوابهای احتمالی استفاده میکنند. در واقع، هرچه فضای ذخیرهسازی بیشتری اختصاص دهید، شانس بالاتری برای تولید بلاک دارید و اینگونه هارد دیسک جایگزین پردازشهای پرهزینه میشود.
با این حال، نباید این دو را کاملا یکسان دانست. اثبات فضا و زمان (PoST) نسخه پیشرفتهتری است که علاوه بر تخصیص فضای هارد، فاکتور زمان سپریشده را نیز برای جلوگیری از تقلب در نظر میگیرد. برای مثال، شبکه چیا (Chia) پروژهای است که طبق مستندات خود، از این مکانیزم برای تامین امنیت بدون هدررفت انرژی بهره میبرد.
اثبات سوزاندن (PoB)
یکی دیگر از روشهای جالب در شبکههای بلاکچینی، الگوریتم اثبات سوزاندن (PoB) است. در این سازوکار، کاربران برای مشارکت در شبکه نیازی به خرید تجهیزات گرانقیمت ندارند؛ بلکه باید مقداری از ارزهای دیجیتال خود را به یک آدرس عمومی و غیرقابلخرج (Eater Address) ارسال کنند. با این کار، توکنها برای همیشه از گردش بازار خارج شده و نابود میشوند.
اما این کار چه فایدهای دارد؟ در سیستم اثبات سوزاندن، هرچه توکنهای بیشتری را از بین ببرید، شانس و حق شما برای استخراج بلاک بعدی و دریافت پاداش بیشتر میشود؛ گویی در حال خرید دستگاههای استخراج مجازی هستید. با این حال، باید بسیار محتاط بود؛ سوزاندن داراییها هرگز به معنای کسب سود تضمینی نیست و هیچگاه نباید تصور کرد که این مدل، امنیت نامحدود و غیرقابلنفوذی برای شبکه به ارمغان میآورد؛ زیرا پاداش نهایی به شرایط شبکه و میزان مشارکت دیگران بستگی دارد.
اثبات هویت و اثبات اهمیت (PoI)
در دنیای بلاکچین، با دو الگوریتم متفاوت روبهرو هستیم که هر دو بهاختصار PoI نامیده میشوند، اما کارکردی کاملا مجزا دارند. مورد اول، الگوریتم اثبات هویت (Proof of Identity) است؛ در این روش، حق مشارکت در شبکه صرفا به کاربرانی داده میشود که هویت واقعی و فیزیکی خود را از طریق فرایندهای احراز هویت (KYC) تایید کرده باشند. این مدل برای شبکههایی که نیاز به شفافیت قانونی دارند، کاربرد فراوانی دارد.
اما مورد دوم، اثبات اهمیت (Proof of Importance) است که بر اساس میزان مشارکت و فعالیت کاربر کار میکند. در این سیستم، صرفا داشتن سرمایه زیاد کافی نیست؛ بلکه شبکه به کاربرانی که تراکنشهای بیشتری انجام میدهند و با دیگران در تعامل هستند، امتیاز یا وزن بیشتری میدهد. مشهورترین شبکهای که طبق مستندات فنی خود از اثبات اهمیت استفاده میکند، پلتفرم نم (NEM) است.
اثبات فعالیت (Proof of Activity)
گاهی شبکهها تصمیم میگیرند بهترین ویژگیهای دو الگوریتم مختلف را با هم ترکیب کنند. مکانیزم اثبات فعالیت (Proof of Activity) دقیقا با همین هدف طراحی شده و در واقع ترکیبی از مدل اثبات کار و اثبات سهام است. در این ساختار، ابتدا ماینرها با توان محاسباتی خود برای ساخت قالب اولیه بلاک رقابت میکنند و سپس، اعتبارسنجها با داراییهای استیکشده خود وارد عمل میشوند تا تراکنشها را تأیید و بلاک را نهایی کنند.
پیادهسازی اثبات فعالیت چندان ساده نیست؛ ترکیب این دو روش باعث پیچیدگی بسیار بالای کدنویسی و مدیریت شبکه میشود که یکی از محدودیتهای اصلی آن است.
اثبات زمان سپریشده (PoET)
الگوریتم اثبات زمان سپریشده(PoET یک روش نوآورانه دیگر است که بیشتر در شبکههای مجوزمحور (Permissioned) کاربرد دارد. در این سیستم، بهجای درگیر شدن در رقابتهای پرهزینه پردازشی، به هر نود یک زمان انتظار تصادفی اختصاص داده میشود. اولین نودی که زمان انتظارش پایان یابد، اصطلاحا فعال شده و حق ایجاد بلاک جدید را پیدا میکند.
اما برای جلوگیری از دستکاری و تقلب در این زمانسنجی، مکانیزم اثبات زمان سپری شده کاملا به محیطهای اجرای مورداعتماد (TEE) در دل پردازندهها وابسته است. بنابراین، هرگز نباید تضمین امنیت این روش را مستقل از عملکرد سختافزار فرض کنید؛ چرا که اگر تراشه TEE دچار آسیبپذیری شود، اجماع کل شبکه به خطر میافتد. پلتفرم سازمانی هایپرلجر ساتوث (Hyperledger Sawtooth) یکی از مشهورترین پروژههایی است که از این ساختار بهره میبرد.
اثبات تاریخچه (PoH)
الگوریتم اثبات تاریخچه (PoH) یکی از نوآوریهای فنی است که مستقیما با معماری شبکه سولانا شناخته میشود. در این مکانیزم، بهجای اینکه نودها برای تعیین زمان دریافت هر تراکنش با یکدیگر ارتباط برقرار کنند، یک ساختار زمانسنجی رمزنگاریشده، ترتیب زمانی دقیق رویدادها را پیش از پردازش نهایی ثبت میکند. این روند بار ارتباطی شبکه را کاهش داده و سرعت پردازش را بهشکل چشمگیری افزایش میدهد.
اما طبق مستندات رسمی سولانا، باید به یک نکته کلیدی دقت کنید: اثبات تاریخچه به تنهایی الگوریتم توافق نهایی همه گرهها نیست. این روش در اصل یک مرجع زمانی یکپارچه برای شبکه است که در کنار الگوریتم اثبات سهام (PoS) فعالیت میکند. شبکه برای اجماع نهایی و تأیید بلاکها همچنان متکی به اثبات سهام است و فقط از این فرایند برای مرتبسازی تراکنشها پیش از توافق اصلی استفاده میکند.
اثبات وزنی (PoWeight)
برای درک این مکانیزم، بهتر است آن را از اثبات سهام (PoS) تفکیک کنیم. در اثبات سهام، قدرت شما مستقیما به مقدار ارزی که استیک کردهاید بستگی دارد؛ اما در ساختار اثبات وزنی (PoWeight)، وزن یا ارزش مشارکت شما لزوما با سرمایه مالی سنجیده نمیشود. در اینجا، وزن رأی هر کاربر به فاکتورهای دیگری وابسته است که برای پویایی آن شبکه خاص اهمیت حیاتی دارند.
بهعنوان مثال، در شبکهای مانند فایلکوین (Filecoin)، وزن مشارکت هر نود بر اساس میزان فضای ذخیرهسازی مفیدی که ارائه میدهد، محاسبه میشود. با توجه به این تفاوتها، هرگز نباید یک مدل کلی بدون منبع را برای الگوریتم اثبات وزنی جهانشمول دانست؛ چرا که معیار تخصیص وزن و همچنین آستانه لازم برای تصمیمگیری نهایی، کاملا به معماری و قوانین همان پروتکل مشخص مقید است.
مقایسه الگوریتمهای اجماع؛ کدام مدل برای چه شبکهای مناسب است؟
اکنون که با مکانیزمهای مختلف آشنا شدیم، به یک پرسش کلیدی میرسیم: در مقایسه الگوریتمهای اجماع؛ کدام مدل برای چه شبکهای مناسب است؟
پاسخ کوتاه این است که هیچ گزینه بهترینِ مطلق وجود ندارد. انتخاب یک روش، کاملا به معماری شبکهها و نیاز آنها در یک بازه زمانی مشخص بستگی دارد. برای مثال، پیادهسازی واقعی اثبات سهام (PoS) در پروژههای فعلی با نسخههای اولیه آن تفاوت ساختاری دارد. در جدول زیر، رایجترین الگوریتمهای اجماع را بر اساس وضعیت فعلی شبکههای میزبانشان مقایسه کردهایم. دقت کنید که امتیازاتی مانند بالا یا پایین، کاملا نسبی هستند و این جدول، برآوردی از وضعیت اجرایی پروتکلها در زمان نگارش مقاله است، نه یک قانون فنی همیشگی:
| الگوریتم اصلی | سطح امنیت | میزان مصرف انرژی | سرعت پردازش | مقیاسپذیری | وضعیت تمرکززدایی |
| PoW | بسیار بالا | بسیار بالا | پایین | ضعیف | بالا |
| PoS | بالا | پایین | متوسط تا بالا | قابلقبول | متغیر (وابسته به توزیع دارایی) |
| DPoS | قابل قبول | پایین | بسیار بالا | عالی | پایین (محدود به نمایندگان) |
| PoA | بالا (در محیط مجوزمحور) | پایین | بسیار بالا | عالی | بسیار پایین (مجوزمحور) |
| BFT (کلاسیک) | بالا (تا مرز مجاز خطا) | پایین | بالا | متوسط | پایین (محدودیت تعداد گره) |
ریسکها و حملات رایج به الگوریتمهای اجماع
با وجود معماریهای نوین، هیچ سیستمی ادعای امنیت صددرصدی ندارد. برای درک بهتر آسیبپذیریهای امنیتی، باید ریسکها و حملات رایج به الگوریتمهای اجماع را بشناسیم:
- حمله ۵۱ درصدی: این حمله زمانی رخ میدهد که مهاجم، بیش از نیمی از قدرت پردازشی یا سهام شبکه را به دست بگیرد تا تراکنشها را دستکاری کند. البته آستانه موفقیت و هزینه اجرای چنین حملهای کاملا به مقیاس و طراحی هر پروتکل وابسته است.
- حمله سیبیل (Sybil): تلاشی است که در آن، مهاجم با ساخت هزاران هویت یا نود جعلی سعی میکند سیستم را فریب داده و با ایجاد اکثریت کاذب، کنترل شبکه را در دست بگیرد.
- تمرکز اعتبارسنجها: این ریسک زمانی بروز میکند که قدرت تأیید تراکنشها در انحصار گروهی کوچک از هولدرهای کلان یا نودهای ثروتمند قرار گیرد و هدف اصلی بلاکچین یعنی تمرکززدایی را تهدید کند.
- مشکل نهایی شدن (Finality): به تاخیر یا تعارض نودها در قطعی کردن تراکنشها اشاره دارد که میتواند به انشعاب موقت شبکه منجر شود.
همانطور که در بخش انواع مکانیزمها بررسی کردیم، هر سیستم راهکار دفاعی متفاوتی برای این موارد ارائه میدهد. با توجه به تکامل مداوم تهدیدات، هرگز نباید نفوذ به شبکهها را غیرممکن دانست؛ بلکه معماریها صرفا در تلاشند هزینه حمله را غیرمنطقی کنند.
سوالات متداول درباره الگوریتم اجماع
چرا شبکههای غیرمتمرکز به این سازوکار نیاز دارند؟
در سیستمهای توزیعشده، هیچ نهاد مرکزی برای تأیید دادهها وجود ندارد. این الگوریتمها قوانینی تعیین میکنند تا هزاران گره مستقل بتوانند روی یک نسخه واحد از اطلاعات توافق کرده و جلوی تقلب یا دوبارهخرجی را بگیرند.
تفاوت اصلی اثبات کار و اثبات سهام چیست؟
در مدل اثبات کار، دستگاههای استخراج با مصرف انرژی و توان محاسباتی امنیت را تأمین میکنند؛ اما در اثبات سهام، کاربران داراییهای خود را قفل (استیک) میکنند و دیگر نیازی به خرید تجهیزات سختافزاری پرمصرف نیست.
آیا امکان تغییر تاریخچه تراکنشها وجود دارد؟
در شرایط عادی خیر؛ اما اگر شخص یا گروهی بتواند کنترل بخش عظیمی از شبکه را به دست بگیرد، خطر دستکاری موقت وجود دارد. البته قاعده رأیگیری و آستانه لازم برای نفوذ، در هر بلاک چین با دیگری کاملا متفاوت است و نمیتوان یک قانون یا درصد ثابت را به همه شبکهها تعمیم داد.
آیا الگوریتم اجماع فقط در رمزارزها استفاده میشود؟
خیر. مدتها پیش از پیدایش ارزهای دیجیتال، مکانیزمهای توافقی (مانند خانواده تحمل خطای بیزانس) در سیستمهای توزیعشده بانکی، پایگاههای داده سازمانی و حتی سیستمهای ناوبری هوافضا برای ایجاد هماهنگی میان سرورها استفاده میشدند.



