الگوریتمهای اجماع، فرایندهایی هستند که در آن ماینرها یا کاربران بلاک چین، به سنجش اعتبار تراکنشها و تأمین امنیت شبکه کمک میکنند و در ازای این خدمت، توکنهای بومی پروژه را پاداش میگیرند. با پیشرفت تکنولوژی بلاک چین، شبکههای مختلف از الگوریتمهای گوناگونی برای تایید تراکنشها استفاده کردند تا بتوانند با افزایش سرعت و امنیت این فرایند، زنجیرههای مقیاسپذیرتری داشته باشند. الگوریتم اثبات ظرفیت (PoC) یکی شیوههای نوین برای تایید تراکنشها محسوب میشود و موضوعی است که در این مقاله به زبان ساده، راجع به آن توضیح میدهیم.
الگوریتم اثبات ظرفیت (PoC) چیست؟
الگوریتم اثبات ظرفیت (Proof of Capacity) یا به طور خلاصه PoC، یک الگوریتم اجماع است که از درایوهای خالی ماینرها برای تایید تراکنشهای شبکه استفاده میکند. PoC چالش مصرف انرژی بسیار زیاد در PoW را حل میکند و مانند PoS هم به ذخیره مقدار زیادی توکن نیازی ندارد. به همین دلیل میتوان گفت یک الگوریتم بهینه است.
در اثبات ظرفیت، ماینرها (که با نام نود یا گره هم شناخته میشوند)، از فضای خالی درایوهایشان برای تایید تراکنشها استفاده میکنند و در ازای این کار ارزهای دیجیتال جدید شبکه را پاداش میگیرند؛ میدانید که این پاداش با نام استخراج ارز دیجیتال شناخته میشود.
فرایند استخراج ارز دیجیتال بدین صورت است که هر بلاک یک نرخ هش دارد و ماینرها با پیدا کردن هش درست، میتوانند بلاک را استخراج کنند و پاداش بگیرند. در الگوریتم اثبات کار، اعداد هدر بلاکها مدام تغییر میکند و ماینرها نیز با سرعت زیادی در حال هشگذاری هستند تا نرخ هش درست بلاک را پیدا کنند و با استخراج ارز دیجیتال، پاداش به دست آورند. اما در الگوریتم اثبات ظرفیت، لیستی از نرخ هشهای احتمالی هر بلاک در حافظه خالی ماینر ذخیره میشود و ماینری پاداش استخراج را دریافت میکند که نرخ هش ذخیره شده روی آن همان هش بلاک باشد.
هرچقدر ماینر PoC، ظرفیت بیشتری داشته باشد، نرخ هشهای احتمالی بیشتری روی آن ذخیره میشود. در نتیجه احتمال اینکه نرخ هش درست برای بلاکها را به بلاک چین ارائه دهد، بیشتر میشود. افزایش تعداد بلاکهای تایید شده، پاداش ماینر را هم افزایش خواهد داد. این مسئله مثل یک قرعه کشی است؛ هرچقدر شما برگههای قرعه کشی بیشتری داشته باشید، شانس بیشتری برای برنده شدن خواهید داشت.
الگوریتم اثبات ظرفیت (PoC) چگونه کار میکند؟
به طور کلی فرایند الگوریتم اثبات ظرفیت در دو مرحله انجام میشود؛ مرحله اول ایجاد فایل روی هارد دیسک یا پلاتینگ (Plotting) است و مرحله دوم، ماینینگ (Mining) یا استخراج. بیایید بررسی کنیم در هرکدام از این مراحل چه اتفاقی میافتد.
ایجاد فایل روی هارد دیسک (Plotting)
در این مرحله لیستی از تمام مقادیر نانس احتمالی از طریق هشگذاری مکرر به دست میآید و روی هارد دیسک ذخیره میشود. نانس همان نرخ هش درست هر بلاک است که ماینرها به دنبال آن میگردند. لیست به دست آمده در این مرحله، شامل ۸۱۹۲ نرخ هش مختلف است که از صفر تا ۸۱۹۱ شمارهگذاری میشوند. سپس هر دو مقدار مجاور در لیست در یک اسکوپ (scoop) به صورت جفت ذخیره میشوند. یعنی نرخ هش صفر و ۱ در اسکوپ صفر ذخیره میشوند، نرخ هش ۲ و ۳ در اسکوپ ۱ قرار میگیرند و به همین ترتیب تا آخر ادامه پیدا میکند.
استخراج (mining)
این مرحله، بخش اصلی الگوریتم اثبات ظرفیت است که در آن ماینرها شروع به محاسبه عدد اسکوپ میکنند. وقتی ماینر عدد اسکوپ مربوطه را به دست میآورد، با توجه به دادههای ذخیره شده در آن، مقدار ضربالاجل یا دِدلاین (Deadline) را محاسبه میکند. ددلاین، مدت زمانی بر حسب ثانیه است که باید از تولید آخرین بلاک بگذرد تا ماینر دوباره اجازه تولید بلاک جدید را داشته باشد.
ماینرها ددلاین تمام اسکوپهای موجود در نانسهای مختلفی که روی هارد دیسکشان ذخیره شده را محاسبه میکنند و در نهایت، بلاکی که کمترین ددلاین را داشته باشد، انتخاب خواهند کرد. به عنوان مثال اگر ماینر عدد اسکوپ ۵۰ در نانس ۱ را به دست آورده باشد، با توجه به دادههای آن ددلاین را محاسبه میکند و همین کار را برای سایر اسکوپهای این نانس هم انجام خواهد داد. حال تصور کنید پایینترین ددلاین به دست آمده، ۲۸ ثانیه باشد. این یعنی اگر در ۲۸ ثانیه آینده، هیچ ماینر دیگری بلاک بعدی را استخراج نکرده باشد، ماینر کنونی حق استخراج آن را خواهد داشت و در صورت موفقیت، پاداشش را به دست میآورد.
مزایا و معایب الگوریتم اثبات ظرفیت (PoC) چیست؟
در جدول پایین، مزایا و معایب الگوریتم اثبات ظرفیت را بررسی میکنیم تا بتوانید این الگوریتم اجماع را با مکانیزمهای متداولتری چون PoW و PoS مقایسه کنید.
مثالهایی از الگوریتم اثبات ظرفیت (PoC) کدامند؟
تا این بخش از مقاله توضیح دادیم الگوریتم اثبات ظرفیت چیست و چطور کار میکند. ۴ پروژهای که در حال حاضر از این مکانیزم اجماع استفاده میکنند، عبارتند از:
- Burstcoin: تیم این پروژه برای تایید تراکنشها از PoC استفاده میکند اما قصد دارد از این مکانیزم برای کاربردهای دیگری چون قراردادهای هوشمند و جمعسپاری (crowdsourcing) هم بهره ببرد. توسعهدهندگان Burstcoin، نقش مهمی در پذیرش الگوریتم اثبات ظرفیت ایفا میکنند و به توسعهدهندگان دیگر هم پیشنهادهایی برای استفاده از این مکانیزم ارائه میدهند.
- BXTB امکان استخراج توکنهای حاکمیتی خود با الگوریتم PoC را فراهم کرده است.
- Permacoin از الگوریتم اثبات کار برای ایجاد سیستم ذخیرهسازی قابل اعتماد و غیرمتمرکز استفاده میکند. اعضای این پروژه همچنین باید بخشی از یک فایل بزرگ را روی دستگاههایشان ذخیره کنند تا واجد شرایط انتخاب لیدر باشند. لیدر وظیفه امضای فایل بلاکها و توزیع آنها را برعهده دارد.
- SpaceMint مکانیزم اجماع منحصر به فردی دارد که نوع غیرتعاملی الگوریتم اثبات ظرفیت است.
سخن پایانی
در این مقاله توضیح دادیم الگوریتم اثبات ظرفیت چیست و در چه پروژههایی مورد استفاده قرار میگیرد. الگوریتمهای اجماع نوین، با وجود تمام مزیتهایی که دارند، هنوز به صورت گسترده مورد استفاده قرار نگرفتهاند و همه ویژگیهای آنها به صورت تئوری بررسی شده است. به همین دلیل هنوز نمیتوان قضاوت کرد که اگر تعداد کاربران آنها افزایش پیدا کند، همچنان همین مزایا را دارند یا خیر. به عنوان مثال هنوز نمیتوان پیشبینی کرد که اگر کاربران اتریوم قصد استفاده از بلاک چین مبتنی بر PoC را داشته باشند، امکان پاسخگویی به نیاز آنها وجود دارد یا خیر. این مسئله در دراز مدت و با پذیرش الگوریتم اثبات ظرفیت در پروژههای بیشتر و گستردهتر مشخص میشود.