فهرست مطالب
- الگوریتم اجماع چیست ؟
- روش اثبات کار در الگوریتم اجماع چیست ؟
- اثبات سهام در الگوریتم اجماع چیست ؟
- تفاوت اثبات کار و اثبات سهام در الگوریتم اجماع چیست ؟
- انواع پیاده سازی اثبات سهام در الگوریتم اجماع چیست ؟
- جمعبندی
در شبکههای بلاک چینی نهاد متمرکزی برای بررسی و ثبت اطلاعات تراکنشها در شبکه وجود ندارد و کلیه اطلاعات توسط کاربران از سراسر دنیا به آن اضافه میشود. در چنین شرایطی که کاربران یکدیگر را نمیشناسند و هیچ اعتمادی به همدیگر ندارند، به سازوکاری نیاز است که در آن، افراد به طور خودکار دنبال فعالیت درستکارانه باشند و در صورت تمایل به فعالیت خرابکارانه، به طور خودکار شناسایی و جریمه شوند.
الگوریتم اجماع، سازوکار توافق کاربران برای بهروزرسانی اطلاعات در دفتر کل توزیع شده DLT است. این الگوریتم امکان ثبت اطلاعات درست از طرف کاربران ناشناس را در یک سیستم غیرمتمرکز فراهم میکند. در ادامه این مقاله سوال الگوریتم اجماع چیست را بررسی میکنیم و الگوریتمهای اثبات کار و اثبات سهام را به طور کامل توضیح میدهیم.
الگوریتم اجماع چیست ؟
شاید برای شما هم سوال باشد که لزوم وجود بلاک چین چیست و چه تفاوتی میان آن با سایر سیستمهای کامپیوتری متداول وجود دارد. برای پاسخ دادن به این سوال از مطالب مندرج در وایت پیپر بیت کوین به عنوان اولین ارز دیجیتال استفاده میکنیم. بیت کوین خود را به عنوان یک سیستم پرداخت الکترونیکی «همتا به همتا» (Peer-to-Peer) معرفی میکند.
اصطلاح همتا به همتا به این معنی است که در این سیستم، مبادله پول به صورت مستقیم بین دو کاربر انجام میشود و واسطههایی مثل بانک و صرافی در این میان نقشی ندارند. بنابراین، اصلیترین دلیل ارائه تکنولوژی بلاک چین، غیر متمرکز بودن و حذف نهادهای واسطه از آن است. نهادهای واسطه در سیستمهای متمرکز سنتی، وظایف اصلی سیستم را بر عهده دارند.
نگهداری از اطلاعات حساب کاربران، پردازش و تایید صحت اطلاعات تراکنشها و تایید اطلاعات و بهروزرسانی سیستم با اطلاعات جدید، از جمله وظایف مهم این نهادها است. در سیستم غیر متمرکز که نهاد واسطهای وجود ندارد، این فعالیتها توسط تمامی کاربران فعال در شبکه انجام میشود. از آنجایی که در چنین سیستمی کاربران همدیگر را نمیشناسند و اعتمادی به یکدیگر ندارند، پیشبرد فعالیتهای گفته شده نیازمند طراحی یک سازوکار فنی و اقتصادی است تا به وسیله آن، کاربران مجاب به فعالیت درستکارانه در بلاک چین شوند.
«الگوریتم اجماع» (Consensus Algorithm) سازوکار تعریف شده برای فعالیت درستکارانه کاربران در سیستمهای غیر متمرکز است. برای پاسخ به سوال کاربرد الگوریتم اجماع چیست باید به این نکته اشاره کنیم که الگوریتم اجماع کمک میکند تا کاربران از صحت اطلاعات تراکنشها آگاه شوند، اطلاعات یکسانی را به دفتر کل شبکه ارسال کنند، از خرج مضاعف ارزهای موجود در بلاک چین جلوگیری و بدون حضور نهاد واسطه، امنیت اطلاعات را تضمین کنند.
الگوریتم اجماع برای این کار از علوم «رمزنگاری» (Cryptography) و سازوکارهای اقتصادی کمک میگیرد. در شبکههای بلاک چینی انواع الگوریتم اجماع وجود دارد که در ادامه این مقاله به بررسی دو سوال روش اثبات کار در الگوریتم اجماع چیست و روش اثبات سهام در الگوریتم اجماع چیست پاسخ میدهیم.
روش اثبات کار در الگوریتم اجماع چیست ؟
در بخش قبل فهمیدیم که الگوریتم اجماع چیست اما برای درک کاربرد آن بهتر است به بررسی اولین الگوریتم اجماع معرفی شده در شبکههای بلاک چینی بپردازیم. الگوریتم اجماع «اثبات کار» (Proof of Work | PoW) اولین الگوریتم ارائه شده است که برای اولین بار در شبکه بیت کوین معرفی و استفاده شده است. به صورت ساده میتوان گفت این الگوریتم از کاربران میخواهد تا با انجام کار خواسته شده، فعالیت درستکارانه خود را به شبکه اثبات کنند.
انجام کار توسط کاربران چندین فایده برای شبکه دارد. اولین فایده آن این است که این روش از حملات «جلوگیری از ارائه خدمات» (DoS) جلوگیری میکند، زیرا برای اسپم کردن شبکه در این حالت، به صرف زمان و انرژی زیادی نیاز است. دومین فایده اثبات کار این است که در صورت فعالیت خرابکارانه، هزینه و زمان صرف شده برای کار در شبکه از جیب کاربر میرود که این به نوعی مجازات در نظر گرفته شده برای فعالیت خرابکارانه است.
تاریخچه اثبات کار به زمانی قبل از ارائه بیت کوین برمیگردد. این روش در سال 1993 به عنوان روشی برای جلوگیری از اسپم در خدمات اینترنتی مورد استفاده قرار گرفت. بعدها «هال فینی» (Hall Finney) دانشمند علوم کامپیوتر، از این الگوریتم برای ایجاد یک ارز دیجیتال استفاده کرد که تلاشهای او ناموفق بود. در نهایت و در سال 2009، «ساتوشی ناکاموتو» (Satoshi Nakamoto) خالق مرموز و ناشناس بیت کوین با استفاده از این الگوریتم و ترکیب آن با تکنیکهای رمزنگاری و ایدههای اقتصادی توانست بیت کوین را به عنوان اولین رمز ارز امن و قابل اعتماد به دنیا معرفی کند.
در الگوریتم اجماع اثبات کار، کار تعریف شده برای کاربران، حل یک معادله ریاضی است. هر بلاک در تکنولوژی بلاک چین، یک معادله ریاضی دارد که کاربران در طی یک فرآیند رقابتی و با صرف انرژی و زمان به دنبال حل آن هستند. هر کاربری که زودتر از دیگران بتواند به جواب معادله برسد، به عنوان برنده رقابت شناخته میشود. جواب به دست آمده توسط کاربر برنده، در کمترین زمان توسط سایر کاربران قابل تایید است.
با تایید بیش از 51 درصد کاربران، بلاک مورد نظر نهایی و به بلاک چین اضافه میشود. همه کاربران اطلاعات دفتر کل خود را با این بلاک بهروزرسانی و کار ایجاد بلاک بعدی را شروع میکنند. بنابراین، نتیجه الگوریتم اثبات کار این است که همه کاربران دفتر کل خود را با اطلاعات یکسانی که توسط اکثریت شبکه تایید شده است، به روز میکنند.
توابع استفاده شده در معادله بلاک
در بخش قبل فهمیدیم که روش اثبات کار در الگوریتم اجماع چیست و چگونه کاربران را به فعالیت در شبکه تشویق میکند. اصلیترین مولفه تعریف شده در فرآیند اثبات کار، مربوط به معادله بلاک است. معادله هر بلاک در بلاک چین با استفاده از توابع هش تعریف میشود. و به فرآیند اعمال داده به تابع هش و گرفتن خروجی آن «هشینگ» (Hashing) گفته میشود.
«تابع هش» (Hash Function) به دستهای از توابع ریاضی گفته میشود که در آن به ازای ورودی با اندازه متغیر، یک خروجی با اندازه ثابت تولید میشود. به خروجی توابع هش نیز هش گفته میشود. توابع هش علاوه بر این ویژگی، ویژگیهای مشترک دیگری دارند که سبب استفاده از آنها در فرآیند اثبات کار شده است. از جمله مهمترین ویژگیهای این توابع میتوان به موارد زیر اشاره کرد.
- خروجی تابع هش با درصد دقت بسیار بالایی منحصربهفرد است. بنابراین، امکان پیدا کردن دو ورودی که خروجی یکسانی داشته باشند در عمل صفر است.
- در تابع هش امکان رسیدن از خروجی به ورودی وجود ندارد. بنابراین، کاربران نمیتوانند با داشتن هش یک عبارت، خود عبارت را حدس بزنند. در معادله بلاک چین از این ویژگی توابع هش استفاده شده است.
- خروجی تابع هش کاملا تصادفی است. بنابراین، امکان استفاده از یک روش غیر تصادفی برای به دست آوردن جواب معادله تابع هش وجود ندارد.
این ویژگیها در توابع هش آنها را به بهترین گزینه برای استفاده در معادله بیت کوین تبدیل کرده است. حال که با تابع ریاضی مورد استفاده در معادله بلاک چین آشنا شدیم، میتوانیم سوال اثبات کار در الگوریتم اجماع چیست با بررسی جزئیات پاسخ دهیم.
فرآیند اجماع در اثبات کار
اثبات کار برای اولین بار در شبکه بیت کوین استفاده شده است به همین دلیل برای توضیح فرآیند اجماع در این الگوریتم، از نمونه بیت کوین استفاده میکنیم. سایر بلاک چینها نیز روند مشابهی دارند و تنها در جزئیات با هم تفاوت دارند. در بلاک چین، کاربران عادی شبکه با استفاده از کیف پول دیجیتال خود به شبکه وصل میشوند و با مشخص کردن میزان توکن ارسالی و آدرس گیرنده، تراکنش خود را امضا و به شبکه ارسال میکنند.
امضای تراکنش به وسیله «کلید خصوصی» (Private Key) کاربران انجام میشود. کاربران فعال در شبکه که در فرآیند اجماع مشارکت دارند، این تراکنشها را دریافت و صحت آنها را با داشتن «کلید عمومی» (Public Key) کاربرها و امضای دیجیتال تراکنش بررسی میکنند. به کاربران فعال در شبکه بلاک چینی با الگوریتم اجماع اثبات کار ماینر گفته میشود.
منظور از صحت سنجی تراکنشها توسط ماینرها این است که مطمئن شویم تراکنش توسط کاربر دارنده حساب به شبکه ارسال شده است و همچنین با توجه به اطلاعات حساب، امکان انجام تراکنش وجود دارد. تراکنشهای تایید شده توسط نودها به محل ذخیرهسازی موقت تراکنشها یا «استخر حافظه» (Memory Pool | Mempool) انتقال داده میشوند.
تراکنشهای موجود در ممپول، دو به دو وارد تابع هش میشوند تا خروجی هش آنها ایجاد شود. هشهای به دست آمده دوباره دو به دو در داخل تابع هش قرار میگیرند و این کار تا جایی ادامه مییابد که کل تراکنشها به صورت یک هش نهایی که به آن «ریشه مرکل» (Merkel Root) گفته میشود، در بیاید و در بلاک قرار گیرد.
فرآیند اثبات کار از این مرحله به بعد آغاز میشود. داخل بلاکها اطلاعات متنوعی شامل هش بلاک قبلی، هدف بلاک، ریشه مرکل و اطلاعات مربوط به تاریخ و شماره بلاک قرار دارد. هش بلاک قبلی به منظور اتصال بلاکها به یکدیگر و ایجاد یک زنجیره بلوکی امن، به اطلاعات هر بلاک اضافه میشود. هر بلاک یک عدد به نام «نانس» (Nonce) نیز دارد که نامشخص است و در اصل ماینرها با حل معادله به دنبال به دست آوردن آن هستند.
ماینرها اطلاعات بلاک شامل تراکنشها و هش بلاک قبلی را به همراه یک عدد نانس تصادفی در تابع هش قرار میدهند و خروجی آن را به دست میآورند. تابع هش استفاده شده در بیت کوین تابع «SHA-256» است که در سایر بلاک چینها این تابع ممکن است متفاوت باشد. خروجی به دست آمده از تابع هش با هدف بلاک مقایسه میشود و در صورت تطابق، ماینر برنده رقابت میشود.
در غیر اینصورت، کاربر یک عدد نانس جدید را به سایر اطلاعات ثابت بلاک اضافه میکند و دوباره معادله را حل میکند. این فرآیند تا زمان رسیدن یکی از کاربران به جواب معادله بلاک که همان نانس مناسب است، ادامه پیدا میکند. هدف هر بلاک به سختی شبکه مربوط میشود. در بخش بعدی به سوال سختی شبکه در الگوریتم اجماع چیست پاسخ میدهیم.
سختی شبکه در الگوریتم اجماع چیست ؟
تا به اینجا فهمیدیم که روش اثبات کار در الگوریتم اجماع چیست و فرآیند ایجاد یک بلاک در بلاک چین به چه شکل است. چیزی که هنوز مشخص نیست این است که پاسخ معادله در طی چه مدت زمانی به دست میآید. اگر معادلات مربوط به بلاکها آسان باشد، کاربران میتوانند با صرف کمترین هزینه و توان محاسباتی معادله را حل کنند.
این مساله باعث میشود که هزینه حمله به شبکه پایین باشد و در صورت حمله نیروهای مخرب، شبکه از کار بیفتد. از طرف دیگر، اگر سختی معادله شبکه به قدری بالا باشد که کاربران قادر به حل آن در مدت زمان مناسب نباشند، کارایی شبکه از بین میرود زیرا کاربران باید برای ثبت اطلاعات مربوط به یک تراکنش، مدت زمان زیادی صبر کنند.
مساله دیگری که وجود دارد توان محاسباتی دستگاههای ماینر است. ماینرها در گذشته از «کارت گرافیک» (GPU) و «پردازنده مرکزی» (CPU) برای حل معادلات بلاکها استفاده میکردند. امروزه تنها از دستگاههای «ایسیک» (ASIC) برای این کار استفاده میشود. توان این سختافزارها برای حل معادلات تصادفی در واحد زمان یکسان نیست. بنابراین، با افزایش توان محاسباتی سختافزارها، زمان حل معادله نیز تغییر میکند.
بیت کوین برای حل این مشکلات از مفهومی به نام «سختی شبکه» (Network Difficulty) بهره میگیرد. در شبکه بیت کوین، فرض اولیه این است که زمان حل معادله هر بلاک به صورت میانگین ده دقیقه باشد. برای اینکه این اتفاق بیفتد، باید هدف هر بلاک به گونهای تنظیم شود که با توجه به توان پردازشی موجود در شبکه، این مدت زمان ثابت بماند.
سختی شبکه در واقع این کار را برای بلاک چین انجام میدهد و هر دو هفته یکبار، با توجه به میزان کل توان پردازشی شبکه، هدف بلاک را تنظیم میکند. در زمانهایی که بخشی از ماینرها دستگاههای ماینر خود را خاموش میکنند، سختی شبکه کاهش مییابد و در زمانهایی که توان پردازشی جدید به شبکه اضافه میشود، سختی شبکه افزایش مییابد.
ارتباط استخراج ارز دیجیتال به الگوریتم اجماع چیست ؟
کاربری که در فرآیند اجماع اثبات کار فعالیت میکند، باید با خرید سختافزارهای محاسباتی و مصرف انرژی برق وارد این فرآیند رقابتی شود. این فعالیت هزینه و زمان زیادی از کاربر میگیرد به همین دلیل، در صورت عدم وجود پاداش برای فعالیت کاربران، کمتر کسی حاضر به انجام این کار خواهد بود. در شبکه بیت کوین پاداش تعریف شده برای ماینرها از دو بخش تشکیل شده است. بخش اول کوینهای جدید تولید شده در شبکه و بخش دوم کارمزد تراکنشهای دریافت شده توسط کاربران است.
در صورتی که کاربری در رقابت مربوط به حل معادله بلاک برنده شود و مابقی ماینرها بلاک تعریف شده توسط این کاربر را تایید کنند، پاداش بلاک را دریافت میکند. بخش دوم پاداش شامل هزینه کارمزد تراکنشها، متغیر و مقدار آن در حال حاضر ناچیز است. با توجه به اینکه حجم هر بلاک بیت کوین نمیتواند بیش از یک مگابایت باشد، تعداد تراکنشهای هر بلاک نیز تا حدودی ثابت است. به همین دلیل در حال حاضر، پاداش هر بلاک در بیت کوین دارای اهمیت بسیار بیشتری است.
با تایید هر بلاک در شبکه بیت کوین، تعدادی کوین جدید ایجاد و به حساب ماینر برنده واریز میشود. میزان کوینهای پاداش داده شده به کاربران هر چهار سال یکبار نصف میشود. از آنجایی که تعداد کل کوینهای بیت کوین 21 میلیون واحد است، در نهایت پس از چندین سال کل بیت کوینها تولید و پاداش ماینرها تنها از کارمزد تراکنشها پرداخت میشود.
با توجه به این توضیحات میتوان گفت نتیجه فعالیت کاربرهای شبکه برای رسیدن به اجماع، انجام کار به منظور تولید کوینهای جدید است. این فرآیند دقیقا مشابه استخراج طلا است. به دلیل وجود این مشابهت، فرآیند اجماع در الگوریتم اثبات کار را با عنوان «استخراج ارز دیجیتال» (Mining) نیز میشناسند.
در سایتهای عمومی ارز دیجیتال مثل «Coinmarketcap» میتوانید ارزهای مختلف را بر اساس الگوریتم اجماع آنها تفکیک کنید و ارزهایی که قابل استخراج هستند را برای بررسی جدا کنید. در حل حاضر برای کسب درآمد از ارز دیجیتال استخراج بیت کوین یکی از بهترین گزینهها است. اثبات سهام فرآیند متفاوتی در اجماع دارد که در ادامه مقاله سوال اثبات سهام در الگوریتم اجماع چیست را بررسی میکنیم.
اثبات سهام در الگوریتم اجماع چیست ؟
در بخش قبل فهمیدیم که اثبات کار در الگوریتم اجماع چیست و فرآیند آن به چه شکل است. هدف الگوریتم اجماع «اثبات سهام» (Proof of Stake | PoS) مشابه با الگوریتم اجماع اثبات کار، فراهمآوردن شرایط فعالیت درستکارانه کاربران به صورت غیر متمرکز است. یک الگوریتم اجماع باید بتواند پیش از هر ویژگی دیگری، راهکاری امن و مقاوم در برابر خطا ایجاد کند. این راهکار امکان توافق بر روی اطلاعات یکسان را برای کاربرانی که به یکدیگر اعتماد ندارند فراهم میکند.
اگر الگوریتمی نتواند این نیاز را پاسخ دهد نمیتوان از آن به عنوان الگوریتم اجماع استفاده کرد زیرا در اینصورت موجودیت سیستم در خطر میافتد. الگوریتم اجماع اثبات سهام، هدف اصلی الگوریتم اجماع در بلاک چین را برآورده میکند اما روشی که برای رسیدن به اجماع انتخاب کرده با اثبات کار متفاوت است.
الگوریتم اجماع اثبات سهام الگوریتمی است که در آن کاربرها برای اثبات فعالیت درستکارانه خود، به جای مصرف انرژی و انجام کار، داراییهای خود را در شبکه قفل میکنند. به فرآیند قفل کردن توکنها در شبکه به منظور فعالیت در تولید بلاکهای جدید و تامین امنیت شبکه، «استیکینگ» (Staking) میگویند.
در این حالت، کاربران فعال در شبکه که به آنها «اعتبارسنج» (Validator) گفته میشود، کوینهای شبکه را در یک قرارداد هوشمند قفل میکنند و به نسبت توکنهای قفل شده خود به کل توکنهای قفل شده، شانس برنده شدن در فرآیند ایجاد بلاک و دریافت پاداش شبکه را به دست میآورند. بنابراین، در این حالت یکی از کاربران به صورت تصادفی برای ایجاد بلاک انتخاب میشود. ساخت بلاک به این روش نیاز به مصرف انرژی بالا برای حل معادلات توابع هش ندارد. پس از ساخت بلاک، سایر اعتبارسنجها، اعتبار بلاک را تایید میکنند و بلاک به بلاک چین اضافه میشود.
چرا اثبات سهام ارائه شد ؟
در اثبات کار کاربران نیاز دارند که سیستمهای محاسبات قوی برای فعالیت در شبکه خریداری و برای حل معادلات شبکه انرژی زیادی مصرف کنند. این مساله باعث شده است که بخش زیادی از انرژی دنیا برای حل معادلات بلاک چینها استفاده شود که از نظر بسیاری از تحلیلگران انجام این کار درست نیست و منجر به آلودگیهای محیط زیستی میشود. اگرچه افزایش تعداد ماینرها در شبکههای با الگوریتم اجماع اثبات کار، باعث افزایش امنیت شبکه میشود اما میزان مصرف انرژی و آلودگیهای آن را افزایش میدهد.
بلاک چینهای با الگوریتم اجماع اثبات کار معمولا محدودیتهایی در اندازه بلاک و زمان مورد نیاز برای تشکیل بلاک دارند. بدون وجود این محدودیتها، امنیت شبکه دچار مشکل میشود اما این محدودیتها سبب شدهاند که تعداد تراکنشهای قابل ثبت در واحد زمان در این بلاک چینها کم باشد و از طرفی، ثبت تراکنش و نهایی شدن آن به زمان زیادی نیاز داشته باشد. مجموعه این اتفاقات، منجر به ارائه الگوریتم اجماع اثبات سهام شده است.
تفاوت اثبات کار و اثبات سهام در الگوریتم اجماع چیست ؟
اثبات کار و اثبات سهام با وجود داشتن هدف مشترک برای اجماع کاربران، تفاوتهای زیادی باهم دارند. وجود این تفاوتها باعث پدید آمدن ویژگیهای متفاوتی در بلاک چینها شده است. تفاوت اثبات کار و اثبات سهام را میتوان از نقطه نظر ویژگیهای مختلفی مورد بررسی قرارداد. در ادامه سوال تفاوت اثبات کار و اثبات سهام در الگوریتم اجماع چیست را پاسخ میدهیم.
غیرمتمرکز بودن
اصلیترین ویژگی سیستمهای مبتنی بر بلاک چین، غیر متمرکز بودن آنها است. در الگوریتم اجماع اثبات کار این ویژگی به میزان تمرکز قدرت در دست ماینرها بستگی دارد. هر چقدر توان پردازشی استفاده شده در شبکه در سطح جهان توزیع شده باشد، شبکه غیرمتمرکزتر است. ماینرها بخشی از نودهای شبکه به عنوان «فول نود» (Full Node) هستند.
فول نودها دستهای از کاربران هستند که تاریخچه اطلاعات کل تراکنشها را در سیستم خود دارند و میتوانند نتیجه کار ماینرها را تایید کنند. اگرچه ماینرها فول نود هستند اما، الزامی به ماینر بودن فول نودها نیست. راه اندازی فول نود هزینه کمتری دارد و تمام کاربران میتوانند با راهاندازی آن در شبکه فعالیت کنند. اگرچه فول نودها پاداشی از شبکه دریافت نمیکنند اما غیرمتمرکز بودن شبکه را استحکام میبخشند.
در الگوریتم اجماع اثبات سهام، کاربران بر حسب میزان توکنهای قفل شده در شبکه شانس ایجاد بلاک را به دست میآورند. تعداد اعتبارسنجها در این بلاک چینها معمولا کم است تا سرعت ثبت تراکنش در آنها افزایش پیدا کند. تعداد کم اعتبارسنجها و تجمیع بخش زیادی از توکنهای شبکه در دست این کاربران باعث میشود که متمرکز بودن شبکه در این حالت کمتر باشد. از طرف دیگر، خرید توکنهای یک پروژه ارز دیجیتال به مراتب راحتتر از خرید دستگاههای محاسباتی و تامین انرژی برق برای آنها است و همین مساله، امکان دخالت دولتها، نهادها و سازمانهای بزرگ در این شبکه را بیشتر میکند.
امنیت شبکه
در فضای بلاک چین، انواع حملات سایبری به شبکه امکانپذیر است. یکی از اصلیترین حملاتی که بلاک چینها با آن روبهرو هستند مربوط حمله 51 درصد است. در این حمله، کاربر یا کاربرانی که بیش از 51 درصد توان ایجاد بلاک در شبکه را در دست داشته باشند میتوانند با حمله به بلاک چین، اطلاعات نادرست در آن وارد و کوینها را چند بار خرج کنند.
در الگوریتم اجماع اثبات کار، امکان انجام این کار وجود دارد و کاربرانی که بتوانند بیش از 51 درصد توان پردازشی شبکه را در اختیار داشته باشند میتوانند امنیت شبکه را به خطر بیاندازند. انجام این کار به دلایل زیر سخت است اما همچنان امکان انجام آن وجود دارد.
- هزینه حمله 51 درصد به شبکه بالا است و کمتر افرادی در دنیا قادر به تامین تجهیزات و انرژی مورد نیاز برای این کار هستند.
- برنده شدن یک ماینر در رقابت استخراج اگرچه با میزان توان پردازشی او رابطه مستقیم دارد اما کاملا تصادفی است. بنابراین، امکان دارد کاربر برنده رقابت در بلاکهای متوالی، از گروه مخرب نباشد.
- وجود فول نودهای غیر ماینر باعث میشود که هزینه حمله به شبکه بیش از 51 درصد ماینرها و برابر با 51 درصد کل فول نودها باشد.
- کاربرانی که توانستهاند 51 درصد قدرت پردازشی شبکه را به دست آورند، در صورت حمله به شبکه سودی نمیبرند زیرا با حمله به شبکه ارزش کوینها به شدت کاهش مییابد و هزینه مصرف شده برای این کار از بین میرود.
در الگوریتم اجماع اثبات سهام، انجام حمله 51 درصدی توجیه ندارد. در بسیاری از این بلاک چینها برای تایید یک بلاک، باید بیش از دو سوم رایهای کاربران دریافت شود. به همین دلیل، کاربر مخرب باید حداقل این مقدار از توکنهای استیک شده را در اختیار داشته باشد.
مساله مهم تر این است که کاربری که بیش از 66 درصد توکنهای قفل شده یک شبکه را در اختیار دارد با حمله به شبکه، بیشترین ضرر را متحمل میشود. بنابراین، انجام این کار در این شبکهها منطقی نیست. مشکل امنیتی اصلی که در ارتباط با این تکنولوژی وجود دارد این است که هنوز مدت زمان زیادی از عملیاتی شدن آن نگذشته است و با قطعیت نمیتوان امنیت آن را تضمین کرد.
مقیاس پذیری
«مقیاس پذیری» (Scalability) در شبکههای بلاک چینی به معنی پایداری شبکه با افزایش تعداد تراکنشها در واحد زمان است. مقیاسپذیری به طور مستقیم با تعداد تراکنشهای ثبت شده در واحد زمان، هزینه کارمزد شبکه و زمان نهایی شدن تراکنشها در ارتباط است.
در الگوریتم اثبات کار، اندازه تعداد تراکنشهای شبکه محدود است و حل هر بلاک به مدت زمان معینی نیاز دارد تا فرآیند اثبات کار انجام و امکان ایجاد بلاکهای موازی کمتر شود. به دلیل وجود این ویژگیها، در بلاک چینهای با الگوریتم اجماع اثبات کار تعداد تراکنشهای قابل انجام در واحد زمان کم، هزینه ثبت تراکنشها زیاد و زمان نهایی شدن تراکنشها بالا است.
در الگوریتم اجماع اثبات سهام، تعداد اعتبارسنجها معمولا کمتر از تعداد ماینرهای اثبات کار است. از طرفی زمان زیادی برای انجام فرآیند اجماع صرف نمیشود، زیرا برنده هر بلاک، از طریق یک الگوریتم تصادفی انتخاب میشود و احتمال ارائه دو بلاک به صورت همزمان وجود ندارد.
این ویژگیها باعث شده است که تعداد تراکنشهای قابل ثبت در واحد زمان زیاد شود، هزینه ثبت تراکنشها کاهش یابد و زمان نهایی شدن تراکنشها به 1 ثانیه برسد. در بلاک چینهای با الگوریتم اثبات کار برای این که مقیاسپذیری افزایش یابد از راهحلهای لایه دوم استفاده میشود. نمونه آن شبکه لایتنینگ برای بلاک چین بیت کوین است.
پاداش فعالیت
یک پاسخ دیگر به سوال تفاوت اثبات کار و اثبات سهام در الگوریتم اجماع چیست پاداش فعالیت است. در الگوریتم اجماع اثبات کار پاداش به کاربر برنده در رقابت استخراج پرداخت میشود و شامل کوینهای جدید استخراج شده و کارمزد تراکنشها است. میزان پاداش در این روش برای همه کاربران ثابت است و هر کسی با هر توان پردازشی و مدت زمان فعالیت، در صورت برنده شدن در رقابت استخراج، پاداش شبکه را دریافت میکند. در اثبات سهام میزان پاداش متفاوت است.
در اثبات سهام، کاربران بر اساس تعداد کوینها و توکنهای قفل شده و مدت زمان قفل کردن آنها میزان پاداش متفاوتی به دست میآورند. میزان پاداش پرداخت شده نیز معمولا به نسبت اثبات کار پایینتر است چرا که هزینه فعالیت در این الگوریتم برای کاربران به مراتب کمتر از اثبات کار است. معمولا پروژههای با الگوریتم اجماع اثبات سهام در ابتدای راهاندازی، علاوه بر کارمزد تراکنشها بخشی از توکنهای پروژه را نیز به اعتبارسنجها میدهند اما در نهایت، پاداش داده شده تنها از کارمزدهای شبکه پرداخت میشود.
مصرف انرژی و مشکلات محیط زیستی
یکی دیگر از تفاوتهای اصلی این دو نوع الگوریتم میزان مصرف انرژی آنها است. الگوریتمهای اثبات کار برای حل معادلات خود نیازمند مصرف انرژی زیادی هستند. مصرف انرژی بیت کوین در حال حاضر از برخی از کشورهای دنیا مثل نروژ بیشتر است. در بسیاری از کشورها نیز مصرف بالای انرژی بیت کوین منجر به قطعی مکرر برق شده است. در کنار این مشکلات، باید مشکلات محیط زیستی مربوط به این میزان مصرف انرژی را نیز جدی گرفت.
سازوکار طراحی شده برای میزان پاداش دریافتی بیت کوین به شکلی ایست که بهینه کردن دستگاههای استخراج، میزان انرژی مصرفی بیت کوین را تغییر نمیدهد. این دو مساله بزرگترین مشکلی است که بیت کوین و سایر ارزهای با الگوریتم اجماع اثبات کار با آن روبهرو هستند.
در مقابل، در الگوریتم اجماع اثبات سهام نیازی به سختافزارهای خاص برای پردازش اطلاعات نیست و اعتبارسنجها میتوانند با سیستمهای کامپیوتری معمولی نیز کار خود را به سرانجام برسانند. به عنوان مثال، اعتبارسنجهای ارز دیجیتال سولانا با یک پردازنده مرکزی 12 هستهای میتوانند در فرآیند اعتبارسنجی شرکت کنند. میزان انرژی مصرفی در این سیستمها بسیار کم است و به همین دلیل اثرات محیط زیستی آن نیز قابل چشم پوشی است.
انواع پیاده سازی اثبات سهام در الگوریتم اجماع چیست ؟
الگوریتمهای اجماع اثبات کار و اثبات سهام انواع مختلفی دارند اما تفاوتهای موجود در میان الگوریتمهای اثبات سهام اساسیتر از اثبات کار است. دو الگوریتم اجماع اثبات کار به طور کلی یک روند را دنبال میکنند و تفاوت آنها در جزئیاتی مانند نوع تابع هش استفاده شده، اندازه بلاکها و زمان تشکیل بلاکها است.
آنچه تا به اینجا در مورد اثبات سهام گفته شد، مربوط به اثبات سهام عمومی است که در آن افراد میتوانند آزادانه در فرآیند اجماع شرکت کنند یا این حق را به دیگر اعتبارسنجها اختصاص دهند. در ادامه این بخش، چند الگوریتم معروف اثبات سهام که از این ایده کلی مشتق شدهاند را بررسی میکنیم.
اثبات سهام نیابتی در الگوریتم اجماع چیست ؟
در بخش اثبات سهام در الگوریتم اجماع چیست گفتیم که کاربران برای این که تبدیل به اعتبارسنج شوند باید توکنهای خود را در قرارداد هوشمند مربوط به شبکه قفل کنند و از یک سیستم ساده برای اعتبارسنجی تراکنشها، اضافه کردن بلاک به شبکه و دریافت پاداش استفاده کنند. این کار باعث مشارکت تعداد زیادی از کاربران در شبکه و افزایش میزان غیرمتمرکز بودن شبکه میشود اما از طرف دیگری باعث کندی شبکه میشود.
الگوریتم اجماع «اثبات سهام نیابتی» (Delegated Proof of Stake | DPoS) یک روش جایگزین برای اثبات سهام است که در آن به جای اینکه تمامی کاربران در فرآیند اعتبارسنجی شبکه دخالت داشته باشند، بخشی از آنها به نمایندگی این کار را برعهده میگیرند. اثبات سهام نیابتی برای اولین بار در پروژه ارز دیجیتال «ایاس» (EOS) معرفی و استفاده شد.
نحوه انتخاب اعتبارسنجها در این شبکهها به این صورت است که کسانی که تمایل به فعالیت در شبکه به عنوان اعتبارسنج دارند باید مقدار مشخص از توکنهای شبکه را قفل کنند. معمولا میزان توکنهای مورد نیاز برای قفل کردن زیاد است. پس از این مرحله، کاندیداها مشخص میشوند. سایر کاربرهای شبکه میتوانند با استفاده از قفل کردن توکنهای خود، یک یا چند مورد از آنها را برای اعتبارسنجی انتخاب کنند. در نهایت کاربرانی که بیشترین رای را داشته باشند به عنوان اعتبارسنج انتخاب میشوند.
کاربران عادی که به دنبال فعالیت به عنوان ماینر نیستند، میتوانند توکنهای خود را در قرارداد مربوط به اعتبارسنج مورد نظر خود قفل کنند و به نسبت توکنهای قفل شده خود، سود حاصل از فرآیند استیکینگ را دریافت کنند. اعتبارسنجهای انتخاب شده دائمی نیستند و در طول زمان، انتخابات مجدد برای تغییر اعتبارسنجها برگزار میشود که در بیشتر موارد تغییری در ترکیب آنها مشاهده نمیشود. تعداد نودها در این شبکهها معمولا کمتر از 100 است و برای اینکه یک بلاک در آن ثبت شود باید بیش از دو سوم اعتبارسنجها بلاک را تایید کنند.
تعداد نودها در این حالت بسیارکمتر از اثبات سهام خالص است که همین مساله باعث افزایش سرعت اعتبارسنجی شبکه میشود که البته این کار با کاهش امنیت اتفاق میافتد. مقیاسپذیری این الگوریتم بسیار خوب اما غیرمتمرکز بودن و امنیت آن مناسب نیست. در صورتی که یکی از اعتبارسنجهای شبکه آفلاین شود، یکی از نودهای در لیست انتظار به عنوان اعتبارسنج به شبکه اضافه میشود.
اثبات سهام مستر نود در الگوریتم اجماع چیست ؟
یکی دیگر از الگوریتمهای اجماع معروف، «اثبات سهام مستر نود» (Masternode Proof of Stake) است که به عنوان یک لایه امنیتی مجزا در بلاک چینها مورد استفاده قرار میگیرد. در واقع مستر نودها دستهای از نودها هستند که در فرآیند اعتبارسنجی تراکنشها و اضافه کردن بلاک به شبکه شرکت ندارند بلکه وظیفه آنها تایید بلاکهای ایجاد شده توسط اعتبارسنجها است.
مستر نودها برای فعالیت در شبکه باید بخشی از توکنهای پروژه را قفل کنند و در ازای این کار، سود ثابت سالانه به صورت کوینهای ارز دیجیتال شبکه دریافت میکنند. مستر نودها اگرچه به عنوان یک روش الگوریتم اجماع اثبات سهام شناخته میشوند اما میتوان از آنها در بلاک چینهای با الگوریتم اثبات کار نیز استفاده کرد.
مستر نودها به نوعی نقش فول نود را در بلاک چینها برعهده دارند و برای انجام این کار باید دادههای مربوط به بلاک چین را داشته باشند. از جمله رمز ارزهایی که با این الگوریتم فعالیت میکنند میتوان به شبکه بلاک چین «دش» (DASH) اشاره کرد.
به طور خلاصه میتوان گفت مستر نودها به عنوان یک لایه امنیتی برای تایید بلاکها استفاده میشوند و وظایف دیگری چون نگهداری از تاریخچه تراکنشها، رایدهی و فعالسازی تراکنشهای خصوصی را برعهده دارند. مستر نودها باید تمام روز فعال باشند و به همین دلیل میتوان از یک سرور مجازی خصوصی برای آن استفاده کرد. در مقایسه با اعتبارسنجها، پاداش دریافت شده توسط مستر نودها ثابت است و این یکی دیگر از تفاوتهای اساسی آنها است.
اثبات سهام اجارهای در الگوریتم اجماع چیست ؟
حال که به سوال اثبات سهام مسترنود در الگوریتم اجماع چیست پاسخ دادیم میتوانیم به بررسی اثبات سهام اجارهای بپردازیم. «اثبات سهام اجارهای» (Leased Proof of Stake | LPoS) الگوریتم اجماع استفاده شده در ارز دیجیتال «ویوز» (Waves) است که در آن کاربران توکنهای خود را به کسانی که قصد اعتبارسنجی در شبکه دارند، اجاره میدهند.
هر چه یک اعتبارسنج بتواند توکنهای بیشتری را به عنوان اجاره دریافت کند، شانس بیشتری برای دریافت پاداش خواهد داشت. کاربرانی که توکنهای خود را به اعتبارسنجها میدهند، میتوانند در هر زمان دلخواهی اجاره خود را لغو کنند. این روش به کاربران کوچکتر اجازه فعالیت در شبکه و دریافت پاداش بدون اجبار زمانی فراهم میکند. کاربران میتوانند از میان نودها، آنهایی که بیشترین پاداش را توزیع میکنند، انتخاب کنند.
روش اثبات سهام اجارهای برای شبکههایی که دارای الزامات فنی بالایی برای اجرای یک نود کامل با قابلیت اعتبارسنجی تراکنشها هستند، مناسب است. در صورتی که عملکرد یک اعتبارسنج در شبکه مناسب باشد، شبکه کاربران کوچک را به اجاره دادن توکنهای خود به آنها تشویق میکند که این مساله نیز، انگیزه فعالیت درستکارانه اعتبارسنجها را بیشترمیکند.
سازوکار اثبات سهام اجارهای بسیار به اثبات سهام نیابتی شبیه است اما با این حال تفاوتهایی بین آنها وجود دارد. در اثبات سهام نیابتی کاربران برای این که به عنوان اعتبارسنج در شبکه فعالیت کنند حتما باید توسط آرای دیگر کاربران انتخاب شوند اما در اثبات سهام اجارهای، کاربر میتواند به صورت مستقیم وارد عمل شده، توکنهای مورد نیاز را قرض بگیرد و در فرآیند تولید بلاک شرکت کند.
جمعبندی
الگوریتم اجماع یکی از مهمترین ابتکارات رمزارزها است و اصلیترین تفاوت بین سیستمهای متمرکز و غیرمتمرکز در این مفهوم خلاصه میشود. انواع الگوریتمهای اجماع وجود دارد که اصلیترین شاخههای آن، اثبات کار و اثبات سهام است. در این مقاله ابتدا به بررسی سوال الگوریتم اجماع چیست پرداختیم و ویژگیهای مختلف آن را بررسی کردیم. پس از آن دو بخش اصلی الگوریتمهای اجماع به نام اثبات کار و اثبات سهام را معرفی کردیم و به سوال تفاوت اثبات کار و اثبات سهامن چیست پاسخ دادیم. در نهایت به بررسی نمونههای اصلی اثبات سهام پرداختیم و به سوالات زیر پاسخ دادیم.
- اثبات سهام نیابتی در الگوریتم اجماع چیست ؟
- اثبات سهام مسترنود در الگوریتم اجماع چیست ؟
- اثبات سهام اجارهای در الگوریتم اجماع چیست ؟
با بررسی مفهوم الگوریتم اجماع، درک کامل از ساختار بلاک چینهای نسل اول کامل شد. این نسل از بلاک چینها راهکاری امن و غیرمتمرکز برای ثبت اطلاعات ارائه کردند که هدف آنها انتقال پول به صورت همتا به همتا بود. در نسل دوم پروژههای بلاک چینی، ایده غیرمتمرکز کردن سایر فعالیتهای انسانی مطرح شد.
شبکه اتریوم با استفاده از مفهوم «قرارداد هوشمند» توانست تا حدود زیادی این ایده را عملی کند. در مقاله بعدی در مورد مفهوم قرارداد هوشمند و کاربردها و ویژگیهای آن بحث میکنیم. آشنایی با این مفهوم به ما کمک میکند تا با نحوه ایجاد توکنها و پروژههای مختلف آشنا شویم.
نظر خود را با ما به اشتراک بگذارید