- توسط: modir
- 21 اردیبهشت, 1399
- 0 نظرات
همیشه سوال هایی در ذهن سیل عظیم علاقهمندان به بیت کوین وجود داشته است، از قبیل این که آیا ساتوشی ناکاموتو اشتباهی در کدهای مرتبط با هاوینگ مرتکب شده است؟ و یا این که بلاک هاوینگ بیت کوین چگونه کار میکند؟
آندریاس آنتونوپولوس (Andreas Antonopoulos) با بررسی کدهای بیت کوین در مورد هاوینگ به این سوال پاسخ میدهد.
آندریاس آنتونوپولوس، از مشهورترین چهرههای حوزه بیت کوین، در اظهارنظر تازه خود به توضیح کارکرد کدهای هاوینگ موجود در بیت کوین کور (Bitcoin Core) پرداخته است. این کدها مسئولیت کنترل جزئیات نصف شدن پاداش استخراج بیت کوین را بر عهده دارند.

توضیح خط به خط
هر بار که یک بلاک بیت کوین بررسی یا استخراج میشود، تابعی با عنوان «GetBlockSubsidy» که کدهایش را در بالا مشاهده میکنید اجرا میشود. این تابع است که تعیین میکند میزان صحیح از پاداش بلاک چقدر است. خط ۱,۲۴۰، چرخه هاوینگ را محاسبه و شماره بلاک فعلی را تقسیم بر ۲۱۰,۰۰۰ میکند. این عدد همان فاصله بین هاوینگ است. در زمان انتشار این مطلب، در بلاک شماره ۶۲۹,۳۶۹ قرار داریم، اگر آن را تقسیم بر ۲۱۰,۰۰۰ کنیم، ۲.۹۹ بدست خواهد آمد. این عدد به ما میگوید که ۲ هاوینگ را پشت سر گذاشتهایم (به یاد داشته باشید که عدد اعشار در این معادله حذف میشود). با استفاده از این اطلاعات، کد میفهمد که دو هاوینگ انجام شده است و به همین دلیل هاوینگ بعدی در بلاک شماره ۶۳۰,۰۰۰ خواهد بود.
اصلاح اشتباه ساتوشی
خطوط ۱,۲۴۲ و ۱,۲۴۳، به این منظور ایجاد شده اند تا اشتباه ساتوشی در کد اصلی را اصلاح کند. در کد اولیه این امکان وجود داشت که پاداش استخراج بیش از ۶۴ بار نصف شود. با استفاده از این کد، عدد کلی از پروتکل بیت کوین حذف شد.
خط ۱,۲۴۵ پاداش ابتدایی بلاک (۵۰ بیت کوین) را ضرب در میزان ثابت «COIN» میکند که معادل ۱۰۰,۰۰۰,۰۰۰ساتوشی است. نکته جالبی که اینجاست این است که هیچ بیت کوینی در کد بیت کوین وجود ندارد و تنها از ساتوشی استفاده میشود.
خط ۱,۲۴۷، میزان صحیح پاداش بلاک را برای بلاک فعلی محاسبه میکند. این خط، از یک عملیات بیتی برای محاسبه این رقم استفاده میکند، زیرا این عملیات دقت بیشتری به نسبت محاسبات معمول ریاضی دارد. پاداش بلاکی که در خط ۱,۲۴۵ محاسبه شده بود با توجه به پاداش فعلی بلاک اصلاح میشود. در بلاک فعلی شرح معادله به شکل زیر است:
۱,۲۵۰,۰۰۰,۰۰۰ ساتوشی یا ۱۲.۵ بیت کوین = ۲ به توان ۲ ÷ ۱۰۰,۰۰۰.۰۰۰ * ۵۰
در نهایت، خط ۱۲۴۸، زمانی که یک تابع دیگر یا هر مکانیزم دیگری به آن نیاز داشت، این رقم را به عنوان پاسخ نمایش میدهد.
کمتر از دو روز دیگر شاهد نصف شدن پاداش استخراج بیت کوین خواهیم بود؛ به عبارت دیگر، هاوینگ تنها ۶۳۱ بلاک با ما فاصله دارد.