web3arista.eth
همه بهتون میگن میخواید بیتکوین رو بفهمید؟ وایت پیپرش رو بخونید! اما بعدش احتمالاً یکم گیج میشید. چرا؟ چون خیلی از چیزایی که الان با بیت کوین میشناسیم، اصلاً توی اون وایت پیپر نیومده!
وایت پیپر بیت کوین، یه مقاله خیلی ساده است که فقط یه راه حل برای مشکل "دوبار خرج کردن" (double-spend) رو توضیح میده. پس این سوال پیش میاد: اگه بیشتر چیزایی که الان با بیت کوین میشناسیم، توی وایت پیپر نیست، پس از کجا اومدن؟
توی این پست، میخوایم یه سفر به دنیای بیت کوین داشته باشیم و ببینیم وایت پیپر چه چیزایی رو گفته و نگفته بهمون.
اول باید وایت پیپر رو بشناسیم، درسته؟ همونطور که میگن، "ساتوشی ناکاموتو" این وایت پیپر رو اولین بار توی لیست ایمیل رمزنگاری metzdowd.com در تاریخ ۳۱ اکتبر ۲۰۰۸، حدود ساعت ۱۸:۱۰ (UTC) منتشر کرد. بعدش یه لینک به bitcoin.org داد که وایت پیپر اونجا میزبانی میشد، همراه با خلاصه و چکیده مقاله.
این تاریخ، اولین باری بود که ساتوشی دیدگاه خودش رو به طور عمومی به اشتراک گذاشت. اما قبل از اینکه بریم سراغ چیزایی که توی وایت پیپر نیست، بذارید ببینیم چی هست!
ایده اصلی پشت بیتکوین، خلق یک "پول نقد الکترونیکی" بود، پولی که فقط در دنیای دیجیتال وجود داشته باشه و برخلاف پولهای فیزیکی، محدودیتهای اونها رو نداشته باشه. ساتوشی ناکاموتو، خالق مرموز بیتکوین (که هنوزم هویتش یه راز بزرگه!) در ابتدا قصد داشت اسم این اختراعش رو بذاره "پول نقد الکترونیکی"، ولی خب، بیتکوین یه اسم جذابتر و به یادموندنیتر بود، مگه نه؟
وایت پیپر بیت کوین فقط ۹ صفحه و ۱۲ بخش داره. اما این به این معنی نیست که خوندنش آسونه! خیلی ها میگن سال ها طول میکشه تا کاملاً درکش کنید. اما نگران نباشید، من اینجام تا براتون ساده اش کنم.
پرداخت همتا به همتا: اولین چیزی که توی مقاله می بینید، عنوانشه: "بیت کوین: یک سیستم پول نقد الکترونیکی همتا به همتا". این یعنی چی؟ یعنی بیت کوین یه سیستم پرداخت مستقیم بین افراد بدون نیاز به واسطه (مثل بانک) ارائه میده.
چرا همتا به همتا اینقدر مهمه؟
تصورش رو بکنید، دیگه لازم نیست برای هر تراکنشی به بانکها و واسطهها وابسته باشید. شما مستقیم با دوستتون، فروشنده، یا هر کس دیگهای که میخواید، معامله میکنید. این یعنی آزادی، سرعت و کاهش هزینهها!
زنجیره امضاها: حالا بیاین یه کم فنیتر بشیم! ساتوشی توی مقالهاش، مکانیزم "زنجیره امضاها" رو معرفی کرد. این مکانیزم، اساس امنیت و شفافیت شبکه بیتکوینه. به زبان ساده:
فرض کنید میخواید به یکی بیتکوین بفرستید. شما یه "امضای دیجیتال" میزنید (مثل امضای خودتون پای چک)، این امضا در واقع یه کد منحصر به فرد (هش) به همراه آدرس دیجیتالی گیرندهست. این اطلاعات به یه زنجیره اضافه میشه و توی تمام نودهای شبکه بیتکوین ذخیره میشه.
اما سوال اصلی:
چطوری میشه مطمئن شد که اون بیتکوینها قبلا خرج نشدن ؟
اعلام عمومی تراکنشها: هدف چیه؟ جلوگیری از تقلب! اگه همه بدونن کی داره چیکار میکنه، دیگه کسی نمیتونه دزدی کنه. وایت پیپر میگه برای اینکه مطمئن بشیم سکههامون دوباره خرج نشدن (همون double-spending معروف)، باید از همه تراکنشها باخبر باشیم. و برای اینکه این کار رو بدون واسطه انجام بدیم، باید همه تراکنش ها به طور عمومی اعلام بشن.
Timestamp Server: اینجا بازی "بلاک چین" شروع میشه، ولی صبر کن... وایت پیپر اصلا اسم "بلاک چین" رو نمیاره! بجاش میگه یه سری بلوک (block) داریم که پشت سر هم چیده شدن و هر کدوم از بلوک قبلی خودش Timestamp یا مُهر زمانی داره. اینجوری یه زنجیره (chain) درست میشه که هر بلوک میتونه اصالت بلوک های قبلی رو ثابت کنه. این دقیقا همون بلاک چینه، فقط اسمش رو نذاشتن!
مبارزه خوب ها با بدها: برای اضافه کردن یه بلوک جدید به این سرور مُهر زمانی، باید یه مسئله ریاضی خیلی پیچیده حل بشه. اسم این کار اثبات کار (proof-of-work) هست و کلی انرژی و قدرت پردازشی میخواد. ساتوشی میگه تا وقتی که بیشتر قدرت پردازشی دست آدمای درست باشه، زنجیره اصلی همیشه سریع تر از زنجیره های تقلبی رشد میکنه. دلیلش هم اینه که اگه یه هکر بخواد یه بلوک قدیمی رو دستکاری کنه، باید دوباره اثبات کار اون بلوک و همه بلوک های بعدش رو انجام بده و از همه مهمتر اینکه از زنجیره اصلی جلو بزنه! که کار خیلی سختیه.
حالا برسیم به قسمت جذاب ماجرا! خیلی از ویژگی های کلیدی بیت کوین که الان میشناسیم، اصلاً توی وایت پیپر نیومده! مثل:
محدودیت ۲۱ میلیونی سکه: جالبه بدونید که توی وایت پیپر، اصلاً به این موضوع اشاره نشده که تعداد کل بیت کوین ها قراره به ۲۱ میلیون محدود بشه! این ایده، بعداً توسط ساتوشی و جامعه بیت کوین مطرح و اجرا شد. این محدودیت، بیت کوین رو کمیاب میکنه و از تورم جلوگیری میکنه.
استخرهای استخراج (Mining Pools): وایت پیپر یه سیستم استخراج ساده رو توضیح میده، اما چیزی در مورد استخرهای استخراج نمیگه. استخرهای استخراج، گروه هایی از ماینرها هستن که قدرت محاسباتی خودشون رو با هم ترکیب میکنن تا شانس پیدا کردن بلاک جدید رو افزایش بدن. این ایده هم بعداً به وجود اومد تا استخراج بیت کوین برای افراد عادی هم ممکن بشه.
مخاطرات امنیتی و هک ها: وایت پیپر به طور مفصل در مورد امنیت شبکه بیت کوین صحبت میکنه، اما هیچ اشاره ای به مخاطرات امنیتی احتمالی و حملات هکری که ممکنه اتفاق بیفته نمیکنه. در دنیای واقعی، صرافی های بیت کوین و کیف پول ها بارها مورد حمله قرار گرفتن و میلیاردها دلار به سرقت رفته.
مقیاس پذیری: یکی از بزرگترین چالش های بیت کوین، مقیاس پذیریه (Scalability). یعنی اینکه چقدر راحت میتونه تعداد زیادی تراکنش رو در یک زمان پردازش کنه. وایت پیپر بیت کوین به این موضوع خیلی کم پرداخته و راه حل خاصی ارائه نمیده. به همین دلیل، پروژه های مختلفی مثل Lightning Network برای حل این مشکل به وجود اومدن.
بلاک چه چینی؟: همونطور که گفتم، کلمه "بلاک چین" تو وایت پیپر نیست! مفهومش هست، ولی اسمش نیست. این کلمه چند روز بعد از انتشار وایت پیپر، وقتی ساتوشی به سوال هال فینی در مورد تایید تراکنش ها جواب میداد، برای اولین بار استفاده شد. جالبه که اون موقع کلمه "بلاک" و "چین" جدا از هم استفاده میشدن، ولی کم کم به یه کلمه واحد تبدیل شدن و سال ۲۰۱۶ بود که دیگه حسابی جا افتاد.
پس آدرسهایمان چه؟: ما همه آدرس های بیت کوین رو میشناسیم، یه سری کد عجیب و غریب که پولهامون رو بهش میفرستیم. ولی تو وایت پیپر خبری از این کلمه آدرس نیست! بجاش به این آدرس ها میگن "کلید عمومی" (public key). کلمه "آدرس" برای اولین بار وقتی ساتوشی نرم افزار بیت کوین (نسخه ۰.۱) رو منتشر کرد، در تاریخ ۸ ژانویه ۲۰۰۹، استفاده شد.
تمرکززدایی: امروز همه بیتکوین رو به عنوان یه شبکه "تمرکززدا" میشناسن. ولی با کمال تعجب، این کلمه هم تو وایتپیپر پیدا نمیشه! دوباره، اولین بار تو نسخه v0.1 بیتکوین ازش استفاده شد و یه توضیح باحال هم بهش چسبوندن: "یه سیستم پول الکترونیکی جدید که از یه شبکه همتا به همتا برای جلوگیری از دوبار خرج کردن استفاده میکنه. کاملا غیرمتمرکزه و هیچ سرور یا مرجع مرکزی نداره."
تنظیم سختی استخراج ۲۰١٦ بلاکی: تصور کنید که معلمی داره به دانش آموزاش یه مسأله ریاضی میده. اگه دانش آموزا خیلی سریع مسئله رو حل کنن، معلم مسئله بعدی رو سخت تر میکنه و برعکس. بیت کوین هم به همین شکله! هربار که ۲۰١٦ تا بلاک جدید استخراج میشن (تقریباً هر دو هفته یکبار) شبکه بررسی میکنه که این بلاکها چقدر سریع به زنجیره اضافه شدن. اگه استخراجشون خیلی سریع بوده باشه، سختی استخراج رو بیشتر میکنه تا زمان لازم برای تولید بلاک جدید به طور متوسط ١۰ دقیقه باقی بمونه. این مکانیزم هم اصلا تو وایت پیپر نیومده.
۸ رقم اعشار: کوچکترین واحد بیتکوینه که با عنوان «ساتوشی» شناخته میشه. با اینکه توی وایتپیپر به این مقدار دقیق اشاره نشده، خود ساتوشی توی یه ایمیل اعلام کرده بود که حتی با وجود محدودیت ۲۱ میلیونی بیتکوین، این ارز قابلیت تقسیمپذیری بالایی داره و میشه با تغییر جایگاه اعشار، ارزش هر واحد رو متفاوت تعیین کرد؛ اینطوری استفاده از بیتکوین توی تجارتهای کوچیکتر هم ممکن میشه.
امضای چندگانه: ساتوشی بیتکوین رو طوری طراحی کرد که از معاملات چند امضایی یا «MultiSig» هم پشتیبانی کنه. این نوع معاملات، به چند امضا احتیاج دارن تا انجام بشن. برای مثال، میشه یه معامله رو طوری تنظیم کرد که برای خرج کردنش، هم امضای گیرنده لازم باشه هم امضای فرستنده. جالبه نه؟
جایگزینی با کارمزد (RBF): Replace-By-Fee یه قابلیت خیلی مهمه که به فرستنده اجازه میده یه معامله تایید نشده رو با یه نسخه دیگه از همون معامله که کارمزد بالاتری داره، جایگزین کنه. اینطوری شانس تایید معامله بیشتر میشه. وایتپیپر اصلا اشاره ای بهش نکرده، اما نسخه اصلی نرمافزار بیتکوین این امکان رو داشت. بعدا توی نسخه 0.3.12 برای جلوگیری از حملات DDOS غیرفعال شد و یه مدت بعد دوباره توی نسخه 0.12.0 با اسم Full Replace-by-Fee برگشت.
ASIC: وایتپیپر گفته بود با CPU میشه بلاک استخراج کرد. ولی کمکم که سختی استخراج بالا رفت، CPUها کم آوردن. مصرف برقشون خیلی زیاد شد و دیگه به صرفه نبود. این شد که یه عده نابغه اومدن فکر کردن و ASIC (Application-Specific Integrated Circuit) رو طراحی کردن. این دستگاهها فقط برای استخراج ارزهای دیجیتال ساخته شدن و خیلی سریعتر و بهینهتر از CPUها کار میکنن. اولین ASIC بیتکوین رو یه شرکت به اسم Canaan Creative سال ۲۰۱۳ ساخت.
Script: اصلا تو وایتپیپر حرفی از زبون برنامهنویسی بیتکوین، یعنی Script زده نشده! ساتوشی ناکاموتو میخواست بیتکوین از همه نوع تراکنش پشتیبانی کنه، واسه همین Script رو طراحی کرد. این زبون به بیتکوین اجازه میده خیلی انعطافپذیر باشه و به مرور زمان قابلیتهای جدیدی بهش اضافه بشه. البته این موضوع رو ساتوشی تو فروم BitcoinTalk مطرح کرد، نه تو وایتپیپر!
سایز بلاک: ساتوشی تو وایتپیپر هیچی از سایز بلاک نگفته بود، ولی بعدا فهمید که باید یه سقفی برای سایز بلاک تعیین کنه. اگه این کار رو نمیکرد، ممکنه بعضی ماینرها بلاکهای خیلی بزرگتری تولید کنن و بقیه نتونن اونا رو قبول کنن، در نتیجه زنجیره بلاکها از هم جدا میشد. واسه همین یه محدودیت ۱ مگابایتی تو کد بیتکوین گذاشت. ولی از سال ۲۰۱۰ بحثها شروع شد که این محدودیت کمه و باید افزایش پیدا کنه. این بحثها تا سال ۲۰۱۷ ادامه داشت و یه دورهای به اسم "جنگ سایز بلاکها" به وجود اومد!
Segwit: بالاخره یه آشتیکنون برگزار شد و نتیجهاش شد Segregated Witness (Segwit). سال ۲۰۱۷ Segwit به عنوان یه سافتفورک (Soft Fork) روی بیتکوین پیادهسازی شد. این آپدیت امضاها رو از دادههای تراکنش جدا میکنه و به شبکه اجازه میده بلاکهایی بزرگتر از ۱ مگابایت ایجاد کنه. همچنین یه آسیبپذیری به اسم "transaction malleability" رو برطرف میکنه (یه حمله که توش یه هکر میتونه ID یه تراکنش رو قبل از اینکه تایید بشه تغییر بده).
Segwit در اصل راه رو برای راهکارهای پیشرفتهتر مقیاسپذیری مثل Lightning Network و Taproot upgrade باز کرد. چیزایی که شاید وایتپیپر هیچ وقت فکرش رو هم نمیکرد!
در آخر هم این تصویر از تاریخچه پول های دیجیتالی که قبل از بیتکوین قرار بوده بیاد و ناموفق بودن رو ببینید تا ارزش بیتکوین رو خوب متوجه بشیم.