ارز دیجیتالاقتصادی

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

بلوک خالی بیت کوین بلوکی است که حاوی اطلاعاتی مانند هدر است. اما حاوی هیچ تراکنش نیست و تنها تراکنش موجود در آن تراکنش کوین بیس است که به ماینرها پول پرداخت می کند.

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

ممکن است بپرسید آیا واقعاً می توان یک بلوک خالی را استخراج کرد؟ پاسخ کوتاه به این سوال بله است. به عنوان مثال، بلوک 776339 که در اواسط فوریه 2023 (بهمن 1401) استخراج شد، یک بلوک خالی بود. دو هفته قبل از آن، بلوک خالی شماره 774486 استخراج شد.

چرا ماینرها بلوک های خالی را استخراج می کنند؟ آیا این یک واقعیت نیست که درآمد بیشتر ماینرها از کارمزد تراکنش ها علاوه بر پاداش استخراج بلوک به دست می آید؟ آیا استخراج یک بلوک خالی بیت کوین برای شبکه مشکل ایجاد می کند؟ در این مقاله به همه این سوالات پاسخ خواهیم داد. پس تا پایان مقاله با ما همراه باشید.

بلاک خالی بیت کوین چیست؟

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

بلوک فضایی است که داده های مربوط به تراکنش ها را ذخیره می کند. بلاک چین بیت کوین از زنجیره ای از این بلوک ها تشکیل شده است. در شبکه بیت کوین، سختی اثبات کار به گونه ای تنظیم می شود که به طور متوسط ​​هر 10 دقیقه یک بلاک جدید ایجاد می شود. هر ماینری که در حل یک بلوک موفق شود، پاداش استخراج بلاک (در حال حاضر 6.25 بیت کوین) و کارمزد تراکنش دریافت خواهد کرد.

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

باید گفت که این بلوک کاملا خالی نیست و مانند بلوک های معمولی دارای سربرگ ها و فیلدهای دیگر با اطلاعات است. یک بلوک خالی حتی حاوی لیستی از تراکنش ها است، با این تفاوت که تنها یک تراکنش در این لیست دیده می شود که تراکنش “Coinbase” است که به استخراج کننده برای استخراج بلاک پاداش می دهد.استخراج بلوک‌های خالی آسان‌تر، ارزان‌تر یا سریع‌تر از بلوک‌های کامل نیست. زیرا هزینه های محاسباتی از جمله هزینه های اثبات کار نیز دارند. حال بیایید ببینیم که چگونه یک بلوک خالی استخراج می شود.

مقدمه ای بر استخراج بلاک در بیت کوین

فرض کنید شما یک ماینر هستید و باید بلاک ماینینگ را انجام دهید. برای این کار ابتدا ممپول را چک کنید سپس تراکنش های جذاب با کارمزد بالا را انتخاب کنید و سپس به بلوک منتقل کنید. ماینرهای دیگر با شما رقابت می کنند.

این یک استخر خصوصی نیست و همه ماینرها تراکنش های خود را از این استخر انتخاب می کنند. از آنجایی که همه شما سعی می کنید تراکنش هایی را با بالاترین کارمزد انتخاب کنید، طبیعی است که بسیاری از تراکنش ها بین شما تقسیم می شود. بنابراین، باید مکانیزمی برای لغو انتخاب تراکنش های تکراری وجود داشته باشد.

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

چگونه یک بلوک خالی را استخراج کنیم؟

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

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

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

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

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

چرا برخی از استخرهای ماینینگ بلوک های خالی بیت کوین را استخراج می کنند؟

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

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

در این بازه، خود Pool بلوک جدید را با تراکنش ها پر می کند و بلوک قبلی را تایید می کند. به یاد داشته باشید که هر ثانیه از زمان مرور شما مهم است. در 1 یا 2 ثانیه، بلوک قالب به روز شده که این بار حاوی تراکنش است، برای ماینرها ارسال می شود. بلوک به روز شده بلوک الگوی قبلی را لغو نمی کند. زیرا آن بلوک تراکنش ندارد.

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

واقعیت این است که زمان در این صنعت به معنای واقعی کلمه با ارزش است. استخرها نمی توانند مطمئن باشند که nonce به این سرعت پیدا می شود. در عوض، آنها فقط می خواهند زودتر استخراج بلوک بعدی را شروع کنند.

با استخراج یک بلاک خالی در شبکه چه اتفاقی می افتد؟

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

همچنین استخراج بلوک های خالی بیت کوین شامل تراکنش هایی نیست که واحدهای بیت کوین جدید ایجاد کند. اما این تراکنش دارای Coinbase است و تضمین می کند که بیت کوین به سمت هدف اصلی خود یعنی داشتن 21 میلیون واحد بیت کوین در گردش حرکت می کند.

در همین حال، یک مشکل احتمالی، حمله بلوک خالی است. با این حال، همانطور که جیمی سانگ در مقاله خود در وب سایت Medium نوشت، این حمله آنطور که باید نگران کننده نیست.

حمله بلاک خالی چیست؟

بلاک خالی بیت کوین

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

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

حمله بلوک خالی به دو صورت مستقیم و غیر مستقیم قابل انجام است. در حمله مستقیم، مهاجم با به دست آوردن 51 درصد تجهیزات ماینینگ، حمله را انجام می دهد. اما در یک حمله غیرمستقیم، استخرهای ماینینگ را متقاعد می کند که فقط بلوک های خالی را استخراج کنند.

در هر دو سناریو، ماینرها تمایلی به همکاری با استخر ندارند. از آنجایی که بلوک های خالی کارمزد تراکنش ندارند و با فرض 6.25 بیت کوین و هزینه های اندک پرداخت شده توسط استخرهای ماینینگ، این کار سودآور نیست.

اگر شرایط برای حمله فراهم شود چه اتفاقی می افتد؟

مهاجمان حمله ای را با یک بلوک خالی انجام می دهند تا کل شبکه را از بین ببرند. بقیه شبکه متوجه خالی بودن بلوک ها می شوند و وقتی تعداد آنها زیاد باشد متوجه می شوند که این یک حمله است. بنابراین می توانم از دستور invalidateblock برای بی اعتبار کردن بلوک و تمام بلوک های بعدی استفاده کنم.این دستور کل شاخه ایجاد شده توسط مهاجم را لغو می کند.

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

استخراج بلاک های خالی بیت کوین خوب است یا بد؟

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

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

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

آیا می توان از استخراج بلاک های خالی جلوگیری کرد؟

واقعیت این است که امروز تعداد بلوک های خالی بسیار کاهش یافته است و آخرین مورد در بهمن ماه امسال اتفاق افتاد. باید توجه داشت که این امر به دلایل مختلف رخ می دهد.

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

در روزهای ابتدایی استخراج بیت کوین، پاداش بلاک 50 بیت کوین بود و پس از هاوینگ اول، به 25 واحد رسید. در آن زمان حجم تراکنش بسیار کمتر بود و کارمزد تراکنش در مقایسه با پاداش بلوک ناچیز بود.

از سال 2016 که پاداش بلاک به 12.5 بیت کوین رسید، حجم تراکنش ها و البته کارمزد آنها افزایش یافته است. این ماینرها را تشویق می کند تا تراکنش های بیشتری را در یک بلوک قرار دهند. در حال حاضر، پاداش بلوک 6.25 واحد است. بنابراین، استخراج بلوک های خالی دیگر برای ماینرها سودی ندارد.دلیل مهم دیگر این است که بهبودها و بهبودهایی در نرم افزار استخراج به خصوص بیت کوین Core 0.12 انجام شده است که زمان بین اعتبارسنجی یک بلوک جدید و شروع کار بر روی بلوک بعدی را بسیار کاهش می دهد. همچنین، اگر وظیفه اولویت‌بندی تراکنش‌ها از نظر فنی ساده‌تر و سریع‌تر باشد، ممکن است انتخاب آنها برای ماینرها آسان‌تر باشد.

سوالات متداول

چگونه یک بلوک خالی بیت کوین استخراج کنیم؟

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

بلاک خالی بیت کوین چیست؟

بلاک خالی بیت کوین بلوکی است که هیچ تراکنشی ندارد و تنها تراکنش موجود در آن تراکنش کوین بیس است که به ماینرها پاداش پرداخت می کند.

نتیجه

استخراج یک بلوک خالی از بیت کوین یکی از رویدادهای فنی است که در شبکه این ارز دیجیتال رخ می دهد. در این مقاله بررسی کردیم که این رویداد به چه معناست و در چه شرایطی رخ می دهد.

استخراج یک بلاک خالی بیت کوین منطقاً برای ماینرها سودی ندارد.زیرا به ماینرها فقط پاداش استخراج داده می شود و هیچ کارمزد تراکنش وجود ندارد. با این حال، گاهی اوقات به دلایلی که در مقاله ذکر کردیم، ماینرها یک بلوک خالی را استخراج می کنند. سوالات خود را در مورد استخراج یک بلوک خالی بیت کوین در بخش نظرات این مقاله با ما در میان بگذارید.

دیدگاهتان را بنویسید

دکمه بازگشت به بالا