Перевод и распространение книги “21 способ” проводится командой биткоин-энтузиастов. Поддержать инициативу можно, перейдя на страничку фандрейза.
“Не бойтесь, что кто-то украдет ваши идеи. Если идеи стоящие, то их приходится силой вколачивать в головы людей.”
— Говард Х. Эйкен
“В этом плаще нет плоти или крови, чтобы убить. Есть только идея. Идеи пуленепробиваемы.”
— Алан Мур, “V значит Вендетта”
31 октября 2008 года будущая траектория нашего глобального общества навсегда изменилась. Был сделан прорыв, и в мир была выпущена неудержимая идея. Идея настолько глубокая, настолько возмутительная, что первые пару лет ее игнорировали почти все — и до сих пор большинство отвергает: Биткоин: одноранговая электронная денежная система.
Технический документ, выпущенный Сатоши Накамото в эту ночь на Хэллоуин, описывает идею, которая неизбежно захватит мир штурмом. В то время как большинство по-прежнему думает о Биткоине не более чем как о схеме быстрого обогащения — полностью упуская из виду глубокие изменения, которые он будет продолжать оказывать на общество — с каждым днем становится все более очевидным, что он не исчезнет.
“Идеи, в отличие от прочных структур, не исчезают”, — напоминает нам Алан Мур. “Они остаются бессмертными, нематериальными и вездесущими, как и все Божественные вещи”.
В эту роковую ночь 2008 года Сатоши выпустил джина из бутылки. Мы перешли из мира, где цифровая наличность была всего лишь идеей, в мир, где существует Биткоин. Мало того, что эта идея останется, Биткоин с каждым следующим блоком напоминает нам, что эта идея теперь стала реальностью. Как мы увидим, эта новая реальность более могущественна, чем можно было подумать вначале. Это нововведение является мощным, потому что оно откроет новую экономическую парадигму. Оно мощно, потому что его время созрело. Оно сильно, потому что его нельзя остановить. Как напоминает нам Виктор Гюго: “Нет ничего более могущественного, чем идея, время которой пришло”. Биткоин здесь, чтобы остаться; и сейчас время Биткоина.
Идея, время которой пришло #
“Можно противостоять вторжению армий; противостоять вторжению идей невозможно.”
— Виктор Гюго
Вопреки распространенному мнению, Биткоин не появился из ниоткуда. У идеи цифровых денег долгая и богатая история. В частности, свободный коллектив, известный как шифропанки, подробно писали о цифровых анонимных деньгах, о том, как такие системы могут быть реализованы, и о социальных последствиях сильной криптографии в целом. Отсюда и название: шифропанки 1.
После формирования группы в 1992 году Эрик Хьюз, Тимоти Мэй и Джон Гилмор создали список рассылки шифропанков, чтобы обсуждать и делиться своими идеями о криптографии, ремейлерах, анонимности, цифровых деньгах и “других интересных вещах” с более широкой группой людей. Много лет спустя шифропанк по имени Сатоши Накамото решил опубликовать технический документ Биткоина в аналогичном списке рассылки: в списке рассылки по криптографии.
Как видно из их сочинений, шифропанки заботились об идее цифровых денег. В 1993 году Эрик Хьюз обсуждал идею цифровых денег, их отношение к конфиденциальности и их значимость для свободного общества в “Манифесте шифропанка”:
“Если нам необходима приватность, мы должны позаботиться о том, чтобы все участники транзакции располагали только той информацией, которая требуется для совершения сделки. Поскольку любая информация может быть передана, мы должны постараться рассказать о себе настолько мало, насколько это возможно. В большинстве случаев личность человека не очевидна. Когда я, покупая в магазине журнал, отдаю деньги продавцу, ему нет необходимости знать, кто я”.
Идея цифровой наличности (или электронной наличности, как назвал ее Сатоши в официальном документе Биткоина) состоит в том, чтобы в цифровой сфере было что-то, что ведет себя так же, как наличные деньги в реальном мире. Не требуется удостоверение личности или регистрация, обмен на товары и услуги может проводиться напрямую, и отследить его практически невозможно.
Даже IANA 2, организация по стандартизации, ответственная за определение кодов состояния HTTP (среди прочего), признает идею цифровых денег. Все мы знаем печально известный код ошибки 404, указывающий на то, что ресурс не может быть найден. Мало кто знает, что существует еще и код ошибки 402, указывающий на то, что доступ к ресурсу невозможен, так как он требует оплаты. Однако, поскольку цифровых денег в то время не существовало, код состояния был “зарезервирован для использования в будущем” и на сегодняшний день широко не используется.
Шифропанки сосредоточились в основном на аспекте конфиденциальности цифровых денег. Денежные и экономические аспекты были второстепенными. Они поняли, что конфиденциальность имеет первостепенное значение для свободного и открытого общества. Ведь обратное – тотальная слежка – может привести только к угнетению и застою, так как не дадут процветать новым и противоречивым идеям. Независимо от того, какие свободы, по вашему мнению, у вас есть, в конце концов, слежка делает все остальные свободы бесполезными.
“Приватность в открытом обществе, таким образом, подразумевает наличие системы анонимных транзакций. До настоящего времени наличные деньги оставались основой такой системой. Система анонимных транзакций – это не система секретных транзакций, но система, дающая человеку возможность раскрывать свою личность только тогда, когда он сам этого захочет. Вот в чем суть приватности”.
— Эрик Хьюз, Манифест шифропанка
Хотя Биткоин — это прорыв во многих отношениях, все технические детали, которые заставляют его работать, уже существовали:
- Криптография с открытым ключом
- Одноранговые сети
- Цифровые подписи
- Криптографические хеш-функции
- Криптографические метки времени
- Хеш-цепочки
- Proof-of-Work
Мы рассмотрим все эти концепции более подробно в последующих разделах книги.
Сатоши не изобретал никакого нового умного алгоритма или криптографического примитива. Вместо этого он нашел способ оригинально объединить существующие технологии, используя экономические стимулы и теорию игр для запуска и защиты системы.
Шифропанки прекрасно понимали, что даже если базовая технология существует в теории, некоторым вещам просто нужно время для развития. В 1992 году Тимоти Мэй написал в “Манифесте криптоанархиста”:
“Технология для такой революции […] теоретически разработана в прошлом десятилетии. […] Но лишь недавно компьютерные сети и персональные компьютеры приобрели быстродействие, достаточное для практической реализации этих идей. И в следующее десятилетие быстродействие возрастает еще более, для того чтобы сделать эти идеи экономически осуществимыми и необратимыми” 3.
Хотя я верю, что Биткоин (сеть) по существу уже не остановить, идея Биткоина действительно неудержима. В конце концов, как лаконично выразился Алан Мур, идеи пуленепробиваемы.
В первое десятилетие своего существования Биткоин прошел путь от идеи до реализации, от проверки концепции до нишевого денежного актива. В следующем десятилетии сеть, вероятно, станет самостоятельной силой, преодолевающей границы и изменяющей наше понимание денег и ценности. Идея, однако, не была придумана при рождении Биткоина: она была придумана мыслителями и мастерами электронной эпохи, за несколько десятилетий до того, как на сцену вышел Сатоши Накамото.
История цифровых денег #
“Многие автоматически отвергают электронную валюту как безнадежное начинание из-за всех компаний, потерпевших крах с 1990-х годов.”
— Сатоши Накамото
Предыстория Биткоина настолько длинна, насколько она увлекательна. Сатоши смог использовать различные технологии и протоколы, некоторым из которых 50 и более лет. В то время как 50 лет могут быть долгим сроком для технологии, искусство криптографии намного древнее, оно восходит к 1900 г. до н.э.
Трудно сказать, какие строительные блоки были самыми важными, но наиболее фундаментальными, вероятно, являются цифровые подписи 4 (Диффи и Хеллман, 1976) и криптография с открытым ключом 5 (Ривест, Шамир и Адлман, 1978). Без этих идей Биткоин не мог бы существовать.
Подробнее: https://t.me/bitcoin21ideas/568.
До Биткоина были разработаны различные системы цифровых денег. Все они в конце концов потерпели неудачу, и все по схожим причинам. В контексте Биткоина особенно интересно следующее:
- Ecash Дэвида Чаума (1982)
- E-gold Дугласа Джексона и Барри Дауни (1996)
- Hashcash Адама Бэка (1997)
- Bit Gold Ника Сабо (1998)
- B-Money Вэя Дая (1998)
- RPOW - многоразовые доказательства работы Хэла Финни (2004)
Более подробно ознакомиться с этими проектами можно, прочитав серию статей “Генезис-файлы”.
Давайте подробнее рассмотрим эти системы, посмотрим, что они привнесли, и выясним, почему они потерпели неудачу.
Ecash (Дэвид Чаум, 1982) #
Ecash использовала цифровые подписи для подтверждения права собственности — идея, которая до сих пор используется в Биткоине. Предложенный Дэвидом Чаумом в 1982 году, он был позже реализован его компанией и работал в течение трех лет, прежде чем фирма обанкротилась в 1998 году. Чаум по-прежнему активно занимается криптографией. Он был пионером многих криптографических методов и способствовал развитию технологий сохранения конфиденциальности. В его честь названа одна из технологий транзакций в Биткоине, повышающая конфиденциальность, Chaumian CoinJoin. Хотя Ecash был интересен с криптографической и технологической точки зрения, он не был денежной инновацией и в конечном итоге потерпел неудачу, поскольку управлялся централизованной организацией: DigiCash Inc., компанией, основанной Чаумом.
E-gold (Дуглас Джексон и Барри Дауни, 1996) #
Электронное золото не было особенно новаторским с точки зрения криптографии, но это была одна из первых цифровых валют, получивших популярность. Хотя до него существовали и другие (OS-Gold, Standard Reserve, INTGold), E-gold считается первой успешной цифровой валютой, которая стала достаточно популярной, чтобы ее приняли некоторые продавцы. На пике своего развития E-gold насчитывала пять миллионов пользователей и обрабатывала переводы на сумму порядка 2 миллиардов долларов. Помимо токенов E-gold, обеспеченных золотом, можно было приобрести другие драгоценные электронные металлы: E-silver, E-platinum и E-palladium. Кончина электронных денег, опять же, была вызвана тем, что это была централизованная служба, управляемая компанией: Gold & Silver Reserve Inc. Правительство США подало иск, утверждая, что компания вела нелицензированный бизнес по переводу денег. В конце концов, проект электронных денег потерпел неудачу, потому что им управляла компания, которую можно было закрыть.
Hashcash (Адам Бэк, 1997) #
Первоначально предложенный в 1997 году и более официально опубликованный как Hashcash — контрмера отказа в обслуживании в 2002 году, Hashcash — одна из основных идей, которые сделали Биткоин возможным. В то время как у других исследователей была идея ценообразования через обработку 6 до Адама Бэка (Дворк и Наор, 1992), Сатоши сослался на статью Адама в официальном документе Биткоина и привел к тому, что сегодня известно как доказательство работы (Poof of Work) Биткоина. Насколько я могу судить, термин “доказательство работы” был впервые введен в статье Hashcash 7.
Хэл Финни, одна из легенд первых Биткоин-дней, красиво и лаконично описал Hashcash следующим образом: “Hashcash — это текстовая строка в специальном формате, обладающая особым свойством: при прогоне алгоритма хеширования SHA-1 результат имеет первые N начальных битов, равных нулю, где N обычно составляет около 20-30. Терминология, используемая для Hashcash, описывает количество начальных нулевых битов как размер его “коллизии”. Благодаря свойствам SHA-1 единственный способ найти строку с большим размером коллизий — это перебор: пробовать один вариант за другим, пока вам не повезет” 8.
Например, хеш SHA1 строки Hashcash
выдает строку с пятью ведущими нулями 9:
Начальное число нулей в хешированной строке Hashcash указывает, насколько ценной является строка Hashcash. Поскольку нет другого пути, кроме перебора, количество нулей напрямую связано со стоимостью производства, которая в цифровом мире является стоимостью вычислений.
По сути, Hashcash использует тот факт, что вычислительные циклы требуют времени и реальных ресурсов. Бэк предположил, что введение электронного эквивалента почтовой марки с помощью хеш-наличности может быть основным вариантом его использования. В то время как борьба со спамом по электронной почте, казалось, стояла на первом месте, он также предложил использовать решение в качестве цифровых денег, вплоть до наброска переходного пути, что может привести к его интеграции в электронные деньги Чаума. Хотя алгоритм Proof of Work Биткоина немного отличается от алгоритма Hashcash (используя двойной SHA256 вместо SHA1), идея остается той же: вычисление хеша не может быть выполнено в обход перебора битов, что, в свою очередь, невозможно без затрат времени и энергии. Hashcash использует специфическое свойство нашей вселенной, заключающееся в том, что любые вычисления, то есть любые изменения в системе, требуют энергии. Другими словами: вы не можете обмануть физику. Вычисления никогда не будут бесплатными.
Гениальность Hashcash заключалась в том, чтобы находить и описывать вычислительные функции, в которых вычисления затратны, а проверка дешевая. Вы можете представить себе Hashcash-головоломки как решение судоку или кубиков Рубика: сложно решить, легко проверить. Хотя для предотвращения спама использовались различные реализации Hashcash, эта концепция не применялась широко к валютам до того, как Сатоши применил ее в Биткоине.
Bit Gold (Ник Сабо, 1998) #
Опираясь на работу Адама Бэка и Хэла Финни, Bit Gold можно назвать прямым предшественником Биткоина 10. Хотя система так и не была реализована, то, как Сабо предполагал ее работу в теории, удивительно близко к тому, как Биткоин работает в действительности.
Цель Bit Gold, как следует из названия, заключалась в создании цифрового денежного товара, независимого от какой-либо центральной власти; товара, который, в свою очередь, можно было бы использовать в качестве средства сбережения — точно так же, как золото в физическом мире. Сабо пишет: “Цель, которую я энергично отстаивал, состояла в том, чтобы создать долгосрочное хранилище ценности, независимое от какой-либо центральной власти, но гораздо более надежное, чем традиционное золото” 11.
“Драгоценные металлы и предметы коллекционирования 12 имеют неподделываемую редкость из-за дороговизны их создания. […] Таким образом, было бы очень хорошо, если бы существовал протокол, с помощью которого можно было бы создавать неподдельно дорогостоящие биты в Интернете с минимальной зависимостью от доверенных третьих сторон, а затем безопасно хранить, передавать и анализировать их с таким же минимальным доверием.”
— Ник Сабо
Сабо неоднократно подчеркивает, что физическое золото сталкивается с различными проблемами и является довольно небезопасным по сравнению с решениями, основанными на криптографии. Хранилище, например, надежно лишь настолько, насколько надежны двери и стены, которые его защищают. В конце концов, кто-то всегда может взломать дверь и забрать золото. То же самое относится и к транспортировке. Вы не сможете безопасно переслать информацию без чрезвычайных усилий – и независимо от ваших усилий, кто-то всегда сможет ее перехватить. Даже проверка подлинности является проблематичной, о чем свидетельствует обилие “золотых” слитков, сделанных преимущественно из свинца или вольфрама. Со временем эта нехватка золота неизбежно приводит к его централизации в хранилищах и банках, что влечет за собой целый ряд проблем.
Bit Gold обладает всеми основными свойствами золота, избегая при этом его незащищенности, которая мучила цивилизацию на протяжении тысячелетий.
— Ник Сабо
Предполагаемая цель Bit Gold — не единственное, что знакомо биткоинерам сегодня. То, как система должна была работать, также нам не чужда. Конечно, есть некоторые существенные различия, но основная идея устрашающе похожа.
Следующие семь шагов взяты непосредственно из статьи о Bit Gold и описывают, как будет работать система:
- Создается публичная строка битов, “строка запроса” (см. шаг 5).
- Алиса на своем компьютере создает строку Proof of Work из битов вызова, используя эталонную функцию.
- Proof of Work гарантирует надежность временной метки. Это должно работать как распределенная система с несколькими различными службами временных меток, так что нет необходимости в значительной степени полагаться на конкретную службу.
- Алиса добавляет строку запроса и строку Proof of Work с временной меткой в распределенный реестр прав собственности на Bit Gold. Здесь также нет существенной зависимости ни от одного отдельного сервера для правильной работы реестра.
- Последняя созданная строка Bit Gold обеспечивает биты запроса для следующей созданной строки.
- Чтобы убедиться, что Алиса является владельцем определенной строки Bit Gold, Боб проверяет не поддающуюся подделке цепочку титулов в реестре титулов Bit Gold.
- Чтобы оценить значение строки Bit Gold, Боб проверяет и подтверждает биты запроса, цепочку Proof of Work и временную метку.
Между подходом Сабо и Биткоином есть два важных отличия. Во-первых, для Bit Gold требуется два отдельных реестра: один для записи временных меток (чтобы отметить, когда был создан Bit Gold), а другой — для записи титулов собственности (чтобы увидеть, кто владеет Bit Gold). Во-вторых, предполагается, что Bit Gold полагается на эталонные функции (в отличие от односторонних функций ) для создания Proof of Work. Эталонные функции — это функции, предложенные Сабо, которые стабильны в вычислительном отношении, т. е. набор функций, которые поддерживают одинаковую степень сложности для всех майнеров. Он приложил значительные усилия для определения и исследования этих функций, пытаясь сформулировать математические доказательства того, что каждое вычисление займет по крайней мере определенное количество времени, независимо от того, какая компьютерная архитектура используется 13. Однако, поскольку компьютеры все время становятся быстрее, он заметил, что найти такую функцию будет сложно: “Серьезной потенциальной проблемой остается: […] В мире не хватает криптоаналитически устойчивой проблемы”.
Отсутствие устойчивой эталонной функции приводит к множеству проблем: старые “монеты”, созданные пользователями, будут иметь отличную от новых “монет” стоимость, поскольку компьютеры становятся быстрее по мере развития технологий. Таким образом, две разные монеты — или золотые нити, как их называл Сабо, — не будут иметь одинаковую стоимость. Если верить закону Мура, монета, которая на два года старше другой, может считаться в два раза более ценной, потому что удвоение вычислительной мощности сделало чеканку новых монет в два раза менее затратной. Другая проблема заключается в том, что если Bit Gold станет достаточно ценным, вычислительные прорывы могут храниться в секрете теми, кто их сделал, поэтому действительные цепочки Bit Gold могут накапливаться и продаваться на рынке с премией. Это усугубит проблему инфляции, еще одну проблему, которую Сабо выявил, но не решил.
Кроме того, Сабо верно определил проблемы предыдущих подходов, таких как Hashcash и MicroMint 14: (1) их ценность зависела от центрального органа, (2) используемые ими хеш-функции криптографически уязвимы, т.е. им не хватает криптоаналитической устойчивости. Как описано выше, последняя проблема все еще присутствует в Bit Gold.
B-Money (Вэй Дай, 1998) #
Как и Bit Gold Сабо, B-Money Вэя Дая так и не были реализованы. Это оставалось теоретическим предложением о том, как может работать монетарный протокол. В то время как Биткоин является рабочей реализацией видения, изложенного в B-Money, кажется, что Сатоши не знал о B-Money, когда придумывал основной дизайн Биткоина. Как написал Вэй Дай в ответ на статью LessWrong: “Насколько я понимаю, создатель Биткоина […] даже не прочитал мою работу, прежде чем сам заново изобрел эту идею. Он узнал об этом позже и упомянул меня в своей статье. Так что моя связь с проектом весьма ограничена”. В 2013 году Адам Бэк прокомментировал это, упомянув, что познакомил Сатоши с B-Money Вея Дая после того, как Сатоши связался с ним.
В своем предложении Дай очень откровенен в отношении мотивации своей системы. Ссылаясь на идеи Тима Мэя о криптоанархии, он пишет, что “при криптоанархии правительство не уничтожается, а постоянно запрещается и постоянно становится ненужным. Это сообщество, в котором угроза насилия бессильна, потому что насилие невозможно, а насилие невозможно, потому что его участников нельзя связать с их настоящими именами или физическим местонахождением”.
Далее Дай описывает систему, в которой каждый участник ведет отдельную базу данных о том, сколько денег принадлежит каждому пользователю. Пользователи идентифицируются по псевдонимам (открытым ключам), денежные единицы создаются в соответствии с вычислительными затратами, деньги передаются путем подписания сообщений, а контракты выполняются протоколом автоматически. Описание — в духе, но не в деталях — того, как Биткоин работает сегодня.
Он выделяет пять вещей, которые необходимы для функционирования такой системы:
- Создание денег
- Перевод денег
- Заключение контрактов
- Заключение договоров
- Исполнение контрактов
В то время как B-Money решает многие проблемы, присущие электронным деньгам, проблема, описанная Сабо в Bit Gold, остается. Дай упоминает об этом в своем предложении следующим образом: “Одной из наиболее проблемных частей протокола B-Money является создание денег. Эта часть протокола требует, чтобы все хранители счетов приняли решение и согласовали стоимость конкретных вычислений. К сожалению, поскольку компьютерные технологии имеют тенденцию развиваться быстро и не всегда публично, эта информация может быть недоступной, неточной или устаревшей, что может вызвать серьезные проблемы для протокола”.
Дай предлагает решение этой проблемы, описывая подпротокол, который отвечает исключительно за создание денег. Участники периодически договаривались о том, сколько денег следует создать, коллективно работая вместе в управляемом рынком цикле, состоящем из четырех этапов: планирование, торги, расчеты и создание. Поскольку B-Money так и не были реализованы в форме, предложенной Даем, неясно, сработала бы эта сложная схема создания денег, как предполагалось.
RPOW — многоразовые доказательства работы (Хэл Финни, 2004 г.) #
Как следует из названия, Хэл Финни нашел способ сделать токены доказательства работы из Hashcash Адама Бэка многоразовыми .
Вот как это работает, перефразируя оригинальное объяснение самого Хэла Финни: система получает Hashcash в качестве токена доказательства работы (POW) и взамен создает токены, подписанные RSA, которые называются токенами многоразового доказательства работы (RPOW). Затем RPOW можно передавать от пользователя к пользователю и обменивать на новые RPOW на каждом этапе. Каждый токен RPOW можно использовать только один раз, но, поскольку он порождает новый, как будто один и тот же токен может передаваться и использоваться вновь.
Право собственности в RPOW передается через серверы с минимальным уровнем доверия.
По сути, пользователь может создавать токены RPOW с помощью клиентского программного обеспечения RPOW, которое принимает строку подтверждения работы, сгенерированную программным обеспечением Hashcash, изобретенным Адамом Бэком. Эта строка подписывается закрытым ключом пользователя и впоследствии регистрируется сервером RPOW, записывая, что этот токен принадлежит открытому ключу пользователя. Затем пользователь может передать этот токен кому-то другому, подписав «распоряжение о передаче» на открытый ключ другого пользователя. Затем сервер должным образом регистрирует токен как принадлежащий соответствующему закрытому ключу.
Как видно из изучения его работ, Хэл Финни был вдохновлен и опирался на работу Ника Сабо, в первую очередь на его идеи о Bit Gold и цифровых предметах коллекционирования. Обсуждая возможные применения RPOW, Хэл пишет: “Исследователь в области безопасности Ник Сабо ввел термин Bit Gold для информационных объектов, создание которых доказуемо дорого. Он предполагает, что они могут даже служить основой для своего рода платежной системы, играя роль в информационном мире золота в физическом мире. RPOW облегчит использование токенов POW в качестве цифрового золота, позволяя передавать токены и обменивать их” 15.
Реализация Хэла была практическим решением проблемы, присущей токенам с доказательством работы, а именно того, что токены POW сами по себе не служат очень хорошими деньгами. Токены POW — это просто хеши — биты информации, которые можно потратить несколько раз. С концепцией серверов RPOW Хэл представил центральные, но с минимальным доверием органы власти, которые могут криптографически определять цепочку владения. Это позволяет повторно использовать токены Proof-of-Work, хотя и ограниченным последовательным образом.
Хотя архитектура RPOW является иерархической, т. е. ее клиенты полагаются на специализированные серверы, доверие пользователей к серверу RPOW сведено к минимуму. Это возможно благодаря тому, что программное обеспечение сервера RPOW работает на безопасном криптографическом сопроцессоре IBM 4758, плате PCI с высокой степенью защиты и защитой от несанкционированного доступа, которая криптографически гарантирует, что программное обеспечение, работающее на сервере, является тем программным обеспечением, которое было опубликовано и проверено. Это превращает любой сервер RPOW в систему, свойства безопасности которой может анализировать и оценивать любой. Другими словами, RPOW-сервер — это прозрачный сервер , что делает систему RPOW в целом минимальной по доверию. Все знают код, который заставляет систему работать, а также действующие правила.
“Мы знаем исходный код. Мы знаем правила.”
Итак, каковы же правила системы RPOW? По словам его изобретателя, они следующие 16:
- Отсутствие инфляции
- Отсутствие бэкдоров
- Защита конфиденциальности
Правило “отсутствия инфляции” следует понимать с точки зрения ограничений, установленных самой системой, то есть любой сервер RPOW будет создавать только токены RPOW, равные по стоимости входящим токенам POW и RPOW. Поскольку пользователи могут создавать новые токены с доказательством работы с помощью Hashcash Адама Бэка, инфляция с точки зрения нового предложения, поступающего в систему, может и всегда будет происходить.
“Чтобы обеспечить соблюдение правила отсутствия инфляции, сервер RPOW должен убедиться, что ни POW, ни RPOW не могут использоваться более одного раза в рамках обмена. Каждый создается, а затем обменивается на сервере на новый RPOW, и после этого старый больше никогда не может быть использован. Сервер RPOW обеспечивает соблюдение этого правила, прежде всего, сохраняя записи обо всех RPOW и POW, которые он видел в прошлом. Всякий раз, когда один из них предлагается для обмена, сервер RPOW сравнивает его с этой базой данных ранее просмотренных RPOW. Если он есть в списке, это попытка повторного использования POW или RPOW, и запрос на обмен отклонен. Если POW или RPOW нет в списке, он добавляется в список, а затем сервер RPOW подписывает значение bignum, предоставленное как часть обмена, создавая новый RPOW”.
Правило “отсутствие бэкдоров” относится к прозрачности системы. Каждый может проверить, как это работает в любое время; нет никаких скрытых элементов.
Интересным является правило “защиты конфиденциальности”. Хэл подробно писал о том, что конфиденциальность по своей сути является желательной функцией, отстаивая использование Tor 17 для подключения к серверам RPOW и обсуждая как векторы атак (атаки на основе ссылок), так и улучшения, такие как использование слепых подписей. В своих работах он продолжает указывать на две дополнительные вещи: (1) “владелец — враг” и (2) “программист — враг”, напоминая нам, что в любой системе, способствующей обмену с минимальным доверием, деньги должны быть созданы и работать в условиях враждебного мышления.
Наряду с Hashcash, RPOW была одной из реально реализованных систем. Однако, вероятно, из-за усилий, необходимых для запуска серверов RPOW, а также из-за отсутствия стимулов для этого, токены RPOW Финни так и не получили поддержки, и проект в конечном итоге был прекращен.
Прорыв Сатоши #
“Я надеюсь, очевидно, что только централизованно контролируемая природа этих систем обрекла их”.
11 февраля 2009 года Сатоши разместил объявление на форуме P2P Foundation. P2P Foundation изучает влияние одноранговой технологии и мышления на общество, называя себя “Фондом альтернативных одноранговых сетей”. Таким образом, это было очень подходящее место, чтобы объявить об изобретении одноранговых денег, таких как Биткоин.
В своем заявлении Сатоши описывает Биткоин как “систему одноранговой электронной наличности”, в которой “нет центрального сервера или доверенных сторон”, потому что “все основано на криптографическом доказательстве, а не на доверии”.
Первоначальное объявление Сатоши о создании Биткоина
Он выделяет множество проблем, присущих нашей нынешней денежной системе и привычным для нее традиционным валютами:
- доверие третьим лицам
- обесценивание валюты центральными банками
- кредитные пузыри
- банковское дело с частичным резервированием
- конфиденциальность
- отсутствие микроплатежей из-за накладных расходов
- посредники
Один только взгляд на этот список делает амбициозность масштабов Биткоина очевидной. Сатоши не собирался решать одну проблему. Он задался целью решить сразу множество проблем. Удивительно, но с самого начала он нашел настолько правильное решение, удовлетворяющее множество проблем, что ему на самом деле удалось побороть большинство из них. Все, что ему нужно было сделать – это убедить остальных в работоспособности его решения.
Зная свою аудиторию, он продолжает указывать, как подобные проблемы, связанные с доверием, были решены в мире компьютерных систем в целом, то есть как сильная криптография избавила от необходимости доверять персональные данные системным администраторам. После того, как ваши файлы зашифрованы, вам не нужно доверять тем, кто имеет к ним доступ, так как им потребуется ваш пароль для расшифровки этих данных. Другими словами: мы перешли от доверия к людям к доверию к математике. Это особенно актуально в условиях одноранговой сети, поскольку благодаря надежной криптографии вы можете обмениваться конфиденциальными данными с другими, включая себя в будущем, не полагаясь на посредников.
“Пришло время добиться того же самого с деньгами”.
Чтобы в большей мере осознать прорыв Сатоши, давайте вспомним, что было возможно раньше и где другие системы не справились. Вот что было возможно до Биткоина:
- Создание учетной записи с помощью криптографии с открытым ключом
- Не поддающиеся подделке дорогостоящие токены через доказательство работы
- Подтверждение права собственности с помощью цифровых подписей
- Передача токенов POW через цепочку подписей
А вот что было невозможно:
- Предотвращение двойных трат без доверенной третьей стороны
- Ограничение предложения без доверенной третьей стороны
Для Сатоши было очевидно, что любая система с централизованным управлением будет закрыта правительствами. Таким образом, система, которую он хотел построить, имела прежде всего одну цель: децентрализацию.
“Правительства хорошо умеют отрубать головы централизованно контролируемым сетям, таким как Napster, но чисто P2P-сети, такие как Gnutella и Tor, похоже, держат свои позиции”.
Приведенная выше цитата прекрасно иллюстрирует, почему децентрализация так важна: нет голов, которые можно было бы отрезать, генеральных директоров, которых нужно арестовывать, лидеров, на которых нужно оказывать давление или шантажировать, нет отдельных групп людей, которых нужно вызывать в суд, нет серверов, которые нужно выключать. Другими словами: децентрализация максимизирует выживание.
Центральная точка в любой системе делает ее уязвимой и, следовательно, подверженной атакам. Достаточно мотивированный злоумышленник найдет и воспользуется этими точками отказа. А когда дело доходит до денег, у государства есть все основания в мире закрыть конкурирующую систему. Это — и только это — причина того, что дизайн Биткоина такой запутанный и сложный. Его архитектура, основанная на стимулах, больше всего способствует одному: выживанию. Поскольку вам придется уничтожить все ее составляющие одновременно, радикально децентрализованная система чрезвычайно устойчива к любым нарушениям.
В то время как предыдущие попытки — особенно Bit Gold, B-Money и RPOW — были довольно близки к конечному замыслу Биткоина, все системы имели по крайней мере один из следующих недостатков:
- Необходим центральный реестр владельцев для предотвращения двойных трат средств
- Стоимость монеты зависит от центрального органа
- Контролируемая эмиссия возможна только через централизованный орган
- Нестабильная функция доказательства работы (в вычислительном отношении)
За исключением последнего пункта, все эти недостатки являются недостатками, потому что они требуют централизованного органа, обнажающего голову, которую правительства могут отрезать. Гениальность Сатоши заключалась в отстранении каждой головы, в том числе и своей собственной.
Опять же, основная проблема денег в цифровой сфере сводится к двум вещам: редкости и двойной трате. Хотя это и очевидно связано — у вас не может быть цифровой редкости без решения проблемы двойных расходов — это не совсем одно и то же. Сатоши решил обе эти проблемы одновременно, используя одноранговую сеть в качестве децентрализованного реестра, используя глобальную временную цепочку для синхронизации состояния и динамически регулируя сложность головоломки для достижения криптоаналитической устойчивости, что сделало предсказуемую эмиссию возможной.
Кроме того, он объединил процесс выдачи, передачи и проверки, устранив необходимость в какой-либо доверенной третьей стороне. Гениальность Биткоина заключается в том, что каждый узел может в любое время проверить все самостоятельно. Перефразируя Хэла Финни: “Вы знаете исходный код. Вы знаете правила”.
Сатоши смог децентрализовать все функции B-Money Вэй Дая (создание и перевод денег, исполнение, заключение и обеспечение соблюдения контрактов), а также решить проблемы Bit Gold Ника Сабо (стоимость монеты зависела от центральной власти; хеш-функциям не хватает криптоаналитической устойчивости). Он сделал это, подняв идею Хэла Финни о токенах RPOW на новый уровень, создав цифровой актив, который одновременно является взаимозаменяемым и имеет высокую стоимость, которую невозможно подделать. Как и RPOW до этого, получившаяся система не имеет раздувания, бэкдоров и защищает конфиденциальность своих пользователей.
Полезно взглянуть на различные функции финансовой или банковской системы, чтобы понять, почему Биткоин работает именно так. По сути, такая система должна уметь делать следующее:
- Создание учетной записи: пользователи должны иметь возможность создавать учетные записи и аутентифицировать себя.
- Запись владения: система должна иметь возможность записывать, кто чем владеет.
- Подтверждение права собственности: требуется какая-то сертификация, чтобы подтвердить, что пользователь действительно владеет активом, чтобы пользователь мог доказать этот факт себе и другим.
- Передача прав собственности: пользователи должны иметь возможность передавать права собственности на активы.
- Безопасность: система должна убедиться, что записи о праве собственности, компьютерная сеть и пользовательские данные находятся в безопасности.
Кроме того, если речь идет о денежных системах, желательно иметь следующее:
- Редкость: деньги должны быть сложными в производстве, то есть они должны обладать неподделываемой дороговизной, как это было описано Ником Сабо.
- Контролируемый выпуск: новые денежные единицы должны выпускаться равномерно и в течение длительного периода времени, что обеспечивало бы органичное распределение среди участников.
- Возможность аудита: независимые третьи стороны должны иметь возможность проверять эмиссию (а также безопасность системы).
Сатоши нашел способ децентрализовать все перечисленные выше функции, используя сочетание одноранговой технологии, криптографии, вероятностей, теории игр, физики и экономических стимулов. Другими словами: благодаря универсальности законов математики и физики Сатоши смог построить нелокальную систему.
Чтобы быть более конкретным, давайте подробнее рассмотрим эти функции и то, как Биткоину удается реализовать их децентрализованным способом:
- Создание учетной записи: благодаря криптографии с открытым ключом создание учетной записи пользователя может быть полностью децентрализовано. Любой человек в любое время может создать одну или несколько пар ключей для взаимодействия с системой Биткоин. Нет форм регистрации, нет центральных органов для утверждения или отклонения приложений, нет серверов, отвечающих за вход в систему. По сути, создание учетной записи в Биткоине — это просто вопрос генерации большого случайного числа. Вы даже можете пару раз подбросить монету или бросить пару игральных костей, если вы знаете, что делаете (и ваши кости и монеты подбрасываются честно).
- Запись о владении: в Биткоине у каждого полного узла есть копия записей о владении. Этот радикальный подход — простой способ избавиться от централизованного реестра и оптимизировать его для выживания: вы не можете закрыть реестр, если каждый участник является реестром.
- Подтверждение права собственности: как и другие предшествующие системы, Биткоин использует криптографические подписи для подтверждения права собственности. Если у вас есть закрытый ключ для подписи сообщения, вы можете доказать, что соответствующий открытый ключ, а также активы, связанные с этим открытым ключом, принадлежат вам. Центральный орган, выдающий сертификаты собственности, не требуется.
- Передача права собственности: право собственности передается через цепочку подписей, как в системе RPOW Хэла Финни. В отличие от RPOW, центральные серверы не требуются, поскольку цепочка владения размещается (и проверяется) каждым полным узлом.
- Безопасность: Биткоин защищен множеством различных способов, каждый из которых в той или иной форме опирается на криптографию, которая, в свою очередь, опирается на силу смехотворно больших чисел. Вероятность того, что кто-то угадает ваш приватный ключ или один из ваших адресов, практически равна нулю, как и вероятность того, что кто-то найдет хеш действительного блока без выполнения необходимой работы методом перебора. Сочетание надежной криптографии и совокупной энергии, затрачиваемой майнерами, защищает как активы пользователей, так и целостность сети. Сама система никогда не подвергалась взлому, что делает ее самой безопасной компьютерной сетью всех времен. Биткоин может быть осмысленно атакован только на периферии, т.е. приватные ключи могут быть украдены у отдельных пользователей или хранителей.
- Редкость: поскольку Биткоин является первым практическим, децентрализованным решением проблемы двойных трат, он впервые сделал возможным цифровую редкость. Сатоши мог выбрать любой предельный уровень инфляции, но он выбрал нулевой предельный уровень инфляции. Результат: 21 миллион Биткоинов, не более. Что это означает для Биткоина и мира в целом, будет рассмотрено в главе 7.
- Контролируемый выпуск: из-за корректировки сложности Биткоина, контролируемая эмиссия возможна децентрализованным способом. Корректировка сложности — это то, что решает проблему криптоаналитической устойчивости, как указывает Сатоши в техническом документе: “Чтобы компенсировать увеличение скорости оборудования и изменение интереса к работающим узлам с течением времени, сложность POW определяется скользящей средней, нацеленной на среднее количество блоков в час. Если они генерируются слишком быстро, сложность возрастает”. В эпоху вознаграждений в сети, которая закончится примерно в 2140 году, новые биткоины будут поступать в экономику с каждым действительным блоком, то есть примерно каждые десять минут. Предложение Биткоина было предопределено с самого начала, и, возможно, это самое ценное свойство Биткоина. Ни у одного другого существующего актива нет того, что есть у Биткоина: неизменный график поставок, с которым невозможно поспорить.
Короче говоря, математика позволяет децентрализовать все основные функции системы, а законы термодинамики обеспечивают надежные гарантии безопасности. Кроме того, экономические стимулы и теория игр — это клей, который держит все вместе.
“В результате получается распределенная система без единой точки отказа. Пользователи хранят криптоключи к своим собственным деньгам и совершают транзакции напрямую друг с другом, используя одноранговую сеть для проверки на двойные траты”.
Сатоши также понял, что единственный реальный актив, который можно связать с компьютерной системой, не требуя при этом доверия к третьим сторонам, — это энергия. Любая другая вещь — будь то золото, бумажные сертификаты, недвижимость или клубника — вновь выливается в необходимость в доверенной третьей стороне из-за разрыва между цифровым и физическим миром. Кто-то должен убедиться, что активы реального мира и цифровое представление этих активов — по сути, список вещей — остаются актуальными и синхронизированными. Это то, что известно как проблема оракула, а доказательство работы решает ее остроумным окольным путем: используя энергию и, следовательно, физику в качестве базовой истины. Можно также думать о проблеме оракула как о варианте принципа GIGO: Garbage In, Garbage Out (хлам на входе, хлам на выходе). Вы должны доверять тому, кто ведет записи, что записи верны. Другими словами: вы никогда не можете быть уверены, что имеющиеся данные соответствуют реальности, за исключением случаев, когда реальность коренится в самих вычислениях.
Самая своевременная идея #
“Вы не можете сокрушить идеи, подавляя их. Вы можете раздавить их, только игнорируя их. Отказываясь думать, отказываясь меняться. И это именно то, что делает наше общество!”
— Урсула К. Ле Гуин
Как мы видим, изучая предысторию Биткоина, двойные траты и цифровая редкость — непростые проблемы. Прорыв Сатоши состоял в том, что он нашел способ решить обе эти проблемы практически, а не академически. Первая решается с помощью глобальной общей временной цепочки, которая синхронизируется с помощью конкурентоспособной лотереи; вторая решается путем корректировки сложности, а также деления вознаграждения за блок вдвое (халвинг). Биткоин использует лучшие идеи своих предшественников (цифровые подписи, многоразовое доказательство работы, одноранговые сети) и изобретательно комбинирует их для создания чего-то совершенно нового: децентрализованной системы без единой точки отказа.
Ни одна часть Биткоина не может быть удалена без разрушения целого. Без временной цепочки не было бы децентрализованного способа проверки двойных трат. Если бы вознаграждение за блок не уменьшалось вдвое, предложение Биткоина увеличивалось бы бесконечно. Без корректировки сложности алгоритм майнинга не обладал бы криптоаналитической устойчивостью, из-за чего майнерам было бы несложно добывать биткоины быстрее. Многие шифропанки мечтали о цифровых деньгах. Сатоши развил эту идею дальше, чем кто-либо другой до него, внедрив систему, которую практически невозможно остановить. Что бы ни случилось в ближайшие десятилетия, кот уже выбрался из мешка, и всем придется приспосабливаться к миру, в котором существует Биткоин.
Биткоин — это идея, время которой пришло. По мере того, как все больше и больше людей, компаний и даже национальных государств движутся к Биткоин-стандарту, непреодолимая серьезность идеи Сатоши становится все более очевидной. Реализуя свою идею, он доказал, что практическое решение проблем, десятилетиями преследовавших цифровые деньги, — двойная трата и цифровая редкость – возможно. Выпуск его программного обеспечения на волю привел в движение многолетний процесс, который управляется чрезвычайно мощной структурой стимулов. Непреодолимая идея, воплощенная в коде. Именно эта структура стимулов обеспечивает выживание Биткоина. И с каждым днем, когда Биткоин отказывается умирать, человечество становится на шаг ближе к освобождению денег от захвата государством. Потребуется некоторое время, чтобы мир осознал эту мощнейшую идею. Забавно, но время также является причиной того, почему Биткоин работает в первую очередь, поскольку основное понимание Сатоши заключалось в том, как сохранить время в децентрализованной системе. Многие считали эту проблему неразрешимой. Оказывается, все, чего не хватало, была правильная идея.
Примечания #
“Шифропанк” – это игривое сочетание слов “шифр” (алгоритм, который шифрует и/или расшифровывает сообщение) и “киберпанк” (поджанр научной фантастики, порожденный произведениями таких авторов, как Филип К. Дик, Уильям Гибсон, Ридли Скотт и многих других). ↩︎
Управление по присвоению номеров в Интернете ↩︎
Тимоти К. Мэй, Манифест криптоанархиста ↩︎
Диффи и Хеллман, 1976, Новые направления в криптографии (IEEE, PDF) ↩︎
Ривест, Шамир, Адлеман, 1978, Метод получения цифровых подписей и криптосистемы с открытым ключом (ACM, PDF) ↩︎
Дворк и Наор, 1992, Ценообразование через обработку (PDF) ↩︎
“Функция стоимости процессора hashcash вычисляет токен, который может быть использован в качестве доказательства выполнения работы.” http://www.hashcash.org/papers/hashcash.pdf ↩︎
Хэл Финни, Теория RPOW ↩︎
Вы можете попробовать сделать это самостоятельно, используя различные онлайн-инструменты (например, DuckDuckGo) или введя в командную строку следующее: echo -n 1:20:040806:foo::65f460d0726f420d:13a6b8 | sha1sum ↩︎
В некоторых своих ранних записях, например, в этом файле README, Сатоши писал Bitcoin как “BitCoin”, указывая, что это слово должно было восприниматься как два отдельных слова. ↩︎
Из ранней неоконченной белой книги Bit Gold, где Сабо вводит концепцию неизменяемых дорогостоящих активов, связывая редкость определенных товаров с дороговизной их создания. ↩︎
См. его труды по внутриполиномиальной криптографии. ↩︎
MicroMint была одной из двух схем микроплатежей, предложенных Рональдом Л. Ривестом и Ади Шамиром (R и S в RSA). Вторая схема называлась PayWord. Обе схемы были нацелены на эффективную передачу очень малых сумм, расширяя предыдущие работы, такие как Millicent Глассмана и др. Идея снова заключается в использовании криптографии с открытым ключом и хешей умным способом для производства монет: “Монета – это битовая строка, достоверность которой может быть легко проверена любым, но которую трудно изготовить”. ↩︎
https://nakamotoinstitute.org/finney/rpow/index.html Также обратите внимание на эссе “Раскошеливаемся: Происхождение денег”. ↩︎
https://nakamotoinstitute.org/finney/rpow/slides/slide010.html ↩︎
The Onion Router, torproject.org ↩︎