عملکرد ماینینگ در بیت کوین چگونه است؟
ممکن است وقتی عبارت " mining " در بیت کوین را بشنوید، تصور کنید که این سکه ها از داخل زمین استخراج می شوند اما همانطور که می دانیم بیت کوین اصلا وجود فیزیکی ندارد بنابراین چرا این کار را ماینینگ می نامیم؟
زیرا این کار شبیه به استخراج طلا از معادن است از این لحاظ که بیت کوین ها در طراحی پروتکل ها وجود دارند (درست مانند طلا که در زیر زمین وجود دارد) ولی هنوز در معرض دید همگان قرار نگرفته است (درست مانند طلایی که هنوز استخراج نشده است). در کل در این پروتکل 21 میلیون بیت کوین وجود دارد و آنچه ماینرها انجام می دهند، این است که آن ها را استخراج می کنند و در معرض دید همگان قرار می دهند .
آنها این کار را در ازای پاداش برای خلق بلاک هایی از مبادلات معتبر و قرار دادن آن ها در بلاک چین، انجام می دهند.
node
بهتر است کمی به عقب بروید، بیایید در مورد " node " صحبت کنیم. یک node در حقیقت یک رایانه قدرتمند است که نرم افزار بیت کوین را اجرا می کند و با شرکت در باز پخش کردن اطلاعات به جریان یافتن بیت کوین کمک می کند. هرکسی می تواند یک node را اجرا کند برای این کار لازم است نرم افزار بیت کوین را دانلود کنید و یک پرت مشخصی را باز کنید (تنها مشکل این کار این است که این کار نیاز به یک فضای اطلاعاتی بسیار زیادی دارد - میزان مورد نیاز فضا برای این شبکه برابر با 145 گیگابایت است). node ها باعث منتشر شدن مبادلات بیت کوین در طی شبکه می شوند. یک node اطلاعات را به node های معدود دیگری می فرستد که آنها نیز اطلاعات را به node های دیگری که می شناسند، باز پخش می کنند و این کار به همین روال ادامه می یابد. به این صورت، اطلاعات به سرعت در سرتاسر شبکه منتشر می شود.
برخی از node ها را mining nodes می نامند این گروه از node ها ،مبادلات را درون بلاک ها برجسته می کنند و آن ها را به بلاک چین اضافه می کنند. نحوه کارکرد آن ها به گونه ای است که آن ها باحل یک معادله ریاضی پیچیده که بخشی از برنامه بیت کوین است و قرار دادن پاسخ آن در بلوک، این کار را می کنند. این معادله که نیاز به حل شدن دارد در حقیقت تلاش برای یافتن عددی است که وقتی با داده های موجود در بلاک ترکیب شود و در یک تابع هش قرار داده شود، نتیجه ایی را خلق می کند که در دامنه ی مشخصی قرار داشته باشد. این کار از آنچه به نظر می آید، سخت تر است. این عدد را یک (nonce) می نامند که در بیت کوین nonce ، یک عدد صحیح بین 0 تا 4294967296می باشد.
چگونگی یافتن پاسخ معما
در حقیقت این کار با حدس اعداد به صورت رندوم یا تصادفی صورت می گیرد تابع هش پیش بینی خروجی را غیر ممکن می سازد. بنابراین، ماینرها این عدد را حدس می زنند و تابع هش این اعداد حدس زده شده را در داده های بلاک اعمال می کنند. هش نهایی می بایست با یک عدد از پیش تعیین شده که شامل صفر است ،شروع شود. هیچ راهی وجود ندارد که بدانیم این عدد چیست زیرا دو عدد صحیح متوالی به ما نتایج بسیار متفاوت را می دهد. نکته دیگر این است که امکان دارد که nonce های متعددی وجود داشته باشد که یک نتیجه دلخواه یکسان را خلق می کنند و یا اینکه ممکن است هیچ nonce وجود نداشته باشد که در این شرایط ماینرها همچنان تلاش می کنند و با تنظیمات متفاوت بلاک ها این کار را انجام می دهند.
اولین ماینری که یک هش نهایی با دامنه ی تعیین شده را پیدا کند، نتیجه مثبت را به بقیه شبکه ها اعلام می کند. تمامی ماینرها به سرعت دست از کار بر روی این بلاک می کشند و شروع به مشخص کردن این عدد مجهول برای بلاک بعدی می کنند. ماینرها به عنوان پاداشی برای این تلاش، مقداری بیت کوین جدید دریافت می کنند.
میزان پاداش
در زمان نوشتن این مقاله، پاداش برای ماینرها ، 12.5 بیت کوین تعیین شده است که ارزشی برابر با 200000 دلار دارد.
اگرچه این کار آنقدرها که به نظر می رسد، ساده نیست اما mining node های بسیاری در حال حاضر وجود دارند که برای کسب این پاداش با هم تلاش می کنند و البته رسیدن به این نتیجه، خود ترکیبی از عامل های شانس و قدرت محاسباتی رایانه است (هرچه محاسبات حدسی بیشتر باشد، میزان موفقیت و شانس شما هم بیشتر خواهد بود).
هر چه پردازشگر رایانه شما سریع تر عمل کند امکان حل معاملات با سرعت بیشتر ، افزایش می یابد اما نکته قابل توجه این است که هزینه های مربوط به الکتریسیته در ماینینگ زیاد است
نکته دیگر این است که مقدار پاداش تعیین شده برای این کار نیز کاهش خواهد یافت. امروزه این مقدار برابر با 12.5 بیت کوین است اما هر چهار سال به نصف کاهش میابد .اما ممکن ست با افزایش ارزش بیت کوین هزینه های برق برای ماینر ها جبران شود و ماینر ها بتوانند با این کار سود زیادی به دست بیاورند .
سختی شبکه
سختی محاسبات و شبکه که همان تعداد مورد نیاز از صفرها در شروع رشته ی هش است به صورت مداوم تغییر داده می شود به گونه ای که به طور متوسط برای پردازش یک بلوک به حدود 10 دقیقه وقت نیاز داریم زیرا این مقدار زمانی است که توسعه دهندگان بیت کوین می پندارند که برای جریان مداوم و نزول سکه های جدید تا زمان رسیدن به حداکثر مقدار 21 میلیون که توقع می رود تا سال 2140 رخ دهد ، مورد نیاز است.
در این مقاله مفهوم چگونگی کارکرد ماینینگ در بیت کوین و همچنین یک مفهوم کلی در مورد برنامه نویسی این ارز را به طور کامل درک کرده اید . این سیستم که یک سیستم غیر متمرکز ، عظیم ، ضد دستکاری و مطمئن است و انعکاس این موفقیت می تواند بسیار عظیم باشد.