بزرگنمايي:
راه ترقی - در این مقاله با مفهوم اجماع در بلاک چین و انواع آن، آشنا میشویم و به بررسی تفاوت گواه بر کار (PoW) و گواه بر سهام (PoS) میپردازیم.
اجماع در دنیای رمزنگاری، بهطور مختصر، یک روش تصمیمگیری به هدف اطمینان از توافق است. در این توافق همهی شرکتکنندگان شبکه باید بر افزودن اطلاعات جدید، بلاک داده یا تراکنش انجامشده، نظری یکسان داشته باشند. به عبارت دیگر، پروتکل اجماع، صحت زنجیره را تضمین و برای نگه داشتن شرکتکنندگانی صادق، انگیزه ایجاد میکند. ایجاد این ساختار، اطمینان از پیروی همهی کاربران از قوانین شبکه و جلوگیری از کنترل کل سیستم توسط یک شخص خاص را امکانپذیر میکند. عناوینی که در این مقاله خواهید خواند:
اهمیت اجماع بلاک چین اصول گواه بر کار و اصول گواه بر سهام انتخاب گواه بر کار و انتخاب گواه بر سهام چگونگی تأیید تراکنشها در الگوریتم گواه بر کار چگونگی تأیید تراکنشها در الگوریتم گواه بر سهام معایب الگوریتم مدل گواه بر سهام مقایسهی الگوریتم گواه بر کار با گواه بر سهام گواه بر سهام واگذارشده گواه بر زمان سپریشده گواه بر ظرفیت یا گواه بر فضا گواه بر مفهوم گواه بر موقعیت گواه بر سوزاندن اهمیت اجماع بلاک چین
قبل از بررسی اجماع باید با بلاک چین و طرز کار آن آشنا شویم. در مقالهی بلاک چین چیست؛ فناوری دمکراتیک و خودمختار بهطور کامل به مبحث بلاک چین و کارکرد آن پرداختهایم؛ اما در ادامه، بهطور خلاصه نحوهی کار بلاک چین را بازبینی میکنیم. دو خصوصیت مهم بلاک چین ، تمرکززدایی و تاریخچهی غیر قابل تغییر است. بلاک چین، پایگاه داده توزیعشدهای است که کامپیوترهای موجود در شبکه، یا همان گرهها (نودها)، به شکل مشترکی در آن نگهداری میشوند. همه گرهها، دفتر کل کاملی هستند که کل سوابق تراکنشها را در بلاک چین محفوظ نگه میدارند. از این رو به فناوری آن، «شبکه دفتر کل توزیعشده» (DLT)، گفته میشود. این شبکه پایدار است و با خارج کردن هرکدام از سرورهای مرکزی از بین نمیرود. سوابق بلاک یا بهاختصار، همان «بلاک»، از طریق پروتکلی به هم پیوند داده میشوند و هیچ کدام قابل حذف یا تغییر نیستند. افزودن بلاکی جدید، تنها راه بهروزرسانی بلاک چین است و هر گره، میتواند بدون اجازهی مرجع مشخصی، این کار را انجام بدهد. اگر گرهای بدون در نظر گرفتن استانداردهای از پیش تعیینشده بلاکی ایجاد کند، آن بلاک توسط گرههای دیگر نادیده گرفته میشود؛ اما اگر گره ناسازگار همچنان (برخلاف استانداردها)، بلاک ایجاد کند و چند گرهی دیگر نیز با تکیه به آن بلاک، شروع به ایجاد بلاک کنند، در جامعه اختلاف به وجود میآید و جامعه میتواند برای برگرداندن وضعیت شبکه به شرایط قبلی، هاردفورک (بهروزرسانی، ایجاد تغییراتی یا تعریف نسخهای جدید از بلاک چین)، انجام بدهد؛ اما هاردفورکهای مکرر، بر پایداری شبکه تأثیر میگذارند. برای جلوگیری از ایجاد چنین گرههای ناهمگونی که باعث هاردفورک مکرر میشوند، یک مکانیسم اجماع لازم است. مقالههای مرتبط:
حمله DDoS چیست و چگونه از خود در برابر آن محافظت کنیم هک شبکه بلاک چین؛ نفوذپذیر یا نفوذناپذیر
همچنین ممکن است گرههای مخربی با استفاده از حملهی انکار سرویس توزیعشده ( DDoS )، بر دیگر گرههای شبکه غلبه کنند و باعث ایجاد تراکنش اشتباه شوند: بهعنوان مثال، دو بار خرج کردن (Double-Spend) که در آن یک رمزارز دو بار خرج میشود. برای جلوگیری از این اتفاقات، سازوکار اجماع لازم است. ابتدا نگاهی کامل به مطرحترین سازوکارهای اجماع یعنی گواه بر کار (PoW) و گواه بر سهام (PoS)، خواهیم انداخت و در ادامه چند سازوکار شناختهشدهی دیگر را بهطور مختصر، معرفی خواهیم کرد.
هنگامی که ساتوشی ناکاموتو در حال ساخت اولین رمزارز ( بیت کوین ) بود، برای تأیید تراکنشها بدون نیاز به شخصی ثالث، پروتکل گواه بر کار را ایجاد کرد. اساساً هدف از ایجاد این پروتکل، اطمینان از اعتبار تراکنش و رخ ندادن حمله بوده است. گواه بر کار بر اساس مدل پیشرفتهای از ریاضیات به نام رمزنگاری طراحی شده است و به همین دلیل سکههای دیجیتال مانند بیت کوین یا اتریوم ، رمزارز نامیده میشوند. معادلات ریاضی رمزنگاری به خاطر پیچیدگی، تنها به وسیلهی کامپیوترهای قدرتمند قابل حل هستند و هیچ معادلهای یکسان نیست؛ به همین دلیل وقتی معادلهای حل شد، شبکه میداند تراکنش معتبر است. مقالههای مرتبط:
ساتوشی ناکاموتو، شخصیت افسانهای ارزهای دیجیتال، چه کسی است؟ عدم مقیاس پذیری، بزرگترین مشکل بلاک چین
بسیاری از بلاکچینها، کد اصلی بیت کوین را کپی کردهاند و به همین دلیل، الگوریتم مورد استفادهشان نیز گواه بر کار است. این الگوریتم اختراعی شگفتانگیز محسوب میشود؛ اما بههیچوجه کامل نیست و نهتنها مصرف برق بسیار بالایی دارد، بلکه تعداد تراکنشهای همزمان ممکن در آن بسیار محدود است؛ به همین دلیل سازوکارهای اجماع دیگری ایجاد شدند که یکی از مشهورترین آنها، مدل گواه بر سهام است. الگوریتم گواه بر سهام، برای اولین بار در سال 1391 (2012)، توسط دو توسعهدهنده به نامهای اسکات نادال و سانی کینگ ساخته شد. در زمان راهاندازی، بنیانگذاران آن انرژی مصرفی روزانه برای استخراج بیت کوین، با استفاده از الگوریتم گواه بر کارش را معادل صد و پنجاه هزار دلار تخمین زدند. تا به امروز این رقم به میلیونها دلار رسیده است. اولین پروژهی بلاک چینی که از الگوریتم گواه بر سهام استفاده کرد، پیرکوین (Peercoin) بود. مزایای اولیهی این الگوریتم شامل سیستم استخراج عادلانهتر و برابرتر، تراکنشهای مقیاسپذیرتر و اتکای کمتر به برق بود. دومین رمزارز مطرح جهان، اتریوم، به خاطر همین مزایا در تلاش برای تغییر الگوریتم خود از گواه بر کار به گواه بر سهام است. تاریخ این انتقال هنوز تأیید نشده؛ اما تیم توسعهدهندهی آن برای این هدف بهسختی تلاش میکند. انتخاب گواه بر کار و انتخاب گواه بر سهام
مهمترین رمزارزی که از گواه بر کار استفاده میکند، بیت کوین است. با هر بار ارسال تراکنش، تأیید شبکه حدود 10 دقیقه طول میکشد. علاوه بر این، بلاک چین بیت کوین فقط میتواند حدود 7 تراکنش در ثانیه انجام بدهد و از زمان شروع این پروژه در سال 1388 (2009)، این امر، به مقدار قابل توجهی، منجر به افزایش هزینهی تراکنشها شده است. بهعنوان مثال، کارمزد تراکنشهای بیت کوین در ابتدا مبلغ بسیار کمی (کمتر از یک سنت)، بود و انتقال مقادیر کم را بهراحتی امکانپذیر میکرد؛ اما با نگاهی به نمودار زیر، متوجه میشویم که این مبلغ برای هر تراکنش در شلوغترین دورهی خود (آذر 1396 - دسامبر 2017) تا 40 دلار افزایش یافت. این هزینهها از آن زمان کاهش یافته است؛ اما همچنان بهعنوان یک سیستم پرداخت جهانی، بسیار بالا است و مهمترین دلیل آن، عمدتاً به محدودیتهای الگوریتم گواه بر کار مربوط میشود. اتریوم نیز از این الگوریتم استفاده میکند. جالب اینجا است که تیم توسعهدهندهی آن با چند تغییر در کد اصلی، زمان لازم برای پردازش هر تراکنش را به 16 ثانیه رساند. این زمان هنوز بهینه نیست؛ اما بهمراتب سریعتر از 10 دقیقهی بیت کوین است. مشکلات مقیاسپذیری گواه بر کار در بیت کوین، برای اتریوم نیز دردسرساز است. حداکثر تعداد تراکنشهایی که بلاک چین اتریوم میتواند پردازش کند، 15 تراکنش در ثانیه است که باز هم خیلی کمتر از نیاز شبکه است. تاریخ انتقال الگوریتم اتریوم به گواه بر سهام هنوز رسمی نیست؛ اما امید است که بعد از انتقال، این تعداد به هزار پردازش در ثانیه افزایش پیدا کند. مقالهی مرتبط:
در گیرودار قیام ماینرها، انتقال به اتریوم 2 سرعت میگیرد
دقیقاً مانند اتریوم، بلاک چینهای دیگر نیز با تغییر الگوریتم گواه بر کار بهنوعی که از روند اعتبارسنجی تراکنش پشتیبانی کند، از نسخهی تغییریافتهی آن استفاده میکنند. از دیگر بلاک چینهای مشهور با این الگوریتم، میتوان به بیت کوین کش (Bitcoin Cash) و لایت کوین (Litecoin) اشاره کرد. از طرف دیگر، اکنون برخی از رمزارزهای محبوب از الگوریتم گواه بر سهام استفاده میکنند. یکی از آنها دش (Dash) است که به کاربر، تنها در عرض چند ثانیه اجازهی ارسال و دریافت وجه میدهد. بلاک چین معروف دیگر، نئو (NEO - معروف به اتریوم چینی) است که از زمان راهاندازی در سال 1395 (2016)، ارزش کوینهای خود را بیشتر از صد هزار درصد افزایش داده است! چگونگی تأیید تراکنشها در الگوریتم گواه بر کار
بلاک چینهای زیادی از الگوریتم گواه بر کار استفاده میکنند و روند کار این الگوریتم، در همهی این ارزهای دیجیتال مشابه است. در زیر برای مثال از رمزارز بیت کوین استفاده میکنیم: قبلاً اشاره شد که تراکنشهای بیت کوین، برای تأیید شدن به ده دقیقه زمان نیاز دارند. در این ده دقیقه، یک بلاک جدید ایجاد میشود. هر بلاک، شامل تراکنشهای مختلفی است که باید بهطور مستقل تأیید شوند. برای دستیابی به این هدف در شبکهی بیت کوین بدون حضور شخص ثالث، کسی باید از قدرت محاسباتی خود برای حل الگوریتم رمزنگاری استفاده کند. پس از این تأیید، تراکنش معتبر شناخته و برای مشاهدهی همه در بلاک چین عمومی ارسال میشود. سؤالی که مطرح میشود این است: چرا کسی فقط برای کمک به تأیید تراکنشهای بیت کوین، علاوه بر خرید سختافزار، برق زیادی مصرف میکند. سادهترین پاسخ این است که در عوض این تلاش کاربرها، بهعنوان پاداش، بیت کوین (یا هر رمزارز دیگر که به تأیید الگوریتم گواه بر کار برسد)، دریافت میکنند. نکته مهم و قابل توجه این است که همه جایزه نمیگیرند. هزاران دستگاه مستقل برای پیشی گرفتن در حل الگوریتم با هم رقابت میکنند و هر کس که سریعتر موفق شود، پاداش دریافت میکند. به همین دلیل، الگوریتم گواه بر کار را ناعادلانه میدانند؛ چرا که کاربرانی با سختافزار قدرتمندتر و طبیعتا گرانتر، شانس بیشتری برای برنده شدن دارند. به دلیل نحوهی ایجاد معادلات، تنها راه برای حل آنها، روش آزمون و خطا است. معادله: 7+5؟ پاسخ: 12 بین ماینر 1 و ماینر 2 ، برنده کسی است که اول جواب را پیدا کند. ماینر شمارهی 1 در تلاش اول خود به پاسخ 10 میرسد، در دومین تلاش به عدد 13 و در تلاش سوم به عدد 9. همهی این پاسخها نادرست هستند. ماینر شمارهی 2 در تلاش اول خود به پاسخ 17 میرسد، در دومین تلاش به عدد 8 و در تلاش سوم به عدد 12. دو پاسخ اول نادرست هستند و در تلاش سوم به پاسخ درست میرسد. با توجه به مثال بالا، ماینر شمارهی 2 زودتر به پاسخ صحیح رسید و پاداش به او میرسد. در دنیای واقعی، کامپیوترها میتوانند در ثانیه، میلیونها ترکیب مختلف را حدس بزنند که این کار با مصرف مقدار زیادی برق همراه است. هرچه سختافزار مورد استفاده قدرتمندتر یا تعداد سختافزارها بیشتر باشد، شانس بالاتری برای حل معادله وجود دارد و همین امر، ناعادلانه بودن این سیستم را نشان میدهد.
چگونگی تأیید تراکنشها در الگوریتم گواه بر سهام
الگوریتم گواه بر سهام، از فرایند متفاوتی برای تأیید تراکنشها و اجماع استفاده میکند. پایهی الگوریتم، همان رمزنگاری است؛ اما فرایند رسیدن به پاسخ تفاوت دارد. در سیستم گواه بر کار، ماینر برای حل معادلات پیچیده پاداش دریافت میکند؛ اما در سیستم گواه بر سهام، هر فرد بسته به مقدار سهمی که در شبکه به اشتراک میگذارد، میتواند بلاک بعدی را ایجاد کند. برای توضیح سادهتر، سهم هر فرد بر اساس تعداد کوینهایی که او در بلاک چین سرمایهگذاری میکند، در نظر گرفته میشود. از نظر فنی در این سیستم، عملی که کاربر انجام میدهد، بهجای استخراج، فورج (Forge) میخوانند؛ چرا که پاداش بلاک در کار نیست و ماینرها تنها کارمزد تراکنشها را دریافت میکنند. در این روش تعداد واحدهای رمزارز مورد نظر هرگز تغییری نمیکند؛ چرا که از قبل استخراج شدهاند و به همین دلیل به ماینرها در این روش، فورجر (Forger) یا تأییدکننده هم میگویند. چگونگی تأیید موفقیتآمیز تراکنش از سمت فورجرها، به این صورت است که در وهلهی اول برای داشتن امکان اعتبارسنجی تراکنشها، کاربر باید کوینهای خود را در ولت مشخصی قرار بدهد. این ولت، کوین را بهعنوان سرمایهی به اشتراک گذاشتهشده، بلوکه میکند. بیشتر بلاک چینهای مبتنی بر گواه بر سهام، مقدار حداقلی کوین برای این کار مشخص میکنند که معمولا مقداری قابل توجه است. بهعنوان مثال، برای تأیید تراکنشهای شبکهی دش (Dash) باید حداقل هزار کوین این رمزارز بلوکه شود. در آذر 1396 (دسامبر 2017)، زمانی که این رمزارز به بالاترین نرخ خود رسیده بود، معادل یک و نیم میلیون دلار در دنیای واقعی ارزش داشت. جدای از حداقل کوین مورد نیاز در ولت برای بلوکه شدن، احتمال برنده شدن به درصد دارایی کوینهای هر فرد مرتبط است. برای مثال: فردی با هدف به دست آوردن پاداش، تصمیم می گیرد مقداری کوین در بلاک چین به اشتراک بگذارد. فرض کنیم کوین های در گردش در این بلاک چین در کل، هزار کوین باشد. فرد مورد نظر صد عدد کوین در اختیار بلاک چین قرار میدهد؛ این یعنی ده درصد از کل سکه های در گردش را ذخیره کرده و شانس برنده شدنش ده درصد است. بنابراین الگوریتم گواه بر کار برای استخراج به تلاش همهی ماینرها برای حل معادلات نیاز دارد و فردی که قدرتمندترین یا بیشترین تعداد سختافزار را داشته باشد، برنده خواهد بود؛ درحالیکه الگوریتم گواه بر سهام، برنده را بهصورت تصادفی و با توجه به مقدار کوین هر فرد در بلاک چین انتخاب میکند. مهمترین نظریهای که از الگوریتم گواه بر سهام حمایت میکند، این است که سهامداران آن با انجام صحیح کارها میتوانند به حفظ امنیت شبکه کمک کنند. اگر تاییدکنندهای با انجام تراکنش مخرب سعی در هک شبکه داشته باشد، کل دارایی خود را از دست میدهد.
این مهمترین دلیل برای کارکرد خوب این الگوریتم است. سهام بیشتر، درآمد بیشتری به همراه دارد؛ در عین حال، حرکت برخلاف جهت سیستم باعث از دست دادن دارایی خواهد شد. مقایسهی الگوریتم گواه بر کار با الگوریتم گواه بر سهام
بسیاری معتقدند که مدل گواه بر سهام، عملکردی بهتری از مدل گواه بر کار دارد؛ چرا که بسیاری از مشکلات را از بین میبرد. تمرکز
ماینرهای بیت کوین کش با حملهی 51 درصد، تراکنش هکرها را بازگردانی کردند
در سازوکار اجماع گواه بر سهام، تلاش برای انجام حملهی 51 درصد منطقی نیست؛ چرا که برای دستیابی به آن، فرد مخرب باید حداقل 51 درصد از کل رمزارزهای گردش را به دست آورد. تنها راه انجام این کار، خرید سکه در بازار آزاد است که در جریان این کار، ارزش سکه در دنیای واقعی افزایش پیدا میکند و در نهایت باید مقدار قابل توجهی بیش از آنچه میتوان از حمله به دست آورد، هزینه کرد. علاوه بر این، زمانی که بقیه اعضای شبکه متوجه موضوع شوند، این فرد همه سهام خود را از دست خواهد داد! بعد از این همه نکوهش سیستم گواه بر کار و تعریف از الگوریتم گواه بر سهام، معایب الگوریتم گواه بر سهام را نیز بررسی میکنیم: معایب الگوریتم مدل گواه بر سهام
اولین دغدغه هنگام بحث در مورد برتری الگوریتم گواه بر سهام در مقابل گواه بر کار، این است که برخی از افراد معتقدند مدل گواه بر سهام به ثروتمندتر شدن ثروتمندان کمک میکند. چرا که هرچه توانایی خرید سکه بیشتر باشد، درآمد حاصل از سکههای قرار دادهشده در بلاک چین بیشتر خواهد بود؛ یعنی اگر فردی پول کافی و لازم برای قرار دادن در شبکه داشته باشد که معمولا ندارد، بازگشت سرمایهی بسیار خوبی خواهد داشت. افراد با پول بیشتر، همیشه شانس بیشتری برای دریافت پاداش خواهند داشت و ثروتمندان، ثروتمندتر خواهند شد. این عیب در این الگوریتم با مشکل گفتهشده دربارهی الگوریتم گواه بر کار تفاوت چندانی ندارد: ماینرهای ثروتمند میتوانند بهسادگی هزاران دستگاه اسیک بخرند. دومین نگرانی دربارهی الگوریتم گواه بر سهام، توانایی تأیید تراکنشها در چندین زنجیره توسط افراد است که طی آن، احتمال انجام حملهی دابل-اسپند، قدرت میگیرد. در این نوع حمله، فرد خرابکار موفق میشود بعد از انتقال وجه و قبل از تأیید آن، یک بار دیگر وجه را خرج کند. در شرایط عادی، سایر ماینرها با مشاهدهی این موضوع از چنین تلاشی جلوگیری میکنند. البته در سیستم گواه بر کار، تنها دستگاهها امکان استخراج روی زنجیره دارند؛ در آن صورت زنجیرهی خاطی بهسادگی حذف خواهد شد. از طرف دیگر در مدل گواه بر سهام، فورجرها هزینهای برای استخراج از چندین زنجیره صرف نمیکنند که همین امر، احتمال حملهی دابل-اسپند را افزایش میدهد. نتیجهگیری مقایسهی الگوریتم گواه بر کار با گواه بر سهام
در ادامه به معرفی چند الگوریتم مطرح اجماع دیگر میپردازیم: گواه بر سهام واگذارشده (DPoS)