31 октября 2008 года произошло событие, которое кардинально изменило всю привычную нам картину мира и оказало значительное влияние на экономику, развитие технологий и культуру. Именно в этот день никому не известный человек (или группа людей), скрывающийся под псевдонимом Сатоси Накамото, опубликовал статью «Bitcoin: A Peer-to-Peer Electronic Cash System», положив начало истории биткойна. Однако еще за десятилетие до этого, в 1998 году, выпускник Вашингтонского университета Вэй Дай (Wei Dai) создал проект децентрализованной платежной системы, которая должна была использовать в своей работе криптографические алгоритмы. Даже называлась она похоже: B-Money.
Как закалялась сталь
О самом Вэй Дае — американце китайского происхождения — известно несколько больше, чем о легендарном Сатоси, но тоже немного. Он окончил Вашингтонский университет, получив степень бакалавра по информатике и математике. В профиле Вэй Дая, некогда размещенном на сайте несуществующей ныне компании VoteHere, говорилось, что он работал в составе исследовательской группы на корпорацию Microsoft в Редмонде, Вашингтон, где занимался криптографией. А до того как присоединиться к Microsoft, Вэй Дай трудился программистом в компании TerraSciences в Эктоне, Массачусетс. Это отчасти подтверждается и тем, что человек по имени Вэй Дай заявлен в качестве автора связанных с криптографическими технологиями изобретений согласно американским патентам 5724279 и 6081598, права на которые принадлежат Microsoft.
Вэй Дай получил степень бакалавра в Вашингтонскиом университете — это немногое, что о нем известно достоверно.
Именно Вэй Дай является создателем криптографической библиотеки с открытым исходным кодом Crypto ++ (также известной как CryptoPP, libcrypto ++ и libcryptopp). Кроме того, в 2007 году совместно с Тедом Кровецем Вэй Дай разработал алгоритм универсального хеширования, послуживший основой для механизма аутентификации сообщений VMAC. Еще Вэй Дай первым обнаружил критическую уязвимость в криптографическом протоколе TLS (если говорить точнее — в используемой TLS реализации режима шифрования Cipher Block Chaining (CBC)). Благодаря именно этой уязвимости стало возможным создание нашумевшего эксплоита BEAST (Browser Exploit Against SSL/TLS).
Достоверных фотографий Вэй Дая в интернете нет: сам он утверждает, что все приписываемые ему портреты — снимки совершенно других людей, многие из который являются его полными тёзками. Сейчас Вэй Дай ведет довольно скрытный образ жизни, отказывается от публичных выступлений и не дает интервью. Что, признаться, наводит на некоторые подозрения, о которых мы поговорим в самом конце этой статьи.
Однако вернемся к истории создания B-Money. Источником вдохновения для Вэй Дая по его собственным словам стала идеология криптоанархизма, которой он проникся благодаря текстам Тимоти Мэя. Криптоанархисты предрекали создание общества, свободного от какого-либо насилия — прежде всего потому, что само по себе насилие невозможно, если членов социума нельзя идентифицировать благодаря повсеместному использованию криптографии.
Тимоти Мэй — один из самых известных в мире шифропанков.
Однако любое общество нуждается во взаимных услугах, а следовательно, в инструментах для финансовых расчетов и заключения контрактов. Традиционные финансовые системы основаны на деньгах, эмитируемых либо самим государством, либо тесно связанными с ним банковскими структурами, и, следовательно, полностью контролируются правительством. Органы власти легко могут заблокировать любому неугодному человеку доступ к финансовым инструментам — банковским счетам и картам, а также в состоянии заморозить или изъять его накопления, после чего гражданин фактически останется без средств к существованию. В противовес этому использующая криптографию анонимная и децентрализованная платежная система, независимая от каких-либо финансовых институтов, может гарантировать, что человек не потеряет возможность распоряжаться своими средствами по политическим, религиозным или каким-либо иным подобным мотивам.
Созданием такой платежной системы Вэй Дай и решил внести собственный вклад в строительство криптоанархического общества будущего. В 1998 году он опубликовал на собственном сайте документ, в котором описал два протокола для создания децентрализованной цифровой валюты. И хотя до бума крипты оставалось еще более десяти лет, он заложил в своей работе основные принципы, на которых базируются многие современные криптовалютные проекты.
Описная Вэй Даем идея в общих чертах сводится к следующему. Субъектами придуманной им платежной системы являются анонимные «цифровые псевдонимы», которые никак не связаны с реальными личностями участников. Для поддержки работоспособности системы ее пользователи должны выполнять определенную «вычислительную работу», за которую им выплачивается вознаграждение. Эта работа фиксируется в коллективном журнале с тем, чтобы ее могли проверить другие участники. В процессе аутентификации и подтверждения транзакций также применяется коллективный учет, при котором используется шифрование с открытыми ключами. Сам Вэй Дай писал: «Протокол B-money был задуман таким образом, чтобы он мог сохранить конфиденциальность всех участников, оставаясь при этом средством обмена и предоставляя исполняемые контракты сообществу». Ничего не напоминает?
Фактически, Вэй Дай придумал архитектуру, очень похожую на современный блокчейн, хотя изначально им было предложено целых два протокола: один — основывающийся на хранении базы транзакций локально у каждого пользователя платежной системы, в то время как второй гораздо больше напоминал блокчейн в том виде, в котором мы его знаем сейчас. Рассмотрим чуть подробнее оба проекта.
Концепция A-Money
Первый концепт, получивший условное обозначение «A-Money», сам разработчик называл непрактичным, поскольку в этом случае каждый участник платежной системы должен вести собственную базу данных, в которой фиксируется количество принадлежащей ему и другим пользователям цифровой валюты. Процесс обновления информации в этих базах реализуется с использованием специального протокола, который и описал в своей статье Дай.
Каждый пользователь системы идентифицируется цифровым псевдонимом. Все сообщения в системе подписываются открытым ключом отправителя и передаются получателю в зашифрованном виде. Любой участник системы может зарабатывать деньги, транслируя решение ранее нерешенной вычислительной задачи, при этом основным критерием оценки работы является объем вычислительных ресурсов, потраченных на решение. Для этого Вэй Дай решил использовать принцип, напоминающий способ вычисления индекса товарных цен (commodity price index). К примеру, если задача может быть решена на компьютере, который тратит на это минимум ресурсов, за 100 часов, а для покупки такого же вычислительного ресурса на открытом рынке потребуется 3 условных индексных единицы, то именно такая сумма в денежном эквиваленте и будет зачислена на счет решившего задачу участника системы, а информация об этом зафиксируется в локальных базах данных всех остальных пользователей.
Транзакции в предложенной Даем системе выполняются следующим образом. Например, Алиса (цифровой псевдоним «А») решила передать Бобу (цифровой псевдоним «Б») виртуальную валюту на сумму Х единиц. В этом случае она отправляет широковещательное сообщение вида «я отправляю Х денежных единиц цифровому псевдониму «Б»», и подписывает его своим ключом «А». После трансляции этого сообщения все участники системы вносят в свою локальную базу соответствующее изменение, а именно, списывают со счета псевдонима «А» сумму в Х монет и добавляют ее на счет псевдонима «Б». Транзакция считается успешной, если эта операция не приводит к возникновению отрицательного баланса на счете «А» — в этом случае сообщение игнорируется.
При выполнении транзакций в системе A-Money участники сделки отправляют всем остальным пользователем широковещательное сообщение, зашифрованное открытым ключом
Платежная система Дая предусматривала также возможность заключения участниками цифровых контрактов, правда, в отличие от современных автоматизированных смарт-контрактов здесь предлагалось использовать арбитраж. При подписании такого договора каждая его сторона, включая независимого арбитра, отправляет широковещательное сообщение, заверенное своим ключом. В сообщении указывается не только дата выполнения работы по контракту и ее стоимость, но также максимальные суммы возмещения для каждой из сторон в случае неисполнения другой стороной своих обязательств. Затем со счетов участников сделки списывается сумма, соответствующая размеру максимального возмещения, и депонируется на временном «контрактном счете». Если указанная операция приводит к возникновению отрицательного баланса на одном из счетов, контракт считается недействительным и все выполненные ранее транзакции откатываются. Данные обо всех этих событиях записываются в базах данных участников системы.
Если контракт был исполнен полностью и претензии у сторон отсутствуют, в момент наступления указанного в контракте «часа Х» с временного контрактного счета списывается и перечисляется соответствующая сумма вознаграждения, арбитру переводится комиссия, а предназначенные для возмещения ущерба суммы возвращаются своим законным владельцам. После чего временный «контрактный счет» автоматически закрывается. Если же что-то пошло не так, открывается диспут, и к решению спора привлекается арбитр. Он изучает все сопутствующие обстоятельства и принимает решение в пользу одной из сторон конфликта. Подобная схема успешно применяется сегодня при решении споров на популярной торговой площадке AliExpress, а также на различных подпольных форумах, где продаются и покупаются всевозможные незаконные и сомнительные услуги.
Схема исполнения контракта в системе A-Money.
Исходя из описанной выше логики работы системы становится очевидно, что с ростом числа участников будет расти и объем базы, в которую записывается информация обо всех транзакциях. Поскольку точная копия такой базы хранится у каждого участника локально, скорость ее обновления будет крайне невысокой и со временем станет снижаться. Участникам системы необходимо также постоянное подключение к сети для своевременной загрузки непрерывно обновляющихся данных, которые гарантированно создадут значительный трафик. Кроме того, использование такой платежной системы потребует значительных аппаратных ресурсов — как минимум, достаточного объема дискового пространства, которое в 1998 году было весьма дефицитным. Нужна была альтернатива.
Концепция B-Money
Именно поэтому Вэй Дай предложил альтернативный протокол для своей платежной системы, который и получил название «B-Money». Общий принцип остался тем же самым, только для хранения базы данных о транзакциях в B-Money использовались компьютеры не всех участников сети, а лишь некоторых. Машины таких «хранителей» Дай условно назвал «серверами». В качестве образца для структуры этой сети Вэй Дай взял Usenet — самую популярную на тот момент сеть для общения и обмена файлами. Формат широковещательных сообщений о любых операциях в системе B-Money был идентичен описанному выше, но с одним отличием: участники каждой транзакции должны в обязательном порядке убедиться, что сообщение было получено и успешно обработано случайно выбранным подмножеством серверов. Актуальность баз транзакций по задумке Дая должна поддерживаться их постоянной синхронизацией.
Однако в этом случае возникает проблема доверия серверам со стороны других участников системы. Вэй Дай решил ее следующим образом: каждый сервер должен депонировать определенную сумму цифровых денег на специальном счете. Если какой-либо из серверов оказывался замеченным в тех или иных мошеннических действиях, на него налагается штраф, который списывается с этого депозита. А участнику, заметившему мошенничество, с того же счета начисляется вознаграждение. Кроме того, хранящаяся на каждом из серверов база данных транзакций должна быть публичной, чтобы любой участник системы в любой момент времени мог проверить, совпадает ли локальная информация о состоянии его счета с записью в этой базе. Также любой участник по желанию должен иметь возможность убедиться, что общая сумма денег на всех счетах пользователей не превышает общую сумму цифровой валюты, которой оперирует платежная система. Это исключает возможность бесконтрольного наращивания денежной массы даже в случае сговора владельцев всех серверов в сети.
Общая структура B-Money.
Другая серьезная проблема B-Money, на которую обратил внимание Вэй Дай, — это процесс эмиссии цифровых денег. В предложенном для A-Money алгоритме подразумевалось, что решение о стоимости конкретных вычислений согласованно принимается всеми держателями учетных записей. В случае архитектуры с серверами сеть имеет меньшую связанность, и это может стать серьезной проблемой. Поэтому для B-Money Дай предложил иной механизм: все серверы в сети B-Money принимают консолидированное решение о том, какой объем цифровой валюты должен быть выпущен в каждый конкретный период времени, а стоимость создания этих денег определяется аукционом. При этом сам процесс он разделил на четыре этапа:
- Все держатели аккаунтов B-Money определяют по заданным алгоритмам оптимальный объем денежной массы, которую следует выпустить в следующем периоде. Неважно, придут ли участники системы к «судьбоносному консенсусу», но каждый из них транслирует в сеть вычисленную им квоту. На основе полученных данных вырабатывается консолидированное решение об объеме цифровой валюты, выпускаемой в следующем периоде.
- Каждый участник системы, желающий принять участие в эмиссии цифровой валюты, транслирует в сеть «ставку» в формате <X, Y>, где X — сумма в B-Money, которую заявитель рассчитывает получить за решение задачи, а Y — сама математическая задача, выбранная из пула ранее нерешенных задач. При этом каждая задача имеет публично согласованную номинальную стоимость в MIPS-годах.
- Все участники системы выполняют работу согласно своим заявкам и транслируют в сеть полученные решения.
- Из транслируемых решений принимаются и оплачиваются только имеющие самые выгодные ставки с точки зрения номинальной стоимости решенной задачи за единицу B-Money.
Можно сказать, что в 1998 году Вэй Дай придумал платежную систему, очень напоминающую хорошо знакомые нам современные криптовалюты. По крайней мере, она отвечает сразу нескольким критериям, по которым ее можно отнести к этой категории:
- для ее добычи (майнинга) требуется выполнить определенный объем вычислительной работы;
- проделанная работа проверяется другими участниками системы, а успешно выполнивший ее участник получает вознаграждение;
- ведется коллективный учет транзакций, которые аутентифицируются с использованием криптографии;
- контракты исполняются путем отправки широковещательных сообщений и подписания транзакций цифровыми подписями (криптография с открытым ключом).
Правда, дальше публикации идеи дело не пошло — энтузиастов, которые решились бы взяться за практическую реализацию столь масштабного проекта, в те времена не нашлось. Кто знает: если бы разработки Дая вызвали общественный резонанс, возможно, бум блокчейна и крипты случился бы на десять лет раньше, а на Земле появился бы еще десяток-другой долларовых миллионеров. Однако публикация Вэй Дая все-таки оказала определенное влияние на современный рынок криптовалют.
Вместо эпилога
В своей основополагающей публикации «Bitcoin: A Peer-to-Peer Electronic Cash System» Сатоси Накамото все-таки сослался на проект B-Money — это краткое упоминание на второй странице документа удостоилось единственной лаконичной сноски в разделе «References». Однако в заметке «Decoding the Enigma of Satoshi Nakamoto and the Birth of Bitcoin», опубликованной газетой New York Times 15 мая 2015 года, утверждалось, что Вэй Дай, а также известный британский криптографист и шифропанк Адам Бэк (Adam Back) были первыми людьми, с которыми связался Накомото в ходе работы над биткойном. Правда, сам Вэй Дай прокомментировал этот момент весьма скептически:
«я так понимаю, что создатель биткойна [...] даже не прочитал мою статью, прежде чем сам заново изобрел эту идею. Он узнал об этом позже и упомянул меня в своей работе. Так что моя связь с проектом довольно ограничена».
Несмотря на то, что платформа B-Money так навсегда и осталась в истории лишь в виде концепта, создатели других успешных криптовалют не забывают о ней. Например, самая маленькая дробная единица «эфира» — криптовалюты, работающей на платформе Ethereum, — названа «wei». И теперь вы знаете, в чью именно честь.
Некоторые любители конспирологии всерьез считают, что однажды, когда тайна виртуальной личности Сатоси Накамото будет наконец раскрыта, среди создателей биткойна мы обнаружим немало известных личностей: и уже упомянутого Адама Бэка, и ученого-криптографиста Ника Сабо (Nick Szabo), но в первую очередь — Вэй Дая собственной персоной. Кто знает, может, они окажутся правы?
Автор: Валентин Холмогоров