آنچه در این مقاله میخوانید
اگر جز آن دسته از افرادی باشید که به آشنایی با نحوه عملکرد و سازوکار شبکههای بلاک چینی علاقه دارند، مطمئنا تاکنون مطالب زیادی را در ارتباط با انواع الگوریتمهای اجماع مورد استفاده در دنیای کریپتوکارنسی مطالعه کردهاید. با روشن شدن معایب الگوریتم اجماع اثبات کار (PoW) و الگوریتم اثبات سهام (PoS) توسعهدهندگان شبکههای بلاک چینی با هدف بهبود وضعیت این فناوری نوظهور، به سراغ الگوریتمهای اجماع جدیدی رفتند که آشنایی با آنها میتواند درک روشنی از ویژگیهای حیاتی بلاک چینهای مختلف را در اختیار کاربران قرار دهد. یکی از الگوریتمهای جدیدی که اخیرا مورد توجه قرار گرفته الگوریتم اثبات ظرفیت (Proof of Capacity) نام دارد.
الگوریتم Proof of Capacity به دلیل آن که انرژی بسیار کمتری را در مقایسه با سایر الگوریتمهای اجماع مصرف میکند، کمتر مورد هجمه دوستداران محیط زیست قرار گرفته است. در الگوریتم Proof of Capacity برای استخراج بلاکهای جدید به هارد دیسک نیاز خواهیم داشت و با توجه به عدم شباهت این الگوریتم اجماع به سایر الگوریتمهای موجود، سوالات و ابهامات بسیار زیادی پیرامون این الگوریتم نوظهور شکل گرفته است. وجود ابهامات زیاد پیرامون چیستی الگوریتم اثبات ظرفیت سبب شده تا ما این مقاله از بلاگ کریپتوباز را به معرفی جامع این الگوریتم اختصاص دهیم. اگر شما هم در این زمینه کنجکاو هستید، تا انتهای این مطلب با ما همراه باشید.
مروری اجمالی بر الگوریتم اجماع (Consensus Algorithms)
هر شبکه بلاک چینی از تعداد بسیار زیادی از بلاک تشکیل یافته است که به صورت زنجیرهای به همدیگر متصل شدهاند؛ وجود حجم بالای بلاکها و ویژگی عدم تمرکز موجود در بلاک چینها سبب شده تا دفتر کل در میان هزاران نود در سرتاسر جهان توزیع شده و هر نود نقش کلیدی را در تامین امنیت شبکه ایفا نماید. وجود تعداد بالای نودهای فعال در فرآیند پردازش و تائید تراکنشهای انجام یافته در شبکه و احتمال اعمال سلایق متعدد که نتیجهای جز هرج و مرج در شبکه نخواهد داشت، تیم توسعهدهنده شبکه بلاک چینی را بر آن داشته تا فرآیندهایی را برای تامین امنیت، هماهنگی در پردازش دادهها و تراکنشات و در یک کلام یکپارچگی شبکه در نظر بگیرند که به این فرآیندها الگوریتم اجماع گفته میشود.
به بیان سادهتر، الگوریتم اجماع پروتکلی است که به وسیله آن کلیه افراد حاضر در شبکه بلاک چینی به یک توافق مشترک در ارتباط با وضعیت حال حاضر دفتر کل توزیع شده، دست پیدا میکنند. در واقع، این الگوریتمهای اجماع هستند که با ایجاد توافق در شبکه دو عامل حیاتی اعتبار (Reliability) و اعتماد را ایجاد میکنند. اولین الگوریتم اجماعی که در دنیای رمزارزها مورد استفاده قرار گرفت، الگوریتم اجماع اثبات کار (Proof of Work) نام دارد که مبتنی بر استفاده از توان پردازشی سختافزاری طراحی شده و ماینرها برای استخراج بلاک جدید در آن نیازمند حل توابع هش بلاک جدید هستند.
با روشن شدن معایب و ناکارآمدیهای الگوی اجماع اثبات کار، الگوریتم اجماع اثبات سهام (Proof of Stake) مورد توجه تیمهای توسعه دهنده شبکههای بلاک چینی قرار گرفت. در الگوریتم PoS مشارکت کنندگان در فرآیند تائید تراکنشها، باید میزان مشخصی از ارزهای دیجیتالی شبکه را خریداری کرده و در استخرهای نقدینگی یا سایر پروتکلهای شبکه سپردهگذاری نمایند. از سایر الگوریتمهای طراحی شده در شبکههای بلاک چینی میتوان به مواردی همچون الگوریتم اثبات اعتبار (PoA)، اثبات سهام نمایندگی (DPoS)، الگوریتم اجماع اثبات سوزاندن (PoB)، اثبات ظرفیت (PoC) و غیره اشاره کرد که هر یک از آنها دارای ویژگیها، مزایا و معایب مختص به خود هستند.
آشنایی با الگوریتم Proof of Capacity
الگوریتم اثبات ظرفیت (Proof of Capacity) که عموما از آن با نام اختصاری الگوریتم PoC یاد میشود، یک مکانیزم اجماع در شبکه بلاک چینی است که امکان استفاده از هارد درایو در فرآیند تائید تراکنشها و افزودن بلاک جدید به شبکه را برای دستگاههای ماین و استخراج فراهم میآورد. وجود چنین ویژگی در الگوریتم Proof of Capacity مسلما در تضاد با ویژگی رقابتی موجود در الگوریتمهای PoW و PoS بوده و عملا میتوان استفاده از آن را به عنوان جایگزینی برای حل مشکلات مصرف انرژی بالا در الگوریتم اثبات کار و انباشت رمزارزها در الگوریتم اثبات سهام به شمار آورد. روند کار در الگوریتم PoC به این صورت است که لیستی از راهحلهای احتمالی در هارد درایو دستگاه ماینر ذخیره شده و این امکان برای نودها فراهم میگردد تا با استفاده از فضای خالی در هارد درایو خود به استخراج ارزهای دیجیتالی بپردازند. هرچه ماینر فضای خالی بیشتری در هارد درایو خویش داشته باشد به دلیل ذخیره راهحلهای احتمالی بیشتر، شانس بالاتری در دریافت پاداش خواهد داشت.
اولین پروژه رمزارزی که از الگوریتم Proof of Capacity استفاده کرده، Burstcoin نام دارد که پس از مدتی نام خود را به Signum تغیییر داده و در اصل یک شبکه بلاک چینی قابل شخصیسازی است که هر فردی میتواند برنامههای غیرمتمرکز و کوینهای اختصاصی خویش را بر روی آن ایجاد کند. براساس ادعاهای موجود بلاک چین Signum، عملکرد پایدارتری در مقایسه با شبکههای بلاک چینی مشابه نظیر اتریوم از خود به نمایش گذاشته است. از شبکههای بلاک چینی دیگری که از الگوریتم اثبات ظرفیت بهره بردهاند میتوان به مواردی همچون استورج (Storj)، فایل کوین (FileCoin) با نماد FIL، چیا (Chia)، اسپیس مینت (SpaceMint) و غیره اشاره کرد.
نحوه کار الگوریتم PoC
همان طور که در مطالب فوق اشاره شد، در الگوریتم اجماع اثبات ظرفیت هرچه فضای ذخیرهسازی و حجم هارد بیشتر باشد، به همان میزان شانس حل تابع هش و دریافت پاداش استخراج بلاک نیز افزایش پیدا میکند؛ اما آیا این مسئله شرح و پاسخ کاملی برای این سوال که «الگوریتم اثبات ظرفیت چگونه کار میکند؟» میباشد؟! مطمئنا خیر! نحوه عملکرد الگوریتم Proof of Capacity در اصل به دو بخش پلات (Plotting) و ماین (Mining) تقسیم میشود. در قدم اول باید پلاتهای منحصربهفرد خویش را بر روی هاردتان ایجاد کنید که برای چنین منظوری از یک تابع هش خاص به نام Shabal استفاده میشود. جالب است بدانید که محاسبات تابع یاد شده بسیار پیچیدهتر از تابع SHA256 بیت کوین BTC است. در ادامه به طور تفصیلی هر یک از بخشهای الگوریتم اثبات ظرفیت را مورد بررسی قرار میدهیم:
پلات کردن (Plotting)
پلات کردن در الگوریتم Proof of Capacity در اصل معادل تولید کردن نانس (Nonce) است و هر پلات موجود بر روی هارد ماینر، یک نانس به حساب میآید. البته ناگفته نماند که نانس یاد شده در الگوریتم PoC بسیار متفاوتتر از آن نانسی است که در بیت کوین مورد محاسبه قرار میگیرد. در این الگوریتم به منظور یافتن نانس باید از دادههای خود که شامل شناسهتان (همان ID) نیز میشود، هش مکرر بگیرید؛ به بیان بهتر، در الگوریتم Proof of Capacity، نانسهایی که به وسیله یک فرد محاسبه میشود، صرفا به خود آن فرد اختصاص دارد.
هر یک نانس شامل 8192 هش است که هر جفت از آنها در فضایی به نام اسکوپ (Scoop) کنار هم قرار میگیرند. با این توضیح روشن میشود که در مجموع 4096 اسکوپ خواهیم داشت که هر یک از آنها دارای شماره انحصاری هستند که این شماره مابین 0 تا 4095 خواهد بود. طبیعتا هرچه فضای بیشتری داشته باشید، امکان ساخت نانسهای بیشتری نیز خواهید داشت.
ماین کردن (Mining)
مرحله بعدی شروع فرآیند استخراج و ماینینگ است که در این مرحله استخراجکننده باید به محاسبه اعداد اسکوپ بپردازد. مثلا فرض کنید که ماینری با شروع فرآیند ماین، اسکوپ شماره 49 را تولید نماید. حال ماینر باید به اسکوپ شماره 49 در نانس شماره 1 رفته و با کمک اطلاعات موجود درون اسکوپ، ددلاین (Deadline) را محاسبه کند. فرآیند محاسبه DeadLine برای کلیه نانسهای موجود در هارد درایو ماینر محاسبه شده و در نهایت نانسی که محاسبه ددلاین آن در مقایسه با سایرین کمتر است، به وسیله استخراجکننده انتخاب میگردد.
ددلاین در اصل عددی بر حسب ثانیه بوده که از آخرین بلاک میگذرد تا ماینر بتواند بلاک جدیدی را استخراج کند و در صورتی که در این بازه زمانی فردی نتواند بلاک جدیدی را استخراج کند و شما در این بازه بتوانید بلاک جدیدی را به ثبت برسانید، برنده رقابت شده و پاداش استخراج بلاک را دریافت خواهید کرد. مثلا اگر ددلاین شما چیزی در حدود 32 ثانیه باشد و فرد دیگری در این بازه زمانی قادر به ثبت بلاک جدیدی نباشد؛ در این صورت، شانس ثبت بلاک و دریافت پاداش را خواهید داشت.
مزایا و معایب الگوریتم PoC
مکانیزم اجماع PoC در مقایسه با سایر الگوریتمها دارای مزایا و معایبی است که بررسی هر یک از آنها میتواند دید روشنی را در اختیار کاربران قرار دهد؛ به همین علت در ادامه مزایا و معایب الگوریتم Proof of Capacity را مورد بررسی قرار میدهیم:
مزایا
• برخلاف دستگاههای ASIC که صرفا در استخراج برخی رمزارزها نظیر بیت کوین کاربرد دارند، به راحتی میتوان اطلاعات مربوط به استخراج را از دستگاههای مورد استفاده در الگوریتم اثبات ظرفیت حذف کرده و اطلاعات دیگری را در آنها ذخیره نمود.
• دستگاههای مورد استفاده در الگوریتم Proof of Capacity دارای صرفه اقتصادی بیشتری هستند؛ چراکه تحقیقات نشان داده در استفاده از این دستگاهها تا 30 برابر انرژی کمتری در مقایسه با دستگاههای ASIC مصرف میشود.
• نیازی به بهروزرسانی مداوم هارد درایو یا اختصاص دادن سختافزار ویژه نیست.
• محدودیتی در نوع هارد درایو وجود نداشته و حتی میتوان از سیستمهای اندرویدی برای این منظور کمک گرفت.
• قیمت کم هارد موجب ورود ماینرهای بیشتر به حوزه استخراج شده و در نهایت عدم تمرکز بیشتری عاید شبکه بلاک چینی میگردد.
معایب
• در حال حاضر به دلیل عدم آگاهی جمعی موجود در حوزه استفاده از الگوریتمهای اجماع، توسعهدهندگان کمی به سراغ الگوریتم Proof of Capacity رفتهاند.
• گسترش استفاده از این الگوریتم نتیجهای جز تولید هارد درایوهای با ظرفیت بالا را نخواهد داشت.
• به لحاظ امنیتی دررتبه پایینتری در مقایسه با الگوریتم اثبات کار قرار گرفته و بدافزارها میتوانند بر روی عملکرد صحیح شبکه تاثیر بگذارند.
• به دلیل عدم وجود استیک و سپردهگذاری، ماینرها تعهد کمتری نسبت به شبکه دارند.
الگوریتم PoC؛ مکانیزمی موثر در کاهش مصرف انرژی مورد نیاز برای ماین رمزارزها
در سالهای اخیر با رشد استفاده از شبکههای بلاک چینی و کاربرد رمزارزها در زندگی روزمره ما انسانها، شبکههای بلاک چینی با مشکلاتی در زمینه امنیت و مقیاسپذیری مواجه شدهاند و همین مسئله توسعهدهندگان را بر آن داشته تا تلاش خود را برای دستیابی به الگوریتمی جامع که قادر به حل کلیه مشکلات الگوریتمهای فعلی است، به کار بگیرند. نتیجه چنین تلاشی ظهور الگوریتمهای اجماع جدیدی بوده که هر یک از آنها دارای مزایا و معایب خاص خود هستند. یکی از الگوریتمهای اجماعی که اخیرا بسیار مورد توجه قرار گرفته است، الگوریتم Proof of Capacity نام دارد.
با توجه به مزایای بسیار زیاد استفاده از الگوریتم اثبات ظرفیت و نقش آن در توسعه استفاده از شبکههای بلاک چینی، ما این مقاله از بلاگ کریپتوباز را به معرفی جامع این الگوریتم اختصاص دادیم و همان طور که در مطالب فوق مشاهده کردید، الگوریتم Proof of Capacity به دلیل مصرف انرژی کمتر و همچنین استفاده از روش نوین برای استخراج رمزارزها (استفاده از هارد برای ماین) انتقادات زیست محیطی موجود علیه دنیای کریپتوکارنسی را کاهش داده است. ناگفته نماند که اگر در ارتباط با ماهیت و چیستی الگوریتم PoC سوالی دارید که در این مقاله اشارهای به پاسخ آن نشده است، میتوانید سوالات خود را در بخش نظرات با ما در میان بگذارید تا کارشناسان ما در اسرع وقت به سوال شما پاسخ دهند.