Contents
- 1 Consensus Alogrithm in Blockchain
- 2 A consensus algorithm is a procedure through which all the peers of the Blockchain network reach a common agreement about the present state of the distributed ledger. … Thus, a consensus algorithm aims at finding a common agreement that is a win for the entire network
- 3 نقد و بررسی الگوریتم اجماع در بلاک چین
- 4 مشخصات الگوریتم اجماع در بلاک چین
- 5 الگوریتم اجماع چیست؟
- 6 الگوریتم کانسنسوس یا کانسوس چیست؟
- 7 الگوریتم Consensus در ارز دیجیتال
- 7.1 هش در بلاکچین
- 7.2 کاربردهای الگوریتم اجماع
- 7.3 الگوریتم اجماع اثبات کار (PoW) در بلاکچین
- 7.4 معایب الگوریتم اثبات کار
- 7.5 الگوریتم اجماع اثبات سهام (PoS) در بلاکچین
- 7.6 مزایای الگوریتم اثبات سهام
- 7.7 معایب الگوریتم اثبات سهام
- 7.8 الگوریتم اجماع اثبات سهام وکالتی (DPoS)
- 7.9 مزایای الگوریتم اجماع اثبات سهام وکالتی
- 7.10 معایب الگوریتم اجماع اثبات سهام وکالتی
- 7.11 الگوریتم اجماع Proof-of-Burn
- 7.11.1 الگوریتم اجماع Proof-of-Authority
- 7.11.2 الگوریتم اجماع Proof-of-Weight
- 7.11.3 الگوریتم اثبات شهرت (Proof of Reputation)
- 7.11.4 الگوریتم اثبات فضا-زمان (Proof-of-Spacetime)
- 7.11.5 الگوریتم اجماع Proof-of-Activity
- 7.11.6 الگوریتم اجماع Byzantine Fault Tolerance
- 7.11.7 (Federated Byzantine Agreement)
- 7.11.8 (Practical Byzantine Fault Tolerance)
- 7.12 الگوریتم اجماع Directed Acyclic Graphs
- 7.13 الگوریتم اجماع proof of elapsed time
- 7.14 کلام آخر
Consensus Alogrithm in Blockchain
A consensus algorithm is a procedure through which all the peers of the Blockchain network reach a common agreement about the present state of the distributed ledger. … Thus, a consensus algorithm aims at finding a common agreement that is a win for the entire network
نقد و بررسی الگوریتم اجماع در بلاک چین
مشخصات الگوریتم اجماع در بلاک چین
الگوریتم اجماع چیست؟
الگوریتم کانسنسوس یا کانسوس چیست؟
الگوریتم Consensus در ارز دیجیتال
بلاکچین یک دفترکل توزیع شده است که افراد درون شبکه مسئولیت حفاظت از آن را به عهده دارند. اما از آنجایی که بلاکچین غیرمتمرکز است باید فکری به حال نظارت در شبکه کرد، زیرا هیچ دولت یا سازمانی کار نظارت بر آن را به عهده ندارند. در شبکه بلاکچین عامل تصمیمگیرندهای که اعتبار یک بلاک را تایید یا رد کند توسط الگوریتم اجماع سنجیده میشود.
هش در بلاکچین
بهتر است پیش از تشریح مطالب در خصوص الگوریتمهای اجماع بدانیم هش در بلاکچین به چه معناست. هش یک تابع است که از آن برای تبدیل دادههایی متشکل از حروف و اعداد به دادههای رمزنگاری شده با طول خاص استفاده میشود. احتمالا میدانید که استخراج بیتکوین با اجرای تابع هش SHA-256 صورت میگیرد. وقتی یک بلاک ایجاد و به بلاکهای قبلی اضافه میشود و گرههای دیگر موجود در شبکه صحت و اعتبار آن را تایید میکنند، (به اجماع میرسند) یکپارچگی بلاکچین نیز تامین میشود زیرا عملیات هشینگ یکطرفه هستند و معکوس کردن فرایند معامله امکانپذیر نیست. به عبارتی میتوان گفت که شبکه بلاکچین فقط تراکنشهای معتبر را در خود جای میدهد که این موضوع باعث میشود شبکه بلاکچین از حمله Double Spend یا خرج دوباره و همچنین تراکنشهای اسپم در امان باشد.
اگر مفاهیم ابتدایی دنیای ارزهای دیجیتال را نمیدانید بهتر است در دوره ارز دیجیتال شرکت کنید، زیرا بدون فهم چگونگی کارکرد ارزهای دیجیتال و شبکه بلاکچین خیلی شانس موفقیت در این حوزه را نخواهید داشت.
کاربردهای الگوریتم اجماع
همانطور که پیش از این توضیح داده شد الگوریتم اجماع از شبکه بلاکچین در برابر هکرها و کسانی که قصد انتشار مطالب نامعتبر در بلاکچین را دارند محافظت میکند. این الگوریتم یک سیستم پاداشدهی برای دیگر گرههای شبکه که در تامین امنیت و حفاظت از بلاکچین نقش داشتند نیز در نظر میگیرد.
الگوریتم اجماع اثبات کار (PoW) در بلاکچین
اثبات کار فرایندی برای حفاظت از حملات اسپم در ایمیلها و DDOS و یا فرستادن دستورات زیاد در شبکه با هدف زیر فشار قرار دادن شبکه طراحی شده بود.
ساتوشی ناکاماتو توانست با ابتکار خود فرایند اثبات کار را در الگوریتم اجماع برای به توافق رسیدن چندین نفر بر سر یک مسئله که شناختی از هم ندارند به کار گیرد.
توافق بر روی یک موضوع بین افرادی که همدیگر را میشناسند چندان ساده نیست، حالا سوال اینجاست که در شبکه غیرمتمرکز بلاکچین که افراد همدیگر را نمیشناسند چطور قرار است بر سر یک مسئله به توافق برسند؟
از طرف دیگر باید صحت و اعتبار مطلب منتشر شده نیز تایید میشد.
راهکار جالب ساتوشی ناکاماتو این بود که دادههایی که باید در بلاکها نوشته شود، با کمک الگوریتمی وابسته به هش SHA-256 هش شوند. در میان افراد حاضر در شبکه، کسی که هش درست را پیدا کرده باشد باید برای گرفتن تایید، آن را به همه شبکه ارسال کند. افراد دیگر در شبکه به تایید یا رد هش ارسال شده میپردازند و در صورتی که بیش از 50 درصد (1+50) آن را تایید کنند، بلاک به عنوان یک بلاک معتبر بسته میشود. در این روش گرهای که موفق به حل مسئله شود پاداش دریافت میکند.
معایب الگوریتم اثبات کار
درست است که الگوریتمهای اجماع برای کارکردن شبکه بلاکچین ضروری هستند ولی هر کدام از انواع الگوریتمهای اجماع مزایا و معایب خود را دارند. در ادامه به برخی از مهمترین آنها میپردازیم.
- مصرف بسیار بالای برق
ماینرها برای حل مسئله بیتکوین و در نتیجه دریافت پاداش باید 24 ساعته و در هفت روز هفته دستگاههای خود را روشن نگه دارند. با توجه به وجود استخراجکنندههای بیشتر، افراد به دستگاههای قویتری نیز احتیاج پیدا میکنند و این دستگاههای قویتر برق بیشتری مصرف میکنند.
حملات 51درصدی
یکی دیگر از معایب الگوریتم اثبات کار این است که در صورتی که شخص، شرکت یا سازمانی توانایی تصاحب 51 درصد از قدرت محاسباتی شبکه را داشته باشد، عملا الگوریتم اجماع برای تامین امنیت کارساز نخواهد بود و آن شخص یا موسسه میتواند با اضافه کردن یک بلاک نامعتبر به شبکه، امنیت شبکه را به خظر بیندازد.
شاید تصور چنین مشکلی برای شبکه بیتکوین با هش بالایی که دارد خیلی منطقی نباشد اما دیگر رمزارزها که وسعت شبکه آنها به اندازه بیتکوین نیست، همواره در معرض چنین تهدیدهایی هستند.
الگوریتم اجماع اثبات سهام (PoS) در بلاکچین
یکی دیگر از روشهای موجود برای اجماع افراد مستقل حاضر در شبکه استفاده از الگوریتم اثبات سهام (Proof of stake) است. در این روش بر خلاف روش اثبات کار به دستگاه سختافزاری نیازی نیست بلکه افراد حاضر در شبکه با توجه به تعداد سهامی که دارند میتوانند شانس خود را برای بستن بلاک معتبر آزمایش کنند. درواقع شما با داشتن ارز مورد نظر و اختصاص آن به شبکه در یک مسابقه شرکت داده خواهید شد که با توجه به میزان دارایی شما از آن ارز، شانس دریافت موقعیت هش بلاک را خواهید داشت. درست مانند قرعهکشی بانک که به عنوان مثال هر 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 به عنوان یک فضایی برای انجام این فرایند در نظر گرفته شده است.
انجام فرایند قرعهکشی به سختافزار اینتل نیاز دارد، انتخاب تاییدکننده بلوک در مدت زمانی کوتاه و با روشی مطمئن انجام میشود.
کلام آخر
کمک گرفتن از الگوریتمهای اجماع با هدف حفظ ویژگی غیرمتمرکز بودن رمزارزها و شبکه بلاکچین استفاده میشود. شبکه بیتکوین که پادشاه رمزارزهاست از الگوریتم گواه اثبات کار استفاده میکند، اما باید بدانید حتی این الگوریتمی که شبکه بیتکوین به کار گرفته و درواقع اولین الگوریتم اجماع است دارای ایراداتی است.
شبکه بلاکچین اتریوم نیز در گذشته از الگوریتم اثبات کار استفاده میکرد که اخیرا به دلیل مصرف بیش از حد انرژی، آن را تغییر داده است و از الگوریتم گواه اثبات سهام استفاده میکند.
همانطور که دیدید تعداد زیادی الگوریتم اجماع وجود دارد، دلیل تعدد الگوریتمهای اجماع وجود نقص در الگوریتمهای پیشین است.
هر الگوریتم با هدف رفع نواقص الگوریتمهای پیشین به وجود آمد.