ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
بیتکوین، که توسط یک فرد یا گروه ناشناس ایجاد شد، یک ارز دیجیتال همتابههمتا است و بهشکلی طراحی شده که بتواند راهی برای خرید کالاها و خدمات باشد.
با بیتکوین، افراد میتوانند پرداختهای دیجیتال بینالمللی داشته باشند، بدون اینکه هزینهای اضافه پرداخت کنند یا مجبور به استفاده از واسطههای مالی باشند.
بیتکوین براساس فناوری بلاکچین ایجاد شده است که میتوان آن را دفتر کلی دانست که سوابق شفاف و تغییرناپذیر تراکنشهای اقتصادی انجامشده توسط بیتکوین را نگهداری میکند.
یک عنصر مهم که عملکرد بیتکوین را تسهیل میکند الگوریتم بیتکوین برای استخراج اثبات کار (proof-of-work mining) است، الگوریتم درهمسازی ایمن 256 (SHA-256).
استخراج با الگوریتم اثبات کار، یک مولفه اساسی در سیستم بیتکوین است که امکان پردازش صحیح تراکنشها را روی بلاکچین ممکن میسازد.
استخراج فرآیند اثبات کار با کمک افرادی که استخراجکننده (miner) نامیده میشوند انجام میشود، این افراد تائیدیههایی که یک بلاک جدید پیش از اضافهشدن به بلاکچین لازم دارد را فراهم میکنند.
استخراجکنندگان از هِدِر (header) بلاک بهعنوان ورودی استفاده کرده و آن را تحت یک تابع هش رمزنگاری قرار میدهند. در مورد بیتکوین، این تابع هشینگ SHA-256 است.
استخراجکنندگان همچنین یک نانس (nonce) را در ورودی وارد میکنند تا بتوانند تغییرات جزئی در دادههای ورودی هش ایجاد کنند.
هدف از استخراج اثبات کار بهدستآوردن یک مقدار هش است که پایینتر از هش هدفگذاریشده توسط شبکه باشد.
اگر مقدار هش صحیح خروجی توسط یک استخراجکننده پیدا شود، او میتواند این تراکنشها را پردازش کرده و یک بلاک جدید به بلاکچین اضافه کند.
استخراجکنندگان همچنین برای یافتن یک هش معتبر پاداش دریافت میکنند.
همچنین توجه به این نکته حائز اهمیت است که تولید یک مقدار هش صحیح در سیستم اثبات کار بیتکوین از نظر احتمالات بسیار پایین است. بنابراین، یک استخراجکننده پیش از دستیابی به هش صحیح معمولا باید تعداد زیادی هش ناصحیح ایجاد کند.
افرادی که مایل به استخراج در شبکه بیتکوین هستند باید چیزی که تحت عنوان نود استخراج (mining node) شناخته میشود را اجرا کنند، نودی که بهطور ویژه برای استخراجکردن روی شبکه تنظیم شده است.
پس از اینکه نود استخراج اجرا شد، استخراجکنندگان میتوانند شروع به ساختن چیزی کنند که تحت عنوان بلاکهای کاندید (candidate block) شناخته میشود.
این بلاکها باید بهطور مناسب توسط یک استخراجکننده ساخته شوند و انجام این کار مستلزم وجود 6 پارامتر است که باید بهدرستی در هر بلاک کاندید پر شود.
این پارامترها شامل موارد زیر میباشند:
بعد از تعیینشدن پارامترهای فوق، بلاک کاندید به بقیه شبکه سپرده میشود تا شبکه اعتبار آن را بررسی کند. اگر این بلاک توسط بقیه شبکه معتبر شناخته شود، به بلاکچین اضافه میشود.
دشواری شبکه
از دیگر مواردی که الگوریتم بیتکوین در بر میگیرد دشواری شبکه (Network Difficulty) است.
این مفهوم را میتوان بهعنوان اقدامی در نظر گرفت که میتواند دشواری پیداکردن مقدار صحیح هش را در فرآیند استخراج اثبات کار تعیین کند.
این دشواری میتواند بر اساس کاهش یا افزایش در مقدار هش هدف تغییر کند.
به عنوان مثال، اگر سرعت پیداکردن هشهای معتبر روی شبکه افزایش یابد، مقدار هش هدف شبکه کاهش خواهد یافت.
این مسئله به معنای کاهش تعداد هش معتبری است که قابلیت پیداشدن دارند.
از طرف دیگر، اگر کاهشی در سرعت پیداکردن هشهای صحیح وجود داشته باشد، مقدار هش هدف شبکه بهمنظور بیشترکردن تعداد مقدار هش معتبری که میتوان یافت افزایش خواهد یافت.