پرش به محتوای اصلی
Change page

اثبات کار (PoW)

آخرین ویرایش: , ۲۴ مرداد ۱۴۰۲

اتریوم همچون بیت‌کوین از پروتکل اجماعی به نام اثبات کار (PoW)(opens in a new tab) استفاده می‌کند. این پروتکل به گره‌های اتریوم اجازه می‌دهد که روی وضعیت تمام اطلاعات ثبت‌شده روی زنجیره‌ی بلوکی اتریوم توافق کنند و از برخی انواع حملات اقتصادی ممانعت می‌کند.

سال آینده،‌ اثبات کار جای خود را به اثبات سهام (PoS) خواهد داد. تغییر به اثبات سهام باعث می‌شود که استخراج از اتریوم رخت بربندد. اطلاعات بیشتر در مورد ادغام

پیش‌نیازها

برای درک بهتر این صفحه، توصیه می‌کنیم ابتدا تراکنش‌ها‏، بلوک‌ها و مکانیزم‌های اجماع را مطالعه کنید.

اثبات کار (PoW) چیست؟

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

اثبات کار و استخراج

اثبات کار الگوریتم پایه‌ای است که سختی و قوانین کاری که استخراج‌گران باید انجام دهند را مشخص می‌کند. استخراج خودِ «کار» است. این همان عمل اضافه کردن بلوک‌های معتبر به زنجیره است. این نکته‌ی مهمی است چرا که طول زنجیره‌ کمک می‌کند که شبکه زنجیره‌ی درست اتریوم را بداند و وضعیت فعلی اتریوم را بفهمد. هر چه «کار» بیشتری انجام شود، زنجیره طولانی‌تر می‌شود و هر چه شماره‌ی بلوک بیشتر شود، شبکه از وضعیت فعلی مطمئن‌تر می‌شود.

اطلاعات بیشتر درباره‌ی استخراج

اثبات کار اتریوم چگونه کار می‌کند؟

تراکنش‌های اتریوم در بلوک‌ها پردازش می‌شوند. هر بلوک شامل چیزهای زیر است:

  • سختی بلوک - برای مثال: 3,324,092,183,262,715
  • mixHash - برای مثال: 0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29
  • نانس (Nonce) - برای مثال: 0xd3ee432b4fb3d26b

این اطلاعات بلوک مستقیماً به اثبات کار مرتبط است.

کار در اثبات کار

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

استخراج‌گر در هنگام مسابقه برای ساخت بلوک، به طور منظم و تکراری یک مجموعه‌داده را، که فقط با دانلود و اجرای همه‌ی زنجیره به دست می‌آید (همان طور که استخراج‌گر هم دانلود و اجرا می‌کند)، از یک تابع ریاضی عبور می‌دهد. این مجموعه‌داده برای ساختن mixHash و رسیدن به نانس (Nonce) هدف که توسط سختی بلوک مشخص می‌شود، استفاده می‌شود. بهترین راه برای انجام این کار آزمون و خطاست.

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

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

اثبات کار و امنیت

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

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

برای این که به‌طور مداوم بتوانید بلوک‌های معتبر اما بداندیش بسازید نیاز دارید که بیش از ‎51%‏ توان استخراج شبکه را داشته باشید تا از بقیه جلو بیفتید. شما به توان پردازشی بسیار زیادی برای انجام این میزان از «کار» نیاز دارید. و انرژی استفاده شده ممکن است از سودی که شما از این حمله به دست می‌آورید فراتر رود.

اقتصاد اثبات کار

اثبات کار همچنین مسئول صدور ارز جدید به درون سیستم و تشویق استخراج‌گران به انجام کار است.

Miners who successfully create a block get rewarded with two freshly minted ETH but no longer receive all the transaction fees, as the base fee gets burned, while the tip and block reward goes to the miner. استخراج‌گران همچنین برای ساخت بلوک‌های عمو معادل 1.75 اتر دریافت می‌کنند. بلوک‌های عمو بلوک‌های معتبری هستند که توسط یک استخراج‌گر عملاً همزمان با استخراج‌گر دیگری که بلوک را به‌طور موفق استخراج کرده است ساخته می‌شوند. بلوک‌های عمو معمولا به علت تأخیر شبکه رخ می‌دهند.

قطعیت

یک تراکنش روی اتریوم زمانی «قطعیت» دارد که عضوی از بلوکی باشد که نتواند عوض شود.

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

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

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

به یاد داشته باشید که این موضوع زمان شامل زمانی که تراکنش منتظر برداشته شدن توسط یک استخراج‌گر است نمی‌شود.

استفاده از انرژی اثبات کار

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

نقاط مثبت و منفی

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

در مقایسه با اثبات سهام

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

  • اثبات سهام به‌جای توان پردازشی به اتر سهام‌گذاری شده اهمیت می‌دهد.
  • اثبات سهام استخراج‌گرها را با اعتبارسنج‌ها جایگزین می‌کند. اعتبارسنج‌ها اتر خود را سهام‌گذاری می‌کنند تا توانایی ساختن بلوک جدید را فعال کنند.
  • اعتبارسنج‌ها برای ساختن بلوک با هم مسابقه ندارند و به‌جای آن به‌صورت تصادفی توسط یک الگوریتم انتخاب می‌شوند.
  • قطعیت واضح‌تر است: در برخی نقاط زمان، اگر 2/3 اعتبارسنج‌ها بر سر وضعیت بلوک به توافق برسند، این بلوک قطعی در نظر گرفته می‌شود. اعتبارسنج‌ها باید تمام سهام خود را شرط‌بندی کنند و اگر بخواهند تبانی کنند تمام سهام خود را از دست می‌دهند.

اطلاعات بیشتر درباره‌ی اثبات سهام

با تصویر راحت‌تر یاد می‌گیرید؟

اطلاعات بیشتر

ویدیوها

آیا این مقاله مفید بود؟