ماژول 3 از 8

تاریخچه فنی بیت‌کوین

3.0 مقدمه

خلاصه وایت‌پیپر بیت‌کوین

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

بیت‌کوین در خلأ ظاهر نشد، بلکه بر پایه کار بسیاری از افراد در دهه‌های گذشته ساخته شد. این ماژول به بررسی زیرساخت‌های اینترنت که بیت‌کوین بر آن بنا شده و همچنین پژوهش و توسعه‌ای که در وایت‌پیپر به آن اشاره شده است، می‌پردازد.

در دهه ۷۰ میلادی، گروهی از افراد مشاهده کردند که دولت آمریکا به طور خاص در تلاش است تا دسترسی به رمزنگاری را محدود کند و تصمیم گرفتند این فناوری را برای همه مردم جهت حفظ حریم خصوصی آنلاین در دسترس قرار دهند. برخی از این پیشگامان اولیه همچنین بر مزایای بالقوه یک سیستم پولی دیجیتال «سالم» که بتواند برای ذخیره و تبادل ارزش در اینترنت نوظهور استفاده شود، تمرکز داشتند. فریدریش هایک – یکی از چهره‌های برجسته اقتصاد اتریشی – مدت‌ها پیش از ظهور اینترنت، تصور کرد که یک ارز ایده‌آل مبتنی بر رقابت بازار آزاد چگونه خواهد بود، اما نتیجه گرفت که این امر از نظر فنی و سیاسی غیرممکن است. این گروه که بعدها به سایفرپانک‌ها معروف شدند، علاوه بر حفظ حریم خصوصی دیجیتال، تلاش کردند تا رؤیای هایک برای پول دیجیتال را محقق کنند، اما این تلاش‌ها تا زمانی که ساتوشی ایده‌های خود را در لیست پستی منتشر کرد، موفق نبود.

  • پروتکل TCP/IP (۱۹۷۶)
  • پروتکل‌هایی برای رمزنگاری کلید عمومی - رالف مرکله (۱۹۸۰)
  • دیجیکش - دیوید چام (۱۹۸۹)
  • زمان‌بندی دیجیتال (دهه ۹۰ میلادی)
  • هش‌کش - آدام بک (۱۹۹۷)
  • بیت‌تورنت - برام کوهن (۲۰۰۱)
  • اثبات کار قابل استفاده مجدد - هال فینی (۲۰۰۴)
  • وایت‌پیپر بیت‌کوین - ساتوشی ناکاموتو (۲۰۰۸)

یکی از تأثیرات کلیدی بر توسعه بیت‌کوین، ظهور جنبش سایفرپانک‌ها در دهه ۹۰ میلادی بود. آن‌ها چندین فناوری رمزنگاری از جمله رمزنگاری کلید عمومی را توسعه دادند تا کاربران بتوانند به صورت امن و خصوصی ارتباط برقرار کرده و اطلاعات را به اشتراک بگذارند. بسیاری از پیشرفت‌های ذکر شده و افراد دخیل در اینجا، بخشی از این گروه بودند.

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

3.1 توسعه‌ی TCP/IP

بیشتر ما با پروتکل‌های TCP/IP که امروزه به عنوان پایه اینترنت استفاده می‌شوند، آشنا هستیم. ریشه‌های این پروتکل‌ها به اواخر دهه ۷۰ میلادی بازمی‌گردد، زمانی که دانشمندان در حال بررسی طراحی‌های جایگزین برای آرپانت بودند؛ شبکه‌ای حتی قدیمی‌تر که توسط وزارت دفاع آمریکا برای اشتراک‌گذاری منابع بین رایانه‌های دور از هم ایجاد شده بود. TCP/IP در سال ۱۹۸۳ به عنوان استاندارد پروتکل برای آرپانت انتخاب شد و همین باعث شد تا پایان دهه ۱۹۹۰ به مدل غالب شبکه‌سازی تبدیل شود و پایه‌ای برای اینترنتی باشد که امروزه My First Bitcoin بر روی آن اجرا می‌شود.

مدل OSI TCP/IP
کاربردی کاربردی
ارائه کاربردی
نشست کاربردی
انتقال انتقال
شبکه شبکه
پیوند داده پیوند داده
فیزیکی فیزیکی

همزمان با توسعه مدل TCP/IP، یک چارچوب مشابه اما جامع‌تر توسط سازمان بین‌المللی استانداردسازی (ISO) و صنعت مخابرات (CCITT) در حال توسعه بود. روند توسعه پروتکل‌های جدید یا پیشنهاد تغییرات در این مدل، نسبت به رویکرد غیرمتمرکزتر TCP/IP، کند و دست‌وپاگیر بود و همین باعث شد رویکرد TCP/IP امروزه غالب شود.

درخواست تغییر

هرگونه توسعه پیشنهادی برای پروتکل‌های موجود یا ایده‌هایی برای پروتکل‌های جدید می‌تواند در مدل TCP/IP از طریق درخواست تغییر انجام شود. این درخواست‌ها از یک فرآیند تأیید عبور می‌کنند که توسط گروه ویژه مهندسی اینترنت (IETF) مدیریت می‌شود و پس از تأیید، به صورت متن‌باز در اختیار همگان قرار می‌گیرند تا هر کسی بتواند آن‌ها را پیاده‌سازی و استفاده کند. برخی نمونه‌های قابل توجه:

  • ۱۹۶۹ RFC 1 نحوه ارسال بسته‌ها در آرپانت را مستندسازی کرد
  • ۱۹۸۱ RFC791 پروتکل اینترنت نسخه ۴ را تعریف کرد – که هنوز هم به طور گسترده استفاده می‌شود
  • ۱۹۸۲ RFC 821 پروتکل انتقال ساده ایمیل
  • ۱۹۸۷ سیستم نام دامنه – نحوه تبدیل نام دامنه به آدرس IP
  • ۱۹۹۹ RFC 2616 پروتکل انتقال ابرمتن – ضروری برای مرور وب

پیشنهاد بهبود Bitcoin Improvement Proposal (BIP) رویکردی مشابه RFC دارد، اما صرفاً بر بهبودهای خود بیت‌کوین تمرکز دارد نه توسعه پروتکل‌های جدید یا جایگزین. بیت‌کوین همچنین از این مدل لایه‌ای الهام گرفته و شما پروتکل‌های بیشتری را به عنوان لایه دوم یا سوم مشاهده خواهید کرد.

همان‌طور که لایه‌های پایه مدل TCP/IP در چند دهه گذشته تغییرات اندکی داشته‌اند و نوآوری‌ها در لایه‌های بالاتر رخ داده‌اند، انتظار می‌رود لایه پایه بیت‌کوین نیز در این مقطع بسیار آهسته تغییر کند و راهکارهای مقیاس‌پذیری مانند Lightning و Liquid در لایه‌های بالاتر اجرا شوند.

یک نمونه خوب از اینکه چرا تغییر پروتکل‌های لایه پایه با گذشت زمان دشوار می‌شود، IPv6 است. پیش‌بینی اتمام فضای آدرس‌دهی در IPv4 نیاز به یک پروتکل جدید را ایجاد کرد. اولین پیش‌نویس استاندارد در سال ۱۹۹۸ تهیه شد اما تا سال ۲۰۱۷ به عنوان استاندارد اینترنت تصویب نشد. با اینکه بسیاری از مشکلات IPv4 را حل کرد و بسیار آینده‌نگرتر است، اما هنوز هم در صنعت به کندی پذیرفته می‌شود. در این مدت، پروتکل‌های جدید زیادی در لایه‌های بالاتر برای پشتیبانی از چندرسانه‌ای، ایمیل و غیره تعریف شده‌اند.

اجزای سازنده‌ای که توسط بیت‌کوین استفاده می‌شوند

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

لایه TCP/IP اصلی
کاربردی از سیستم نام دامنه (DNS) برای شناسایی گره‌های همسایه استفاده می‌کند. پورت ۸۳۳۳ نشان‌دهنده پروتکل بیت‌کوین است.
انتقال UDP برای ارتباط FIBRE بین ماینرها جهت کاهش تأخیر. TCP برای ارتباطات همتا به همتا بین گره‌ها.
انتقال مسیریابی TOR: امکان ناشناسی و حفظ حریم خصوصی را فراهم می‌کند. پروتکل پخش: ترافیک را در سراسر شبکه هدایت می‌کند.
پیوند بر روی هر رسانه‌ای (مانند اترنت، وای‌فای و غیره) عمل می‌کند.
فیزیکی انتقال فیزیکی از طریق بی‌سیم، اترنت یا سایر رابط‌های سخت‌افزاری.
بیت‌کوین یک پروتکل بی‌طرف برای انتقال ارزش است، همان‌طور که HTTPS یک پروتکل برای انتقال اطلاعات است.
  • HTTPS: وب‌سایت‌های امن
  • SMTP: ارسال ایمیل
  • FTP: انتقال فایل‌ها
  • DNS: مدیریت نام دامنه‌ها
  • BTC: ذخیره و انتقال ارزش

بیت‌کوین امکان انتقال ارزش را به‌صورت قابل اعتماد و بدون نیاز به واسطه، میان افراد یا دستگاه‌ها در سراسر اینترنت فراهم می‌کند. انتظار می‌رود این موضوع ارزش فوق‌العاده‌ای را آزاد کند.

3.2 رمزنگاری کلید عمومی و پروتکل‌ها

امروزه اینترنت و بیشتر سیستم‌های کامپیوتری مدرن به رمزنگاری متکی هستند؛ روشی برای پنهان‌سازی اطلاعات به‌گونه‌ای که فقط گیرنده اطلاعات بتواند آن را رمزگشایی کند. پایه‌های رمزنگاری‌ای که برای امنیت بیت‌کوین استفاده می‌شود، به دهه ۷۰ میلادی بازمی‌گردد.

اولین مسئله‌ای که باید حل شود این است که چگونه یک راز مشترک را از طریق یک بستر ناامن ارسال کنیم.

این موضوع اولین بار توسط ویتفیلد دیفی و مارتین هلمان بررسی شد.

مسئله این است: دو طرف—که معمولاً به آن‌ها آیدا و باب گفته می‌شود—می‌خواهند اطلاعات محرمانه‌ای را از طریق شبکه‌ای که ممکن است دیگران در آن شنود کنند، به اشتراک بگذارند. برای این منظور، آن‌ها فرآیند تبادل کلید دیفی-هلمان را ایجاد کردند.

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

از آنجا که کلید خصوصی هرگز نیاز به اشتراک‌گذاری ندارد و کلیدهای متفاوتی در هر طرف برای رمزگذاری و رمزگشایی استفاده می‌شود، به این روش الگوریتم رمزنگاری نامتقارن گفته می‌شود.

موارد استفاده:

  • آیدا پیامی را با کلید عمومی باب امضا می‌کند—که تنها کسی است که می‌تواند آن را با کلید خصوصی خود رمزگشایی کند.
  • آیدا پیامی را با کلید خصوصی خود امضا می‌کند—با رمزگشایی آن توسط کلید عمومی‌اش، هر کسی می‌تواند تأیید کند که پیام واقعاً توسط آیدا ارسال شده است، بدون اینکه کلید خصوصی او را بداند.
  • با ترکیب این دو رویکرد و دو لایه رمزگذاری، می‌توان پیامی را ارسال کرد که فقط باب قادر به رمزگشایی آن باشد و او همچنین می‌تواند تأیید کند که فرستنده واقعاً آیدا بوده است.

اگرچه نام رالف مرکِل در مقاله ذکر نشده است، اما او نقش اساسی در حل این معمای تا آن زمان حل‌نشده داشت—یعنی چگونه ارتباط خصوصی را در یک شبکه باز و بالقوه خصمانه برقرار یا بازسازی کنیم.

این رویکرد به‌تنهایی در برابر حمله جستجوی فراگیر آسیب‌پذیر است؛ جایی که مهاجم می‌تواند با داشتن اعداد مشترک، در نهایت با صرف زمان و منابع کافی، کلید مشترک را بازسازی کند. بنابراین این راه‌حل به‌تنهایی کامل نیست.

پروتکل‌هایی برای رمزنگاری کلید عمومی

علاوه بر مشارکت در سیستم کلید عمومی دیفی-هلمان که در بالا توضیح داده شد،رالف مرکِل سال‌ها به فعالیت در این حوزه ادامه داد و نقش کلیدی در توسعه برخی اجزای مهم مورد استفاده در بیت‌کوین داشت.

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

  • ورودی‌ها می‌توانند هر اندازه‌ای داشته باشند
  • خروجی همیشه طول ثابتی دارد و قطعی است (هر ورودی یکسان، هر بار همان هش را ایجاد می‌کند)
  • تأیید آن آسان است اما بازگرداندن ورودی از روی خروجی بسیار دشوار است
  • تغییر جزئی در داده‌ها، خروجی را به طور کامل تغییر می‌دهد
Hash function

هشینگ بخش جدایی‌ناپذیر از پروتکل بیت‌کوین است. الگوریتم SHA-256 که در بیت‌کوین استفاده می‌شود، توسط آژانس امنیت ملی آمریکا (NSA) ساخته شده و نمونه‌ای از الگوریتم‌های هش رمزنگاری است.

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

تأیید توزیع‌شده وضعیت‌های بلاک‌چین و مدل‌های دفتر کل فقط-افزودنی که در برابر بازنویسی مقاوم هستند، با هش یک‌طرفه ممکن می‌شود. توابع هش روشی قابل اعتماد و قطعی برای تأیید رویدادها در دفتر کل‌های عمومی مانند بیت‌کوین فراهم می‌کنند، بدون نیاز به مدل اعتماد متمرکز.

این قابلیت‌های جدید در حوزه رمزنگاری، به باور سازندگانش، قرار بود موج جدیدی از نوآوری را در این زمینه به همراه داشته باشد.

رمزنگاری منحنی بیضوی

یکی از این نوآوری‌های بعدی به شکل رمزنگاری منحنی بیضوی ارائه شد.

رمزنگاری منحنی بیضوی در سال ۱۹۸۵ توسط دو دانشمند به نام‌های ن. کوبلیتز و و. میلر معرفی شد. آن‌ها ایده استفاده از نقاط تعریف‌شده توسط منحنی‌های بیضوی را به جای میدان‌های اول متناهی مطرح کردند، به‌گونه‌ای که فرض مسئله لگاریتم گسسته برقرار باشد؛ همان‌طور که در پروتکل استاندارد تبادل کلید دیفی-هلمان رایج است. جزئیات نحوه عملکرد این روش فراتر از این بخش است، اما به طور کلی، منحنی بیضوی مجموعه‌ای از نقاط است که یک معادله ریاضی خاص را ارضا می‌کنند.

معادله یک منحنی بیضوی چیزی شبیه به این است:

Elliptic curve

این معادله برخی ویژگی‌های مفید دارد:

  • تقارن افقی. هر نقطه روی منحنی را می‌توان نسبت به محور x بازتاب داد و منحنی همچنان همان باقی می‌ماند.
  • هر خط غیرعمودی حداکثر در سه نقطه با منحنی برخورد می‌کند.
  • اندازه‌های فشرده کلید برای ذخیره‌سازی و انتقال مؤثر کلیدهای عمومی در بلاک‌چین ضروری هستند.

این ویژگی‌ها را می‌توان برای ایجاد جفت کلید به روشی مشابه الگوریتم دیفی-هلمان به کار برد. بیت‌کوین از ECDSA استفاده می‌کند که مخفف الگوریتم امضای دیجیتال منحنی بیضوی است. این فرآیندی است که با استفاده از یک منحنی بیضوی و یک میدان متناهی، داده‌ها را به گونه‌ای «امضا» می‌کند که اشخاص ثالث بتوانند صحت امضا را تأیید کنند، در حالی که امضاکننده تنها کسی است که می‌تواند امضا را ایجاد کند. در بیت‌کوین، داده‌ای که امضا می‌شود همان تراکنشی است که مالکیت را منتقل می‌کند.

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

3.3 دیجی‌کش

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

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

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

دولت‌ها در قطع کردن سر شبکه‌های متمرکز مانند Napster مهارت دارند، اما شبکه‌های کاملاً همتا به همتا مانند Gnutella و TOR به نظر می‌رسد که همچنان پابرجا مانده‌اند.
ساتوشی ناکاموتو

سیستم‌های غیرمتمرکز بدون مرجع مرکزی – همتا به همتا – چندین مزیت دارند:

  • آن‌ها می‌توانند به سرعت رشد کنند، زیرا هر کسی می‌تواند تنها با راه‌اندازی یک نود جدید بدون نیاز به ثبت‌نام یا تأیید، سیستم را گسترش دهد.
  • تمام نودها یکسان هستند، بنابراین در صورت خرابی می‌توان مسیر را تغییر داد.
  • هیچ مرجع مرکزی وجود ندارد که بتوان با تصرف آن، سیستم را به خطر انداخت.
  • بدون نقاط کنترل متمرکز، گرفتن، قانون‌گذاری، مالیات‌بندی یا نظارت بر این سیستم‌ها دشوارتر است.

یک دهه بعد، او شرکت خود به نام Digicash را تأسیس کرد تا «ecash» را به عنوان اولین سیستم پول دیجیتال جهان ایجاد کند. بسیاری از نام‌های مشهور برای مدتی به Digicash پیوستند، این شرکت تا حدی موفق شد اما در نهایت شکست خورد و اعلام ورشکستگی کرد.

پیشرفت‌های بیشتر در پول دیجیتال

در یک پست فروم در ژوئیه ۲۰۱۰، ساتوشی ناکاموتو گفت: «بیت‌کوین پیاده‌سازی پیشنهاد b-money وی دای در Cypherpunks در سال ۱۹۹۸ و پیشنهاد Bit Gold نیک سابو است.»

اگرچه هیچ‌یک از این دو ایده از مرحله پیشنهاد فراتر نرفتند، اما برخی از ایده‌های مطرح‌شده در آن‌ها به وضوح بر توسعه بیت‌کوین تأثیر گذاشتند:

  • استفاده از «اثبات کار» برای اختصاص ارزش پولی به کار محاسباتی
  • این مفهوم که هزینه محاسبات در طول زمان تغییر می‌کند و باید در نظر گرفته شود

اما ابتدا به Hashcash خواهیم پرداخت.

3.4 هش‌کش

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

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

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

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

BitGold

نیک سابو بر پایه مفهوم هش‌کش و اثبات کار، راه‌حل جایگزینی را پیشنهاد داد که آن را یک سال پس از انتشار هش‌کش، در سال ۱۹۹۸، در یک فهرست ایمیل شرح داد.

در حالی که این پیشنهاد به راه‌حل نزدیک‌تر شده بود، اما همچنان با چندین چالش روبرو بود.

  • چه کسی باید دفتر ثبت مالکیت هش‌ها را اداره کند و چگونه می‌توان به او اعتماد کرد؟
  • هشینگ به طور کلی با گذشت زمان ارزان‌تر می‌شد، که این خود چالشی برای هش‌کش نیز بود.

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

B-Money

به زودی پس از پیشنهاد Bit Gold، وی دای راه‌حل مشابهی را مطرح کرد. او پیش‌تر چندین ابزار دیگر برای سایفرپانک‌ها توسعه داده بود و ایده‌های خاص خود را درباره پول دیجیتال داشت.

پیشنهاد او شبیه به Bit Gold بود از این جهت که از امضاهای دیجیتال برای انتقال پول استفاده می‌کرد و سوابق تراکنش‌ها در یک دفتر کل ذخیره می‌شد که شامل کلیدهای عمومی و مقدار واحدهای پولی منتسب به هر کدام بود. همانند Bit Gold، طرف‌های ثالث مورد اعتماد به عنوان نقاط ضعف امنیتی در نظر گرفته می‌شدند و این باور وجود داشت که یک سیستم پول الکترونیکی نباید به یک نهاد واحد برای پیگیری موجودی‌ها، تراکنش‌ها یا جلوگیری از دوبار خرج کردن متکی باشد.

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

وی دای تشخیص داد که این راه‌حل مشکل ژنرال‌های بیزانسی (۱) را حل نمی‌کند، زیرا گره‌ها به راحتی می‌توانند همگام‌سازی را از دست بدهند یا صرفاً دروغ بگویند. او روش‌های جایگزینی مانند داشتن زیرمجموعه‌ای از سرورهای «مورد اعتماد» برای نگهداری دفتر کل و ایجاد مشوق‌های مالی برای حفظ صداقت این سرورها را پیشنهاد داد.

برای سیاست پولی، او پیشنهاد داد که قدرت خرید B-Money به نوعی شاخص قیمت مصرف‌کننده خارجی متصل شود. او می‌خواست مقدار ثابتی از B-Money بتواند سهم برابری از شاخص را در طول زمان خریداری کند تا نوعی ثبات قیمتی فراهم شود. بنابراین، هر کسی می‌توانست با ارائه یک هش معتبر، واحد پولی جدید ایجاد کند، اما سختی تولید هش ممکن بود بر اساس هزینه پردازنده و شاخص قیمت در طول زمان تغییر کند تا هر واحد «تغییرناپذیر» باشد.

3.5 بیت‌تورنت

یکی دیگر از پروژه‌هایی که نقش مهمی در شکل‌گیری ارزهای دیجیتال تا پیش از بیت‌کوین ایفا کرد، BitTorrent است.

در سال ۲۰۰۱، برام کوهن طرحی برای یک پروتکل به نام BitTorrent منتشر کرد که برای راه‌اندازی یک سیستم اشتراک‌گذاری فایل همتا به همتا ساخته شده بود. او کار خود را در شرکتی به نام MojoNation آغاز کرد که هدف آن این بود تا افراد بتوانند فایل‌های محرمانه را به بخش‌های رمزنگاری‌شده تقسیم کنند و این بخش‌ها را روی کامپیوترهایی که نرم‌افزار را اجرا می‌کنند، توزیع نمایند. یک نسخه از فایل به طور همزمان از چندین کامپیوتر دانلود می‌شد. اگرچه این پروژه در نهایت شکست خورد، اما کوهن را با فضای اشتراک‌گذاری فایل آشنا کرد و او تصمیم گرفت پروتکل بهتری بسازد که شامل موارد زیر بود:

  • Swarm: جامعه‌ای از دستگاه‌ها که در حال دانلود یا آپلود محتوا هستند
  • Tracker: ابزاری اختصاصی که عملکردی مشابه موتور جستجو دارد، اما فایل‌های موجود در swarm را ردیابی می‌کند. این امکان را به کاربران می‌دهد تا به راحتی هر فایلی را که نیاز دارند مشاهده و دسترسی پیدا کنند.
  • کلاینت BitTorrent: روی یک کامپیوتر نصب می‌شود تا به tracker دسترسی پیدا کند. توجه داشته باشید که swarm تنها جایی است که فایل‌ها واقعاً نگهداری می‌شوند.
  • یک طرح تشویقی که در آن کاربرانی که به عنوان اشتراک‌گذار فایل در شبکه مشارکت می‌کنند، دانلود سریع‌تری دریافت می‌کنند.

شباهت‌ها با بیت‌کوین:

  • هر دو پروتکل بر اساس مدل همتا به همتا کار می‌کنند.
  • طراحی غیرمتمرکز
  • فایل‌های BitTorrent و دفتر کل بیت‌کوین در سراسر شبکه توزیع شده‌اند.
  • منشأ متن‌باز (BitTorrent در نهایت به نرم‌افزاری با کد بسته تبدیل شد)

3.6 اثبات کار قابل استفاده مجدد

هال فینی یکی دیگر از اعضای مشهور جنبش سایفرپانک بود که علاقه زیادی به توسعه پول الکترونیکی داشت و در لیست پستی بسیار فعال بود.

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

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

این راه‌حل همچنان با برخی از مشکلات مشابه سایر پیشنهادها روبرو بود:

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

این ویژگی‌ها جذابیت و در نتیجه پذیرش پروژه را محدود کرد و با وجود تمام تلاش‌هایش، این پروژه نیز به عنوان یکی دیگر از تلاش‌های ناموفق برای ایجاد پول الکترونیکی به پایان رسید.

3.7 بیت‌کوین

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

تا اینجا، حداقل ایده‌های زیر را داریم:

  • امضاهای رمزنگاری‌شده که می‌توانستند سطحی از حریم خصوصی و ناشناسی را فراهم کنند
  • مفهوم ارز بدون پشتوانه (بی-مانی)
  • پیشنهادهایی (اما بدون راه‌حل عملی) برای محدود کردن انتشار ارز جدید
  • سکه‌های دیجیتالی که مالکیت آن‌ها با کلیدهای عمومی تعیین می‌شد (بی-مانی) و می‌توانستند با امضا منتقل و بر اساس آدرس گیرنده دوباره تخصیص داده شوند (RPOW و هش‌کش)
  • تمام نودها یک نسخه از دفتر کل کاملاً توزیع‌شده را نگهداری می‌کردند (بی-مانی) (در آن زمان به عنوان غیرعملی رد شد)
  • پروتکل زمان‌سنجی – استفاده از هشینگ درخت مرکل برای ارائه یک ترتیب زمانی ریاضیاتی قابل اثبات از رویدادها که جعل آن دشوار است اگر همه کاربران سوابق یکسانی داشته باشند
  • اثبات کار برای پیوند دادن تلاش واقعی به سیستم (اما استفاده از خود هش به عنوان ارز)
  • شبکه‌های کاملاً غیرمتمرکز که در آن همه همتایان برابر بودند و می‌توانستند آزادانه به شبکه وارد یا خارج شوند (بیت‌تورنت)
  • مفهوم پیوند دادن هش‌های جدید به هش‌های قبلی (بیت گلد و زمان‌سنجی)

در آن زمان موارد زیر کمبود داشت:

  • یک راه‌حل عملی برای حل مشکل «ژنرال‌های بیزانسی»
  • روشی برای محدود کردن مقدار پول در گردش با وجود پیشرفت مداوم سخت‌افزاری
  • طرح انگیزشی برای مشارکت افراد (مسئله مرغ و تخم‌مرغ)

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

نوآوری‌ای که بیت‌کوین را از تلاش‌های قبلی برای پول الکترونیکی متمایز کرد چه بود؟

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

این استخراج‌کنندگان همچنین انگیزه‌ای برای تأمین توان پردازشی لازم برای انجام اثبات کار داشتند، زیرا به ازای هر بلوک جدید بیت‌کوین جدید دریافت می‌کردند. مقدار بیت‌کوینی که به آن‌ها تعلق می‌گیرد نیز طوری برنامه‌ریزی شده که تقریباً هر ۴ سال کاهش یابد تا زمانی که تمام بیت‌کوین‌ها استخراج شوند و این باعث ایجاد سقف سخت ۲۱ میلیون بیت‌کوین در گردش می‌شود.

اصلی‌ترین ایده نوآورانه، روشی بود که او برای حل مسئله مقدار پول ایجادشده با پیشرفت سخت‌افزاری و افزایش توان شبکه ارائه داد. زمان‌بندی تعداد مشخصی از بلوک‌ها (۲۰۱۶ بلوک) میانگین گرفته می‌شد و اگر بلوک‌ها خیلی سریع ایجاد می‌شدند، سختی هش برای ایجاد بلوک جدید افزایش می‌یافت و اگر خیلی کند بود، آسان‌تر می‌شد. این موضوع در پروتکل غیرمتمرکز که همه نودها اجرا می‌کنند تعبیه شده و بنابراین هر استخراج‌کننده‌ای که آن را نادیده بگیرد، انرژی خود را بیهوده صرف استخراج بلوکی می‌کند که توسط بقیه شبکه رد می‌شود. این تنظیم تضمین می‌کند که ایجاد بلوک‌های جدید طبق برنامه انتشار باقی بماند و انگیزه‌ای برای استخراج‌کنندگان ایجاد می‌کند تا «طبق قوانین بازی کنند».


خلاصه

بسیاری از قطعات پازل لازم برای ساخت یک سیستم پول الکترونیکی همتا به همتا و غیرمتمرکز بر اساس اصول پول سالم، پیش از انتشار وایت‌پیپر ساتوشی و به زودی پس از انتشار اولیه کد، وجود داشت.

ماهیت بیت‌کوین به گونه‌ای است که پس از انتشار نسخه ۰.۱، طراحی اصلی آن برای همیشه ثابت باقی ماند
ساتوشی ناکاموتو

در حالی که ایده‌های زیادی برای بهبود (BIP) پیشنهاد و پذیرفته شده‌اند، بیت‌کوین از سال ۲۰۰۹ بدون وقفه طبق پروتکل طراحی‌شده در انتشار اولیه به کار خود ادامه داده است. تمام بهبودها در حالی انجام شده‌اند که سازگاری با نسخه‌های قبلی حفظ شده است.

یادداشت‌ها
  1. برای توضیح مشکل ژنرال‌های بیزانسی – مراجعه کنید به https://en.wikipedia.org/wiki/Byzantine_fault

↑ بازگشت به فهرست