اثبات سهام و اثبات کار چیست؟ مکانیزم اجماع و امنیت شبکه به زبان ساده!

  • 19 شهریور 1402

اثبات سهام و اثبات کار چیست؟

در اولین تعریف باید این دو را دو شکل از Consensus Algorithm یا الگوریتم های توافق یا اجماع در بلاکچین (Blockchain Consensus) به شمار بیاوریم. الگوریتم، سامانه یا مکانیزم اجماع یا توافق (Consensus Algorithm) یا Consensus Mechanism یکی از مفاهیم پایه در بلاکچین یا زنجیره بلوکی (Blockchain) است. بلاکچین یک DLT یا دفتر کل توزیع شده است. دفتر کل یا Ledger در حسابداری و علوم مالی به دفتری اطلاق میشود که همه داده های مالی خرید و فروش و به طور کلی تراکنش ها را در خود جای می دهد. اطلاعات و داده هایی مانند نام حساب، بستانکار، بدهکار و دیگر داده های مالی و تراکنشی به شکلی جداگانه و مستقل در آن یادداشت می-شوند.

دفتر کل توزیع شده (DLT ) چیست؟
دفتر کل توزیع شده (DLT ) در اثبات سهام و اثبات کار، نقش مهمی بازی می کند. چرا که سه کار مهمِ تأیید مالکیت، شناسایی هویت و روشن کردن و تشخیص وضعیت را انجام می دهد. بلاکچین یک دفتر کلِ عمومیت یافته و نامتمرکز است. گفتیم که ساختار بلاکچین به صورت زنجیره ای از بلوک ها تعریف شده است. از طرف دیگر گفتیم که بلاکچین یک دفتر کلِ نامتمرکز است که داده های خرید و فروش در آن ثبت می¬شود.
در نتیجه بلاکچین را باید زنجیره ای از تاریخچه های تراکنشی دانست که همه داده ها را در واحدهایی به نام بلوک ذخیره می کند. هر کدام از این واحدهای بلاکی یا بلوکی، وظیفه ذخیره گروهی از داده ها یا تاریخچه ها را به عهده دارد. در این بلوک ها اطلاعاتی مانند تاریخ، ساعت، بها یا مبلغ خریدهای کاربر و همچنین داده های فروشندگان را در تراکنش های بینابینی در خود نگهداری می کند. در این بلوک ها به جای داده ها و اطلاعات هویتی شما از یک امضای دیجیتال منحصر به فرد استفاده می شود. این امضا یا کد یگانه و منحصر به فرد، هش نامیده می شود.

دیفای شما را نجات می دهد: پاسخی برای سوالِ اثبات سهام و اثبات کار چیست؟
در این بخش از پاسخ ما به سوالِ اثبات سهام و اثبات کار چیست؟ برگردیم به الگوریتم، سامانه یا مکانیزم اجماع یا توافق (Consensus Algorithm)! گفتیم که بلاکچین، زنجیره ای از بلوک ها است. هر بلوک، بخشی از داده ها و اطلاعات بلوک های قبلی را هم در خود جای داده است. این روند ذخیره سازی به این معنا است که هر تغییری در چیدمان داده ها و اطلاعات، زنجیره ای از تغییرات را به دنبال خواهد داشت. یعنی یک تغییر در یک بلوک، دومینویی از تغییرات را در زنجیره بلوک ها به دنبال خواهد داشت. الگوریتم اجماع از این ویژگی سیال و نامتمرکز بلاکچین بهره مند می شود و به همه کاربران اجازه می دهد که درباره یک تغییر به توافق برسند. در این دموکراسی مالی وقتی همه درباره یک تغییر به اجماع رسیدند، آن تغییر همگانی می شود. در واقع مکانیزم اجماع در سیستم های دیفای یا DeFi یک ضرورت امنیتی است.

دیفای چیست؟
DeFi از درهم آمیزی دو کلمه Decentralized (نامتمرکز کردن) و Finance (امور مالی) ساخته شده است. در این سیستم، کاربران به دور از شخص ثالث (میانجی های مالی) و مانع های سنتی بازارها به خرید و فروش می پردازند. در سیستم دیفای بلاکچین هر کاربر یا گره بلاکچین حق دارد درباره یک منبع مالی و تراکنش های آن، موافقت یا مخالفت کند. در صورت اطمینان گره ها، تراکنش و داده های آن به بلوک ها اضافه می شود. گره یا Node در اصطلاح شناسی بلاکچین به هر کدام از کاربران گفته می شود. هر گره قدرت ساخت و آفرینش پیام ها، دریافت آنها و ارسال شان را دارد.

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

ساختار نامتمرکز و سوال اثبات سهام و اثبات کار چیست؟
در سیستم نامتمرکزی مانند بلاکچین و در پاسخ به سوال اثبات سهام و اثبات کار چیست؟ حتما باید به کارکرد امنِ اثبات کار و سهام ارجاع دهید. در شبکه نامتمرکز بلاکچین همه کاربران به اشتراک، مالک شبکه به شمار می روند. در واقع بلاکچین را باید بانکی دانست که همه مشتریان آن، در عین حال مالک بانک هستند و هر تراکنشی در آن باید به تأیید تک تک آنها برسد. اما یک مشکل در اینجا خودنمایی می کند! مشکل خود شبکه شناور بلاکچین است. بزرگ ترین پاشنه آشیلِ این دموکراسی مالی، خود این دموکراسی است. از کجا بدانیم که تک تک کاربران یا اعضای این دموکراسی مالی بلاکچینی، اخلاقی عمل می کنند و دست به کلاهبرداری، تقلب و دزدی نمی زنند؟ ما چنین تضمینی نداریم! به همین دلیل هم از اعتبارسنجی استفاده می کنیم.
یکی از این روش های اعتبارسنجی، اثبات کار است. اما اجازه دهید قبل از پرداختن به آن به یکی از مهمترین مفاهیم بلاکچین بپردازیم: تحمل خطای بیزانس یا Byzantine Fault Tolerance!

تحمل خطای بیزانس (BFT)
تحمل خطای بیزانس ریشه در مسئله ای منطقی به نام خطای بیزانسی دارد. این مسئله این طور بیان می شود: ما ارتشی از ژنرال های بیزانسی داریم. اگر ژنرال ها با هم تصمیم به یورش یا عقب نشینی بگیرند، بدون هیچ خطایی موفق می شوند. اگر ارتباط میان آنها آسیب ببیند در هیچ کدام کامیاب نخواهند بود. پس چکار باید کرد؟ بهترین راه تحمل خطای بیزانس یا BFT است. در این روش، گره های یا کاربران آسیب دیده در فرآیند تصمیم گیری مشارکت داده نمی شوند. این کار تصمیم گیری را سالم نگه می دارد. دو روش از روش های تحمل خطای بیزانس، اثبات کار و اثبات سهام هستند.
شکل بهینه تر و انطباق یافته تری از این مسئله با عملکرد ماشین ها، تحمل خطای بیزانس عملی یا Practical Byzantine Fault Tolerance (PBFT) است. در این روش فرض می شود که گره ها یا نودهای خرابکار نمی توانند از یک سوم همه نودها بیشتر یا برابر آنها باشند. هر چه تعداد گره ها یا نودها بیشتر باشد، احتمال اینکه تعداد نودهای خرابکار به یک سوم همه گره ها یا نودها نزدیک شود، کم تر است. در نتیجه همیشه تعداد نودهای درستکار بیشتر از نودهای خرابکار است. این کار گارانتی عملکرد یا Linearizability را تضمین می کند. گارانتی عملکرد در واقع شکل دیگری از Nakamoto Consensus یا اجماع ناکاموتو است. این اصل می گوید که همه شبکه درباره درستی یک عملکرد تراکنشی یا معاملات دیجیتال، توافق و اجماع دارند. این اجماع خود به چهار بخش تقسیم میشود: اثبات کار، انتخاب بلاک یا بلوک، کمبود و ساختارهای تشویقی.

سازوکار اثبات کار
اثبات کار یا Proof of Work (PoW) در وضعیتی به کار می رود که شما بخواهید در تولید بلاک ها شرکت داشته باشید. اما شما برای این کار نیاز به گذر از یک خان مهم را دارید: شما باید درستکاری خود را اثبات کنید. چگونه؟ باید بهایی پرداخت کنید؟ چه بهایی؟ بهایی که برای این کار پرداخت می کنید، قدرت پردازش رایانه و مصرف برق است. شما باید ثابت کنید که حقیقی هستید و یک خرابکار نیستید. از آنجا که ساختار شبکه، دموکراتیک است باید با دیگر اعتبارسنج ها یا ماینرها رقابت کنید.
بنابراین اگر شما از خارج شبکه وارد آن شده باشید و قصد فعالیتی غیرقانونی را داشته باشید باید قدرت پردازشی بیشتر از همه ماینرهای این رقابت داشته باشید. همین کار شما را رسوا می کند. چون این کار شما هیچ توجیه اقتصادی ندارد و با منطق کار در شبکه همخوانی ندارد. اما کاربری که در این رقابت برنده شود یعنی دیگر کاربران رقیب وی را تایید کنند میتواند مسئول ساخت بلوک تازه شده و پاداش بگیرد.

توکن ها را دو بار خرج نکنید!
اثبات سهام یا Proof of Stake (PoS) یک مکانیزم امنیتی و شکلی از اجماع توزیع شده یا Distributed Consensus است که برای جلوگیری از چاپ دوباره سکه ها و خرج دوباره آنها به کار میرود. اصولا این فرآیند توسط کاربرانی که تصادفا انتخاب می شوند، صورت می¬گیرد. به این کاربران انتخاب شده، اعتبارسنج (validators) یا بیکر (bakers) گفته می شود. اعتبارسنجی که مایل باشند در روند تولید بلوک ها مشارکت داشته باشند و پاداش دریافت کنند باید چند کار انجام دهند. اولین کار خرید توکن های اختصاصی شبکه است. بعد از سپرده گذاری توکن ها یا ارز خریداری شده باید آن را Stake یا سهام گذاری کنند. سهام در بلاکچین، به معنای قفل کردن توکن ها انجام می شود. با این کار کاربر خود را برای تبدیل شدن به یک فورجر (forger) یا سازنده بلاک نامزد می کند.

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

اگر در اثبات سهام، گره ها نمایندگانی را برگزینند که پایه کار خود را بر اساس پروتکل تحمل خطای بیزانس (BFT) قرار دهند ما با شکلی خاصی از اثبات سهام یعنی Delegated Proof of Stake (DPoS) یا اثبات سهام نمایندگی شده روبرو هستیم. این گروه برگزیده هر کدام بر اساس رهبری چرخشی، فقط برای ساخت یک بلوک اختیار دارد. این روش تمرکززدا از امنیت بالایی برخوردار است. از آنجا که تعداد نمایندگان محدود است، اعتماد میان آنها هم بالا است.