بابک | 1395.12.22

مروری بر عملکرد اثبات سهام, کار، زمان، سوزاندن و ظرفیت در بلاکچین

ما درباره این که چگونه بلاکچین ها در حال تغییر دادن جهان هستند، مطالب زیادی می شنویم. اما برای عمل کردن در سطح جهانی، یک لجر مشترک عمومی نیازمند یک الگوریتم اجماع (consensus algorithm) مؤثر، کاربردی و امن می باشد.

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

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

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

انتقاد متداول موجود این نکته می باشد که انجام این کار نیازمند انرژی محاسباتی زیادی می باشد، که برای تراکنش های تعداد زیاد مناسب نمی باشد (تایید تراکنش حدود 10-60 دقیقه زمان می برد) و اکثر استخراج کنندگان در مناطقی از جهان متمرکز می باشند که از نظر الکتریسیته ارزان می باشند.

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

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

گواه اثبات سهام (Proof of stake)

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

در این نوع از الگوریتم های اجماع، به جای سرمایه گذاری در تجهیرات کامپیوتری برای کاوش بلاک ها، یک “صحت سنج” (validator) بر روی سیستم کوین ها سرمایه گذاری می کند.

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

در رویکرد اثبات سهام، شانس شما برای انتخاب شدن برای ایجاد بلاک بعدی بستگی به کسری از سکه ها در سیستم وجود دارد که شما مالک آن هستید (یا برای شما کنار گذاشته شده است). یک صحت-سنج با 300 سکه در مقایسه با کسی که 100 سکه دارد، شانسش سه برابر می باشد.

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

هم اکنون ما وارد یک مساله می شویم. چه مساله ای می تواند یک صحت سنج را از ایجاد دو بلاک و ایجاد دو نرخ تراکنش باز دارد؟ و چگونه می توان مانع از رای دادن یک رای دهنده به هر دو بلاک شد؟ این مساله “nothing-at-stake” خوانده می شود. یک مشارکت کننده که هیچ چیزی برای از دست دادن ندارد، هیچ دلیلی برای بد عمل نکردن ندارد.

در حوزه نوظهور “رمزنگاری اقتصاد”، مهندسان بلاکچین به دنبال جستجوی راهی برای این مساله و سایر مسائل می باشند. یک پاسخ این می باشد که صحت سنج ملزم به نگهداری و مسدود کردن سکه (سهام) خود در یک حساب مجازی باشد.

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

به دنبال پییرکوین (NXT، (Peercoin و  بلک-کوین (blackcoin) اولین سکه هایی بودند که اثبات سهام در آن کاربردی شد. Ethereum در حال حاضر از اثبات کار استفاده می نماید، اما در حال برنامه ریزی برای استفاده از اثبات سهام در اوایل 2018 می باشند.

اثبات انجام فعالیت Proof of Activity

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

برخی نظریه پردازی نموده اند که این مساله شاید باعث ایجاد مسائل امنیتی حاصل از پدیده “تراژدی منابع مشترک” (tragedy of the commons) شود، جاییکه مردم برحسب میل خود عمل می نمایند و سیستم را خراب می نمایند. بنابراین، اثبات انجام فعالیت به عنوان یک ساختار انگیزشی جایگزین برای بیتکوین می باشد. اثبات انجام فعالیت به عنوان یک رویکرد ترکیبی می باشد که هر دوی اثبات انجام کار و اثبات سهام را ترکیب می کند.

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

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

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

منتقدان اثبات انجام فعالیت همانند منتقدان اثبات انجام کار (انرژی زیادی برای کاوش یک بلاک لازم می باشد) و اثبات سهام (چیزی برای بازداشتن یک صحت سنج از دو امضا وجود ندارد) می باشند.

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

اثبات سوزاندن Proof of burn

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

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

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

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

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

اثبات وجود ظرفیت Proof of capacity

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

پیش از این که شما در یک سیستم اثبات ظرفیت استخراج نمایید، الگوریتم مورد نظر مجموعه عظیمی از داده ها را تولید می نماید که به عنوان “پلات” (plots) شناخته می شوند، که شما آن ها را در هارد درایو خود ذخیره می نمایید. هر چقدر شما پلات بیشتری داشته باشید، شانس بیشتری برای یافتن بلاک بعدی در زنجیره خود خواهید بود.

با سرمایه گذاری در هاردهای با ظرفیت ترابایت، شما برای خود شانس بیشتری برای ایجاد بلاک های دوگانه و انشعاب سیستم خریداری می نمایید. اما با اثبات ظرفیت، ما هنوز با مشکل “nothing-at-stake” و بازداشتن عاملان مخرب مواجه هستیم.

گونه های مختلف اثبات ظرفیت شامل اثبات ذخیره و اثبات فضا می باشند. burstcoin یکی از ارز رمزنگاری شده برای استفاده شدن به عنوان فرمی از اثبات ظرفیت می باشد.

اثبات گذشت زمان Proof of elapsed time

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

علاوه براین، به جای واداشتن مشارکت کنندگان به حل معمای رمزنگاری، الگوریتم از محیط اجرای معتبر (trusted execution environment -TEE) همانند SGX برای اطمینان در تولید بلاک ها به صورت تصادفی و بدون نیاز به انجام کار لازم بهره می برد.

رویکرد اینتل، مبتنی بر مدت زمان انتظار گارانتی شده می باشد که در قالب روش TEE می باشد. بر حسب کار اینتل، الگوریتم اثبات گذر زمان برای هزاران نود قابل استفاده می باشد و به صورت موثر بر روی همه پردازنده های اینتل که SGX (Software Guard Extensions) را حمایت می کنند قابل اجرا می باشد.

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

 

[symple_divider style=”solid” margin_top=”” margin_bottom=””]

 Source Image via Economist