گواه اثبات کار در بلاکچین چیست؟

زمان مطالعه: 6 دقیقه

مقدمه

اثبات کار (Proof of Work) یا به اختصار  PoW، الگوریتمی برای اجماع در یک شبکه بلاکچین است. از این الگوریتم برای تأیید تراکنش‌ها و تولید بلاک‌های جدید و اتصال آن به زنجیره استفاده می‌شود. استخراج کنندگان از این الگوریتم برای تکمیل تراکنش‌ها در شبکه و گرفتن پاداش با یکدیگر به رقابت می‌پردازند.

کاربران شبکه برای یکدیگر توکن می‌فرستند. یک دفتر کل غیر متمرکز تمام تراکنش‌ها را در بلوکی جمع می‌کند اما با این وجود باید در تأیید تراکنش‌ها و سازمان‌دهی بلاک‌ها دقت کرد. این مسئولیت بر عهده نودهای ویژه‌ای به نام ماینر است و به فرآیند آن استخراج گفته می‌شود. شالودۀ کار عبارت است از معادلات مشکل ریاضی و یافتن راه‌حلی آسان برای حل آنها.

منظور از “معادلات ریاضی” چیست؟

مسئله‌ای است که حل آن به نیروی محاسباتی زیادی نیاز دارد.

دوره رایگان آموزش ترید ارزهای دیجیتال
با دریافت و مشاهده دوره آموزش ارزهای دیجیتال، به دنیای جذاب و پرسود رمز ارزها وارد شوید.

دانلود رایگان

چند نمونه از آنها را بیان می‌کنیم:

• تابع هش (hash function) یا نحوه رابطه ورودی نسبت به خروجی.

• فاکتورگیری عدد صحیح (integer factorization) یعنی چگونه عددی را که از حاصل ضرب دو عدد به دست آمده، ارائه دهیم.

• پروتکل معادلۀ هدایت شده (guided tour puzzle protocol). اگر سروری به حمله DOS شک کند، برخی از نود‌ها به ترتیب معینی نیاز به محاسبات توابع هش پیدا می‌کنند. در اینجا مسألۀ ما «چگونگی یافتن زنجیره‌ای از مقادیر عملکردی هش» است.

در حقیقت هش همان جواب مسئله PoW یا معادله ریاضی است.

با رشد شبکه، با مشکلات بیشتری نیز روبه‌رو می‌شویم. برای حل الگوریتم‌ها نیاز به هش و قدرت محاسباتی بالاتری خواهیم داشت. بنابراین پیچیدگی این معادلات عامل مهمی است.

معادلات ریاضی پیچیده

دقت و سرعت سیستم بلاکچین به این معادلات بستگی دارد.

مسأله نباید خیلی پیچیده باشد؛ زیرا اگر چنین باشد، تولید بلاک زمان زیادی را می‌گیرد و تراکنش‌های اجرانشده زیاد می‌شوند و سیستم برای مدتی کار نخواهد کرد. اگر مشکل در یک بازه زمانی معینی حل نشود، تولید بلاک به امری دشوار تبدیل می‌شود.

اما اگر مسأله‌ ریاضی بسیار ساده باشد، احتمال آسیب‌پذیری، حملات DOS و اسپم بیشتر می‌شود.

راه‌حل‌ها باید به راحتی بررسی شوند؛ در غیر این صورت همه نود‌ها نمی‌توانند صحت محاسبات را تجزیه و تحلیل کنند و شما مجبور می‌شوید که به نود‌های دیگر اعتماد کنید. این، نقض یکی از مهم‌ترین ویژگی‌های بلاکچین یعنی شفافیت خواهد بود.

چگونه یک الگوریتم در بلاکچین اجرا می‌شود؟

ماینرها معادله را حل می‌کنند، بلاک جدید تشکیل می‌دهند و تراکنش‌ها را تأیید می‌کنند.

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

اثبات کار

اگر ماینری معادله را حل کند، بلاک جدید ساخته می‌شود. تراکنش‌ها در این بلاک قرار گرفته و تأیید می‌شوند.

اثبات کار

مکان اجرای PoW

الگوریتم اثبات کار (PoW) در بسیاری از رمزارزها استفاده می‌شود.

معروف‌ترین کاربرد PoW در بیت کوین است. در واقع بیت کوین پایه‌گذار این نوع از اجماع بود. معادله Hashcash (الگوریتمی بر پایه هش) است. این الگوریتم اجازه می‌دهد که پیچیدگی یک معادله را بر اساس قدرت کل شبکه تغییر دهیم. میانگین زمان ساخت هر بلاک ۱۰ دقیقه است. رمزارزهای مبتنی بر بیت کوین، مانند لایت کوین نیز سیستم مشابهی دارند.

پروژه بزرگ دیگری که از PoW بهره می‌برد «اتریوم» است. با توجه به اینکه تقریباً سه چهارم پروژه‌ها روی پلتفرم اتریوم اجرا می‌شوند، می‌توان نتیجه گرفت که اکثر برنامه‌های بلاکچین از مدل اجماع PoW استفاده می‌کنند.

چرا از یک الگوریتم اجماع PoW استفاده می‌کنیم؟

مزایای اصلی آن دفاع در برابر حملات DoS و عدم تأثیرگذاری میزان دارایی‌ها بر عملیات استخراج است.

دفاع در برابر حملات DOS :DOS محدودیت‌هایی را برای فعالیت در شبکه اعمال می‌کند. برای اجرای آنها به تلاش‌های زیادی نیاز است. یک حمله مؤثر به توان محاسباتی فراوان و زمان زیادی برای انجام محاسبات نیاز دارد؛ لذا می‌توان حمله کرد اما این کار به دلیل هزینه‌های بالا فایده‌ای ندارد.

احتمالات استخراج: مهم نیست که چه مقدار رمزارز در کیف پول‌تان داشته باشید، مهم این است که برای محاسبه معادله‌ها و ایجاد بلوک‌های جدید، توان محاسباتی زیادی داشته باشید. بنابراین، افرادی که رمزارزهای زیادی دارند، لزوماً مسئول تصمیم‌گیری برای کل شبکه نیستند.

آسیب‌پذیری در الگوریتم PoW

مخارج بالا، بی‌ فایده بودن محاسبات و امکان اجرای حملات ۵۱ درصدی از معایب اصلی این الگوریتم به شمار می‌روند.

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

اثبات کار

«بی فایده» بودن محاسبات: کارگران استخراج فعالیت زیادی را برای تولید بلاک انجام می‌دهند؛لذا انرژی زیادی را مصرف می‌کنند. با این وجود، محاسبات آنها در جای دیگری کاربرد ندارد. کار آنها امنیت شبکه را تضمین می‌کند، اما نمی‌توان از آنها در زمینه تجارت، علوم یا موارد دیگر استفاده کرد.

حملات ۵۱ درصدی

«حمله ۵۱ درصدی» یا «حملات اکثریت» زمانی رخ می‌دهد که کاربر یا گروهی از کاربران، اکثر توان استخراج را به دست می‌گیرند. در این وضعیت مهاجمین از قدرت کافی برای کنترل بیشتر رویدادهای شبکه برخوردار هستند.

آنها می‌توانند جلوی تکمیل بلاک‌های دیگر ماینرها را بگیرند و تولید بلاک‌های جدید و گرفتن پاداش را به انحصار خود در بیاورند. در واقع آنها می‌توانند تراکنش‌ها را معکوس کنند.

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

اثبات کار

لذا ماینرها به یکی از شاخه‌ها اضافه می‌شوند و از آنجا که مهاجمان بیشترین توان محاسباتی شبکه را در اختیار دارند، زنجیره آنها دارای بلاک‌های بیشتری است.

اثبات کار

در شبکه، زنجیره‌ای که دوام بیشتری دارد باقی می‌ماند و زنجیره‌ کوتاه‌تر رد می‌شود. بنابراین تراکنشی بین آلیس و باب انجام نمی‌گیرد و باب پولی دریافت نمی‌کند.

اثبات کار

مهاجمان پس از انجام این مراحل می‌توانند روند تراکنش‌ها را برعکس کنند.

حمله ۵۱ درصدی خیلی برای مهاجمان سودآور نیست؛ زیرا اجرای آن به توان محاسباتی زیادی نیاز دارد. اگر عموم کاربران متوجه این حملات بشوند، از شبکه خارج می‌شوند. این کار موجب کاهش قیمت رمزارز می‌شود و در نتیجه، داریی‌ها ارزش خود را از دست می‌دهند.

ممکن است به این مطالب نیز علاقه‌مند باشید

دیدگاه خود را ثبت کنید

1 دیدگاه
جدیدترین
قدیمی ترین بیشترین رأی
Inline Feedbacks
View all comments

بسیار عالی بود