
مقدمه(صفحه i)
در مورد بیت کوین و ارزهای دیجیتال هیجان زیادی وجود دارد. خوش بینان ادعا می کنند که بیت کوین اساساً پرداخت ها، اقتصاد و حتی سیاست را در سراسر جهان تغییر می دهد. بدبینان ادعا می کنند که بیت کوین ذاتاً شکسته شده است و دچار یک فروپاشی اجتناب ناپذیر و تماشایی خواهد شد.
زیربنای این دیدگاه های متفاوت، سردرگمی قابل توجهی در مورد چیستی بیت کوین و نحوه عملکرد آن است. ما این کتاب را نوشتیم تا به کاهش تبلیغات و رسیدن به هسته اصلی آنچه بیت کوین را منحصر به فرد می کند کمک کنیم. برای درک واقعی ویژگی های بیت کوین، باید نحوه عملکرد آن در سطح فنی را درک کنیم. بیت کوین واقعاً یک فناوری جدید است و ما تنها با توضیح آن از طریق تشبیه ساده به فناوری های گذشته می توانیم به این نتیجه برسیم.
ما فرض می کنیم که شما درک اولیه ای از علوم کامپیوتر دارید – نحوه کار کامپیوترها، ساختارهای داده و الگوریتم ها، و تجربه برنامه نویسی. اگر دانشجوی کارشناسی یا کارشناسی ارشد علوم کامپیوتر، توسعهدهنده نرمافزار، کارآفرین یا علاقهمند به فناوری هستید، این کتاب درسی برای شما مناسب است.
در این کتاب به سوالات مهمی در مورد بیت کوین می پردازیم. بیت کوین چگونه کار می کند؟ چه چیزی آن را متفاوت می کند؟ بیت کوین های شما چقدر امن هستند؟ کاربران بیت کوین چقدر ناشناس هستند؟ چه برنامه هایی را می توانیم با استفاده از بیت کوین به عنوان یک پلتفرم بسازیم؟ آیا ارزهای دیجیتال قابل تنظیم هستند؟ اگر امروز یک ارز دیجیتال جدید طراحی می کردیم، چه چیزی را تغییر می دادیم؟ آینده چه چیزی ممکن است داشته باشد؟
پس از خواندن این کتاب، اولن، می توانید نظرات تخیلی در مورد بیت کوین و سایر ارزهای دیجیتال را از واقعیت تشخیص بدهید. دومن، مبانی مورد نیاز برای مهندسی نرم افزار ایمنی که با شبکه بیت کوین در تعامل است را در اختیار خواهید داشت. و سومن، می توانید از ایده های بیت کوین در پروژه های خود استفاده کنید.
موارد تکمیلی آنلاین این کتاب شامل سؤالاتی است که به درک عمیق تر شما از هر فصل کمک می کند. علاوه بر این، مجموعه ای از تکالیف برنامه نویسی وجود دارد که در آنها اجزای مختلف بیت کوین را در مدل های ساده شده پیاده سازی خواهید کرد. بیشتر مطالب این کتاب به صورت مجموعه ای از سخنرانی های ویدیویی در Coursera نیز موجود است. (پیوندی به مطالب تکمیلی را میتوانید در http://press.princeton.edu/titles/10908.html بیابید.) همچنین باید یادگیری خود را با اطلاعاتی که میتوانید به صورت آنلاین بیابید، از جمله ویکی بیتکوین، انجمنها، و مقالات تحقیقاتی، و تعامل با همتایان خود و جامعه بیتکوین تکمیل کنید.
پیشگفتار (صفحه ii)
راه طولانی به سوی بیت کوین
جرمی کلارک
مسیر بیتکوین پر از اجساد تلاشهای شکستخورده است. من فهرستی از حدود صد سیستم پرداخت رمزنگاریشده، چه فناوریهای مبتنی بر پول نقد الکترونیکی و چه مبتنی بر کارت اعتباری، تهیه کردهام که به نوعی قابل توجه هستند (جدول 0.1). برخی از آنها پیشنهادهای دانشگاهی هستند که به طور گسترده مورد استناد قرار گرفتهاند، در حالی که برخی دیگر سیستمهای واقعی هستند که مستقر و آزمایش شدهاند. از بین تمام نامهای موجود در این فهرست، احتمالاً فقط یکی را میشناسید – پیپال (PayPal). پیپال تنها به این دلیل زنده ماند که به سرعت از ایده اصلی خود مبنی بر پرداختهای رمزنگاریشده در دستگاههای دستی فاصله گرفت!
از این تاریخ چیزهای زیادی برای یادگیری وجود دارد. ایدههای بیتکوین از کجا میآیند؟ چرا برخی از فناوریها زنده میمانند در حالی که بسیاری دیگر میمیرند؟ چه چیزی لازم است تا نوآوریهای فنی پیچیده با موفقیت تجاریسازی شوند؟ اگر هیچ چیز دیگری نباشد، این داستان به ما می فهماند که ما بالاخره یک مکانیسم پرداخت واقعی و کارآمد داریم که بومی اینترنت است.
امور مالی سنتی
حال فرض کنید آلیس غذایی دارد که مایل است آن را با یک ابزار مبادله کند، در حالی که باب که ابزاری دارد، نیازی به غذا ندارد. او در عوض دارو میخواهد. آلیس و باب نمیتوانند با یکدیگر معامله کنند، اما اگر شخص ثالثی، مثلن کارول، دارویی داشته باشد که مایل است آن را با غذا مبادله کند، میتوان یک مبادله سه جانبه ترتیب داد که در آن همه، آنچه را که نیاز دارند، دریافت کنند.
البته، اِشکال این کار ، هماهنگی آن است – هماهنگی: قرار دادن گروهی از افراد که نیازها و خواستههایشان با هم همسو است، در یک مکان و همزمان. دو سیستم برای حل مشکل هماهنگی پدیدار شد: اعتبار و پول نقد. مورخان، انسانشناسان و اقتصاددانان در مورد اینکه کدام یک از این دو ابتدا توسعه یافتهاند، بحث میکنند، اما این موضوع برای هدف ما اهمیتی ندارد.

جدول ۰.۱. سیستمهای پرداخت الکترونیکی برجسته و پیشنهادها
در یک سیستم مبتنی بر اعتبار، آلیس و باب میتوانند در مثال بالا با یکدیگر معامله کنند. باب ابزار را به آلیس میدهد و باب لطفی را که به او بدهکار است، دریافت میکند. به عبارت دیگر، آلیس بدهیای دارد که باید در آینده با باب تسویه کند. نیازهای مادی آلیس اکنون برآورده شده است، اما او بدهیای دارد که میخواهد آن را بپردازد، بنابراین این «خواسته» جدید اوست. اگر آلیس در آینده با کارول روبرو شود، آلیس میتواند غذای خود را با داروی کارول معامله کند، سپس با دارو به باب برگردد و بدهی خود به او را پرداخت کند.
در مقابل، در یک سیستم مبتنی بر پول نقد، آلیس ابزار را از باب میخرد. بعداً، او ممکن است غذای خود را به کارول بفروشد و کارول میتواند داروی خود را به باب بفروشد و چرخه را تکمیل کند. این معاملات میتوانند به هر ترتیبی انجام شوند، مشروط بر اینکه خریدار در هر تراکنش پول نقد در دست داشته باشد. البته، در نهایت، انگار هیچ پولی هرگز دست به دست نشده است.
هیچ یک از این سیستمها به وضوح برتر از دیگری نیست. یک سیستمِ مبتنی بر پول نقد باید با تخصیص اولیه پول نقد راهاندازی شود، که بدون آن هیچ معاملهای نمیتواند انجام شود. یک سیستم مبتنی بر اعتبار نیازی به راهاندازی ندارد، اما اشکال آن این است که هر کسی که بدهی (احتمالن منظورش طلب است) دارد، مقداری ریسک را میپذیرد. البته این احتمال همیشه وجود دارد که شخص دیگر (بدهکار)، هرگز بدهی خود را تسویه نکند.
پول نقد همچنین به ما این امکان را میدهد که در مورد ارزش چیزی دقیق باشیم. اگر در حال معامله ی پایاپای هستید، به سختی میتوان گفت که آیا یک ابزار، ارزش بیشتری از دارو دارد یا دارو، ارزش بیشتری از غذا دارد. پول نقد به ما اجازه میدهد تا از اعداد برای صحبت در مورد ارزش استفاده کنیم. به همین دلیل است که ما امروزه از یک سیستم ترکیبی استفاده میکنیم – حتی وقتی از اعتبار استفاده میکنیم، بدهی را با مقدار پولی که برای تسویه آن لازم است، اندازهگیری میکنیم.
این ایدهها در بسیاری از زمینهها، به ویژه در سیستمهای آنلاین، که کاربران نوعی کالای مجازی را معامله میکنند، مطرح میشود. به عنوان مثال، شبکههای اشتراک فایل همتا به همتا، باید با مشکل کاربران رایگان، یعنی کاربرانی که فایلها را بدون اشتراکگذاری به نوبت دانلود میکنند، مقابله کنند. اگرچه ممکن است تبادل فایلها کارساز باشد، اما مسئله ی هماهنگی نیز وجود دارد: یافتن فرد کاملی که دقیقاً فایل مورد نظر شما را دارد و دقیقاً فایلی را که شما دارید میخواهد. در پروژههایی مانند MojoNation و پروپوزالهای دانشگاهی مانند Karma، به کاربران مقداری پول نقد مجازی اولیه داده میشود که باید برای دریافت فایل و کسب درآمد هنگام ارسال یک کپی از فایل به کاربر دیگر، آن را خرج کنند. شبکهای از گرهها (متمرکز برای MojoNation و غیرمتمرکز برای Karma) موجودی کاربران را پیگیری میکند. MojoNation پیادهسازی یک سرویس تبادل بین ارز داخلی خود و ارز سنتی را بررسی کرد. در حالی که MojoNation به اندازه کافی دوام نیاورد تا چنین تبادلی را پیادهسازی کند، اما به جَدِّ فکری برخی از پروتکلهای مورد استفاده امروزی مانند BitTorrent و Tahoe-LAFS تبدیل شد.
مشکل کارت های اعتباری آنلاین
اعتبار و پول نقد ایدههای اصلی هستند. میتوانیم با این دو ایده، انبوه روشهای پرداخت الکترونیکی را دسته بندی کنیم. بدیهی است که بیت کوین در دسته «پول نقد» قرار دارد، اما بیایید ابتدا به دسته دیگر نگاه کنیم.
تراکنشهای کارت اعتباری، روش پرداخت غالب مورد استفاده در وب امروز هستند. اگر تا به حال چیزی از یک فروشنده آنلاین مانند آمازون خریده باشید، میدانید که این ترتیب چگونه است. شما اطلاعات کارت اعتباری خود را تایپ میکنید، آن را برای آمازون ارسال میکنید و سپس آمازون این اطلاعات کارت اعتباری را دریافت کرده و با یک سیستم مالی شامل پردازندهها، بانکها، شرکتهای کارت اعتباری و سایر واسطهها صحبت میکند.
در مقابل، اگر از چیزی مانند پیپال استفاده میکنید، آنچه میبینید یک معماری واسطه است. یک شرکت بین شما و فروشنده قرار دارد، بنابراین شما اطلاعات کارت اعتباری خود را برای این واسطه ارسال میکنید که تراکنش را تأیید کرده و به فروشنده اطلاع میدهد. واسطه در پایان هر روز مانده حساب خود را با فروشنده تسویه میکند.
چیزی که از این معماری به دست میآورید این است که لازم نیست جزئیات کارت اعتباری خود را به فروشنده بدهید، که میتواند یک خطر امنیتی باشد. حتی ممکن است لازم نباشد هویت خود را به فروشنده بدهید، که این امر نیز حریم خصوصی شما را بهبود میبخشد. نکته منفی این است که سادگی تعامل مستقیم با فروشنده را از دست میدهید. ممکن است هم شما و هم فروشنده مجبور باشید یک حساب کاربری با یک واسطه داشته باشید.
امروزه اکثر ما با ارائه اطلاعات کارت اعتباری خود هنگام خرید آنلاین راحت هستیم، یا حداقل با اکراه، آن را پذیرفتهایم. ما همچنین به شرکتهایی که دادههای مربوط به فعالیتهای خرید و مرور آنلاین ما را جمعآوری میکنند، عادت کردهایم. اما در دهه 1990، وب جدید بود، استانداردهای رمزگذاری سطح پروتکل، تازه در حال ظهور بودند و این نگرانیها، مصرفکنندگان را به شدت نامطمئن و مردد میکرد. به طور خاص، ارائه جزئیات کارت اعتباری به فروشندگان آنلاین با شهرت ناشناخته از طریق یک کانال ناامن، دیوانگی تلقی میشد. این محیط علاقه زیادی به معماری واسطه ایجاد کرد.
شرکتی به نام FirstVirtual یک واسطه ی پرداخت اولیه بود که در سال ۱۹۹۴ تأسیس شد. اتفاقاً، آنها یکی از اولین شرکتهایی بودند که یک دفتر کاملاً مجازی با کارمندانی که در سراسر کشور پخش شده بودند و از طریق اینترنت ارتباط برقرار میکردند، راهاندازی کردند – از این رو این نام را به خود گرفتند.
سیستم پیشنهادی FirstVirtual کمی شبیه سیستم فعلی PayPal بود اما سالها قبل از آن وجود داشت. به عنوان یک کاربر، شما در سیستم آنها ثبتنام میکردید و جزئیات کارت اعتباری خود را ارائه میدادید. اگر میخواستید چیزی از یک فروشنده بخرید، فروشنده با جزئیات پرداختِ درخواستی با FirstVirtual تماس میگرفت، FirstVirtual این جزئیات را با شما تأیید میکرد و در صورت تأیید شما، از کارت اعتباری شما صورتحساب صادر میشد. اما دو نکته جالب است. اول، همه ی این ارتباطات از طریق ایمیل اتفاق میافتاد. مرورگرهای وب در آن زمان تازه شروع به پشتیبانی جهانی از پروتکلهای رمزگذاری مانند HTTPS کرده بودند و ماهیت چندجانبه پروتکل پرداخت، پیچیدگیهای دیگری را نیز به آن اضافه میکرد. (سایر واسطهها رویکرد رمزگذاری اطلاعات در URLها یا استفاده از یک پروتکل رمزگذاری سفارشی بر روی HTTP را در پیش گرفتند.) دوم، مشتری ۹۰ روز فرصت داشت تا به هزینه اعتراض کند و فروشنده تنها پس از این ۳ ماه پول را دریافت میکرد! با سیستمهای امروزی، فروشنده بلافاصله پول را دریافت میکند، اما هنوز این خطر وجود دارد که مشتری درخواست بازپرداخت وجه کند یا به صورتحساب کارت اعتباری اعتراض کند. در این صورت، فروشنده باید مبلغ پرداختی را به شرکت کارت اعتباری بازگرداند.
در اواسط دهه ۱۹۹۰، یک رویکرد رقیب برای معماری واسطه توسعه داده شد که ما آن را معماری SET مینامیم. SET همچنین از نیاز مشتریان به ارسال اطلاعات کارت اعتباری به فروشندگان جلوگیری میکند، اما علاوه بر این، از ثبت نام کاربر در واسطه نیز جلوگیری میکند. در SET، وقتی آماده خرید هستید، مرورگر شما نمای شما از جزئیات تراکنش را به یک برنامه خرید روی رایانه شما منتقل میکند. این برنامه آن را به همراه جزئیات کارت اعتباری شما به گونهای رمزگذاری میکند که فقط واسطه بتواند آن را رمزگشایی کند و هیچ کس دیگری (از جمله فروشنده) نمیتواند. با رمزگذاری دادههای خود به این روش، میتوانید آن را با علم به ایمن بودن آن، برای فروشنده ارسال کنید. فروشنده کورکورانه دادههای رمزگذاری شده را به همراه نمای خود از جزئیات تراکنش به واسطه ارسال میکند. واسطه دادههای شما را رمزگشایی میکند و تراکنش را تنها در صورتی تأیید میکند که نمای شما با نمای فروشنده مطابقت داشته باشد. واسطه، دادههای شما را رمزگشایی میکند و تراکنش را تأیید میکند.
SET استانداردی بود که توسط ویزا و مَسترکارت، به همراه بسیاری از غولهای فناوری آن زمان: نتاسکیپ، آیبیام، مایکروسافت، وریساین (Verisign) و آراسای(RSA)، توسعه داده شد. این یک مشخصه کلی بود که چندین پیشنهاد موجود را متحد میکرد.
یکی از شرکتهایی که SET را پیادهسازی کرد، سایبرکش (CyberCash) نام داشت. این شرکت از بسیاری جهات جالب بود. علاوه بر پردازش پرداخت با کارت اعتباری، آنها یک محصول پول نقد دیجیتال به نام سایبرکوین (CyberCoin) داشتند. این یک سیستم پرداخت خُرد بود – که برای پرداختهای کوچک، مانند پرداخت چند سنت برای خواندن یک مقاله روزنامه آنلاین، در نظر گرفته شده بود. این بدان معناست که شما احتمالاً هرگز بیش از 10 دلار در حساب سایبرکوین خود نخواهید داشت. با این حال، جالب اینجاست که آنها توانستند برای هر حساب تا سقف 100,000 دلار، بیمه دولت ایالات متحده (FDIC1) دریافت کنند.
موارد بیشتری هم وجود دارد. در زمان فعالیت سایبرکش، محدودیتی گمراهکننده – و اکنون رها شده – از سوی دولت ایالات متحده در مورد صادرات رمزنگاری وجود داشت که به عنوان یک سلاح در نظر گرفته میشد. این بدان معنا بود که نرمافزاری که رمزگذاری معناداری را در خود جای داده بود، نمیتوانست برای دانلود در اختیار کاربران سایر کشورها قرار گیرد. با این حال، سایبرکش توانست از وزارت امور خارجه معافیت ویژهای برای نرمافزار خود دریافت کند. استدلال دولت این بود که استخراج فناوری رمزگذاری از نرمافزار سایبرکش سختتر از نوشتن رمزنگاری از ابتدا خواهد بود.
در نهایت، سایبرکش این تمایز مشکوک را دارد که یکی از معدود شرکتهایی است که تحت تأثیر اِشکال (باگ) Y2K2 قرار گرفته است – این اشکال باعث شد که نرم افزار پردازش پرداخت آنها، برای برخی از مشتریان صورتحساب مضاعف تولید کند. آنها بعداً در سال ۲۰۰۱ ورشکست شدند. مالکیت معنوی آنها توسط Verisign خریداری شد، که سپس تغییر رویه داد و آن را به PayPal فروخت، جایی که امروز در آن فعالیت میکند.
چرا SET کار نکرد؟ مشکل اساسی مربوط به گواهیها (Certificates) است. گواهی راهی برای پیوند ایمن یک هویت رمزنگاری، یعنی یک کلید عمومی، با یک هویت واقعی است. این همان چیزی است که یک وبسایت باید از شرکتهایی مانند Verisign که «مرجع صدور گواهینامه» نامیده میشوند، دریافت کند تا در مرورگر شما به عنوان یک وبسایت امن شناخته شود (که معمولاً با یک نماد قفل نشان داده میشود). CyberCash و SET با اولویت دادن به امنیت نسبت به قابلیت استفاده، تصمیم گرفتند که نه تنها پردازندهها و بازرگانان در سیستم آنها باید گواهینامه دریافت کنند، بلکه همه کاربران نیز باید آن را دریافت کنند. دریافت گواهینامه تقریباً به اندازه انجام مالیات خوشایند است (یعنی اصلن خوشایند نیست)، بنابراین این سیستم یک فاجعه بود. در طول دههها، کاربران اصلی به هر سیستمی که نیاز به گواهینامههای کاربر نهایی دارد، «نه» قاطع و جمعی دادهاند و چنین پیشنهادهایی اکنون به مقالات دانشگاهی منتقل شدهاند. بیتکوین با اجتناب کامل از هویتهای واقعی، ماهرانه از این مشکل پیچیده عبور میکند. در بیتکوین، کلیدهای عمومی خود هویتهایی هستند که کاربران با آنها شناخته میشوند، همانطور که در فصل 1 مورد بحث قرار می گیرد.
در اواسط دهه 1990، زمانی که SET در حال استانداردسازی بود، کنسرسیوم جهانی وب نیز به دنبال استانداردسازی پرداختهای مالی بود. آنها میخواستند این کار را با گسترش پروتکل HTTP انجام دهند تا کاربران برای تراکنشها به نرمافزار اضافی نیاز نداشته باشند – آنها فقط میتوانستند از مرورگرهای خود استفاده کنند. در واقع، کنسرسیوم یک پیشنهاد بسیار کلی برای چگونگی گسترش پروتکل داشت و یکی از موارد استفادهای که داشتند، مدیریت پرداختها بود. این هرگز اتفاق نیفتاد – کل چارچوب توسعه هرگز در هیچ مرورگری مستقر نشد. در سال ۲۰۱۵، تقریباً دو دهه بعد، کنسرسیوم اعلام کرد که میخواهد دوباره به این موضوع بپردازد و این بار بیتکوین بخشی از این استانداردسازی خواهد بود. با این حال، با توجه به تمام شکستهای گذشته، من نفسم را حبس نخواهم کرد.
از اعتبار تا پول نقد (کریپتو)
حالا بیایید به پول نقد بپردازیم. من قبلاً پول نقد و اعتبار را مقایسه کردم و اشاره کردم که یک سیستم نقدی نیاز به راهاندازی مجدد دارد، اما مزیت آن این است که از احتمال نکول3 (ناتوانی) خریدار در پرداخت بدهی خود جلوگیری میکند. پول نقد دو مزیت دیگر نیز ارائه میدهد. مزیت اول بهتر ناشناس بودن است. از آنجایی که کارت اعتباری شما به نام شما صادر شده است، بانک میتواند تمام هزینههای شما را پیگیری کند. اما وقتی پول نقد پرداخت میکنید، بانک وارد ماجرا نمیشود و طرف مقابل نیازی به شناختن شما ندارد. مزیت دوم، پول نقد میتواند تراکنشهای آفلاین را فعال کند که در آن نیازی به تماس با شخص ثالث برای تأیید تراکنش نیست. شاید فروشنده بعدن از شخص ثالثی مانند بانک برای واریز پول نقد استفاده کند، اما این کار دردسر بسیار کمتری دارد.
بیت کوین کاملاً این دو ویژگی را ارائه نمیدهد، اما به اندازه کافی نزدیک است که مفید باشد(احتمالن منظورش اینه که با اینکه این دو ویژگی را ارئه نمی دهد اما به اندازه ای هست که مفید باشد). بیت کوین، به اندازه پول نقد، ناشناس نیست (یعنی پول نقد از بیت کوین ناشناس تر است). برای پرداخت با بیتکوین نیازی به استفاده از هویت واقعی خود ندارید، اما این امکان وجود دارد که تراکنشهای شما با استفاده از الگوریتمهای هوشمندانه مبتنی بر دفتر کل عمومی تراکنشها (ledjer)، به هم متصل شوند و سپس اگر مراقب نباشید، بیشتر به هویت شما مرتبط شوند. فصل ۶ به جزئیات پیچیده اما جذاب پشت ناشناس بودن بیتکوین میپردازد.
بیت کوین به صورت کاملاً آفلاین هم کار نمیکند(مترجم؟). خبر خوب این است که به یک سرور مرکزی نیاز ندارد، در عوض به یک شبکه همتا به همتا متکی است که به اندازه خود اینترنت مقاوم است. فصل ۳ به ترفندهایی مانند «آدرسهای سبز» و پرداختهای خرد میپردازد که امکان پرداختهای آفلاین را در موقعیتهای خاص یا تحت فرضیات خاص فراهم میکنند.
اولین ایدهها در مورد اِعمال رمزنگاری به پول نقد از دیوید چام در سال ۱۹۸۳ مطرح شد. این مفهوم را با یک قیاس فیزیکی در نظر بگیرید. فرض کنید من شروع به پخش تکههای کاغذی میکنم که روی آن نوشته شده است: «دارنده این اسکناس میتواند با ارائه آن به من، آن را به قیمت یک دلار بازخرید کند» و امضای من به آن پیوست شده است. اگر مردم به من اعتماد کنند که به قولم عمل میکنم و امضای من را غیرقابل جعل میدانند، میتوانند این تکههای کاغذ را درست مانند اسکناسها دست به دست کنند.
در واقع، خود اسکناسها به عنوان سفتههایی که توسط بانکهای تجاری صادر میشدند، شروع به کار کردند. تنها در تاریخ نسبتاً اخیر است که دولتها برای متمرکز کردن عرضه پول وارد عمل شدند و به طور قانونی بانکها را ملزم به بازخرید اسکناسها کردند.
من میتوانم همین کار را به صورت الکترونیکی با امضاهای دیجیتال انجام دهم، اما این به مشکل آزاردهنده «دوبار خرج کردن» (double-spending) برمیخورد – اگر شما یک قطعه داده دریافت کنید که نشان دهنده یک واحد پول مجازی است، میتوانید دو (یا بیشتر) کپی از آن تهیه کنید و آن را به افراد مختلف بدهید. برای اینکه به این قیاس پایبند باشیم، بیایید کمی آن را بسط دهیم و فرض کنیم که افراد میتوانند کپیهای کاملی تهیه کنند و ما هیچ راهی برای تشخیص کپیها از اصل نداریم. آیا میتوانیم در این دنیا مشکل دوبار خرج کردن را حل کنیم؟
در اینجا یک راه حل ممکن وجود دارد: من شماره سریالهای منحصر به فردی را روی هر اسکناسی که میدهم قرار میدهم. وقتی چنین اسکناسی را از کسی دریافت میکنید، امضای من را بررسی میکنید، اما همچنین با من تماس میگیرید تا بپرسید که آیا اسکناسی با آن شماره سریال قبلاً خرج شده است یا خیر. امیدوارید که من بگویم نه، در این صورت شما اسکناس را میپذیرید. من شماره سریال را به عنوان خرج شده در دفتر کل خود ثبت میکنم و اگر سعی کنید آن اسکناس را خرج کنید، کار نخواهد کرد، زیرا گیرنده با من تماس میگیرد و من به او میگویم که اسکناس قبلاً خرج شده است. کاری که باید انجام دهید این است که به صورت دورهای تمام اسکناسهایی را که دریافت کردهاید برای من بیاورید و من به همان تعداد اسکناس جدید با شماره سریالهای جدید برای شما صادر میکنم.
این روش جواب میدهد. در زندگی واقعی کمی دست و پا گیر است، اما به صورت دیجیتالی ساده است، به شرطی که سِروِری را برای امضا و ثبت شماره سریالها راهاندازی کرده باشم. تنها مشکل این است که این دیگر پول نقد واقعی نیست، زیرا ناشناس نیست – وقتی اسکناسی را برای شما صادر میکنم، میتوانم شماره سریال را به همراه هویت شما ثبت کنم و وقتی شخص دیگری بعداً آن را بازخرید میکند، میتوانم همین کار را انجام دهم. این بدان معناست که میتوانم تمام مکانهایی را که پول خود را خرج میکنید، پیگیری کنم.
اینجاست که نوآوری چام وارد عمل میشود. او با اختراع معادل دیجیتالی روش زیر، فهمید که چگونه سیستم را ناشناس نگه دارد و از خرج کردن مضاعف جلوگیری کند: وقتی من یک اسکناس جدید برای شما صادر میکنم، شما شماره سریالی انتخاب میکنید. آن را روی کاغذ مینویسید، اما آن را میپوشانید تا من آن را نبینم. سپس من آن را امضا میکنم، اما هنوز قادر به دیدن شماره سریال نیستم. این در رمزنگاری “امضای کور” نامیده میشود. به نفع شماست که یک شماره سریال طولانی و تصادفی انتخاب کنید تا مطمئن شوید که به احتمال زیاد منحصر به فرد خواهد بود. من لازم نیست نگران باشم که شما شماره سریالی را انتخاب کنید که قبلاً انتخاب شده است – با این کار فقط به پای خودتان شلیک میکنید (اگر این کار را بکنید) و در نهایت اسکناسی خواهید داشت که قابل خرج کردن نیست.
این اولین پیشنهاد جدی پول نقد دیجیتال بود. این پیشنهاد کار میکند، اما هنوز به سروری نیاز دارد که توسط یک مرجع مرکزی، مانند یک بانک، اداره شود و همه به آن نهاد اعتماد داشته باشند. علاوه بر این، هر تراکنش، برای تکمیل شدن به مشارکت این سرور نیاز دارد. اگر سرور موقتاً از کار بیفتد، پرداختها متوقف میشوند. چند سال بعد، در سال ۱۹۸۸، چام با همکاری دو رمزنگار دیگر، آموس فیات و مونی نائور، پول نقد الکترونیکی آفلاین را پیشنهاد دادند. در نگاه اول، این ممکن است غیرممکن به نظر برسد: اگر سعی کنید یک اسکناس یا سکه دیجیتال را در دو فروشگاه مختلف خرج کنید، چگونه میتوانند جلوی این خرج کردن مضاعف را بگیرند، مگر اینکه هر دو به یک شبکه پرداخت یا نهاد مرکزی متصل باشند؟
ایده هوشمندانه این است که نگرانی در مورد جلوگیری از خرج کردن مضاعف را کنار بگذارید و روی تشخیص آن، پس از اتصال مجدد فروشنده به سرور بانک، تمرکز کنید. به هر حال، به همین دلیل است که میتوانید از کارت اعتباری خود در هواپیما استفاده کنید، حتی اگر هیچ اتصال شبکهای در آسمان وجود نداشته باشد. پردازش تراکنش بعداً اتفاق میافتد، زمانی که شرکت هواپیمایی بتواند دوباره به شبکه متصل شود. اگر کارت شما رد شود، به شرکت هواپیمایی (یا بانک خود) بدهکار خواهید شد. اگر در مورد آن فکر کنید، (می بینید که) بخش زیادی از امور مالی سنتی مبتنی بر ایده تشخیص خطا یا ضرر، و به دنبال آن تلاش برای بازیابی پول یا مجازات مجرم است. اگر برای کسی چک شخصی بنویسید، هیچ تضمینی وجود ندارد که پول واقعاً در حساب شما باشد، اما اگر چک برگشت بخورد، میتوانند شما را تعقیب کنند. به طور قابل تصور، اگر یک سیستم پول نقد الکترونیکی آفلاین به طور گسترده پذیرفته شود، سیستم قانونی، خرج کردن مضاعف را، به عنوان یک جرم به رسمیت میشناسد.
ایده چام، فیات و نائور برای تشخیص خرج کردن مضاعف، یک رقص رمزنگاری پیچیده بود. در سطح بالا، نتیجه این بود: هر سکه دیجیتالی که برای شما صادر میشود، هویت شما را رمزگذاری میکند، اما به گونهای که هیچ کس جز شما – حتی بانک – نمیتواند آن را رمزگشایی کند. هر بار که سکه خود را خرج میکنید، گیرنده از شما میخواهد که زیرمجموعهای تصادفی از رمزگذاری را رمزگشایی کنید و آنها این را ثبت میکنند. این رمزگشایی برای تعیین هویت شما کافی نیست. اما اگر شما یک سکه را دو بار خرج کنید، در نهایت هر دو گیرنده برای بازخرید اسکناسهای خود به بانک مراجعه میکنند و وقتی این کار را انجام میدهند، بانک میتواند دو قطعه اطلاعات را کنار هم قرار دهد تا هویت شما را به طور کامل و با احتمال بسیار بالایی رمزگشایی کند.
شاید از خودتان بپرسید که آیا کسی میتواند شما را در این سیستم به عنوان یک خرجکنندهی مضاعف معرفی کند یا خیر. فرض کنید شما یک سکه را با من خرج میکنید و سپس من برمیگردم و سعی میکنم آن را دوباره خرج کنم (بدون اینکه آن را با بانک بازخرید کنم و یک سکه جدید با هویت رمزگذاری شدهام دریافت کنم). این کار جواب نمیدهد – گیرنده جدید از من میخواهد که یک زیرمجموعه تصادفی را رمزگشایی کنم، که تقریباً مطمئناً مشابه زیرمجموعهای که شما برای من رمزگشایی کردهاید نخواهد بود، بنابراین من نمیتوانم درخواست رمزگشایی آنها را انجام دهم.
در طول سالها، بسیاری از رمزنگاران به این ساختار نگاه کردهاند و آن را به روشهای مختلف بهبود دادهاند. در طرح Chaum-Fiat-Naor، اگر یک سکه ۱۰۰ دلار ارزش داشته باشد و شما مثلاً بخواهید چیزی بخرید که فقط ۷۵ دلار قیمت داشته باشد، هیچ راهی برای تقسیم آن سکه به سکههای ۷۵ دلاری و ۲۵ دلاری وجود ندارد. تنها کاری که میتوانید انجام دهید این است که به بانک برگردید، سکه ۱۰۰ دلاری را نقد کنید و یک سکه ۷۵ دلاری و یک سکه ۲۵ دلاری درخواست کنید. اما مقالهای که در سال ۱۹۹۱ توسط تاتسوآکی اوکاموتو و کازوئو اوهتا نوشته شده است، از درختهای مرکل برای ایجاد سیستمی استفاده میکند که به شما امکان میدهد سکههای خود را به بخشهای کوچکتر تقسیم کنید. درختهای مرکل در بیتکوین نیز ظاهر میشوند و ما در فصل ۱ با آنها آشنا خواهیم شد. طرح چام-فیات-نائور همچنین فضای زیادی برای بهبود کارایی باقی میگذارد. به طور خاص، به کارگیری چیزی به نام «اثباتهای دانش صفر» در این طرح (به ویژه توسط استفان برندز در دهه ۱۹۹۰ و یان کامنیش، سوزان هوهنبرگر و آنا لیسیانسکایا در سال ۲۰۰۵) بسیار مثمر ثمر بود – همانطور که در فصل ۶ مورد بحث قرار گرفته، اثباتهای دانش صفر در بیتکوین نیز به کار گرفته شدهاند.
اما برگردیم به چام: او ایدههای خود را گرفت و آنها را تجاریسازی کرد. او در سال ۱۹۸۹ شرکتی به نام «دیجیکش» تأسیس کرد که احتمالاً اولین شرکتی بود که سعی در حل مشکل پرداختهای آنلاین داشت. آنها حدود ۵ سال از شرکتهای دیگری مانند FirstVirtual و CyberCash که همین الان در موردشان صحبت شد، جلوتر بودند. پول نقد واقعی در سیستم DigiCash به نام «ecash» نامیده میشد و سیستم دیگری به نام «cyberbucks» داشتند. برخی از بانکها در واقع آن را پیادهسازی کردند – چند بانک در ایالات متحده و حداقل یک بانک در فنلاند. این در دهه ۱۹۹۰ بود، مدتها قبل از بیتکوین، که ممکن است برای برخی از علاقهمندان به بیتکوین که بانکها را غولهای فناوریگریز و ضد نوآوری میدانند، تعجبآور باشد.
Ecash مبتنی بر پروتکلهای Chaum است. مشتریان ناشناس هستند، بنابراین بانکها نمیتوانند ردیابی کنند که مشتریان چگونه پول خود را خرج میکنند. اما بازرگانان در ecash ناشناس نیستند. آنها باید به محض دریافت سکهها، آنها را برگردانند، بنابراین بانک میداند که آنها چقدر، در چه زمانی و غیره درآمد دارند.
وقتی میخواهید پول ارسال کنید، روی لینکی که توسط گیرنده ارائه میشود کلیک میکنید که شما را به وبسایت DigiCash میبرد. سپس یک اتصال وب معکوس به رایانه شما باز میشود. این بدان معناست که رایانه شما باید توانایی پذیرش اتصالات ورودی و عمل به عنوان سرور را داشته باشد. شما باید آدرس IP خود را داشته باشید و ارائه دهنده خدمات اینترنت شما باید اتصالات ورودی را مجاز کند. اگر اتصال موفقیت آمیز بود، نرم افزار ecash روی رایانه شما راه اندازی می شد و شما می توانستید تراکنش را تأیید کرده و پول را ارسال کنید.
چام چندین حق ثبت اختراع در مورد فناوری DigiCash، به ویژه در مورد طرح امضای کور که از آن استفاده می کرد، به ثبت رساند. اقدام او بحث برانگیز بود و مانع از توسعه سیستم های ecash که از همان پروتکل استفاده می کردند، توسط افراد دیگر شد. اما گروهی از رمزنگاران که در فهرست پستی “cypherpunks” فعالیت می کردند، به دنبال جایگزینی بودند. Cypherpunks سَلَف فهرست پستی بود که ساتوشی ناکاموتو بعداً بیت کوین را به جهانیان اعلام کرد و این تصادفی نیست(این قسمتش کمی نا مفهومه؟). جنبش cypherpunk و ریشه های بیت کوین در فصل 7 مورد بحث قرار گرفته است.
رمزنگاران cypherpunk نسخه ای از ecash به نام MagicMoney را پیاده سازی کردند. این نرمافزار حق ثبت اختراع را نقض میکرد، اما به عنوان فقط برای استفاده آزمایشی معرفی شده بود. کار با آن سرگرمکننده بود. رابط کاربری کاملاً مبتنی بر متن بود. میتوانستید تراکنشها را از طریق ایمیل ارسال کنید. فقط تراکنشها را کپی و در ایمیل خود پیست میکردید و برای کاربر دیگری ارسال میکردید. امیدوارم از نرمافزار رمزگذاری ایمیل سرتاسری، مانند PGP، برای محافظت از تراکنش در حین انتقال استفاده کنید.
پس از لوکره، پیشنهادی از بن لوری با مشارکت افراد بسیار دیگری وجود دارد. لوکره تلاش میکند طرح امضای کور را در پول نقد با یک جایگزین بدون حق ثبت اختراع، جایگزین کند و بقیه سیستم تا حد زیادی یکسان است.
با این حال، پیشنهاد دیگری از ایان گلدبرگ، سعی در حل مشکل عدم امکان تقسیم سکههای شما برای پرداخت باقیمانده پول داشت. ایده او این بود که اگر تاجر مقداری سکه داشته باشد، میتواند سکههای شما را پس بفرستد، به طوری که اگر دقیقاً باقیمانده پول نداشته باشید، ممکن است برای کالا بیش از حد هزینه کنید و سپس مقداری سکه پس بگیرید. اما توجه داشته باشید که این عمل یک مشکل ناشناس بودن ایجاد میکند. همانطور که قبلاً دیدیم، در پول الکترونیکی، فرستندهها ناشناس هستند، اما بازرگانان اینطور نیستند. وقتی تاجر پول نقد را پس میدهد، از نظر فنی آنها فرستنده هستند، بنابراین ناشناس هستند. اما شما، به عنوان کسی که باید این پول نقد را به بانک برگرداند، ناشناس نیستید. هیچ راهی برای طراحی این سیستم بدون شکستن ناشناس بودن کاربرانی که سعی در خرید کالا دارند، وجود ندارد. بنابراین گلدبرگ پیشنهادی با استفاده از انواع مختلف سکه ارائه داد که امکان انجام این تراکنشها، امکان پس گرفتن باقیمانده پول و همچنان حفظ ناشناس بودن شما را فراهم میکرد.
چرا DigiCash شکست خورد؟ مشکل اصلی این بود که متقاعد کردن بانکها و بازرگانان برای پذیرش آن دشوار بود. از آنجایی که تعداد زیادی از بازرگانان ecash را قبول نمیکردند، کاربران نیز آن را نمیخواستند. بدتر از آن، از تراکنشهای کاربر به کاربر پشتیبانی نمیکرد، یا حداقل خیلی خوب پشتیبانی نمیکرد. این سیستم واقعاً بر تراکنش کاربر به بازرگان متمرکز بود. بنابراین اگر بازرگانان موافق نبودند، راه دیگری برای جلب توجه به سیستم وجود نداشت. بنابراین در نهایت، DigiCash باخت و شرکتهای کارت اعتباری برنده شدند.
به عنوان یک نکته فرعی، بیتکوین امکان تراکنشهای کاربر به بازرگان و کاربر به کاربر را فراهم میکند. در واقع، این پروتکل مفهومی جدا از مفهوم بازرگان ندارد (به نظرم منظورش اینه که مفهومی جدا به نام بازرگان دیگر وجود ندارد و همه کاربر هستند و یا بر عکس). پشتیبانی از تراکنشهای کاربر به کاربر احتمالاً در موفقیت بیتکوین نقش داشته است. از همان ابتدا چیزی در مورد بیتکوینهای شما وجود داشت: ارسال آنها به کاربران دیگر، در حالی که جامعه سعی میکرد از بیتکوین حمایت کند و بازرگانان را به پذیرش آن ترغیب کند.
در سالهای بعدی شرکت DigiCash، همچنین با سختافزار مقاوم در برابر دستکاری، آزمایش کرد تا سعی کند از خرج کردن مضاعف جلوگیری کند، نه اینکه فقط آن را تشخیص دهد. در این سیستم، شما یک دستگاه سختافزاری کوچک دریافت میکردید که معمولاً «کیف پول» یا نوعی کارت نامیده میشد. این دستگاه موجودی شما را پیگیری میکرد، که با خرج کردن پول کاهش مییافت و با پر کردن کارت با پول بیشتر، افزایش مییافت. نکته این دستگاه این است که هیچ راهی برای دستکاری فیزیکی یا دیجیتالی شمارنده آن وجود نداشته باشد. بنابراین اگر شمارنده به صفر برسد، کارت تا زمان شارژ مجدد، دیگر قادر به خرج کردن پول نیست.
بسیاری از شرکتهای دیگر، سیستمهای پول نقد الکترونیکیه مبتنی بر سختافزار مقاوم در برابر دستکاری داشتند. DigiCash بعداً با Café، شرکتی مستقر در اروپا، همکاری کرد. شرکت دیگری که بر اساس این ایده ساخته شده بود، Mondex نام داشت و بعداً توسط MasterCard خریداری شد. Visa نیز نوع خاص خود را داشت، VisaCash.
در Mondex، کاربر یک کارت هوشمند و یک «واحد کیف پول» داشت و میتوانست هر یک از آنها را با پول نقد پر کند. برای انجام پرداخت کاربر به کاربر، دهنده ابتدا کارت خود را در کیف پول قرار میداد و پول را از کارت به کیف پول منتقل میکرد. سپس گیرنده کارت خود را در کیف پول قرار میداد و شما پول را به کارت دوم منتقل میکردید. این راهی برای تبادل پول نقد دیجیتال بود و ناشناس بود.
ماندکس فناوری خود را در تعدادی از جوامع آزمایش کرد. یکی از جوامع، شهری بسیار نزدیک به جایی بود که من بزرگ شدم: گوئلف، انتاریو. احتمالاً حدس زدهاید که واقعاً مورد توجه قرار نگرفت. یک مشکل عمده کارتهای ماندکس این است که آنها مانند پول نقد هستند – اگر آنها را گم میکردید یا دزدیده میشدند، پول از بین میرفت. بدتر از آن، اگر کارت خراب میشد – اگر کارتخوان آن را نمیخواند – تشخیص اینکه آیا آن کارت موجودی دارد یا خیر غیرممکن بود. در این سناریوها، ماندکس معمولاً هزینه را متحمل میشد. آنها فرض میکردند که کارت شارژ شده است و پول از دست رفته را به کاربر بازپرداخت میکردند. البته، این میتواند برای یک شرکت هزینه زیادی داشته باشد.
علاوه بر این، کیف پول کند و سنگین بود. پرداخت با کارت اعتباری یا پول نقد بسیار سریعتر بود. و خردهفروشان از داشتن چندین پایانه پرداخت متنفر بودند؛ آنها فقط یکی برای کارتهای اعتباری میخواستند. همه این عوامل در کنار هم باعث شد که ماندکس وارد شود(؟مترجم وارد شو یا خارج شود).
با این حال، این کارتها کارتهای هوشمند بودند، به این معنی که
میکروکنترلرهای کوچکی روی آنها قرار دارد و این فناوری موفقیتآمیز بوده
است. امروزه در بسیاری از کشورها، از جمله کانادا، جایی که من زندگی
میکنم، هر کارت اعتباری و هر کارت نقدی اکنون دارای فناوری کارت هوشمند
است. با این حال، از آن برای هدف دیگری استفاده میشود. از آن برای جلوگیری
از خرج کردن مضاعف استفاده نمیشود – مشکلی پیش نمیآید، زیرا این فناوری
مبتنی بر پول نقد نیست.
بانک، به جای کارت شما، موجودی یا اعتبار موجود شما را پیگیری میکند.
در عوض، از تراشه برای احراز هویت استفاده میشود، یعنی برای اثبات اینکه
شما پین مرتبط با حساب خود را میدانید. اما ماندکس مدتها قبل از اینکه
این فناوری به طور گسترده توسط صنعت بانکداری پذیرفته شود، از آن استفاده
میکرد.
ضرب پول از هوا
در سیستم DigiCash، اگر یک پول نقد دیجیتال به ارزش ۱۰۰ دلار داشته باشید، چه چیزی باعث میشود که ارزش واقعی آن ۱۰۰ دلار باشد؟ پاسخ ساده است: برای به دست آوردن پول نقد الکترونیکی به ارزش ۱۰۰ دلار، باید ۱۰۰ دلار از حساب بانکی خود برداشت کرده و آن را به بانکی که پول نقد الکترونیکی را برای شما صادر میکرد، بدهید. اما پیشنهادهای مختلف زیادی نحوه انجام این کار را شرح داده بودند و شرکتهای مختلف آن را به طور متفاوتی انجام میدادند. یک احتمال دور از ذهن: چه میشود اگر دولت یک کشور خاص، واقعاً به سرویسهایی اجازه ضرب پول دیجیتال و ایجاد پول نقد جدید از هوا را بدهد؟ این ایده پشت NetCash بود، اگرچه هرگز از مرحله پیشنهاد فراتر نرفت. سیستم متفاوتی که توسط e-Gold استفاده میشد، قرار دادن تودهای از طلا در یک گاوصندوق و انتشار پول نقد دیجیتال فقط به ارزش طلا بود. شرکت دیگری به نام Digigold به طور کامل توسط طلا پشتیبانی نمیشد، اما ذخایر جزئی داشت.
همه این ایدهها در نهایت ارزش پول نقد دیجیتال را به دلار یا یک کالا گره میزنند. اگر ارزش دلار بالا یا پایین برود، ارزش داراییهای پول دیجیتال شما نیز همراه با آن تغییر خواهد کرد. یک احتمال کاملاً متفاوت این است که به پول دیجیتال اجازه دهید ارز خودش باشد، مستقل از هر ارز دیگری صادر و ارزشگذاری شود.
برای ایجاد یک ارز دیجیتال شناور آزاد، که احتمالن ارزش واقعی پیدا کند، باید چیزی داشته باشید که از نظر طراحی کمیاب باشد. در واقع، کمیابی طلا یا الماس، دلیل استفاده به عنوان پشتوانه پول است. در حوزه دیجیتال، یکی از راههای دستیابی به کمیابی، طراحی سیستم به گونهای است که ضرب پول نیاز به حل یک مسئله محاسباتی (یا “معما”) داشته باشد که حل آن مدتی طول بکشد. “استخراج” بیت کوین، که در فصل 5 مورد بحث قرار گرفته است، این ایده را پیادهسازی میکند.
ایده اولیه – اینکه راهحلهای معماهای محاسباتی میتوانند اشیاء دیجیتالی باشند که مقداری ارزش دارند – بسیار قدیمی است. این ایده اولین بار توسط رمزنگاران سینتیا دورک و مونی نائور به عنوان یک راه حل بالقوه برای کاهش هرزنامههای ایمیل در سال ۱۹۹۲ پیشنهاد شد. چه میشد اگر هر بار که ایمیلی ارسال میکنید، کامپیوتر شما مجبور به حل یکی از این معماها میشد که حل آن چند ثانیه طول میکشید؟ برای اجرای این الزام، برنامه ایمیل گیرنده در صورت عدم پیوست کردن راهحل به معمای محاسباتی، ایمیل شما را نادیده میگرفت. برای یک کاربر معمولی، این مانع بزرگی برای ارسال ایمیل نخواهد بود، زیرا شما مرتباً ایمیل ارسال نمیکنید. اما اگر شما یک اسپمر هستید، سعی میکنید هزاران یا میلیونها ایمیل را به طور همزمان ارسال کنید، حل این معماهای محاسباتی میتواند بسیار دشوار شود. ایده مشابهی بعداً به طور مستقل توسط آدام بک در سال ۱۹۹۷ در پیشنهادی به نام هشکش (Hashcash) کشف شد.
این معماهای محاسباتی باید ویژگیهای خاصی داشته باشند تا بتوانند به عنوان یک عامل بازدارنده هرزنامه، مفید عمل کنند. اولن، برای یک اسپمر غیرممکن است که یک معما را حل کند و راهحل را به هر ایمیلی که ارسال میکند پیوست کند. برای اطمینان از این امر، معما باید مختص ایمیل باشد: یعنی باید به فرستنده و گیرنده، محتوای ایمیل و زمان تقریبی ارسال آن بستگی داشته باشد. دومن، گیرنده باید بتواند به راحتی راه حل معما را بدون نیاز به تکرار فرآیند حل معما بررسی کند. سومن، هر معما باید کاملاً مستقل از سایرین باشد، به این معنا که حل یک معما، زمان لازم برای حل هر معمای دیگری را کاهش نمیدهد. در نهایت، از آنجایی که سختافزار با گذشت زمان بهبود مییابد و حل هر معمای محاسباتی معین، سریعتر و ارزانتر میشود، گیرندگان باید بتوانند سختی راهحلهای معمایی را که میپذیرند تنظیم کنند. این ویژگیها را میتوان با استفاده از توابع هش رمزنگاری برای طراحی معماها به دست آورد – به فصل 1 مراجعه کنید.
بیت کوین اساساً از همان معمای محاسباتی Hashcash استفاده میکند، اما با برخی پیشرفتهای جزئی. با این حال، بیت کوین کارهای بسیار بیشتری نسبت به Hashcash انجام میدهد – در هر صورت، توضیح بیت کوین به یک کتاب کامل نیاز دارد! من فقط به این دلیل این را ذکر میکنم که آدام بک، مخترع Hashcash، گفته است: “بیت کوین، Hashcash توسعه یافته با کنترل تورم است.” فکر میکنم این کمی زیادهروی است.
ثبت همه چیز در یک دفتر کل
در طرح هابر و استورنتا، یک سرویس مهر زمانی وجود دارد که مشتریان اسناد را به آن ارسال میکنند. وقتی سرور یک سند را دریافت میکند، سند را به همراه زمان فعلی و یک لینک یا اشارهگر به سند قبلی امضا میکند و یک «گواهی» با این اطلاعات صادر میکند (شکل 0.1). اشارهگر مورد نظر نوع خاصی از اشارهگر است که به جای یک مکان، به یک قطعه داده متصل میشود. سپس اگر دادههای مورد نظر تغییر کنند، اشارهگر به طور خودکار نامعتبر میشود. فصل 1 نحوه ایجاد چنین اشارهگرهایی را با استفاده از توابع هش مورد بحث قرار میدهد.

شکل 0.1. مهر زمانی پیوندی. برای ایجاد گواهی برای یک سند، سرورِ مهر زمانی شامل یک اشارهگر هش به گواهی سند قبلی و زمان فعلی است و این سه عنصر داده را با هم امضا میکند.
آنچه این پروتکل به دست میآورد این است که گواهی هر سند، یکپارچگی محتوای سند قبلی را تضمین میکند. در واقع، میتوانید این استدلال را به صورت بازگشتی اعمال کنید: هر گواهی اساساً کل تاریخچه اسناد و گواهیها را تا آن نقطه اصلاح میکند. اگر فرض کنیم که هر کلاینت در سیستم، حداقل چند گواهی را نگه میدارد – گواهیهای اسنادِ خود و گواهیهای اسنادِ قبلی و بعدی – آنگاه شرکتکنندگان میتوانند به صورت جمعی اطمینان حاصل کنند که تاریخچه پس از وقوع، قابل تغییر نیست. به طور خاص، ترتیب نسبی اسناد حفظ میشود.
در مقاله بعدی، بهبود کارایی پیشنهاد شد: به جای پیوند دادن اسناد به هم به صورت جداگانه، میتوانیم آنها را در بلوکها جمعآوری کنیم و بلوکها را در یک زنجیره به هم پیوند دهیم. در هر بلوک، اسناد دوباره به هم پیوند داده میشوند، اما در یک ساختار درختی به جای خطی. این ساختار، میزان بررسی مورد نیاز برای تأیید اینکه یک سند خاص در یک نقطه خاص از تاریخچه ی سیستم ظاهر میشود را کاهش میدهد. این طرح ترکیبی در شکل 0.2 نشان داده شده است.
این ساختار داده، همانطور که در فصل ۳ مورد بحث قرار می گیرد، اسکلت زنجیره بلوکِ بیت کوین را تشکیل میدهد. بیت کوین آن را به روشی ظریف اما مهم اصلاح میکند: از یک پروتکل شبیه به هشکش برای به تأخیر انداختن سرعت اضافه شدن بلوکهای جدید به زنجیره استفاده میشود. این اصلاح، پیامدهای عمیق و مطلوبی برای مدل امنیتی بیت کوین دارد. دیگر نیازی به سرورهای قابل اعتماد نیست؛ در عوض، رویدادها توسط مجموعهای از گرههای غیر قابل اعتماد به نام «ماینرها» ثبت میشوند. هر ماینر، به جای اینکه برای انجام این کار به کاربران عادی متکی باشد، بلوکها را پیگیری میکند. هر کسی میتواند با حل معماهای محاسباتی برای ایجاد بلوکها، به یک ماینر تبدیل شود. بیت کوین همچنین نیاز به امضاها را از بین میبرد و فقط به اشارهگرهای هش برای اطمینان از یکپارچگی ساختار داده متکی است. در نهایت، مهرهای زمانی واقعی در بیت کوین اهمیت زیادی ندارند و هدف سیستم، ثبت ترتیب نسبی تراکنشها به روشی مقاوم در برابر دستکاری است. در واقع، بلوکهای بیت کوین در یک برنامه ی ثابت ایجاد نمیشوند(مترجم؟ اینو نمی فهمم). این سیستم تضمین میکند که به طور متوسط هر 10 دقیقه یک واحد جدید ایجاد میشود، اما تفاوت قابل توجهی در زمان بین بلوکهای متوالی وجود دارد.

شکل 0.2. مهر زمانی پیوندی کارآمد. فلشها نشانگرهای هش را نشان میدهند و خطوط عمودی نقطهچین فواصل زمانی را نشان میدهند.
در اصل، بیتکوین ایده استفاده از معماهای محاسباتی برای تنظیم ایجاد واحدهای ارزی جدید را با ایده مهر زمانی ایمن برای ثبت یک دفتر کل تراکنشها و جلوگیری از خرج کردن مضاعف، ترکیب میکند. پیشنهادهای قبلی و کمتر پیچیدهای وجود داشت که این دو ایده را با هم ترکیب میکرد. اولین مورد b-money نام دارد که توسط وی دای (Wei Dai) در سال 1998 پیشنهاد شد. در b-money، هر کسی میتواند با استفاده از یک سیستم شبیه به Hashcash پول ایجاد کند. این سیستم یک شبکه همتا به همتا دارد، چیزی شبیه به شبکه بیتکوین. هر گره، یک دفتر کل را نگهداری میکند، اما مانند زنجیره بلوک بیتکوین، یک دفتر کلِ جهانی نیست. هر گره، دفتر کل خود را از آنچه فکر میکند موجودی همه است، دارد.
پیشنهاد مشابه دیگری که توسط نیک سابو ارائه شده، بیتگلد (Bitgold) نام دارد. سابو میگوید ایده بیتگلد را از اوایل سال ۱۹۹۸ داشته، اما تا سال ۲۰۰۵ در وبلاگش در مورد آن مطلب ننوشته است. دلیل اینکه این را مطرح میکنم این است که یک تئوری توطئه کوچک وجود دارد که توسط ناتانیل پوپر، خبرنگار نیویورک تایمز که کتاب بسیار خوبی در مورد تاریخچه بیتکوین نوشته است، رواج یافته است. پوپر خاطرنشان میکند که مهرهای زمانی پست وبلاگ پس از انتشار وایت پیپر بیتکوین توسط ساتوشی تغییر کردهاند، به طوری که به نظر میرسد پیشنهاد بیتگلد حدود دو ماه پس از انتشار بیتکوین نوشته شده است. پوپر مانند بسیاری از ناظران دیگر معتقد است که سابو میتواند ساتوشی باشد، اگرچه سابو این موضوع را انکار میکند. پوپر تغییر مهر زمانی را به عنوان مدرکی دال بر تلاش سابو/ساتوشی برای پنهان کردن این ارتباط با پنهان کردن این واقعیت که او یک سَلَفِ (predecessor) بیتکوین را اختراع کرده است (یعنی با وانمود کردن اینکه بیتگلد قبل از بیتکوین نبوده است) ذکر میکند.
مشکل این توضیح این است که اگر واقعاً محتوای پستهای وبلاگ را بخوانید، زابو به وضوح میگوید که این ایده را در سال ۱۹۹۸ داشته است و سعی نمیکند آن تاریخها را تغییر دهد. بنابراین توضیح منطقیتر این است که او این پست را فقط پس از اینکه بیتکوین ایدههای مشابه را محبوب کرد، به بالای وبلاگ خود منتقل کرد تا مطمئن شود که مردم از پیشنهاد قبلی او آگاه هستند.
بیت کوین چندین تفاوت مهم با b-money و Bitgold دارد. اول، در دو پیشنهاد اخیر، از معماهای محاسباتی مستقیماً برای ضرب (mine) ارز استفاده میشود. هر کسی میتواند یک معما را حل کند و راه حل، خود یک واحد پول است. در بیتکوین، راهحلهای معما، خود پول را تشکیل نمیدهند. آنها برای ایمنسازی زنجیره بلوک استفاده میشوند و فقط به طور غیرمستقیم منجر به ضرب پول میشوند. دوم، b-money و Bitgold به سرویسهای مهر زمانی متکی هستند که ایجاد یا انتقال پول را تأیید میکنند. بیتکوین، همانطور که دیدهایم، نیازی به مهر زمانی قابل اعتماد ندارد و صرفاً سعی میکند ترتیب نسبی بلوکها و تراکنشها را حفظ کند.
در نهایت، در b-money و Bitgold، اگر اختلاف نظری در مورد دفتر کل بین سرورها یا گرهها ایجاد شود، هیچ راه حل روشنی برای حل آن وجود ندارد. به نظر میرسد که اجازه دادن به اکثریت برای تصمیمگیری، در نوشتههای هر دو نویسنده تلویحاً وجود دارد. اما از آنجایی که هر کسی میتواند یک گره – یا صد گره – راهاندازی کند و پشت هویتهای مختلف پنهان شود، این مکانیسمها خیلی امن نیستند، مگر اینکه یک دروازهبان متمرکز، ورود به شبکه را کنترل کند. در مقابل، در بیتکوین، برای اینکه یک مهاجم بتواند تاریخ را تغییر دهد، باید معماهای محاسباتی را با سرعتی سریعتر از مجموع بقیه شرکتکنندگان حل کند. این نه تنها امنتر است، بلکه به ما امکان میدهد امنیت سیستم را کمّی کنیم.
b-money و Bitgold پیشنهادهای غیررسمی بودند – b-money یک پست در یک فهرست پستی بود و Bitgold مجموعهای از پستهای وبلاگ بود. هیچکدام شروع به کار نکردند یا حتی مستقیماً اجرا نشدند. برخلاف گزارش رسمی بیتکوین، هیچ مشخصات کامل یا هیچ کدی برای Bitgold یا b-money ارائه نشد. این پیشنهادها مسائلی را که ممکن است قابل حل باشند یا نباشند، نادیده میگیرند. همانطور که قبلاً اشاره کردیم، اولین مورد، چگونگی حل اختلاف نظرها در مورد دفتر کل است.
مشکل دیگر، تعیین میزان سختی معمای محاسباتی برای ضرب یک واحد پول است. از آنجایی که سختافزار به مرور زمان برای مقدار ثابتی از قدرت محاسباتی، به طور چشمگیری ارزانتر میشود، بیتکوین مکانیسمی را برای تنظیم خودکار سختی معماها به صورت دورهای در نظر گرفته است. b-money و Bitgold چنین مکانیسمی را ندارند که میتواند منجر به مشکلاتی شود، زیرا اگر ایجاد سکههای جدید به طور پیش پا افتادهای آسان شود، ممکن است ارزش خود را از دست بدهند.
نکاتی درباره ساتوشی
شاید بدانید که ساتوشی ناکاموتو نام مستعاری است که خالق بیتکوین برای خود برگزیده است. اگرچه هویت او همچنان یک راز است، اما او در روزهای اولیه بیتکوین ارتباطات گستردهای داشته است. بیایید از این ارتباطات استفاده کنیم تا کمی به سوالاتی مانند زمان شروع کار او روی بیتکوین، میزان تأثیرپذیری او از ایدههای قبلی که بررسی کردهایم و انگیزه او بپردازیم.
ساتوشی میگوید که کدنویسی بیتکوین را حدود ماه مه ۲۰۰۷ شروع کرده است. من حرف او را باور میکنم؛ ناشناس بودن او دلیلی برای دروغ گفتن در مورد چنین چیزهایی نیست. او دامنه bitcoin.org را در آگوست ۲۰۰۸ ثبت کرد. و در آن زمان، شروع به ارسال ایمیلهای خصوصی به چند نفری کرد که فکر میکرد ممکن است به این پیشنهاد علاقهمند باشند. کمی بعد، در اکتبر ۲۰۰۸، او به طور عمومی یک گزارش رسمی منتشر کرد که پروتکل را شرح میداد و کمی بعد، کد اولیه بیتکوین را نیز منتشر کرد. سپس او حدود ۲ سال در آنجا ماند و در این مدت پیامهای زیادی در انجمنها ارسال کرد، از طریق ایمیل با افراد زیادی مکاتبه کرد و به نگرانیهای مردم پاسخ داد. در بخش برنامهنویسی، او وصلههایی برای کد ارسال کرد. او کد منبع را در کنار سایر توسعهدهندگان نگهداری میکرد و مشکلات را به محض بروز آنها برطرف میکرد. تا دسامبر ۲۰۱۰، دیگران به آرامی مدیریت پروژه را به دست گرفتند و او ارتباط با آنها را متوقف کرد.
من به ساتوشی ناکاموتو به عنوان یک “مرد” اشاره میکردم، اما هیچ دلیل خاصی ندارم که باور کنم ساتوشی یک مرد است و نه یک زن. من فقط از ضمیر مذکر استفاده میکنم، زیرا ساتوشی یک نام مذکر است. من همچنین به او به عنوان یک فرد واحد اشاره میکردم. نظریهای وجود دارد که میگوید ساتوشی ناکاموتو ممکن است مجموعهای از افراد باشد. من این نظریه را قبول ندارم – فکر میکنم ساتوشی احتمالاً فقط یک نفر است. اگر به کل تعاملات آنلاین انجام شده تحت نام مستعار ساتوشی نگاه کنیم، اگر به ۲ سالی که ساتوشی صرف پاسخ دادن به ایمیلها و اصلاح کدها کرد فکر کنیم، تصور اینکه این تلاش میتواند نتیجهی اشتراکگذاری حسابهای کاربری و رمزهای عبور توسط چندین نفر، پاسخ دادن با سبک و صدای مشابه و اطمینان از عدم تناقض آنها باشد، دشوار است. به نظر میرسد توضیح بسیار سادهتری وجود دارد که حداقل این بخش از فعالیتهای ساتوشی توسط یک فرد واحد انجام شده است.
علاوه بر این، از نوشتهها و وصلههای او مشخص است که این فرد کد کامل بیت کوین و تمام جنبههای طراحی آن را درک کرده است. بنابراین منطقی است که فرض کنیم همان فرد کد اصلی و همچنین وایت پیپر را نوشته است. در نهایت، این احتمال وجود دارد که ساتوشی در طراحی اولیه از دیگران کمک گرفته باشد. با این حال، پس از انتشار بیت کوین، ساتوشی به سرعت هرگونه کمکی را که از سایر مشارکتکنندگان دریافت کرده بود، به او نسبت داد. اگر از افراد دیگری کمک میگرفت، دور از شخصیت او بود که ما را در مورد اختراع چیزی به تنهایی گمراه کند.
ساتوشی در مورد تاریخچه پول الکترونیکی چه میدانست؟ برای درک بهتر این موضوع، میتوانیم با نگاهی به آنچه او در وایت پیپر خود ذکر میکند و همچنین منابع موجود در نسخههای اولیه وبسایت بیت کوین، شروع کنیم. در وایت پیپر، او به برخی مقالات در مورد رمزنگاری اولیه و نظریه احتمال اشاره میکند. او همچنین به روش کار مهر زمانی که قبلاً به آن اشاره کردم اشاره میکند و طبیعی است که فکر کنیم او طراحی زنجیره بلوک را بر اساس این منابع بنا کرده است، زیرا شباهتها بسیار آشکار هستند. او همچنین به پیشنهاد Hashcash اشاره میکند که معمای محاسباتی آن مشابه معمای مورد استفاده در بیتکوین است. و به b-money اشاره میکند. بعداً، در وبسایت، به Bitgold و طرحی از هال فینی برای استفاده مجدد از راهحلهای معمای محاسباتی اشاره کرد.
اما اگر به ایمیلهای تبادل شده توسط افرادی که در روزهای اولیه با ساتوشی ناکاموتو مکاتبه داشتند، نگاهی بیندازیم، متوجه میشویم که پیشنهاد b-money در واقع پس از این واقعه، به پیشنهاد آدام بَک اضافه شده است. سپس ساتوشی به وی دای (Wei Dai)، خالق b-money، ایمیل زد و ظاهراً دای کسی بود که در مورد Bitgold به او گفت. بنابراین، این پیشنهادها احتمالاً الهامبخش طرح اصلی نبودند. او بعداً مکاتبات زیادی با هال فینی داشت و این توضیح کاملاً منطقی برای این است که چرا او به کار فینی، حداقل در وبسایت، استناد میکند.
بر اساس این اطلاعات، به نظر میرسد که هنگام ایجاد بیتکوین، Hashcash و برچسب زمانی تنها چیزهایی از تاریخ ecash بودند که ساتوشی از آنها اطلاع داشت یا فکر میکرد مرتبط هستند. با این حال، پس از اینکه او با b-money و Bitgold آشنا شد، به نظر میرسد که از اهمیت آنها قدردانی کرده است. در اواسط سال ۲۰۱۰، مقاله ویکیپدیا در مورد بیتکوین توسط ویراستاران ویکیپدیا برای حذف، علامتگذاری شد، زیرا آنها فکر میکردند که قابل توجه نیست. بنابراین بحثهایی بین ساتوشی و دیگران در مورد چگونگی نگارش مقاله وجود داشت تا ویکیپدیا آن را بپذیرد. به همین منظور، ساتوشی این توصیف از بیتکوین را پیشنهاد داد: «بیتکوین پیادهسازی پیشنهاد b-money وی دای در مورد Cypherpunks در سال ۱۹۹۸ و پیشنهاد Bitgold نیک سابو است.» بنابراین ساتوشی در این مرحله، جایگاه بیتکوین را به عنوان امتدادی از این دو ایده یا پیادهسازی این دو سیستم قبلی، به عنوان توضیح خوبی از نحوه عملکرد آن میدانست.
اما در مورد سایر پیشنهادها – طرحهای پول الکترونیکی چاومی و پیشنهادهای کارت اعتباری که بررسی کردیم – چه؟ آیا ساتوشی هنگام طراحی بیتکوین از این تاریخچه اطلاع داشت؟ تشخیص آن دشوار است. او هیچ اشارهای به دانستن آن تاریخچه نکرد، اما به همان اندازه محتمل است که به آن تاریخچه اشاره نکرده باشد زیرا به بیتکوین مربوط نبوده است. بیتکوین از یک مدل غیرمتمرکز کاملاً متفاوت استفاده میکند، بنابراین هیچ دلیل قانعکنندهای برای پرداختن به سیستمهای متمرکز قدیمی که شکست خوردهاند وجود ندارد.
خود ساتوشی با اشاره گذرا به پول الکترونیکی چاومی، در یکی از پستهای خود در انجمنهای بیتکوین، به این نکته اشاره میکند. او در مورد پیشنهاد دیگری به نام opencoin.org مینویسد که به نظر میرسد آنها «دربارهی ضرابخانهی مرکزی قدیمی چاومی صحبت میکنند، اما شاید فقط به این دلیل که تنها گزینهی موجود بود. شاید آنها به یک مسیر جدید علاقهمند باشند. بسیاری از مردم به دلیل شکست تمام شرکتهایی که از دهه ۱۹۹۰ تاکنون در حوزه ارزهای دیجیتال فعالیت داشتهاند، به طور خودکار این حوزه را به عنوان یک هدف از دست رفته رد میکنند. امیدوارم واضح باشد که تنها ماهیت کنترلشدهی متمرکز این سیستمها بود که آنها را محکوم به فنا کرد. فکر میکنم این اولین باری است که ما یک سیستم غیرمتمرکز و غیرمبتنی بر اعتماد را امتحان میکنیم.» این نشانهی خوبی از دیدگاه ساتوشی در مورد پیشنهادهای قبلی و به طور خاص تفاوت بیت کوین با آنها است. تمرکززدایی بیتکوین در واقع یک ویژگی تعیینکننده است که آن را از تقریباً هر چیزی که ما بررسی کردهایم متمایز میکند.
یک نقل قول جالب دیگر از ساتوشی نشان میدهد که او ممکن است یک فرد دانشگاهی نباشد. اکثر محققان دانشگاهی قبل از ساختن سیستم، در مورد ایدهها فکر میکنند و بلافاصله آنها را مینویسند. ساتوشی میگوید که رویکردی کاملاً برعکس را در پیش گرفته است: «من در واقع بیتکوین را به نوعی برعکس انجام دادم. قبل از اینکه بتوانم خودم را متقاعد کنم که میتوانم هر مشکلی را حل کنم، مجبور شدم تمام کد را بنویسم، سپس مقاله را نوشتم. فکر میکنم میتوانم کد را زودتر از اینکه بتوانم مشخصات دقیقی بنویسم، منتشر کنم.»
از آنجایی که کمی افسانه در مورد ساتوشی وجود دارد، لازم به ذکر است که او مانند هر کس دیگری اشتباهاتی مرتکب شده و پیشگوی کاملی برای آینده نبوده است. در کد اصلی بیتکوین، اشکالات و انتخابهای طراحی مشکوکی وجود دارد. به عنوان مثال، ویژگی ارسال بیتکوین به آدرسهای IP هرگز مورد توجه قرار نگرفت و در نگاه به گذشته، ایده بدی بود. وقتی او توضیح داد که بیتکوین برای چه مواردی مفید است، سناریوهای او بر ایده استفاده از آن در اینترنت متمرکز بود. البته این مورد استفاده برای بیتکوین اساسی است، اما تنها مورد نیست. او به عنوان مثال، به این ایده اشاره نکرد که به یک کافیشاپ بروید و بتوانید هزینه قهوه خود را با بیتکوین پرداخت کنید.
چرا ساتوشی ناشناس ماندن خود را حفظ میکند؟ دلایل احتمالی زیادی وجود دارد. اول از همه، ممکن است فقط برای سرگرمی باشد. بسیاری از مردم رمانها را ناشناس مینویسند و برخی از هنرمندان گرافیتی، مانند بنکسی، ناشناس ماندن خود را حفظ میکنند. در واقع، در جامعهای که ساتوشی در آن زمان در آن فعالیت داشت – جامعه سایفرپانک و لیست پستی رمزنگاری – ارسال پست ناشناس برای مردم امری عادی بود.
یا ممکن است نگرانیهای قانونی بر انتخاب ساتوشی تأثیر گذاشته باشد. دو شرکت آمریکایی، لیبرتی رزرو و ای-گلد، به دلیل پولشویی با مشکلات قانونی مواجه شدند. در سال ۲۰۰۶، یکی از بنیانگذاران لیبرتی رزرو از ایالات متحده فرار کرد، از ترس اینکه به اتهام پولشویی متهم شود. در مقابل، بنیانگذاران ای-گلد در ایالات متحده ماندند و یکی از آنها در واقع متهم شد و در نهایت به اتهامات خود اعتراف کرد. این اعتراف به جرم درست قبل از اینکه ساتوشی وبسایت بیتکوین را راهاندازی کند و شروع به ارسال ایمیل به مردم در مورد پیشنهاد خود کند، ثبت شد. با این اوصاف، افراد زیادی سیستمهای پول الکترونیکی (ECash) اختراع کردهاند و هیچ کس دیگری از پیامدهای قانونی آن نترسیده یا تصمیم به ناشناس ماندن نگرفته است. بنابراین ممکن است نگرانیهای قانونی دلیل این امر بوده باشد یا نباشد.
همچنین لازم به یادآوری است که برخی از جنبههای پول الکترونیکی (ECash) ثبت اختراع شدهاند و اعضای جنبش سایفرپانک به دلیل این اختراعات نگران پیادهسازی سیستمهای پول الکترونیکی بودند. در واقع، یک پست در فهرست پستی سایفرپانکها پیشنهاد داد که گروهی از کدنویسان ناشناس، پول الکترونیکی را پیادهسازی کنند، به طوری که اگر کسی بخواهد شکایت کند، نتوانند کدنویسان را پیدا کنند. اگرچه با توجه به طراحی متفاوت بیتکوین، تصور اینکه این ارز دیجیتال، حق ثبت اختراعات پول الکترونیکی را نقض کند، دشوار است، اما شاید ساتوشی بسیار محتاط بوده است. یا شاید او فقط از ایده یک کدنویس ناشناس از جامعه سایفرپانک الهام گرفته است.
دلیل آخر که اغلب ذکر میشود، امنیت شخصی است. ما میدانیم که ساتوشی در روزهای اولیه استخراج خود، بیتکوینهای زیادی دارد و به دلیل موفقیت بیتکوین، این سکهها اکنون ارزش زیادی دارند. من فکر میکنم این دلیل قابل قبول است. به هر حال، انتخاب ناشناس بودن تصمیمی نیست که یک بار بگیرید، بلکه کاری است که به طور مداوم انجام میدهید. با این اوصاف، احتمالاً دلیل اصلی ساتوشی این نبوده است. اولین باری که ساتوشی از نام ساتوشی ناکاموتو استفاده کرد، حتی وایت پیپر یا کدبیس بیتکوین را منتشر نکرده بود و تصور اینکه او تصوری از موفقیت آن داشته باشد، دشوار است. در واقع، در بسیاری از مقاطع اولیه تاریخ بیتکوین، ساتوشی نسبت به چشمانداز آن خوشبین اما محتاط بود. به نظر میرسد او درک کرده بود که بسیاری از تلاشهای قبلی شکست خوردهاند و بیتکوین نیز ممکن است شکست بخورد.
سخنان پایانی
اگر تمام سرمایهگذاریهایی که در تلاش برای انجام کاری که بیتکوین انجام میدهد شکست خوردند را در نظر بگیرید، موفقیت بیتکوین کاملاً قابل توجه است. بیتکوین چندین نوآوری قابل توجه دارد، از جمله زنجیره بلوک و یک مدل غیرمتمرکز که از تراکنشهای کاربر به کاربر پشتیبانی میکند. بیتکوین سطحی از ناشناس بودن را برای کاربران فراهم میکند که عملاً مفید اما نه چندان کامل است (فصل 6 نگاهی دقیق به ناشناس بودن در بیتکوین میاندازد). از یک نظر، این سطح از ناشناس بودن قوی در DigiCash ضعیفتر است، اما از نظر دیگر قویتر است. به این دلیل که در DigiCash، فقط فرستندگان پول بودند که ناشناس بودن خود را حفظ میکردند و نه بازرگانان. بیتکوین به فرستندگان و گیرندگان (چه کاربران و چه بازرگانان) سطح یکسانی از ناشناس بودن میدهد.
اجازه دهید با چند درس که میتوان از بیتکوین از طریق لنزهای سیستمهای قبلی که بررسی کردهایم آموخت، نتیجهگیری کنم. اولین مورد این است که در برابر یک مشکل تسلیم نشوید. فقط به این دلیل که مردم 20 سال در توسعه پول نقد دیجیتال شکست خوردند، به این معنی نیست که یک سیستم موجود کار نخواهد کرد. دوم، تمایل به سازش است. اگر میخواهید ناشناس بودن کامل یا عدم تمرکز کامل داشته باشید، احتمالاً باید سایر بخشهای طراحی خود را تضعیف کنید. با نگاهی به گذشته، به نظر میرسد بیتکوین مصالحههای مناسبی انجام داده است. این فناوری ناشناس بودن را کمی کاهش میدهد و مستلزم آن است که شرکتکنندگان آنلاین باشند و به شبکه همتا به همتا (peer-to-peer network4) متصل باشند، که برای کاربران قابل قبول بود.
درس آخر، موفقیت از طریق اعداد است. بیتکوین توانست جامعهای از کاربران پرشور و همچنین توسعهدهندگانی را که مایل به مشارکت در فناوری متنباز بودند، ایجاد کند. این رویکرد به طور قابل توجهی با تلاشهای قبلی برای پول نقد دیجیتال، که معمولاً توسط یک شرکت توسعه داده میشدند و تنها طرفداران این فناوری کارمندان خود شرکت بودند متفاوت است. موفقیت فعلی بیتکوین تا حد زیادی به دلیل جامعه حمایتی پر جنب و جوشی است که این فناوری را پیش بردند، مردم را به استفاده از آن واداشتند و بازرگانان را به پذیرش آن ترغیب کردند.
جرمی کلارک
دانشگاه کنکوردیا


