میدونید که برای تایید تراکنشها در بلاکچین، لازمه که ماینرها باهم به اجماع برسند. سازوکارهای مختلفی برای اجماع وجود داره که اثبات کار (Proof-of-Work) یکی از مهمترین آنها به شمار میره.
اثبات کار در شبکه ارزهای دیجیتال، یک پروتکل امنیتیه که با هدف بازدارنگی از حملات سایبری طراحی شده و برای اولین بار در طراحی بیتکوین استفاده شد.
در جدیدترین اپیزود از پادکست رادیو اکسکوینو به این مفهوم بنیادی پرداختیم.
پادکست امروز را بشنوید :
شاید شما هم خیلی این جمله رو شنیده باشید …. بیتکوین از سازوکار اثبات کار استفاده میکنه پس در نتیجه انرژی زیادی در فرآیند ماینینگ مصرف میکنه. این اثبات کار چی هست که انقدر انرژی میبره؟
اکسکوینوییها سلام. عصر یکشنبه 30 آبان ماهتون بخیر . من ساحل اختری هستم و همراه شمام با اپیزودم 111 از رادیو اکسکوینو
قبل از شنیدن کامل این اپیزود، حواستون باشه که این پادکست به هیچ عنوان یه توصیه مالی نیست و محتوای این پادکست در هیچشرایطی برای من و مجموعه اکسکوینو منفعت مالی در بر نداره.
تلاش ما در رادیو اکسکوینو اینه که با کیفیتترین مطالب در حوزه رمز ارزها، بلاکچین و اقتصاد کریپتو را در اختیار مخاطبانمون قرا بدیم. پس، پیش از اتخاذ هرگونه تصمیم مالی، خوب مطالعه کنید و آگاهانه گام بردارید.
راستی، اگه میخواید در این حوزهها بیشتر بدونید، به وبلاگ ما به آدرس اکسکوینو داتکام اسلش بلاگ مراجعه کنید. ضمنا، اپیزودهای جدید رادیو اکسکوینو رو میتونید در همه پلتفرمهای پادکستی مثل کست باکس و ناملیک کنید.
همه ما شنیدیم که بلاکچین بیتکوین برای تولید کوین جدید از سازوکار و یا مکانیسم اثبات کار استفاده میکنه و همین موجب افزایش مصرف انرژی در فرآیند ماینینگ میشه.
ولی واقعا سازوکار اثبات کار چی هست؟
ثبات کار یه سیستمه که از ماینر یه مقدار قابل توجه ولی در عین حال ممکن و مقدور از کار را میطلبه. همین کار و انرژی صرف شده توسط ماینر، جلوی سوءاستفاده از قدرت محاسباتی را میگیره.
ا
این ایده در سال ۲۰۰۴ توسط هال فینی برای امنیت پول دیجیتال با استفاده از الگوریتم هشینگ SHA-256 به کار گرفته شد.
به دنبال تولد بیتکوین در سال ۲۰۰۹، این بلاکچین تبدیل به اولین بستری شد که از ایده اثبات کار فینی به شکل گسترده استفاده میکنه.
فینی هم اولین دریافت کننده یه تراکنش بیتکوین بود. این سازوکار پایه استخراج بسیاری از رمزارزهای دیگه هم هست و امکان اجماع امن و غیر متمرکز رو فراهم میکنه.
پس اثبات کار یه سازوکار اجماع غیرمتمرکز هست که از اعضای یه شبکه میخواد تا برای حل یه پازل ریاضی تلاش کنن و به این طریق از به بازی گرفته شدن سیستم جلوگیری میکنه. اثبات کار الان به شکل گسترده برای ماینینگ یا استخراج رمزارزها به کار میره. به این شکل که اعتبار سنجی تراکنشها و در نتیجه استخراج توکن جدید رو انجام میده.
همین سازوکار به بیتکوین و سایر رمزارزهای مشابه اجازه داده تا تراکنشهاشون رو به شکل همتا به همتا پردازش کنن…. اون هم به یه روش امن و بدون نیاز به یه شخص ثالث و یا میانجی.
در مقیاس بزرگ، اثبات کار انرژی زیادی مصرف میکنه که با اضافه شدن ماینرهای جدید به شبکه این مصرف انرژی بازهم بیشتر میشه.
در پاسخ به همین ایراد بود که ایده نوآورانه اثبات سهام مطرح شد. اثبات سهام هم، باز یه سازوکار اجماع امن هست که به عنوان جایگزینی برای اثبات کار مطرح شد.
اما اگه بخوایم فنی تر توضیح بدیم باید از اول شروع کنم….
بیتکوین یه ارز دیجیتال هست که بر بستر فناوری دفترکل توزیع شده یا همون بلاکچین بنا شده. این دفتر کل حاوی اطلاعات ثبت تمامی تراکنشهای بیتکوین هست و این اطلاعات در بلوکهای مسلسل و پشت سرهم آمدن.
همین پشت سرهم بودن بلوکها به هیچ کاربری اجازه نمیده تا بیتکوینش را دوبار خرج کنه.
برای جلوگیری از تقلب و دستکاری، این دفترکل عمومی یا توزیع شده است و به همین علت یه نسخه تغییریافته به سرعت توسط سایر کاربران شبکه رد یا ریجکت میشه.
حالا این کاربرا از چه روشی متوجه دستکاری میشن؟
از طریق هشها. هشها رشتههای طولانی از اعداد هستن که به عنوان اثبات کار عمل میکنن. شما یه سری اطلاعات را وارد تابع هش میکنید و از اون طرف این تابع فقط یه خروجی به شما میده که همون هش منحصر به فرد هست و هرگونه تغییری با این تابع همخونی نخواهد داشت.
ما اینجا یه مفهوم دیگه داریم به نام تاثیر بهمنی. کار این تاثیربهمنی اینه که حتی کوچکترین تغییر در اطلاعات ارائه شده به تابع منجر به خروج یه هش کاملا غیرقابل تشخیص میشه و شبکه اون را به رسمیت نخواهد شناخت.
طول هش خروجی مساوی با طول اطلاعات ورودی هستش. هش یه تابع یه طرفه است: یعنی اطلاعات ورودی که منجر به تولید هش شده را نمیشه به دست آورد بلکه فقط میشه باهاش چک کرد که آیا هش خروجی با اطلاعات ورودی تطابق داره یا نه.
حالا اینجا میرسیم به یه مفهوم دیگه: خوب تولید هش برای اطلاعات تراکنشهای بیتکوین برای یه کامپیوتر مدرن خیلی ساده وراحته. کجای این قضیه منجر به مصرف انرژی میشه؟ اینجاست که برای تبدیل این فرآیند به مفهوم کار شبکه بیتکوین یه سطحی از سختی را تعریف میکنه.
این تنظیمات برای استخراج یه بلوک جدید هست. استخراج یه بلوک جدید یعنی اضافه شدن یه بلوک به بلاکچین از طریق تولید یه هش معتبر که الان در حدود ده دقیقه طول میکشه.
خب سختی چطور تنظیم میشه؟ سختی از طریق تعیین یه هدف برای هش تنظیم میشه. هرچه این هدف پایینتر باشه یعنی تعداد هشهای معتبر محدودترن و در نتیجه تولید هش معتبر سخت تره. در عمل این منجر به تولید هشهایی میشه که یه نخ طولانی از صفرها در اولشون هست.
حالا سئوال اینجاست: از اونجایی که یه گروه از اطلاعات یا به عبارت دیگه یه ست از دیتا، فقط میتونه منجر به تولید یه هش بشه، ماینرها چطور میتوونن مطمئن شن که یه هش پایین تر از هدف تعیین شده در سختی شبکه را تولید میکنن؟
برای حل این مشکل اونا ورودی رو با اضافه کردن یه اینتگر که بهش نانس یا همون عدد یکبار مصرف گفته میشه تغییر میدن. وقتی به یه هش معتبر میرسن، اون را در شبکه اعلام میکنن و بلوک به لاکچین اضافه میشه.
ماینینگ یه فرآیند رقابتی هست و بیشتر شبیه یه لاتاریه تا یه مسابقه. به طور میانگین یه نفر میتونه یه مقدار قابل قبول اثبات کار رو در هر ده دقیقه داشته باشه، ولی اینکه این یه نفر کی هست؟
کاملا شانسیه. حالا ماینرها در کنار هم تشکیل استخر میدن تا شانس استخراج بلوک در خودشون را افزایش بدن، اما همین کار موجب افزایش کارمزد تراکنش میشه.
اثبات کار تغییر کوچکترین چیزی در بلاکچین را بسیار سخت میکنه و چنین تغییری نیازمند «بازاستخراج» تمام بلوکهای بعدی میشه. یه مزیت دیگه این این سازوکار اینه که به هیچ ماینر یا استخر ماینینگی اجازه نمیده تا انحصار قدرت محاسباتی شبکه را در اختیار بگیره.
یه جمعبندی کوتاه: اثبات کار در بیتکوین یعنی یه کامپیوتر به طور رندوم انقدر درگیر توابع هشینگ میشه تا به یه خروجی برسه که در تطابق با حداقل میزان صحیح صفرهای ابتدایی باشه.
اما در انتها یه نکته جالب بهتون بگم: آیا باورتون میشه اثبات کار اولین بار به عنوان یه سازوکاری برای مقابله با هرزنامهها یا همون اسپم ایمیلها مطرح شدن؟