آموزش بلاکچینبلاکچین

گواه اثبات ظرفیت یا Proof of Capacity چیست؟ (PoC)

لایه هماهنگی یا توافق جمعی (consensus) در هر سیستمِ مبتنی بر زنجیره بلاک یا همان بلاکچین، یکی از مهمترین لایه‌ها است. به رغم وجود این احتمال که اعضایی در سیستم وجود خواهند داشت که قابل اعتماد نیستند و عمدا یا سهوا باعث ایجاد مشکل در روند اضافه شدن تراکنش‌ها به سیستم خواهند شد، سیستم باید قابل اعتماد بماند. این لایه قسمتی ست که با وجود اینگونه مسائل، باعث می شود بتوان به سیستم اعتماد کرد. در این مقاله قصد داریم گواه اثبات ظرفیت یا همان Proof of Capacity را به زبان ساده توضیح دهیم.

پیشنهاد مطالعه: انواع الگوریتم اجماع در دنیای بلاک چین و ارز دیجیتال (consensus algorithm)

گواه اثبات ظرفیت چیست؟ بازگشت به سوال اصلی

بگذارید تا قبل از اینکه به توضیح گواه ظرفیت بپردازیم به مسئله‌ای بنیادین‌تر برگردیم. چه چیزی را داریم اثبات میکنیم و برای چه؟ یک فرد، یا در اینجا یک رایانه که نماینده یک فرد است، قصد رساندن خدماتی را دارد؛ این خدمات می تواند ارسال رایانامه، ثبت تراکنش های مالی، ذخیره سازی اطلاعات یا هر خدمات دیگری باشد. اگر انجام این خدمات هزینه ای نداشته باشد یا هزینه آن به اندازه کافی ناچیز باشد، استفاده از این خدمات برای امور نامربوط و بی ارزش و یا به قصد خرابکاری (مثلا ارسال هزاران هزار هرزنامه یا ارسال درخواست های بسیار برای از بین بردن توانایی سرویس دهی یک خدمات دهنده) توجیه اقتصادی پیدا می کند به این مشکل nothing at stake گویند که من آن را به مشکل -سنگ مفت- ترجمه کردم (از مثل سنگ مفت، گنجشک مفت).
برای جلوگیری از استفاده نامربوط باید هزینه‌ای برای خدمات‌دهنده ایجاد کرد و خدمات دهنده باید به روشی این هزینه کرد را برای ما اثبات کند. در سامانه‌هایی که بر عدم مرکزیت استوارند استفاده از تنبیه‌های قانونی و امید به قانون یا نهادهای متمرکز که وظیفه بازرسی و اعمال قانون را دارند ممکن نیست و سامانه باید روشی جایگزین برای ثبات هزینه کرد خدمات دهنده‌ها باشد.

پیشنهاد مطالعه: گواه اثبات سهام یا proof of stake چیست؟ (PoS)

گواه اثبات ظرفیت نیز به مانند گواه اثبات کار جزو روش‌های اثبات ارزش داشتن انجام گرفتن خدمات و پایبندی به قوانین از طرف خدمات‌دهنده است. در این روش خدمات دهنده یا استخراج کننده به جای هزینه کردن توان پردازشی (انرژی و هزینه آن به طور غیر مستقیم) سعی می کند با اثبات داشتن فضا و ظرفیت ذخیره و بازیابی اطلاعاتش ( هزینه خرید و نگهداری دستگاه های نگهداری اطلاعات به طور غیر مستقیم) هزینه کرد خود را گواهی دهد. یکی از مهمترین دلایل معرفی این روش کاهش استفاده از از انرژی و در واقع سبز بودن این روش است. این روش هزینه انجام شده برای گواهی هزینه کرد را، از استفاده از انرژی (که بدون بازگشت است)، به خرید تجهیزات که قابل استفاده و بازیابی در سایر موارد هستند انتقال می دهد.

برای توضیح گواه ظرفیت باید از اولین رمز‌ارزی که از این روش استفاده کرده است صحبت کنیم Burstcoin. بِرْسْتْ کوین اولین رمز‌ارزی بود که ماشین تورینگ کامل عرضه کرد (قبل از اتریوم و کانترپارتی).اولین بلاک برست‌کوین در سال ۲۰۱۴ ایجاد شد و برنامه نویس اصلی و اولیه با نام مستعار برست کوین نیز مانند ناکاموتو بعد از مدتی ناپدید شد.

پیشنهاد مطالعه: مقایسه الگوریتم اثبات کار و اثبات سهام : کدامیک بهتر است؟

نحوه کار Burstcoin

الگوریتم ساده شده گواه ظرفیت:

  1. پلات‌های داده را با استفاده از الگوریتم پلات ایجاد کن و روی دیسک سخت ذخیره کن.
  2. امضای بلاک قبل و شماره بلاک فعلی را به هم بچسبان و نتیجه را هش کن
  3. نتیجه هش شده را تقسیم بر ۴۰۹۶ کن و عدد بدست آمده را «عدد انتخاب» بنام
  4. با استفاده از عدد انتخاب از پلات ذخیره شده در یک، یک عدد پیدا کن
  5. عدد بدست امده  را به امضای قبلی بچسبان و نتیجه را هش کن
  6. حاصل تقسیم این عدد بر هدف پایه “base target”، یک عدد به ثانیه خواهد بود که  «مهلت» را نشان خواهد داد.
  7. اگر بیشتر از یک پلات داری، به مرحله ۴ برو و همه مهلت های ممکن را ایجاد کن.
  8. اگر از زمان ایجاد بلاک قبلی به اندازه مهلت زمان گذشته بود شما اجازه دارید یک بلاک جدید بسازید. و آن را انتشار دهید.

(استخراج کننده ها سگمنت ها یا بخش هایی از داده را ایجاد می کنند که به آن پلات گفته می شود و در دیسک سخت ذخیره می شوند)

الگوریتم ایجاد پلات

در این الگوریتم داده ها به گونه ای در دیسک سخت ذخیره می شوند که در هر بخشی از دیسک سخت یک پلات قرار دارد و در هر بخشی از پلات یک هش که به نوعی با آدرس عمومی (pulic key) فرد در ارتباط است. هر کدام از این بخش ها باید به نوعی با سایر بخش ها در ارتباط باشد که نتوان یکی از این بخش ها را بدون وجود سایر بخش‌ها ایجاد کرد (اطمینان از ذخیره بخش‌ها بر روی دیسک سخت) و بتوان از ذخیره شدن همه بخش ها با درخواست کردن تنها قسمت کمی از آنها مطمئن شد.
توضیح متنی الگوریتم ایجاد پلات به دلیل سادگی بصر آن در فلوچارت زیر لازم به نظر نمی آید.

مزایا و معایب

  • مصرف کم انرژی و آسیب کمتر به محیط زیست.
  • استفاده از امکانات قابل استفاده در سایر مصارف.
  • عدم امکان طراحی مدار‌های ویژه که باعث هدررفت سرمایه میشود ASIC Proof
  • طراحی شده برای عدم تمرکز.
  • امکان ماین کردن برای همگان و حتی در دستگاه های ضعیف و کوچک مانند گوشی‌های هوشمند.
  • ارزان بودن امکان ماین در این سیستم باعث ایجاد مشکلات «سنگ مفت» (Nothing at Stake) می شود که هماهنگی در لایه هماهنگی را دچار چالش می کند و نیازمندی برای ایجاد مکانیزم های تنبیهی را ایجاد می کند.
  • مشکل زمان-حافظه (time-memory tradeoffs) مشکلی است که در برست کوین وجود دارد و به مهاجم این امکان را می دهد که با ذخیره مقادیر کمتر و استفاده از توان محاسباتی به جان آن (در موارد خاص) به گونه‌ای سیستم را دور بزند و بتواند شانسی بیشتر از شانس واقعی اش (بنا به میزان پلات های ذخیره شده )‌ بدست آورد.

در وایت پیپری دیگر روشی با نام SpaceMint عرضه شده که بعضی از نواقص BurstCoin را حل میکند و امکان استفاده از گواه ظرفیت را بهبود می بخشد.



دیدگاه هایی که در این مقاله ارائه شده اند، متعلق به نویسنده می باشند و لزوماً مربوط به Coiniran نمی باشد و نباید به آن نسبت داده شود.



Image via cryptocoinsnews

https://coiniran.com/?p=6284
0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
دکمه بازگشت به بالا
0
دیدگاه خود را با کوین ایران به اشتراک بگذارید!x