معرفی الگوریتم Proof of Capacity
هنکامی که صحبت از الگوریتم اجماع در دنیای کریپتوکارنسی میشود، دو اسم خیلی سریع به ذهن میآید، گواه اثبات کار (Proof of Work) و گواه اثبات سهام (Proof of Stake). برای درک بهتر قبل از پرداخت به گواه اثبات ظرفیت، مختصری در مورد این دو مکانیسم اجماع صحبت میکنیم.
POW یکی از شناختهشدهترین الگوریتمهای ماینینگ است که در آن ماینرها از منابع کامپیوتری برای حل توابع پیچیده ریاضی به نام تابع هش استفاده میکنند. بیت کوین به عنوان پادشاه ارزهای دیجیتال و نخستین رمزارز، از این مکانیسم اجماع و تابع هش SHA-256 استفاده میکند. این توابع هش ویژگیهای خاصی دارند، مثلا:
1)یکطرفه هستند و نمیتوان از خروجی به ورودی رسید.
2)برای یک ورودی مشخص، خروجی ثابتی دارند.
3)خروجی تابع خیلی سریع مشخص میشود.
4)کوچکترین تغییری درمقادیر ورودی، خروجی را تغییر میدهد.
5)خروجی تابع به شکل کاملا تصادفی مشخص میشود.
برای حل این توابع، به قدرت محاسباتی محض نیاز است، تا بتوان مقدار دقیق ورودی تابع را برای به دست آوردن خروجی مناسب پیدا کرد. یکی از متغیرهای ورودی در تابع هش، نانس (Nonce) است.
Nonce متغیری است که ماینر تا زمانی که بتواند هش مناسب را تولید کند، به طور مداوم آن را تغییر میدهد. این محاسبات قدرت پردازشی زیادی میطلبد و برای حل مسئله به انرژی و منابع زیادی نیاز است. هر چقدر سختی شبکه بیتکوین افزایش یابد، توان پردازشی مورد نیاز برای یافتن عدد نانس مناسب نیز افزایش مییابد.
در مکانیسم اجماع POS ساختار متفاوت است و کسانی که مایل به نوشتن و تایید تراکنشها هستند، باید مقداری از رمزارز آن پروژه را سپردهگذاری (Stake) کنند. نودهای تاییدکننده (Validator) بلاکهای جدید را میسازند و هر کسی که رمزارز بیشتری را استیک کرده باشد، شانس بالاتری برای نوشتن بلاک دارد.
پروتکل شبکه بیت کوین طوری طراحی شده که با استقبال افراد به سرمایهگذاری در ماینینگ، برای ثابت نگه داشتن زمان ایجاد بلاک، سختی استخراج را افزایش میدهد. در نتیجه گواه اثبات کار زمانی که بیتکوین یک فناوری نسبتا نوپا بود به خوبی کار میکرد، اما رشد تصاعدی کاربران شبکه منجر به انحصار ماین در دستگاههای ASIC شد، که برای حل توابع هش انرژی خیلی زیادی مصرف میکنند. در رقابت برای ماین بیتکوین آنهایی که شکست میخورند، در واقع انرژی مصرف شده را هدر میدهند. نتیجه این امر مصرف زیاد انرژی است که بسیاری آن را برای محیط زیست بد میدانند.
مصرف انرژی بیتکوین
در گواه اثبات سهام اگرچه مشکل مصرف انرژی حل شده است؛ اما غیرمتمرکز بودن در این الگوریتم جای بحث دارد. هر کس که میزان بیشتری توکن استیک کرده باشد، شانس بیشتری دارد و پاداش بیشتری هم دریافت میکند، در نتیجه رفته رفته قدرت بیشتری در شبکه به دست میآورد.
اکنون میتوانیم بگوییم هنوز هم به الگوریتمی نیاز داریم که مصرف انرژی معقولی داشته باشد و به میزان کافی غیرمتمرکز باشد، یعنی هر کسی با هر میزان توانی اگر مایل بود، بتواند در فرآيند شبکه تاثیرگذار باشد. گواه اثبات ظرفیت یا Proof of Capacity که با نام Proof of Space هم شناخته میشود، یک الگوریتم استخراج نسبتا جدید است، که ابتدا توسط یک ارز دیجیتال به نام Burstcoin به کار گرفته شد.
در این مکانیسم ماینرها از فضای خالی هارد استفاده میکنند و آن را برای مشارکت در شبکه پلات (Plot) میکنند. هر پلات به نوعی یک راه برای حل مسئله ماین بوده و فرآیند پلاتکردن پیچیده و زمانبر است؛ در نتیجه استخراجکنندگان با توجه به زمان ایجاد هر بلاک که تقریبا ۴ دقیقه و کوتاه است، پیش از شروع فرآیند ماین راهحلهای مسئلهها را محاسبه و ذخیره میکنند. در هر دور از اجماع، راهحلی که زودتر به نتیجه برسد برنده است و آن ماینر بلاک را نوشته و پاداش را به دست میآورد. اگر متوجه نشدید نگران نباشید، در قسمت بعد بیشتر در مورد نحوه عملکرد توضیح میدهیم.
یک ماینر اگر میخواهد شانسش را برای برنده شدن افزایش دهد، در POW باید توان پردازشی بیشتری فراهم کند، در POS باید توکنهای بیشتری استیک کند و در POC باید هارد بزرگتر با حافظه بیشتری را به منظور ایجاد پلاتهای بیشتر به اشتراک بگذارد. پلاتهای بیشتر، شانس ماینر برای ارائه راهحل سریعتر را افزایش میدهد.
گواه اثبات ظرفیت چطور کار میکند؟
دو مرحله اصلی در اجرای الگوریتم Proof of Capacity وجود دارد:
-فرآیند پلات کردن.
-فرآيند ماین کردن.
در اولین گام شما پلاتهای منحصربهفرد خود را روی هاردتان میسازید. برای پلات کردن از یک تابع هش به نام Shabal استفاده میشود. محاسبات این تابع از SHA256 بیتکوین بسیار پیچیدهتر است، به همین دلیل ماینرها راهحل های الگوریتم Shabal را از قبل محاسبه کرده و روی هارد دیسک ذخیره میکنند. در ادامه در رابطه با هر کدام از دو مرحله توضیح میدهیم.
مرحله اول: پلات کردن هارد
میتوان گفت که پلات کردن معادل تولید کردن نانس است و هر پلات روی هارد شما یک نانس محسوب میشود. این نانس با آن چیزی که در بیت کوین محاسبه میشود، متفاوت است. برای پیدا کردن Nonce باید از دادههای خود از جمله شناسهتان (ID)، هش مکرر بگیرید؛ بنابراین میتوان گفت که نانسهایی که هر کس محاسبه میکند، مختص خود اوست.
هر نانس شامل ۸۱۹۲ هش است که هر جفت از آنها، در جایی به نام اسکوپ (Scoop) کنار هم قرار میگیرند. پس در مجموع ۴۰۹۶ اسکوپ وجود خواهد داشت، که هر کدام از آنها دارای یک شماره از ۰ تا ۴۰۹۵ هستند. هر میزان که فضای بیشتری داشته باشید، نانسهای بیشتری میتوانید بسازید. تصویر زیر مثالی از Scoopهای یک نانس است.
مرحله دوم: ماین کردن
حین فرآیند ماین یکی از نتایج محاسبات، عدد اسکوپ است، که این عدد بین ۰ تا ۴۰۹۵ خواهد بود. پس از به دست آوردن این عدد، در هر کدام از نانسهای موجود در هارد، به اسکوپ مورد نظر رفته و از داده آن برای محاسبه پارامتری به نام مهلت زمانی یا Deadline استفاده میکنیم. در نهایت مینیموم همه ددلاینهای محاسبه شده را به دست میآوریم.
Deadline عددی بر حسب ثانیه و مدت زمانی است، که از آخرین بلاک باید گذشته باشد تا شما بتوانید بلاک جدید را ثبت کنید. پس اگر حداقل مهلت زمانی که محاسبه کردهاید گذشته و هنوز بلاک جدیدی ثبت نشده است، شما برنده رقابت هستید. بلاک جدید را ایجاد کرده و پاداش آن را به دست میآورید. با داشتن فضای هارد بزرگتر و تعداد نانس بیشتر، شانس بالاتری برای دستیابی به کوچکترین Deadline خواهید داشت.
کدام پروژهها از الگوریتم گواه اثبات ظرفیت استفاده میکنند؟
اولین پروژهای که از این الگوریتم استفاده کرد، Burstcoin است که در ادامه به Signum تغییر نام داده است. Signum یک بلاکچین قابل شخصیسازی است که هر کس میتواند روی آن برنامههای غیرمتمرکز و توکن مخصوص به خودش را ایجاد کند و ادعا میکند که در مقایسه با سایر بلاکچینها مثل بیتکوین و اتریوم پایدارتر است.
دیگر پروژه مطرحی که از گواه اثبات ظرفیت در کنار الگوریتم Proof of Time استفاده میکند، شبکه چیا (Chia) است. چیا خودش را یک بلاکچین سبز و دوستدار محیط زیست معرفی میکند که با ایده ایجاد یک بلاکچین پایدارتر برای توسعه سیستم مالی و پرداختی جهانی به وجود آمده است.
نقاط قوت و ضعف الگوریتم Proof of Capacity چیست؟
هر کدام از الگوریتمهای اجماع، نقاط ضعف و قوت مخصوص به خود را دارند و اینگونه نیست که بگوییم یک الگوریتم اجماع کاملا از بقیه بهتر است. در مورد گواه اثبات ظرفیت نیز همین گونه است و در ادامه به بررسی نقاط قوت و ضعف این الگوریتم میپردازیم.
نقاط قوت مکانیسم Proof of Capacity
استخراج با هارد دیسک به طور قابل توجهی نسبت به استفاده از تجهیزاتی مانند ASIC یا GPUها، انرژی کمتری مصرف میکند. این امر نگرانی بسیاری از دوستداران محیط زیست را هم برطرف خواهد کرد.
ماینرهایی که قبلا روی تراشههای اسیک یا ریگهای استخراج سرمایهگذاری کردهاند، هیچ برتری خاصی نسبت به دیگران ندارند.
به دلیل قیمت کم هارد نسبت به سایر قطعات، ماینرهای بیشتری میتوانند ورود کنند و شبکهای غیرمتمرکزتر ایجاد خواهد شد.
در گواه اثبات ظرفیت میتوان از هر هارد معمولی از جمله موبایلهای اندرویدی هم استفاده کرد و این باز هم منجر به تمرکززدایی بیشتر خواهد شد.
دستگاههای ASIC فقط برای استخراج بیت کوین کاربرد دارند، اما در POC اگر دیگر قصد ماین نداشتید، دادهها را پاک کرده و از هارد استفاده میکنید.
در ماین BTC شما هر چند وقت باید هزینه زیادی کرده و برای حفظ شانستان در پیدا کردن نانس، سختافزارتان را به روز کنید؛ اما در مکانیسم POC هاردهای جدید نسبت به نسخه قبلی در همان حجم، مزیت زیادی در استخراج ایجاد نمیکنند و لزومی به هزینه کردن نیست.
نقاط ضعف مکانیسم Proof of Capacity
دادههایی که روی هارد دیسک پلات میشود، هیچ فایدهای جز استخراج ندارد و فضای زیادی را باید به این کار اختصاص داد.
اگرچه ورود به استخراج در گواه اثبات ظرفیت ساده است و مزیت محسوب میشود، اما مردم میتوانند هاردهای بزرگتری را خریداری کرده و قدرت بیشتری به دست بیاورند. این موضوع میتواند بر تمرکززدایی شبکه تاثیر بگذارد.
اگر ماینینگ در این الگوریتم محبوب شود، احتمال ورود هکرها و سوءاستفاده وجود دارد. در حال حاضر بدافزارهای ماینینگ به طور تصاعدی در رایانههای متعددی در سراسر جهان گسترش یافتهاند. در اثبات ظرفیت و استفاده از هارد دیسک، تشخیص استفاده از سختافزار شما برای مقاصد غیرقانونی بسیار سختتر است.
پذیرش گسترده POC میتواند یک رقابت شدید برای تولید هاردهای با ظرفیت بالا را آغاز کند که میتواند مخرب باشد.
در چنین مکانیسمهایی مشکل Nothing-at-Stake وجود دارد، یعنی گرهها میتوانند رمزارز را استخراج کنند ولی خودشان از آن نداشته باشند. این موضوع باعث میشود تا ماینرها تعهد لازم به شبکه را نداشته باشند. در الگوریتمی مانند گواه اثبات سهام که ماینر باید سهامدار شبکه باشد، دغدغه بیشتری برای سلامت شبکه خواهد داشت.
دیدگاهتان را بنویسید