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

فهرست []

    هش در بلاک چین

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

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

    به عبارتی می توان گفت که شبکه بلاک چین فقط تراکنش های معتبر را در خود جای می دهد که این موضوع باعث می شود شبکه بلاک چین از حمله Double Spend یا خرج دوباره و همچنین تراکنش های اسپم در امان باشد.

    اگر مفاهیم ابتدایی دنیای ارزهای دیجیتال را نمی دانید، بهتر است در دوره ارز دیجیتال شرکت کنید، زیرا بدون فهم چگونگی کارکرد ارزهای دیجیتال و شبکه بلاک چین خیلی شانس موفقیت در این حوزه را نخواهید داشت.

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

    همان طور که پیش از این توضیح داده شد، الگوریتم اجماع از شبکه‎ بلاک چین در برابر هکرها و کسانی که قصد انتشار مطالب نامعتبر در بلاک چین را دارند، محافظت می کند.

    این الگوریتم یک سیستم پاداش دهی برای دیگر گره های شبکه که در تامین امنیت و حفاظت از بلاک چین نقش داشتند نیز در نظر می گیرد.

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

    اثبات کار فرایندی برای حفاظت از حملات اسپم در ایمیل ها و DDOS و یا فرستادن دستورات زیاد در شبکه با هدف زیر فشار قرار دادن شبکه طراحی شده بود.

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

    توافق بر روی یک موضوع بین افرادی که همدیگر را می شناسند چندان ساده نیست، حالا سوال اینجاست که در شبکه غیرمتمرکز بلاک چین که افراد همدیگر را نمی شناسند، چطور قرار است بر سر یک مسئله به توافق برسند؟

    از طرف دیگر باید صحت و اعتبار مطلب منتشر شده نیز تایید می شد.

    راهکار جالب ساتوشی ناکاماتو این بود که داده هایی که باید در بلاک ها نوشته شود، با کمک الگوریتمی وابسته به هش SHA-256 هش شوند. در میان افراد حاضر در شبکه، کسی که هش درست را پیدا کرده باشد، باید برای گرفتن تایید، آن را به همه شبکه ارسال کند.

    افراد دیگر در شبکه به تایید یا رد هش ارسال شده می پردازند و در صورتی که بیش از 50 درصد (1+50) آن را تایید کنند، بلاک به عنوان یک بلاک معتبر بسته می شود. در این روش گره ای که موفق به حل مسئله شود پاداش دریافت می کند.

    معایب الگوریتم اثبات کار

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

    • مصرف بسیار بالای برق

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

    • حملات 51درصدی

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

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

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

    یکی دیگر از روش های موجود برای اجماع افراد مستقل حاضر در شبکه استفاده از الگوریتم اثبات سهام (Proof of stake) است. در این روش بر خلاف روش اثبات کار به دستگاه سخت افزاری نیازی نیستT بلکه افراد حاضر در شبکه با توجه به تعداد سهامی که دارند می توانند شانس خود را برای بستن بلاک معتبر آزمایش کنند.

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

    مزایای الگوریتم اثبات سهام

    • انرژی مصرف نمی شود

    بر خلاف الگوریتم اثبات کار در الگوریتم اثبات سهام هیچ انرژی مصرف نمی شود و کار اصلی بر عهده الگوریتم هایی است که به صورت اتوماتیک کار می کنند.

    • غیرممکن بودن حمله 51 درصدی

    شخص یا شرکتی که بخواهد این الگوریتم را منحرف کند باید بیش از 51 درصد از کل ارز موجود را خریده باشد، یعنی باید 51 درصد از ارزهای موجود موردنظر را خریده باشد. در این صورت آن شخص می تواند اقدام به نابودی آن شبکه کند، ولی آیا به نظر شما منطقی است کسی چنین کاری در راه نابودی دارایی خود کند؟

    معایب الگوریتم اثبات سهام

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

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

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

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

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

    الگوریتم گواه اثبات سهام وکالتی را می توان شکلی از دموکراسی دیجیتال در نظر گرفت. این الگوریتم از روش رای گیری برای انتخاب یک گروه متشکل از حدودا 21 تا 100 نماینده با هدف محافظت از شبکه بلاک چین در برابر اهداف مخرب، کمک می گیرد.

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

    رمزارزهایی همچون BitShares (که دنیل لاریمر موسس آن است)، استیم، EOS، لیسک از این روش اجماع در شبکه خود استفاده می کنند.

    مزایای الگوریتم اجماع اثبات سهام وکالتی

    مقیاس پذیری بالا

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

    دوست با محیط زیست

    انرژی کمتری برای اجماع توسط این الگوریتم موردنیاز است، همین موضوع باعث می شود که بتوان DPos را به عنوان یک الگوریتم دوست با محیط زیست معرفی کرد.

    جامع تر از رقبا

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

    سرعت بالا

    سرعت شبکه بلاک چین مبتنی بر اثبات سهام وکالتی از رقبایش بیشتر است.

    معایب الگوریتم اجماع اثبات سهام وکالتی

    شرط حضور افراد

    برای انجام رای گیری نیاز به حضور افرادی در شبکه است تا بتوان نظارتی دقیق بر شبکه داشت، و این موضوع باعث می شود شبکه تا حدودی متمرکز شود.

    در این روش همه گره های شبکه در اعتبارسنجی و تایید تراکنش ها دخالت ندارند، بلکه آن ها افرادی را به نمایندگی انتخاب می کنند و نمایندگان انتخاب شده کار اعتبارسنجی و تایید بلوک ها را بر عهده می گیرند. به همین دلیل استفاده از این روش اجماع کمی با غیرمتمرکز بودن رمزارزها در تضاد است.

    آسیب پذیر در رابطه با متمرکزسازی

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

    الگوریتم اجماع Proof-of-Burn

    در الگوریتم اجماع سوزاندن کوین، شما می توانید به جای تهیه ابزار ماینینگ که بسیار هزینه بالایی را می طلبد، کوین های خود را بسوزانید یا به زبان ساده به آدرس هایی بفرستید که دیگر قابل بازیابی نباشند.

    با توجه به میزان کوین هایی که سوزانده اید، برای انتخاب شدن به عنوان استخراج کننده   بلوک بعدی امتیاز متفاوتی کسب می کنید و تعداد کوین سوخته بیشتر به معنای داشتن امتیاز بیشتر است. به این صورت شما به صورت تدریجی با سوزاندن کوین بر امتیاز خود می افزایید و امتیاز حاصل از سوزاندن کوین های پیشین را تا ابد برای خود خواهید داشت.

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

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

    از دیگر معایب مکانیزم اجماع اثبات سوزاندن، از بین رفتن مقادیر زیادی انرژی است.

    الگوریتم اجماع Proof-of-Authority

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

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

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

    الگوریتم اجماع Proof-of-Weight

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

    همانطور که می دانید در گواه اثبات سهام (PoS) داشتن کوین های بیشتر به منزله داشتن شانس بیشتر برای کشف بلاک بعدی است، الگوریتم های اثبات شهرت (Proof of Reputation) و اثبات فضا-زمان (Proof-of-Spacetime) جز الگوریتم های زیرمجموعه الگوریتم اثبات وزن به حساب می آیند که به عنوان مثال در الکوریتم اثبات فضا-زمان مربوط به فایل کوین، میزان وزن را، اطلاعات IPFS ذخیره شده مشخص می کند.

    الگوریتم اثبات شهرت (Proof of Reputation)

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

    زمانی که مراحل اثبات شهرت تکمیل و تایید شد، آنها می توانند به عنوان تاییدکننده بلوک ها کار خود را شروع کنند.

    الگوریتم اثبات فضا-زمان (Proof-of-Spacetime)

    در این روش اجماع گره ها باید ثابت کنند داده هایی که برای ذخیره دریافت کرده بودند، همچنان دارند. این روند اثبات مکررا انجام خواهد شد.

    الگوریتم اجماع Proof-of-Activity

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

    ارز دیجیتال Decred از این الگوریتم در شبکه بلاکچین خود استفاده می کند.

    الگوریتم اجماع Byzantine Fault Tolerance

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

    در زمینه ارزهای دیجیتال نیز از روش اجماع تحمل خطای بیزانس استفاده می شود.

    از جمله مزایای این روش می توان به کارمزد پایین تراکنش و مقیاس پذیری بالای آن اشاره کرد، اما این روش را می توان متمرکز دانست و این یک مشکل برای این روش اجماع در ارزهای دیجیتال به شمار می آید.

    (Federated Byzantine Agreement)

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

    در برخی سیستم ها این گره های تاییدکننده از پیش انتخاب شده اند (ریپل) و در یک سری سیستم دیگر (استلار) هر گره خودش می تواند یک تاییدکننده باشد و گره تاییدکننده بعدی را انتخاب کند.

    (Practical Byzantine Fault Tolerance)

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

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

    الگوریتم اجماع Directed Acyclic Graphs

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

    هشگراف، آیوتا و نانو را می توان به عنوان رمزارزهایی که شبکه آنها مبتنی بر دگ (DAG) است، معرفی کرد.

    دگ را می توان به عنوان یک راه حل برای مشکل مقیاس پذیری به شمار آورد.

    الگوریتم اجماع proof of elapsed time

    انتخاب گره ها در این روش اجماع به صورت قرعه کشی انجام می شود. برای اینکه فرایند قرعه کشی و انتخاب در این روش به درستی و به دور از تقلب انجام شود، پلتفرم TEE به عنوان یک فضایی برای انجام این فرایند در نظر گرفته شده است.

    انجام فرایند قرعه کشی به سخت افزار اینتل نیاز دارد، انتخاب تاییدکننده بلوک در مدت زمانی کوتاه و با روشی مطمئن انجام می شود.

    سخن آخر

    کمک گرفتن از الگوریتم های اجماع با هدف حفظ ویژگی غیرمتمرکز بودن رمزارزها و شبکه بلاک چین استفاده می شود. شبکه بیت کوین که پادشاه رمزارزهاست از الگوریتم گواه اثبات کار استفاده می کند، اما باید بدانید حتی این الگوریتمی که شبکه بیت کوین به کار گرفته و درواقع اولین الگوریتم اجماع است دارای ایراداتی است.

    شبکه بلاک چین اتریوم نیز در گذشته از الگوریتم اثبات کار استفاده می کرد که اخیرا به دلیل مصرف بیش از حد انرژی، آن را تغییر داده است و از الگوریتم گواه اثبات سهام استفاده می کند.

    همانطور که دیدید تعداد زیادی الگوریتم اجماع وجود دارد، دلیل تعدد الگوریتم های اجماع وجود نقص در الگوریتم های پیشین است.

    هر الگوریتم با هدف رفع نواقص الگوریتم های پیشین به وجود آمد.