داستان شکل‌گیری رمزارزها به زبان ساده؛ قسمت دوم: b-money

قسمت دوم تو پست قبل، از تولد تا مرگ دیجی‌کش رو تعریف کردیم؛ و کمی هم به افکاری پرداختیم که باعث بوجود اومدن این ایده شده بود. همچنین گفتیم که دیوید چام پول دیجیتال رو ابزاری برای آزادی انسان میدونست و برای همین قدم توی این راه گذاشت. اما چرا؟ چه‌طوری پول دیجیتال می‌تونه به ما آزادی بده؟تو سال‌ 1998 هست که یکی دیگه از تکمیل‌کننده‌های پازل، وارد داستان می‌شه؛ و تو چند خط اول پروتوکلهایی که ارائه می‌ده، جواب سوال‌‌مون رو پیدا می‌کنیم:“یک اجتماع با مشارکت اعضای خود معنا پیدا می‌کند؛ و این مشارکت زمانی موثر است که یک وسیله‌ی مبادلاتی (پول) و روشی برای عقد قراردها، وجود داشته باشد. تا به امروز ارائه‌ی این نوع خدمات توسط دولت‌ها، سازمان‌های دولتی و یا سازمان‌های مستقل قانونی (مورد تایید قوانین دولتی) مرسوم بوده است. …”بعد تو ادامه می‌گن که این طرحی که ارائه می‌شه، به اسم b-money، انجام این خدمات رو توسط سازمانای واقعا مستقل وغیرقابل‌ردیابی، ممکن می‌کنه.پس یک اجتماع برای این‌که بتونه سرپا بمونه و پویا باشه، نیاز به پول داره؛ تا اعضا با هم ارتباط و همکاری داشته باشند و از طریق اون بتونند تبادلات انجام بدن، قرارداد ببندند و یک جامعه رو بسازند. واقعیت هم همین‌ه؛ فکرش رو بکنید؛ انسان حتا قبل از اختراع خط، به ابزار مبادلاتی نیاز داشته و اون رو ایجاد کرده؛ و هنوز هم مدام به‌دنبال روش‌های جدید برای بهینه‌سازی انجام معاملات‌ش هست. پس سیستم مالی یکی از پایه‌های یک اجتماع محسوب می‌شه که بدون اون،‌ تشکیل جامعه ناممکن‌ه؛ و هر تغییری در این سیستم مالی ابعاد مختلف زندگی افراد رو تحت تاثیر قرار می‌ده. هر تغییری در سیاست‌گذاری‌های مالی می‌تونه مستقیما به آزادی اقتصادی و سیاسی افراد لطمه بزنه و یا بالعکس، باعث آزادی عمل افراد اون جامعه بشه. انتظار می‌ره که Wei Dai، این کریپتوگرافر و مهندس کامپیوتر خلاق و طراح b-money، مشکلات پول دیجیتال قبلی رو حل کرده باشه؛ اتفاقا همین‌طور هم هست. یکی از اشکالات اساسی DigiCash مرکزیت داشتن‌اش بود؛ یادتونه؟Wei Dai تو اولین پروتوکلی که ارائه داد، پیشنهاد می‌کنه که بجای تایید تراکنش‌ها توسط یک نهاد، مرکز یا شخص، همه‌ی اعضا در این پروسه سهیم باشند. یعنی این مسئولیت بین تمام اعضای شبکه پخش بشه تا مشکل مرکزیت داشتن از بین بره.چگونه این اتفاق میافته؟هر عضو شبکه‌، یک کپی از تمام تراکنش‌هایی (مبادلاتی) که انجام شده رو پیش خودش داشته باشه و هر وقت تراکنش جدیدی اتفاق افتاد، همه بررسی‌ش می‌کنند و اگر به توافق رسیدند، اون رو تصدیق و اطلاعات‌شون رو آپدیت می‌کنند. این‌طوری یک دفتر بزرگ دیجیتالی خواهیم داشت که همه‌ی تراکنش‌ها توش وجود داره و کسی هم نمی‌تونه تو این دفتر دست ببره و چیزی رو جعل کنه چون برای انجام این کار، باید دونه‌دونه بره و توی این همه دفتر تغییر ایجاد کنه؛ که عملا ممکن نیست. بیاید اسم این دفترکل رو که تاریخچه‌ی همه‌ی تراکنش‌هارو داره بذاریم بلاک‌چین ؛ یه شبکه‌ای از آدما با دفتراشون. Wei Dai این‌طور تعریفش می‌کنه: شبکه‌ای غیرقابل‌ردیابی؛ جایی که فرستنده‌ها و گیرنده‌ها تنها از طریق نام‌های مستعار دیجیتالی خودشون (مثل کلید عمومی) شناخته میشن و هر پیام توسط فرستنده امضا شده و به‌صورت رمزگذاری‌شده توسط گیرنده‌ دریافت می‌شه.بیاین فرض کنیم سامان و آیدا هر دوتاشون از b-money استفاده می‌کنند؛ و هرکدوم کلیدهای عمومی خودشون رو دارند. کلیدهای عمومی و خصوصی همون امضاهایی‌‌اند که مثلا دستی روی چک‌ها می‌زنیم اما این امضاها، فرم دیجیتالی‌ دارند.امضای سامان رو بگیریم S و امضای آیدا A. سامان می‌خواد یک خریدی از آیدا انجام بده؛ و به‌ازاش 2تا b-money پرداخت کنه. سامان همین پیام “سامان 2 بی‌مانی به آیدا انتقال می‌دهد ’’رو می‌نویسه (درقالب یک تراکنش)، امضای دیجیتالی خودش رو هم می‌زنه و برای تاییدشدن می‌فرسته به تمام اعضای شبکه. همه پیام رو بعدِ دریافت، بررسی می‌کنند و اگر به توافق رسیدند که این امضا، همون کلید عمومی سامان هست، تراکنش تصدیق می‌شه و 2تا بی‌مانی از کیف پول سامان به کیف پول آیدا واریز می‌شه. پس الان دیگه نیاز به یک سوم شخص یا مرکز برای صحت‌سنجی تراکنش‌ها نداریم؛ یک سیستم غیرمتمرکز یا Decentralized داریم که از آدم‌های زیادی تشکیل شده که هر کدوم تو تایید تراکنش‌ها سهیم‌اند. مشکل مرکزیت پول دیجیتالی حل شد!“اما” هنوز 2 تا مساله هست که باید به‌ش فکر بکنیم؛ 1. اگر تو همین مثال ما، سامان موقعی که منتظره تراکنش‌اش تصدیق بشه یک بار دیگه اون پول رو خرج بکنه و یک خرید دیگه انجام بده چی؟ قبلا تو دیجی‌کش دیدیم که بانک شماره سریال‌ رو چک می‌کرد و به این ترتیب یک پول دو بار نمی‌تونست خرج بشه؛ اما حالا با حذف واسطه‌ها، چه‌طوری مطمئن بشیم که مثلن سامان با همون پول یک خرید هم از آرش انجام نداده؟ مشکلی که به Double-Spending مشهوره.و 2. پول توی این سیستم، چه‌طوری تولید یا به‌اصطلاح چاپ می‌شه؟ سال‌ها پول تو سیستم‌های دولتی براساس استاندارد طلا چاپ می‌شد؛ یعنی هر دولت فقط به میزان طلایی که تو بانک داشت، پول چاپ می‌کرد (پول باپشتوانه)‌ اما امروزه این روش تغییر کرده و دولت‌ها دستگاه چاپ خودشون رو دارند و هر وقت دوست داشته باشن، بدون توجه به تبعات‌اش اعم از تورم، و برپایه‌ی منافع شخصی، می‌تونن پول چاپ کنند (پول فیات یا بدون پشتوانه). اما توی دنیای دیجیتالی که همه چیز حساب‌ و کتاب ریاضی داره، چه مکانیسمی برای تولید پول مناسب‌ه؟برای ایجاد یک سیستم مالی باثبات، منطقی‌ه که دنبال مکانیسمی باشیم که همه نتونند پول تولید کنند و فقط یک عده افراد، بااستفاده از یک استاندارد، تحت شرایطی خاص، به تولید پول بپردازند و وارد چرخه‌ی اقتصادی اون سیستم بکنند. آقای Dai توی پروتوکل دوم، که در ادامه‌ی پروتوکل قبلی ارائه شده، طرح اول رو تکمیل می‌کنه؛ طرحی که هر دو مساله رو یک‌جا حل می‌کرد.Wei Dai توی طرح دوم اعضای شبکه رو به 2 گروه “کاربرای عادی” و “سرورها” تقسیم کرده؛ و پیشنهاد می‌کنه که بجای این‌که اطلاعات مربوط به حساب‌ها توی دفتر همه نوشته بشه، فقط یک سری که بهشون می‌گیم سرور این کار رو انجام بدن؛ و اطلاعات هم از طریق یک شبکه‌ای شبیه به Usenet بین سرورها پخش بشه. با این کار وقتی کسی تراکنشی رو انجام می‌ده، اون رو به‌طور تصادفی برای سرورهایی می‌فرسته تا پروسه‌ی تصدیق رو طی کنه؛ و سرورها با داشتن تاریخچه‌ی همه‌ی تراکنش‌ها و بالانس حساب اعضا،‌ می‌تونند تایید کنند که آیا یک حساب خاص پول کافی برای پرداخت رو داره یا نه؛ و با خرج اون، بالانس حساب منفی می‌شه یا خیر. به این ترتیب سرورها مثل بانک‌هایی عمل می‌کنند که تراکنش رو با حساب افراد تطبیق می‌دن و براساس اون تایید یا ردش می‌کنند. با این روش، از double-spending جلوگیری می‌شه.برای اطمینان از این‌که خود این سرورها توی شبکه اختلال ایجاد نکنند (مثلن با جعل یک تراکنش)، هر کسی که داوطلب سرورشدن هست، باید مقداری پول رو تو حساب مخصوصی به‌عنوان سرمایه قرار بده که اگه خطایی ازش سر زد، پووووف! سرمایه‌اش رو از دست بده.این روش کارآمده؛ چون مثل خریداری سهام تو یک شرکت می‌مونه. کسی که تو شرکتی سهام‌دار باشه، بعیده در جهت خلاف منافع اون شرکت عمل کنه. به این سیستم که به‌جای تمام اعضا، فقط گروهی با سرمایه‌گذاری می‌تونند صحت‌سنجی انجام بدن، Proof-of-Stake گفته می‌شه. اما توجه کردید که سرورها به یک انگیزه برای ارائه‌ی خدمات‌شون دارن؟ بله پول! هر باری که سرور تراکنشی رو بررسی می‌کنه و به نتیجه‌ می‌رسونه، مقداری پول (مثلن b-money) ایجاد می‌شه و اون سرور دریافت‌اش می‌کنه. یه‌جورایی دست‌مزد یا جایزه‌ای که موجب تولید پول هم شده. یک تیر چند نشون!پس الان ما سیستمی رو با هم بررسی کردیم که:غیرمتمرکزه و تراکنش‌هاش توسط مجموعه‌ای از افراد تایید می‌شه و هم‌زمان پول هم به چرخه وارد می‌شه. درنتیجه افراد نمی‌تونند سلیقه‌ای یا براساس منفعت شخصی عمل کنند و همه چیز اصولی پیش می‌ره. و چون شبکه‌ای هم هست، عملا قابل قانون‌گذاری توسط دولت‌ها نیست.برای صحت‌سنجی و تولید پول مقداری هزینه صرف می‌شه.سرورها در ازای ارائه خدمات، پاداش دریافت می‌کنند.قراردادها همگانی‌اند؛ و تراکنش‌ها با امضاهای کریپتوگرافیک در شبکه پخش می‌شن.همه‌چیز به نظر سرجای خودش و خوب میاد؛ پس چرا ما امروز از b-money استفاده نمی‌کنیم؟قضیه از این قراره که Wei Dai فکر می‌کرد طرح‌هاش عملی نباشه و هیچ‌وقت b-money رو اجرا نکرد و این ایده‌ی زیبا تا سال‌ها تئوریک باقی موند. آقای Dai انگیزه‌اش رو از طراحی b-money ایجاد اقتصادی آنلاین بر پایه‌ی اختیار بیان کرده . اقتصادی که مالیات نمی‌خوره و با زور و تهدید قانون‌گذاری نمی‌شه.و درآخر، اگر یک نگاهی به نوشته‌های وی‌دای کرده باشید، حتما کوتاهی متن‌ها توجه‌تون رو جلب می‌کنه. به‌نظر میاد سرسختانه معتقد به کم گوی و گزیده گوی هستند. باشد که ما هم از این سنت پسندیده پیروی کنیم وهمین‌جا داستان رو نگه داریم.تو قسمت‌های بعدی تو خط زمانی جلوتر میایم و بالاخره به امروزی می‌رسیم که اعتقادات، خلاقیت، هوش و ابزارهایی که همه‌ی این بازیگران داستان ما ایجاد کردند تو یک نقطه به هم میرسند؛ و بیت‌کوین خلق می‌شه.در زمان حال منتظرمون باشید :‌)قسمت اول: DigiCashقسمت دوم : b-moneyقسمت سوم: Hashcashقسمت چهارم: Bitcoinبرای نوشتن این مقاله،‌ از منابع زیر استفاده شده:Wei Dai Website WikiPediaBitcoin Magazine