الگوریتم اجماع در هسته شبکه ارزهای دیجیتال غیر متمرکز مبتنی بر بلاک چین قرار دارد. در این مطلب با دو مکانیزم اجماع مهم نیز آشنا میشویم.
الگوریتم اجماع مکانیزمی است که به کاربران یا ماشینها اجازه میدهد تا در یک فضای توزیعشده با یکدیگر همکاری کنند. لازمه این عمل کسب اطمینان از اتفاق نظر تمامی عوامل سیستم در مورد یک منبع حقیقی است تا به عبارتی به اجماع برسند، حتی اگر برخی از عوامل در رسیدن به این توافق شکست بخورند. به عبارت دیگر سیستم باید در برابر خطا توانایی تاب آوری بالایی داشته باشد.
در یک ساختار متمرکز، یک موجودیت واحد میتواند بر کل سیستم اعمال قدرت داشته باشد. در بیشتر موارد، آنها میتوانند هر تغییراتی که مایل هستند را ایجاد کنند. به عبارتی هیچ سیستم حاکمیتی پیچیدهای برای دستیابی به یک اجماع بین بسیاری از مدیران وجود ندارد.
حال آنکه در یک ساختار غیرمتمرکز، داستان به کلی متفاوت است. فرض کنید که ما با یک پایگاه داده توزیع شده کار میکنیم. در این حالت چگونه می توانیم در مورد ورودی هایی که اضافه میشوند به توافق برسیم؟
غلبه بر این چالش در محیطی که غریبهها به یکدیگر اعتماد ندارند، شاید حیاتیترین پیشرفتی بود که راه را برای بلاک چینها هموار نمود. در این مقاله، نگاهی خواهیم داشت به اینکه چگونه الگوریتم اجماع برای عملکرد ارزهای دیجیتال و دفتر کلهای توزیع شده حیاتی است.
ارزهای دیجیتال و الگوریتم اجماع
در ارزهای رمز نگاری شده، موجودی حساب کاربران در یک پایگاه داده که در واقع همان بلاک چین میباشد، ثبت میشود. در چنین وضعیتی ضروری است که هر فرد یا اگر بخواهیم دقیق تر بگوییم هر گره یا نود، یک کپی یکسان از پایگاه داده را نگهداری کند. چرا که در غیر این صورت، به زودی با اطلاعات متناقضی مواجه خواهیم شد که کل هدف شبکه ارزهای دیجیتال را تضعیف میکند.
رمز نگاری کلید عمومی تضمین میکند که کاربران نتوانند ارز دیجیتال یکدیگر را خرج کنند. اما هنوز باید یک منبع حقیقی وجود داشته باشد که مشارکت کنندگان شبکه با تکیه بر آن بتوانند تشخیص دهند که آیا یک سرمایه قبلاً خرج شده است یا خیر.
خالق ارز دیجیتال بیت کوین، آقای ساتوشی ناکاموتو سیستم اثبات کار را برای هماهنگ کردن شرکت کنندگان پیشنهاد کرد. به زودی در خصوص نحوه عملکرد الگوریتم اجماع اثبات کار به تفصیل صحبت خواهیم کرد. اما در این مقاله، برخی از ویژگیهای مشترکی که در بسیاری از الگوریتمهای اجماع وجود دارد را شناسایی خواهیم نمود.
در ابتدا ما از کاربرانی که میخواهند بلوکها را اضافه کنند و ما آنها را اعتباردهنده مینامیم، درخواست میکنیم که سهام خود را ارائه دهند. این سهام یا استیک نوعی ارزش است که اعتبار دهنده باید ارائه کند. ریسکی که ارائه سهم به دنبال خواهد داشت اعتبار دهندهها را از رفتار غیر صادقانه منصرف میکند. چرا که آنها در صورت تقلب، سهام خود را از دست خواهند داد. در این خصوص به عنوان مثال میتوان به قدرت محاسباتی، ارز دیجیتال یا حتی آبروی کاربر اشاره کرد که در صورت بروز رفتارهای غیر صادقانه، مورد تهدید قرار خواهند گرفت.
ممکن است سوال پیش بیاید که چرا آنها به خود زحمت میدهند که منابع خود را به خطر بیندازند؟ خوب، باید بگوییم که یک جایزه نیز در دسترس است. این جایزه معمولاً شامل ارز دیجیتال اصلی و بومی پروتکل بوده و از هزینههای پرداخت شده توسط سایر کاربران، یا واحدهای ارز دیجیتال تازه تولید شده، و یا هر دو مورد تشکیل میشود.
آخرین چیزی که ما نیاز داریم شفافیت است. ما باید قادر باشیم که به محض اینکه کسی تقلبی مثلا در زمان خرید و فروش ارز دیجیتال انجام داد آن را شناسایی کنیم. در حالت ایدهآل، تولید بلوک برای افراد، امری هزینهبر خواهد بود، اما اعتبارسنجی این بلوکها برای همه افراد ارزان است. این موضوع تضمین میکند که اعتبارسنجیها توسط کاربران عادی کنترل شوند.
انواع الگوریتم اجماع در بلاک چین
الگوریتم اجماع انواع مختلفی دارد اما دو نوع آن در بلاک چین ارزهای دیجیتال بسیار رایجتر هستند. در ادامه، این دو الگوریتم یعنی اثبات کار (Proof Of Work) و اثبلات سهام (Proof Of Stake) را بررسی میکنیم.
الگوریتم اثبات کار (PoW)
الگوریتم اجماع اثبات کار پدرخوانده الگوریتمهای اجماع در بلاک چین است. البته لازم به ذکر است که اگرچه این الگوریتم برای اولین بار در بیت کوین پیادهسازی شد، اما مفهوم واقعی آن حتی پیش از خلق رمز ارز بیت کوین نیز وجود داشته است.
در الگوریتم اجماع اثبات کار، تأییدکنندهها که از آنها به عنوان ماینر نام برده میشود، دادههایی که میخواهند اضافه کنند را تا زمانی که یک راه حل خاص تولید کنند، «هش» میکنند.
هشینگ چیست؟
هش یک رشته به ظاهر تصادفی از حروف و اعداد است که زمانی که بخواهید دادهها را از طریق یک «تابع هش» اجرا کنید ایجاد میگردد. هش کردن یا هشینگ به فرآیندی گفته میشود که در آن یک عملگر ریاضی به نام تابع هش، دادههای ورودی مانند حروف و اعداد و تصویر و … را به خروجی رمزگذاری شده تبدیل میکند. به تابع هش، «تابع درهم ساز» نیز گفته میشود. در واقع هش خروجی تابع هش میباشد. اگر دادههای یکسان را از طریق تابع هش اجرا کنید، همیشه با یک خروجی یکسان مواجه خواهید شد. اما ایجاد تغییری جزئی، حتی تغییر دادن یکی از جزئیات، باعث خواهد شد که هش شما کاملاً متفاوت گردد.
شما با نگاه کردن به خروجی، به احتمال فراوان نمیتوانید بفهمید که ورودی تابع چه دادههایی بوده است. بنابراین، آنها برای اثبات اینکه شما یک قطعه داده را قبل از زمان مشخصی میدانستید مفید هستند. میتوانید هش آن را به شخصی بدهید، و وقتی بعداً دادهها را فاش کردید، آن شخص میتواند هش شما را از طریق تابع اجرا کند تا مطمئن شود خروجی یکسان است.
در الگوریتم اجماع اثبات کار، پروتکلی وجود دارد که شرایطی را تعیین میکند تا بواسطه این شرایط، یک بلوک معتبر گردد. به عنوان مثال، ممکن است بگوید فقط بلوکی که هش آن با 00 شروع میشود معتبر خواهد بود.
تنها راه ماینر برای ایجاد بلوکهایی که با ترکیب تعیین شده منطبق باشند، بروت فورس (Brute force) کردن ورودیها است. آنها میتوانند پارامتری را در دادههای خود تغییر دهند تا برای هر حدس، نتیجه متفاوتی ایجاد کنند. آنها این عمل را آنقدر تکرار کرده تا به هش درست دست پیدا کنند.
استخراج ارز دیجیتال با سخت افزار هشینگ
در بلاک چینهای اصلی مانند بیت کوین، نمودار میلهای به طرز چشمگیری بالا است. در این حالت شما برای رقابت با سایر ماینرها، به یک انبار پر از سخت افزار هشینگ ویژه یا همان ریگ ماینینگ (Rig Mining) نیاز دارید. بهترین ریگ ماینینگ برای هشینگ بیت کوین، ای سیک (ASIC) است که شانس تولید یک بلوک معتبر را به شما میدهد. ای سیک یک مدار مجتمع است که به منظور انجام عملیات خاصی طراحی شده و در مقایسه با یک مدار معمولی، سرعت محاسبات بسیار بالاتری داشته و مصرف برق کمتری نیز در پی دارد. اما در عین حال، هزینه تولید این دستگاه نیز بسیار بالاتر از تولید یک دستگاه معمولی است.
سهم شما هنگام استخراج شامل مخارج این دستگاهها و تآمین برق مورد نیاز برای راه اندازی آنهاست. ای سیکها تنها برای یک هدف ساخته شدهاند، بنابراین خارج از حوزه استخراج ارزهای دیجیتال هیچ کاربردی ندارند. برعکس بقیه ریگ ماینینگها؛ مانند ریگ ماینینگ تشکیل شده از GPU که مثلا برای گیم هم کاربرد دارد. تنها راه شما برای بازگرداندن سرمایه اولیه، استخراج است که اگر با موفقیت یک بلوک جدید را به بلاک چین اضافه کنید، پاداش قابل توجهی برای شما به همراه خواهد داشت.
تأیید اینکه شما واقعاً بلوک درستی را ایجاد کردهاید، برای الگوریتم اجماع امری فاقد اهمیت است. حتی اگر تریلیونها ترکیب مختلف را برای بدست آوردن یک هش مناسب امتحان کرده باشید، تنها یک ترکیب است که باید دادههای شما را از طریق یک تابع اجرا کند. اگر دادههای شما یک هش معتبر تولید کند، پذیرفته شده و شما پاداش خود را دریافت خواهید کرد. در غیر این صورت، شبکه آن را رد میکند و شما زمان و برق خود را بیهوده تلف خواهید کرد.
الگوریتم اثبات سهام (PoS)
مکانیزم اثبات سهام در روزهای اولیه ظهور بیت کوین به عنوان گزینه جایگزین برای الگوریتم اجماع اثبات کار پیشنهاد شد. در یک سیستم اثبات سهام، مفاهیمی مانند استخراج و ماینینگ، سخت افزارهای تخصصی و یا مصرف انبوه انرژی، کاملا بی معنی هستند. تنها چیزی که شما در این نوع الگوریتم اجماع نیاز دارید یک کامپیوتر معمولی است.
خب البته این همه ماجرا نیست، شما همچنان باید سهم خود را در این سیستم نیز به عهده بگیرید. در الگوریتم اجماع اثبات سهام شما یک منبع خارجی مانند برق یا سخت افزار ارائه نمیکنید بلکه؛ به جای آن یک منبع داخلی که همان ارز دیجیتال است، ارائه خواهید کرد. قوانین در پروتکل هر کدام از شبکههای ارز دیجیتال متفاوت است، اما به طور کلی برای واجد شرایط بودن جهت به جریان انداختن سهام، باید یک مقدار حداقلی از سرمایه دیجیتال داشته باشید.
بنابراین، شما وجوه خود را در یک کیف پول قفل میکنید. این بدان معنا است که زمانی که شما در حال به جریان انداختن سهام خود هستید، نمیتوانید وجوه قفل شده را جا به جا کنید. شما معمولاً در مورد اینکه چه تراکنشهایی در بلوک بعدی انجام میشود، با تأیید کنندههای دیگر موافقت خواهید کرد. به عبارتی، شما روی بلوکی که قرار است انتخاب شود شرط بندی میکنید و این بلوک را پروتکل انتخاب خواهد کرد.
اگر پروتکل بلوک شما را انتخاب کند، بسته به میزان سهامی که به جریان در آوردهاید، مقداری از کارمزد تراکنش را دریافت خواهید کرد. هر چه سرمایه بیشتری را قفل کرده باشید، سود بیشتر به دست خواهید آورد.
اما اگر با پیشنهاد دادن معاملات نامعتبر سعی کنید پروتکل را فریب داده و تقلب کنید، بخشی از سهام خود را، و در برخی موارد کل سهام خود را از دست خواهید داد. بنابراین در اینجا نیز ما با مکانیزمی مشابه با الگوریتم اجماع اثبات کار رو به رو هستیم که طبق آن، صادقانه عمل کردن سود بیشتری نسبت به رفتار غیر صادقانه خواهد داشت.
به طور کلی، ارزهای دیجیتال تازه ایجاد شده به عنوان بخشی از پاداش تأیید کنندهها در نظر گرفته نمیشود. بنابراین، ارز بومی بلاک چین باید به روش دیگری صادر شود. این امر را می توان از طریق توزیع اولیه، که شامل عرضه اولیه ارز به صورت شخصی (ICO) یا عرضه اولیه ارز توسط صرافیهای ارز دیجیتال (IEO) میباشد انجام داد. همچنین میتوان با راهاندازی پروتکل با استفاده از الگوریتم اجماع اثبات کار، قبل از اینکه پروتکل به الگوریتم اجماع اثبات سهام انتقال پیدا کند، این مهم را به انجام رساند.
تا به امروز، مکانیزم اثبات سهام خالص فقط در ارزهای دیجیتال کوچکتر به کار گرفته شده است. بنابراین هنوز مشخص نیست که آیا میتواند جایگزین مناسبی برای مکانیزم اثبات کار باشد یا خیر. لازم به ذکر است که گرچه الگوریتم اجماع اثبات سهام از نظر تئوری کاملا درست به نظر میرسد، اما ممکن است در عمل نتیجه کاملا متفاوتی در پی داشته باشد.
در صورتی که الگوریتم اجماع اثبات سهام در شبکهای با ارزش مالی فراوان راهاندازی گردد، سیستم به میدانی جهت بازیهای تئوری و مشوقهای مالی تبدیل خواهد شد. هر کسی که دانش “هک کردن” یک سیستم اثبات سهام را داشته باشد احتمالاً تنها در صورتی این کار را انجام میدهد که بتواند از آن سود ببرد. بنابراین، تنها راه برای اینکه بفهمیم این مکانیزم در عمل چگونه است، پیاده سازی آن روی یک شبکه زنده است.
در این خصوص به زودی شاهد آزمایش الگوریتم اجماع اثبات سهام در مقیاس بزرگ خواهیم بود. به همین منظور کسپر (Casper) به عنوان بخشی از یک مجموعه ارتقاء روی شبکه اتریوم که در مجموع به عنوان اتریوم 2.0 شناخته می شود اجرا خواهد شد. کسپر الگوریتمی است که بر اساس اثبات سهام کار میکند و برای اولین بار در سال ۲۰۱۸ در شبکه اتریوم انتشار یافت.
سایر انواع الگوریتم اجماع
الگوریتمهای اثبات کار و اثبات سهام پرمخاطبترین الگوریتمهای اجماع هستند. اما طیف گستردهای از موارد دیگر نیز هستند که همگی مزایا و معایب خاص خود را دارند. در آینده به سایر الگوریتمهای اجماع نیز خواهیم پرداخت. در ادامه به طور مختصر به نام برخی از محبوبترین مکانیزمهای اجماع اشاره میکنیم.
- اثبات کار تاخیر یافته (Delayed Proof of Work)
- اجماع اثبات سهام استیجاری (Leased Proof of Stak)
- اثبات اعتبار (Proof of Authority)
- اثبات سوزاندن (Proof of Burn)
- اثبات سهام نمایندگی شده (Delegated Proof of Stake)
- الگوریتم اجماع ترکیبی اثبات کار و سهام (Hybrid PoW / PoS)
جمعبندی
مکانیزمهای دستیابی به اجماع برای عملکرد سیستمهای توزیع شده حیاتی هستند. بسیاری بر این باورند که بزرگترین نوآوری بیت کوین استفاده از الگوریتم اجماع اثبات کار برای قادر ساختن کاربران جهت رسیدن به توافق بر سر مجموعهای از حقایق مشترک بود.
امروزه الگوریتمهای اجماع زیربنای سیستمهای پول دیجیتال و بلاک چینهایی هستند که به توسعه دهندگان اجازه میدهند تا کد را در یک شبکه توزیع شده اجرا کنند. آنها اکنون سنگ بنای فناوری بلاک چین به حساب میآیند و برای دوام طولانی مدت شبکههای مختلف، عنصری حیاتی محسوب میشوند.
در بین همه الگوریتمهای اجماع، مکانیزم اثبات کار هنوز هم اولین انتخاب برای برنامه نویسان حوزههای بلاک چین و ارز دیجیتال و به عنوان مکانیزم غالب باقی مانده است. هنوز گزینه جایگزینی که قابل اعتمادتر و مطمئنتر باشد پیشنهاد نشده است. با این وجود، همچنان حجم عظیمی از امور مرتبط با تحقیقات و توسعه، جهت یافتن جایگزینی مناسب برای الگوریتم اجماع اثبات کار صرف میشود و احتمالاً در سالهای آینده شاهد ظهور الگوریتمهای بیشتری خواهیم بود.