به ترم جدید و جلسۀ دیگری از دوره آموزش ارزهای دیجیتالی خوش آمدید. در این ترم، بر آن شدیم تا به نحوۀ استخراج بیتکوین (Bitcoin Mining) بهطور تخصصی بپردازیم. با آکادمی کالج پیپس، بزرگترین مرجع تخصصی آموزش بازارهای مالی، همراه باشید.
[ez-toc]
استخراج بیتکوین چیست؟
«Mining» یا استخراج فرآیند تأیید تراکنشها و افزودن آنها به بلاکچین است.
گرههایی که در فرآیند استخراج شرکت میکنند بهعنوان ماینر (استخراجکننده) شناخته میشوند و بخش مهمی از شبکۀ بیتکوین را تشکیل میدهند. بهعنوان بخشی از فرآیند Mining، بیتکوینهای جدید ایجاد میشوند که بهعنوان پاداش به ماینرها پرداخت میشوند.
یک روش خوب برای درک بهتر فرآیند استخراج، این است که ابتدا ببینیم بیتکوین چگونه کار میکرد اگر فرآیند Mining نداشت.
یک فایل را در نظر بگیرید. این فایل در یک کامپیوتر ذخیره شده است. فایل را مانند یک سند ورد در نظر بگیرید و بیایید این فایل را بلاکچین بنامیم. بلاکچین یک دفتر کل توزیعشده از «بلوکها» است.
در درسهای بعدی به جزئیات بیشتر بلاکچین خواهیم پرداخت، اما فعلاً بدانید که هر بلوک حاوی مجموعهای از تراکنشها است.
حالا یک شبکۀ بیتکوین را تصور کنید.

اینها همه کامپیوترهایی هستند که از طریق اینترنت به یکدیگر متصل شدهاند و نرمافزار بیتکوین را اجرا میکنند.
آنها همگی یک نسخه از همان فایل که بلاکچین است را به اشتراک میگذارند.
اگر بخواهید یک بیتکوین به کسی ارسال کنید، یا مالکیت یک بیتکوین را به شخص دیگری منتقل کنید، یک تراکنش را شروع میکنید.
وقتی یک تراکنش را شروع میکنید، آن تراکنش به یکی از گرههای شبکۀ بیتکوین ارسال میشود.
اگر بیتکوین، Mining نداشت، به این صورت عمل میکرد که این کامپیوتر تراکنش را مستقیماً به بلاکچین، یعنی فایل مشترک، ثبت میکرد.
سپس کامپیوتر، این تراکنش را به سایر گرههایی که به آن متصل است منتقل میکند و آنها اطلاعات تراکنش را در فایل خود ثبت میکنند.
این گرهها تراکنش را به همۀ گرههایی که به آنها متصل هستند منتقل میکنند و همچنین اطلاعات تراکنش را در فایل خود ثبت میکنند.
این فرآیند تا زمانی که تراکنش به کل شبکۀ بیتکوین منتشر شود و هر گره آن را در فایل خود ثبت کند، ادامه پیدا میکند.
پس این یک راه ساده برای داشتن یک فایل یا یک «دفترچه حساب» مشترک از تراکنشها یا یک «دفترچه حساب توزیعشده» است.
Bitcoin Mining چیست؟

توجه کنید که حالا همۀ کامپیوترها، خط بنفش (تراکنش) را در فایل خود (بلاکچین) ذخیره کردهاند.
وقتی همۀ گرهها، کپی فایل خود را بهروزرسانی کردهاند، مالکیت بیتکوین از یک فرد به فرد بعدی تغییر خواهد کرد.
و این نمونهای از یک تراکنش سادۀ بیتکوین است.
اما مشکلی وجود دارد…
یک مشکلی وجود دارد که اگر به این روش انجام دهیم، باید حل شود.
بیایید فرض کنیم که میخواهید بیتکوین خود را به این شخص بنفشی بفروشید. پس یک تراکنش ایجاد میکنید تا بیتکوین را به شخص بنفشی بفرستید.
سپس این تراکنش را به گرهای در این سمت از شبکۀ بیتکوین ارسال میکنید.
اما بگذارید بپرسیم که اگر فردی مشکوک باشید و سعی کنید کاری نامطلوب انجام دهید، آن وقت چه؟!
این یک شبکه از کامپیوترهای متصل است، یک تراکنش دوم را ایجاد میکنید که همان بیتکوین را به شخص دیگری مانند این شخص قرمز (در سمت راست) ارسال میکند.

سپس این تراکنش را با شخص قرمز به یک نود دیگر در شبکه ارسال میکنید.
شما به تازگی دو تراکنش جداگانه را به شبکه اضافه کردهاید که در آن سعی میشود همان بیتکوین را هزینه کنید!
جالب است که شما واقعاً میتوانید این کار را انجام دهید، زیرا این یک شبکه از کامپیوترهای متمرکز در نقاط مختلف جهان است!
حالا چه اتفاقی خواهد افتاد، اگر این دو تراکنش شروع به منتشر شدن در سراسر شبکه کنند؟
بعضی از گرهها تراکنش بنفش را دریافت خواهند کرد. گرههای دیگر تراکنش قرمز را دریافت خواهند کرد.
در تصویر زیر، زمانی که یک کامپیوتر سعی میکند تراکنش قرمز را ارسال کند، این کامپیوتر قبلاً تراکنش بنفشی که این بیتکوین را هزینه کرده است، دریافت کرده، بنابراین تراکنش قرمز را رد میکند.
این خوب است، اما مشکل در اینجاست…
اکنون دو تراکنش متضاد در شبکه وجود دارد.
به یاد داشته باشید که هر کامپیوتر در شبکه باید فایل دقیقاً یکسان را به اشتراک بگذارد.
بعضی از کامپیوترها نمیتوانند فایلی را که شامل تراکنش بنفشی است نگه دارند، در حالی که دیگران فایلی را که تراکنش قرمز است نگه میدارند. آنها باید همه یکی را انتخاب کنند.
همۀ کامپیوترها باید تراکنش قرمز یا تراکنش بنفش را انتخاب کنند. اگر بیتکوین به این شکل عمل میکرد که تراکنشها بهصورت مستقیم در فایل نوشته میشدند، مشکلی به نام «مشکل دو بار خرج کردن» ایجاد میشد.

بیتکوین این مشکل را حل میکند!
اگر به دیدن یک ویدیو در این زمینه مشتاق هستید، میتوانید ویدیوی یوتوب از کانال Learn Me a Bitcoin را بررسی کنید.
بخشهایی از این درس از این ویدیو الهام گرفته شده است. پس در جواب اینکه چگونه کامپیوترها به توافق دربارۀ اینکه کدام تراکنش معتبر است، میرسند، Mining جواب ما است.
بیتکوین این مشکل را که تراکنشهای متضاد به بلاکچین، در «فایل» مشترک، نوشته نمیشوند را حل میکند و اینجاست که Mining وارد عمل میشود.