بیت کوین از کجا میآید؟ در «استخراج» یا «ماینینگ» دقیقاً چه کاری انجام میشود؟ چرا باید یک دستگاه فقط با روشن بودن درآمد بهدست بیاورد؟ پس از خواندن این مقاله، به پاسخ این سؤالات میرسید و فرایند استخراج بیت کوین را تا حد مطلوبی درک خواهید کرد.
بهیاد داشته باشید برای استخراج بیت کوین نیاز به دانستن نحوه کار شبکه یا دانستن معنای ماینینگ نیست، همانطور که برای کار کردن با اینترنت نیاز به درک نحوه کار اینترنت ندارید. بنابراین، برای یادگیری استخراج بیت کوین میتوانید به مطلب «آموزش استخراج بیت کوین» مراجعه کنید. اما اگر قصد شما درک فرایند ماینینگ است، ادامه این مقاله را بخوانید.
استخراج بیت کوین دقیقاً یعنی چه؟
اگر بخواهیم به زبان ساده و در یکی دو خط پاسخ این سؤال را بدهیم، باید گفت: استخراج بیت کوین یا همان ماینینگ بیت کوین، یک فعالیت داوطلبانه است که در آن افرادی داوطلب بهنام «استخراجکننده» (ماینر)، قدرت پردازش دستگاههای استخراج خود را در اختیار شبکه قرار میدهند تا امنیت شبکه حفظ و تراکنشهای بیت کوین تأیید شود.
البته ماینرها این کار را محض رضای خدا انجام نمیدهند، بلکه برای آن پاداش میگیرند و این پاداش همان بیت کوین است. بهعبارت دیگر، زمانی که برای دوست خود بیت کوین ارسال میکنید، ماینرها در پشت قضیه با فعالیت خود به تأیید شدن تراکنش شما کمک میکنند و شبکه به این کار آنها پاداش میدهد.
پس با ماینینگ، در واقع سه کار اصلی انجام میشود:
- تأیید تراکنشهای بیت کوین
- حفظ امنیت شبکه بیت کوین
- تولید واحدهای جدید بیت کوین بهصورت غیرمتمرکز
توضیحی که دادیم به زبان ساده بود تا شما بتوانید راحتتر ماینینگ را درک کنید. در ادامه استخراج بیت کوین را از نظر فنی بررسی میکنیم.
شاید زمانی که اصطلاح «استخراج بیت کوین» را میشنوید، در ذهن خود سکههایی را تجسم کنید که از دل زمین بیرون کشانده میشوند. اما بیت کوین که فیزیکی نیست. پس چرا آن را استخراج یا ماینینگ مینامیم؟
چون استخراج بیت کوین از نظر فلسفی بیشباهت به استخراج طلا نیست. به این صورت که بیت کوینها در طراحیِ کد و پروتکل بیت کوین وجود دارند (مثل طلا که در معادن وجود دارد) اما هنوز قابل دسترسی نیستند (مثل طلاهایی که هنوز از معادن بیرون کشیده نشدهاند).
بر اساس پروتکل یا همان قوانین بیت کوین، فقط تعداد ۲۱ میلیون واحد از آن وجود خواهد داشت؛ مثل طلا که کمیاب و محدود است.
میتوان گفت نام علمیتر ماینینگ، اثبات کار (Proof Of Work) است. در واقع فرایند استخراج از الگوریتمی به نام اثبات کار سرچشمه گرفته است که فردی به نام آدام بک (Adam Back) اولین بار در سیستم ضد اسپم خود از آن استفاده کرد که هشکش (HashCash) نام داشت.
در اوایل دهه ۱۹۹۰، حملات اسپم به سیستمهای کامپیوتری رواج داشت. حملات اسپم به معنای ارسال پیامها و درخواستهای بیهوده به سیستم، برای کند کردن آن است. آدام بک برای جلوگیری از ارسال شدن پیامهای بیهوده از طرف اسپمرها، در ابداع خود این الزام را ایجاد کرد که کاربران برای ارسال پیام باید با کامپیوتر خود یک سری محاسبات ریاضی انجام میدادند که نیازمند به مصرف پردازنده (CPU) بود. با این کار، اگر کسی میخواست پیامهای هرزنامه به سیستم ارسال کند، مجبور میشد مقدار زیادی قدرت پردازش تهیه کند.
در واقع اثبات کار به این معنی است که استخراجکنندگان بیت کوین یا ماینرها کاری انجام میدهند که بهوسیله آن میتوانند بلاک معتبر ایجاد و به بیت کوین دست پیدا کنند. ماینرها با تولید بلاکهایی از تراکنشهای معتبر و اتصال آنها به بلاک چین پاداش دریافت میکنند.
با وجود این فرایند، برای حمله تأثیرگذار به شبکه بیت کوین و بهدست گرفتن کنترل آن، افراد خرابکار باید بیش از ۵۰٪ از قدرت پردازش شبکه را از آن خود کنند که برای شبکهای به بزرگی بیت کوین، هزینه بسیار بالایی دارد و انجام آن منطقی نیست.
نودها (Nodes)
قبل از هر چیز باید درباره نودها صحبت کنیم. یک نود (Node) یا گره در شبکه بیت کوین، کامپیوتری است که نرمافزار بیت کوین را اجرا و با مشارکت در انتقال اطلاعات، به حفظ کار شبکه بیت کوین کمک میکند.
هر کسی میتواند با دریافت رایگان نرمافزار بیت کوین و دانلود کل تاریخچه تراکنشهای بلاک چین (که در حال حاضر حجم آن به حدود ۲۰۰ گیگابایت میرسد) یک نود را اجرا کند. نودها تراکنشهای بیت کوین را اعتبارسنجی و در شبکه مخابره میکنند.
همچنین بخوانید: آموزش نصب و اجرای فول نود (Full Node) بیت کوین
اما بعضی از نودها شرایطی ویژه دارند که به آنها «نود ماینینگ» میگویند.
در ابتدای کار بیت کوین، همه نودها ماینر بودند اما امروزه نودهای ماینینگ با نودهای صرفاً اعتبارسنج تفاوت دارند.
نودهای ماینر که دارای قدرت پردازش هستند، تراکنشهای بیت کوین را در بستههایی بهنام بلاک جمعآوری میکنند.
اما آنها چگونه این کار را انجام میدهند؟ اضافه کردن بلاک به بلاک چین مستلزم حل کردن معادلات ریاضی پیچیده است که فقط با حدس زدن اعداد میتوان این کار را انجام داد.
حل کردن معادله
کامپیوترهای قدرتمند ماینر، اعداد را یکی پس از دیگری امتحان میکنند تا بتوانند جواب معادله هر بلاک را بهدست بیاورند. راهکاری به نام تابع هش این روند را تضمین میکند.
ماینرها راهی جز امتحان کردن و حدس زدن ندارند تا سرانجام به نتیجه درست برسند. بنابراین، یافتن معادله بلاک کاملاً تصادفی است، اما هر چقدر که یک ماینر قدرت پردازش بیشتری داشته باشد، شانس پیدا کردن جواب افزایش پیدا میکند، چون به این صورت چند قدم از بقیه ماینرها جلوتر است. اولین ماینری که به جواب معادله و هش صحیح برسد، برنده میشود و آن را به بقیه نودها اعلام میکند. بلافاصله تمام ماینرها برای بلاک بعدی دوباره رقابت را از سر میگیرند.
بهعنوان پاداش این کار، مقداری مشخص از بیت کوین که پروتکل بیت کوین تعیین کرده است، به ماینر برنده تعلق میگیرد. ماینر همچنین تمام کارمزد تراکنشهای یک بلاک را هم دریافت خواهد کرد. در زمان نوشتن این مطلب، پاداش استخراج بیت کوین، ۶.۲۵ واحد بیت کوین (BTC) است. این پاداش در ابتدای راهاندازی بیت کوین ۵۰ واحد بود. پس از هر ۲۰۰,۰۰۰ بلاک (هر چهارسال یکبار)، پاداش استخراج شبکه نصف میشود.
تخمین زده میشود که استخراج همه واحدهای بیت کوین تا سال ۲۱۴۰ طول بکشد. وقتی همه بیت کوینها استخراج شود، ماینرها فقط از کارمزدها سود خواهند برد.
سختی استخراج
بهدلیل اینکه زمان بلاک بیت کوین ۱۰ دقیقه است، تقریباً هر ۱۰ دقیقه بیت کوینهای جدید تولید میشوند و به یک ماینر تعلق میگیرند. حالا ممکن است که یک کامپیوتر بسیار قدرتمند بتواند جواب معادله را مثلاً در ۵ دقیقه پیدا کند. این باعث اختلال در کار شبکه و استخراج سریع تمام واحدهای بیت کوین خواهد شد. به همین منظور، چیزی بهنام سختی شبکه در بیت کوین تعبیه شده است.
شبکه بهطور خودکار نسبت به قدرت پردازش موجود، سختی پیدا کردن پاسخ معادلات را کم و زیاد میکند تا ماینرها بتوانند در ده دقیقه به جواب برسند، نه بیشتر نه کمتر. با این حال، این زمان در برخی مواقع و بهصورت جزئی کم و زیاد میشود، مثلاً ممکن است یک بلاک در ۹.۸ دقیقه ساخته شود. با اضافه شدن قدرت پردازش ماینرها، سختی افزایش مییابد و با کم شدن آن، سختی هم کمتر میشود.
در شبکه بیت کوین، سختی شبکه بعد از هر ۲,۰۱۶ بلاک (تقریباً هر دو هفته یکبار) تنظیم میشود.
استخر استخراج
امروزه بهدلیل گسترش شبکه و دستگاههای استخراج قدرتمند، استخراج مستقیم بیت کوین توسط کمتر کسی امکانپذیر است و اغلب ماینرها به محلهایی مجازی بهنام «استخر استخراج» (mining pool) مراجعه میکنند.
ماینرهای سراسر دنیا دستگاههای استخراج خود را به استخرهای استخراج معتبر متصل میکنند و استخر استخراج به نمایندگی از همه و با مجموع قدرت پردازشی که دارد، برای ماینینگ و بهدست آوردن پاداش بلاک تلاش میکند. در اینجا ماینرها دیگر بهطور فردی و مستقیم برای پاداش بلاک به رقابت نمیپردازند بلکه نسبت به قدرت پردازشی که دارند، از استخر استخراج بهطور مرتب بیت کوین دریافت میکنند. در صورت اقدام به استخراج مستقیم بیت کوین از طرف یک ماینر عادی، شانس حل کردن بلاک نزدیک به صفر خواهد بود.
جمعبندی
هر کاری پاداشی دارد. شما به عنوان یک ماینر با فعالیت در شبکه بیت کوین، تراکنشهای شبکه را تأیید و امنیت آن را تأمین کرده و در قبال این کار، پاداش دریافت میکنید.
برای اینکه امنیت بیت کوین بهخوبی حفظ شود و نتوان به شبکه حمله کرد، ماینینگ طوری طراحی شده است که ماینرها برای کسب پاداش باید مسائل ریاضی را با استفاده از قدرت پردازش خود حل کنند. در این صورت اگر کسی بخواهد امنیت شبکه را بهخطر بیندازد، باید قدرت پردازشی به اندازه بیش از نصف ماینرهای شبکه را در اختیار داشته باشد.
تعداد واحدهای بیت کوین محدود به ۲۱ میلیون واحد است که با توجه به نصف شدن پاداش استخراج یا همان هاوینگ (Halving) که هر چهار سال یکبار رخ میدهد، استخراج تمام بیت کوینها تا سال ۲۱۴۰ طول میکشد.
استخر استخراج محل مجازی است که استخراجکنندگان در آن قدرت پردازش خود را با هم جمع میکنند و همه برای استخراج یک بلاک تلاش میکنند. در این روش هر ماینر یا استخراجکننده بر اساس توان پردازشی خود سود میبرد. بدون پیوستن به استخر استخراج شانس یک ماینر برای استخراج یک بلاک بسیار کم خواهد بود و فقط فارمهای استخراج بزرگ بهصورت مستقل کار میکنند.
لازم به تأکید است که برای انجام استخراج بیت کوین نیاز به دانستن جزئیات ماینینگ نیست و شروع عملیات ماینینگ بسیار سادهتر از چیزی است که فکر میکنید.
در صورت تمایل به کسب اطلاعات بیشتر در مورد چگونگی کار شبکه بیت کوین و بلاک چینِ آن، مطالعه مطلب «بیت کوین چگونه کار میکند» پیشنهاد میشود.