الگوریتم اثبات تکرار چیست؟ (Proof of Replication)

بلاک چین به طور مداوم خود را به عنوان یک راه حل مالی غیرمتمرکز و اعتماد زدایی معرفی کرده است. تغییرات و ابزارهای جدید بسیاری به بلاک چین اضافه شده است تا بتواند به تعهد خود مبنی تمرکززدایی عمل کند. بلاک چین، به عنوان یک شبکه عمومی، بر اساس تعاملات بین توسعه دهندگان، اپراتورهای گره، ماینرها و سرمایه گذاران عمل می کند. بلاکچین نیازمند توافقنامه های اجرایی است که باعث ایجاد اعتماد متقابل بین شرکت کنندگان میشود. این توافق اغلب به عنوان مکانیزم اجماع شناخته می شود. این مکانیزم به گروهی از گره‌های مستقل اجازه می‌دهد تا به‌روز بمانند و تغییرات را در یک شبکه غیرمتمرکز تأیید کنند. این مکانیزم، اپراتورهای گره را قادر میسازد تا در مورد تغییرات آینده شبکه تصمیم بگیرند. به طور کلی، همه شرکت‌کنندگان در بلاک چین، تراکنش‌های شبکه را ثبت می‌کنند.

مکانیسم های اجماع زیادی در بلاک چین فعال شده است. برخی از نمونه‌های مکانیسم‌های اجماع عبارتند از: اثبات کار (proof of work)، اثبات سهام (proof of stake)، اثبات سهام وکالتی (delegated proof of stake) و اثبات اهمیت (proof-of-importance). سایر مکانیسم ها عبارتند از: اثبات ظرفیت (proof-of-capacity) و اثبات فضا (proof-of-space). این مقاله نیپوتو در مورد یکی از این مکانیسم های اجماع به نام الگوریتم اثبات تکرار (Proof of Replication) صحبت میکند.

الگوریتم اثبات تکرار چیست؟

الگوریتم اثبات تکرار (PoRep) یک مکانیسم اجماع است که به شبکه‌های بلاک چین ثابت می‌کند، ماینر می‌تواند یک نمونه از داده‌ها را در یک فضای ذخیره‌سازی اختصاصی نگه دارد و ارائه دهد. اثبات تکرار دو مکانیسم دیگر، اثبات اعتبار (PoR) و اثبات فضا را ترکیب می کند. اثبات اعتبار به کاربران اجازه می دهد تا داده ها را در سرور ذخیره کنند، بررسی کنند که آیا ذخیره شده است یا خیر و در نهایت امکان بازیابی داده ها را فراهم می کند. از سوی دیگر،الگوریتم اثبات فضا که نوعی الگوریتم اثبات ظرفیت است، به کاربر امکان می دهد فضای ذخیره سازی را به سرور شبکه برون سپاری کند.

در الگوریتم اثبات فضا کاربران باید فضای موجود برای فایل‌های ناخواسته را نشان دهند. برخلاف الگوریتم اثبات فضا، الگوریتم الگوریتم اثبات تکرار به کاربر این امکان را می دهد که اطلاعات مهم را در چنین فضاهایی ذخیره کند. همچنین اجازه می دهد تا داده های ذخیره شده به طور موثر بازیابی شوند. الگوریتم اثبات تکرار، الگوریتم اثبات اعتبار را در الگوریتم اثبات فضا تعبیه می کند. این مکانیسم ترکیبی در محاسبات ابری و شبکه های ذخیره سازی غیرمتمرکز بسیار سودمند است.

ذخیره سازی اطلاعات ناخواسته در مکانیسم اجماع اثبات فضا، تنها نیمی از فضای موجود را برای ذخیره داده ها استفاده می کند. با این حال، الگوریتم اثبات تکرار از فضای موجود برای ذخیره اطلاعات مفید استفاده می کند. در مقایسه با الکوریتم اثبات فضا، هزینه اجرای یک الگوریتم اثبات تکرار گران‌تر است. زیرا، الگوریتم اثبات تکرار باید اطلاعات مفید را در کنار اطلاعات ناخواسته نگه دارد و همچنین این فایل ها را بازیابی کند.

یک کاربر برای اجرای پروتکل الگوریتم اثبات تکرار در مجموع به 2N فضا نیاز دارد. کاربر نیمی از 2N را برای اجرای یک پروتکل اثبات فضا استفاده می کند که فضا را با داده های تصادفی پر می کند. سپس نیمه دیگر برای ذخیره اطلاعات مهم با اندازه N استفاده می شود و همچنین الگوریتم های اثبات اعتبار این فایل ها را تولید می کند. الگوریتم اثبات تکرار به کاربری نیاز دارد که k کپی اضافی از این فایل های ذخیره شده ایجاد کند. کاربر به فضای kN برای ذخیره k کپی از فایل و فضای kN دیگری برای ذخیره تصادفی نیاز دارد. برای ارسال این پروتکل (k+1)N فضایی برای ذخیره داده های تصادفی و یک کپی از یک فایل مورد نیاز است.

اثبات تکرار، دارای ویژگی هایی است که مشابه سایر طرح های قیمت گذاری است. اثبات تکرار غیر برون سپاری، قابل تأیید عمومی، شفاف و پویا است. این الگوریتم محدود به زمان است و از قابلیت بازیابی نیز پشتیبانی می کند. اثبات تکرار به هر طرف اجازه می دهد تا از طریق یک کلید تأیید به داده های عمومی دسترسی پیدا کنند، اما هیچ دسترسی به اطلاعات خصوصی یا محرمانه تولید شده وجود ندارد. این مکانیسم برای دسترسی به داده ها نیازی به روش خاصی ندارد و شفافیت مطلوبی فراهم می کند. ویژگی جذاب الگوریتم اثبات تکرار به کاربران اجازه می دهد تا اطلاعات ذخیره شده را بدون راه اندازی مجدد این پروتکل، استخراج یا به روز کنند. برای جلوگیری از تقلب، ماینرها باید الگوریتم اثبات تکرار کامل را در یک بازه زمانی مشخص نشان دهند. الگوریتم اثبات تکرار همچنین به منظور جلوگیری از برون سپاری یک ماینر به سایر ماینرها طراحی شده است. یک ماینر نمی‌تواند ادعای مالکیت کار ماینرهای دیگر را داشته باشد، زیرا هویت یک اثبات‌کننده از طریق احراز هویت، تأیید می‌شود.

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

مقایسه الگوریتم اثبات تکرار با اثبات کار

الگوریتم اثبات کار (PoW) محبوب ترین مکانیسم اجماع در فضای بلاک چین است. این الگوریتم با ظهور شبکه بیت کوین (BTC) در سال 2009 رایج شد. در این مکانیسم، یک ماینر (اثبات کننده) باید به تأییدکنندگان ثابت کند که کار محاسباتی انجام شده است. اما در اثبات تکرار، ماینرها باید ثابت کنند که در سخت افزار خود، فضایی برای نگهداری و بازیابی داده ها وجود دارد. به عنوان مثال، در Filecoin کاربران میتوانند در ازای دریافت توکن های FIL به عنوان پاداش، فضای ذخیره سازی اضافی خود را اجاره دهند.

هر دو مکانیسم اجماع اجازه جعل هویت و کلاهبرداری را نمی دهند. الگوریتم اثبات کار بر تمرکززدایی مالی متمرکز است، در حالی که مکانیزم اثبات تکرار بر محاسبات ذخیره سازی ابری متمرکز است. هیچ کس حتی صرافی ارز دیجیتال نمی تواند تراکنش های معتبر و داده های ذخیره شده در الگوریتم اثبات کار و اثبات تکرار را دستکاری کند. این مکانیسم ها در برابر هک های سازمان یافته، سرقت داده ها، حملات Sybil و غیره مصونیت دارند.

مزایا

مزایای زیادی برای اثبات تکرار (PoRep) وجود دارد. اجازه دهید نگاهی به چند مورد از آنها بیندازیم.

در مرحله اول، مکانیزم اثبات تکرار کانالی را برای کاربر ایجاد می کند تا سروری را استخدام کند و نسخه‌ی مشابهی از داده ها را ذخیره کند. ثانیا، مکانیزم اثبات تکرار به طور همزمان از ذخیره یک نوع فایل روی چندین سرور توسط این کاربران جلوگیری می کند. این امر به کاربران و سرورها اجازه می دهد تا یک شبکه ذخیره سازی غیرمتمرکز یکپارچه تشکیل دهند که در آن همه فایل ها نگهداری می شوند. و برخلاف سایر ذخیره‌سازی‌های ابری متمرکز، الگوریتم اثبات تکرار از حملات سایبیل (Sybil attacks)، حملات برون‌سپاری (outsourcing attacks) و حملات تولیدی (generation attacks) جلوگیری می‌کند.