آزمایشی

قواعد پولی بیت‌کوین

حالا که مسئلهٔ ثبت خرج روشن‌تر شده، نوبت ایجاد واحدهاست. در این بخش، جریان صدور را از مقدار موجود و نقش پاداش را از تضمین امنیت جدا می‌کنیم.

مطالب مرتبط: دستهٔ ۱

مفاهیم این بخش: وسیلهٔ مبادله، واحد حساب، ذخیرهٔ ارزش، انتشار پول، رشد عرضه، هاوینگ، یارانهٔ بلاک، سقف عرضه، سکهٔ ازدست‌رفته، انگیزهٔ استخراج، تقسیم‌پذیری، تأمین انگیزهٔ امنیت

هدف توضیح: توضیح برنامهٔ عرضه، نقش پاداش در شبکه و تفاوت اجرای قواعد با تضمین رفتار مشارکت‌کنندگان.

سه کارکرد پول چیست و چگونه می‌توان آن‌ها را جداگانه سنجید؟

پول معمولاً با سه کارکرد توضیح داده می‌شود: وسیلهٔ مبادله برای پرداخت، واحد حساب برای بیان و مقایسهٔ قیمت‌ها، و ذخیرهٔ ارزش برای انتقال امکان مصرف به آینده. این کارکردها یکسان نیستند. پذیرش چیزی برای تسویهٔ یک خرید، الزاماً نشان نمی‌دهد که فروشنده همهٔ قیمت‌ها یا حسابداری خود را با آن می‌نویسد. حفظ تعداد واحدها نیز همان حفظ قدرت خرید نیست. کارکردهای پول

برای نمونه، «با چه چیزی پرداخت انجام شد؟»، «مبلغ تعهد با چه واحدی نوشته شد؟» و «چه چیزی برای استفادهٔ بعدی نگهداری شد؟» سه پرسش متفاوت‌اند. پاسخ آن‌ها الزاماً یکسان نیست. در مطالعهٔ خود بیت‌کوین، این تفکیک کمک می‌کند قابلیت انتقال، روش شمارش و امکان نگهداری را در هم نیامیزیم. بخش حاضر پس از این چارچوب کوتاه، به قواعد انتشار و انگیزه‌های شبکه می‌پردازد؛ برای فهم این قواعد به تحلیل بازار نیاز نداریم.

انتشار تازه، عرضهٔ ایجادشده و سقف نهایی چه تفاوتی دارند؟

انتشار تازه، مقدار واحدهایی است که در یک بازه ایجاد می‌شود. عرضهٔ ایجادشده، جمع تاریخیِ مقدارهای ایجادشده تا یک نقطه است. سقف نهایی، حدی برای مجموع انتشار طبق قواعد است؛ این سه عدد الزاماً برابر نیستند. در برنامهٔ بیت‌کوین، یارانه در طول دوره‌ها کاهش می‌یابد و نهایتاً به صفر می‌رسد. صفرشدن انتشار تازه به معنی صفرشدن مقدارهایی که پیش‌تر ایجاد شده‌اند نیست. متناهی‌بودن برنامهٔ انتشار

برای مثال کاملاً آموزشی، اگر مقدار ایجادشده از ۱۰۰ به ۱۰۲ واحد برسد، انتشار تازه دو واحد و رشد نسبت به مبنا ۲ درصد است. اگر در بازهٔ بعد فقط یک واحد اضافه شود، آهنگ انتشار کمتر شده ولی جمع همچنان بیشتر می‌شود. بنابراین «یارانه کاهش یافت» را نباید «واحدهای موجود حذف شدند» فهمید. از طرف دیگر، جمع ایجادشده با مقدار قابل خرج یکسان نیست؛ بعضی مقدارها ممکن است خرج‌نشدنی باشند یا دسترسی به آن‌ها از دست برود. پرسش بعدی دربارهٔ هاوینگ، ابتدا فقط به جریان انتشار مربوط است.

هاوینگ دقیقاً چه چیزی را نصف می‌کند و چرا پاداش معدن‌کار لزوماً نصف نمی‌شود؟

هاوینگ، سقف یارانهٔ هر بلاک را پس از هر ۲۱۰٬۰۰۰ بلاک در شبکهٔ اصلی نصف می‌کند. یارانه همان بخش واحدهای تازه است؛ پاداش قابل دریافت علاوه بر آن می‌تواند کارمزد تراکنش‌های بلاک را شامل شود. کارمزد، بیت‌کوین تازه تولید نمی‌کند. فاصلهٔ هاوینگ برحسب ارتفاع بلاک تعیین شده است، بنابراین «تقریباً چهار سال» با یک موعد تقویمیِ تضمین‌شده فرق دارد. فاصلهٔ هاوینگ در تنظیمات شبکه محاسبهٔ یارانه و سقف پاداش

مثلاً در یک مدل فرضی، اگر یارانه ۸ واحد و کارمزد ۲ واحد باشد، جمع ۱۰ است. نصف‌شدن یارانه با ثابت‌ماندن کارمزد، جمع را به ۶ می‌رساند، نه ۵. این مثال مقدار واقعی هیچ دوره‌ای نیست. نکتهٔ دیگر این است که مقدار مجاز با مقدار مطالبه‌شده فرق دارد: قواعد، سقف پاداش را تعیین می‌کنند و معدن‌کار اجازه ندارد کارمزد یا یارانهٔ دریافت‌نشده را در بلاک بعد برای خود ذخیره کند.

سقف ۲۱ میلیون از کجا می‌آید و چه چیزی مانع ایجاد واحد اضافی می‌شود؟

برنامه با یارانهٔ ۵۰ بیت‌کوین آغاز می‌شود و در دوره‌های ۲۱۰٬۰۰۰ بلاکی نصف می‌شود. جمع هندسیِ بدون گردکردنِ این دوره‌ها به ۲۱ میلیون نزدیک می‌شود؛ در اجرای واقعی، مقدارها ساتوشی صحیح‌اند و بخش کسری حذف می‌شود، پس مجموع برنامه‌ریزی‌شده اندکی کمتر است. خود ثابتِ MAX_MONEY نیز در کد «عرضهٔ واقعی» نامیده نشده؛ یک کنترل محدوده است. محاسبهٔ یارانه توضیح ثابت پولی

گرهٔ اعتبارسنج، بلاکی را که بیش از یارانهٔ مجاز و کارمزدها مطالبه کند رد می‌کند. صرف توان استخراج بیشتر، این تخلف را مجاز نمی‌سازد. همچنین محدودیت عرضه به پیاده‌سازی دقیق نیاز دارد: پیشنهاد بهبود شمارهٔ ۴۲ جلوی رفتار تعریف‌نشدهٔ شیفت در دوره‌های بسیار دور را می‌گیرد. مقدمهٔ طنزآمیز آن را نباید سند قصد اقتصادی ساتوشی خواند. اصلاح فنی در پیشنهاد ۴۲ «تغییرناپذیری» اینجا قانون طبیعت نیست؛ نرم‌افزار قابل تغییر است، اما نسخهٔ تغییرکرده نمی‌تواند پذیرش قواعد متفاوت را به گره‌های دیگر تحمیل کند.

آیا می‌توان تعداد دقیق بیت‌کوین‌های گم‌شده را از زنجیره شمرد؟

باید بین خروجیِ اثباتاً خرج‌نشدنی و خروجی‌ای که شاید کلیدش گم شده باشد فرق گذاشت. در حالت دوم، رکورد هنوز وجود دارد، اما ممکن است هیچ‌کس ابزار خرج‌کردن آن را نداشته باشد. از دست‌رفتن دسترسی، سابقهٔ زنجیره را پاک نمی‌کند. از دست‌رفتن دسترسی به بیت‌کوین

اینکه خروجی سال‌ها خرج نشده، به‌تنهایی اثبات نمی‌کند کلیدش نابود شده است؛ نگهداری بلندمدت، فراموشی و گم‌شدن می‌توانند ظاهر زنجیره‌ای مشابهی داشته باشند. این نتیجه از محدودیت داده به دست می‌آید، نه از تخمین تعداد سکه‌های گم‌شده. نمونهٔ معلومِ متفاوت، خروجی خودِ تراکنش پیدایش است که به علت نحوهٔ تعریفش خرج‌شدنی نیست. استثنای پیدایش بنابراین هر عددی برای «عرضهٔ قابل دسترس» باید روش و عدم‌قطعیت خود را روشن کند. حتی تخمین معتبر نیز همان شمارش مستقیم کلیدهای مفقود نیست؛ زنجیره فهرستی از نسخه‌های پشتیبان موجود در جهان ندارد.

چرا شبکه به سازندهٔ بلاک پاداش می‌دهد و پاداش چه چیزی را تضمین نمی‌کند؟

مشارکت در ساخت بلاک به منابع محاسباتی نیاز دارد. طرح بیت‌کوین، دریافت یارانه و کارمزد را به سازندهٔ بلاک پیوند می‌دهد تا فعالیت مطابق قواعد، انگیزه داشته باشد. یارانه راهی برای انتشار تدریجی واحدهای تازه است؛ کارمزد، انتقال واحدهای موجود از تراکنش‌ها به سازندهٔ بلاک است. در توضیح اولیهٔ سامانه، با پایان انتشار، نقش کارمزد برای تأمین انگیزه باقی می‌ماند. منطق انگیزه در وایت‌پیپر

این سازوکار قرارداد جبران هزینهٔ هر مشارکت‌کننده نیست: جست‌وجوی یک معدن‌کار ممکن است به بلاک پذیرفته‌شده نرسد. مشارکت گروهی می‌تواند توزیع دریافت‌ها را تغییر دهد، اما انجام محاسبه با موفقیت در ساخت بلاک یکسان نیست. تفاوت تلاش و نتیجهٔ استخراج همچنین انگیزهٔ اقتصادی جای بررسی قواعد را نمی‌گیرد. تصور کنید کسی بسیار تلاش کرده اما پاسخی خارج از شرایط مسئله آورده است؛ مقدار تلاش، پاسخ نامعتبر را معتبر نمی‌کند. پاداش بخشی از طراحی رفتار شبکه است، نه اثبات اینکه هر شرکت‌کننده همیشه درست عمل خواهد کرد.

آیا کوچک‌ترکردن واحد، محدودیت عرضه را بی‌معنی یا دارندگان را رقیق می‌کند؟

تقسیم یک مقدار به واحدهای کوچک‌تر با ایجاد مقدار تازه فرق دارد. اگر یک متر را صد سانتی‌متر بنامیم، طول بیشتر نشده است. به همین ترتیب تبدیل نمایش یک بیت‌کوین به ۱۰۰٬۰۰۰٬۰۰۰ ساتوشی سهم دارنده از کل را تغییر نمی‌دهد. لایهٔ پایه مقدارها را با ساتوشی صحیح بیان می‌کند. واحد پایهٔ مقدارها

«رقیق‌شدن سهم» زمانی مطرح می‌شود که تعداد کل واحدهای هم‌سنخ افزایش یابد ولی مقدار متعلق به فرد به همان نسبت زیاد نشود؛ عوض‌کردن مقیاس شمارش چنین اثری ندارد. در یک دفتر فرضی با ده سهم، تبدیل هر سهم به صد زیرواحد، همهٔ نسبت‌ها را ثابت نگه می‌دارد. با این حال تقسیم‌پذیری پاسخ همهٔ مشکلات پرداخت نیست: کوچک‌بودن واحد حساب به‌تنهایی دربارهٔ هزینه یا امکان عملی یک پرداخت چیزی نمی‌گوید. همچنین نمایش اعشار بیشتر در یک خدمت، به‌تنهایی تغییر قواعد ثبت مقدار در لایهٔ پایه را اثبات نمی‌کند. باید واحد نمایش و سازوکار تسویه را جدا بررسی کرد.

قواعد پولی چه چیزی را اجرا می‌کنند و چرا تأمین امنیت مسئله‌ای جداست؟

قواعد پولی می‌توانند مطالبهٔ بیش از مقدار مجاز را نامعتبر کنند؛ اما از این محدودیت، تضمین تعداد مشارکت‌کنندگان یا رفتار همیشگی آن‌ها نتیجه نمی‌شود. درآمد ناشی از یارانه و کارمزد، منبع انگیزهٔ استخراج است و گاهی از آن با عنوان «بودجهٔ امنیت» یاد می‌شود. این تعبیر نام یک صندوق مشترک یا میزان تضمین‌شدهٔ هزینه برای دفاع از شبکه نیست. سهم یارانه طبق برنامه کاهش می‌یابد؛ کافی‌بودن انگیزه‌های باقی‌مانده پرسشی دربارهٔ رفتار سامانه است.

یک نمونهٔ مسئلهٔ انگیزشی، تلاش برای بازساخت بلاک اخیر با هدف گرفتن کارمزدهای آن است؛ پیش‌نویس پیشنهاد ۳۲۶ این سناریوی فرضی و رفتارهای بازدارندهٔ کیف پول را بررسی می‌کند. این سند را نباید قانون اجماعِ اجراشده یا پیش‌بینی قطعی آینده معرفی کرد. بحث انگیزه‌ها در پیش‌نویس ۳۲۶ نتیجهٔ آموزشی محدود است: ثابت‌بودن قاعدهٔ انتشار، تحلیل همهٔ تهدیدهای امنیتی را بی‌نیاز نمی‌کند. «چه بلاکی معتبر است؟» و «مشارکت‌کننده برای ساخت کدام بلاک انگیزه دارد؟» دو پرسش مرتبط اما جدا هستند.

تعویض‌پذیری یعنی همهٔ بیت‌کوین‌ها تاریخچهٔ یکسان دارند؟

تعویض‌پذیری یعنی واحدهای هم‌مقدار بتوانند جای یکدیگر را بگیرند، بدون آنکه هویت همان واحد برای پذیرش تعیین‌کننده شود. این ویژگی با نامرئی‌بودن تاریخچه یکسان نیست. ممکن است یک سامانه مقدارها را یکسان بشمارد، اما دریافت‌کنندگان بر مبنای سابقهٔ آن‌ها رفتار متفاوتی داشته باشند. بنابراین باید «قاعدهٔ شمارش و اعتبار» را از «رفتار پذیرنده» جدا کنیم. تعویض‌پذیری و مسئلهٔ تمایز میان سکه‌ها

در ساختار بیت‌کوین، خروجی تراکنش یک مقدار و یک شرط خرج دارد؛ ساتوشی‌ها درون آن شماره‌سریال اجماعیِ جداگانه ندارند. ورودی، خروجی پیشین را مشخص می‌کند؛ این پیوندها تاریخچه‌ای قابل مشاهده می‌سازند. از جمع‌شدن چند ورودی و ساخته‌شدن چند خروجی، به‌خودی‌خود نقشه‌ای یگانه برای تعیین اینکه «این ساتوشی مشخص از کدام ورودی آمد» به دست نمی‌آید. چنین انتسابی به قاعدهٔ تفسیریِ اضافی نیاز دارد. ساختار ورودی و خروجی در کد

آزمایش فکری فرضی: دو نفر هرکدام یک خروجی ۵۰٬۰۰۰ ساتوشی دارند؛ یکی از یک هدیه آمده و دیگری از دستمزد. فرض کنیم هر دو خروجی خرج‌نشده‌اند و همهٔ شروط لازم برای خرجشان فراهم است. در حسابداری پروتکل، هدیه‌بودن یا دستمزدبودن ضریب متفاوتی به مقدار آن‌ها نمی‌دهد. البته هم‌مقداربودن به‌تنهایی کافی نیست: خروجیِ هنوز قفل‌شده را نمی‌توان مانند خروجیِ آمادهٔ خرج مصرف کرد. کنترل مقدار، موجودبودن ورودی و محدودیت زمانی

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

چگونه عرضه را حسابرسی کنیم، بی‌آنکه کارمزد را سکهٔ تازه یا خروجی خرج‌نشده را سکهٔ در دسترس بشماریم؟

حسابرسی از انتخاب یک بلاک مشخص آغاز می‌شود. گره در مسیر اعتبارسنجی، خرج‌نشدن ورودی‌ها و بیشترنبودن خروجی‌های تراکنش عادی از ورودی‌هایش را بررسی می‌کند؛ اختلاف آن‌ها کارمزد است. صرفِ جمع‌کردن همهٔ خروجی‌های تاریخی، عرضه را نمی‌دهد: یک مقدار در انتقال‌های پیاپی دوباره ظاهر می‌شود. حسابداری ورودی و کارمزد

گره خروجی‌های تراکنش پاداش، «کوین‌بیس»، را نیز با سقف یارانه به‌اضافهٔ کارمزدها می‌سنجد. کنترل پاداش بلاک

مثال کاملاً فرضی، با اعداد آموزشی: تنها تراکنش عادیِ یک بلاک، ۱۰۰٬۰۰۰ ساتوشی از خروجی‌های قبلی را مصرف می‌کند و در مجموع ۹۸٬۰۰۰ ساتوشی خروجی می‌سازد. کارمزد ۲٬۰۰۰ ساتوشی است. اگر یارانهٔ مجازِ فرضی ۵۰٬۰۰۰ باشد، پاداش حداکثر ۵۲٬۰۰۰ است. با مطالبهٔ کامل پاداش و نبود خروجی خرج‌نشدنی، تغییر مجموع چنین است: حذف ۱۰۰٬۰۰۰ و افزودن ۹۸٬۰۰۰ و ۵۲٬۰۰۰، یعنی افزایش ۵۰٬۰۰۰. دو هزار ساتوشی کارمزد فقط جابه‌جا شده است. رابطهٔ یارانه و سقف پاداش

سه حاصل متفاوت را جدا نگه دارید: سقف صدور تا آن ارتفاع از برنامهٔ یارانه به دست می‌آید؛ مقدار واقعاً ایجادشده به مطالبهٔ پاداش‌ها وابسته است؛ مجموع خروجی‌های خرج‌نشده وضعیت فعلی دفتر است و حذف‌های شناخته‌شده نیز در آن اثر دارند. بنابراین جمع برنامهٔ یارانه، خودبه‌خود گزارش موجودی دفتر نیست. برای بررسی وضعیت، فرمان gettxoutsetinfo مجموع و شناسهٔ بلاک را گزارش می‌کند؛ با نمایهٔ مربوط، دسته‌هایی مانند پاداش مطالبه‌نشده و خروجی خرج‌نشدنی نیز گزارش می‌شوند. فیلدهای گزارش حسابرسی در کور ۳۰

این گزارش وجود کلید نزد انسان را اندازه نمی‌گیرد. خروجیِ دارای کلید گم‌شده ممکن است همچنان در مجموعهٔ خرج‌نشده باشد؛ خروجی پاداشِ هنوز نابالغ هم الزاماً همین حالا خرج‌شدنی نیست. پس حسابرسی قواعد و مقدارهای دفتر ممکن است، اما از آن عدد قطعیِ «هرچه انسان‌ها اکنون قادر به خرجش هستند» به دست نمی‌آید. شرط بلوغ پاداش

مثال توضیحی: در یک سامانهٔ کاملاً فرضی، یارانه از ۸ به ۴ واحد و کارمزد هر بلاک از ۱ به ۳ واحد می‌رسد. جمع پاداش از ۹ به ۷ واحد تغییر می‌کند؛ بنابراین نصف‌شدن یارانه لزوماً به معنی نصف‌شدن کل پاداش نیست. فقط یارانه واحد تازه ایجاد می‌کند؛ کارمزد انتقال واحدهای موجود است.

بخش پیشین · نقشهٔ موضوع‌ها · واژه‌نامه · بخش بعدی

همهٔ موضوع‌های یادگیری