Цифровое золото: невероятная история Биткойна, или Как идеалисты и бизнесмены изобретают деньги заново - стр. 14
Прикрепленный к письму девятистраничный PDF-файл ясно давал знать, что Сатоши прекрасно осведомлен обо всех предыдущих усилиях по созданию автономных цифровых денег. В своем документе Сатоши цитировал Бека, Вэя Дая и приводил выдержки из нескольких малоизвестных журналов по криптографии. Собрав идеи многих своих предшественников, Сатоши каким-то образом умудрился объединить их в систему, которая радикально отличалась от всего, что было предложено до него.
Вместо того чтобы доверять эмиссию и отслеживание денег центральной организации, как это реализовано в существующей финансовой системе и в DigiCash Чома, Сатоши предложил отслеживать все биткойн-транзакции с помощью общедоступной базы данных, совместно обслуживаемой самими пользователями новых денег.
Впоследствии даже экспертам потребовались месяцы, чтобы разобраться в нюансах работы Биткойна, но базовые элементы системы можно за пару десятков минут объяснить любому человеку. На таком уровне и была написана работа Сатоши, которую впоследствии стали называть официальным документом Биткойна.
Согласно этому документу каждый пользователь Биткойна может создать один или несколько общедоступных биткойн-адресов – аналогов банковских счетов – и по одному закрытому ключу для каждого адреса. Монеты, связанные с конкретным адресом, может потратить только владелец закрытого ключа, соответствующего этому адресу. Закрытый ключ несколько отличается от традиционного пароля, который обычно хранится в некоторой центральной организации, проверяющей, имеет ли пользователь право на доступ к ресурсу. В Биткойне Сатоши задействовал чудеса криптографии с открытым ключом, чтобы уже знакомая нам Алиса могла подписывать свои транзакции, не сообщая никому свой закрытый ключ.
Итак, подписав транзакцию закрытым ключом, Алиса отправляет ее остальным узлам биткойн-сети, которые затем проверяют, действительно ли у Алисы есть монеты, которые она пытается потратить. Они проверяют платежеспособность Алисы, сверяясь с общедоступным журналом всех биткойн-транзакций – так называемым блокчейном, копию которого может хранить у себя каждый узел сети. Убедившись, что по адресу Алисы действительно хранится нужная сумма, компьютеры-узлы подтверждают транзакцию и добавляют ее в список («блок») недавних биткойн-транзакций.
Пожалуй, самой сложной частью системы является алгоритм добавления блоков с транзакциями в блокчейн. Он представляет собой что-то вроде соревнования между биткойн-узлами, которое во многом напоминает решение задачи, придуманной Адамом Беком для Hashcash. Компьютер, победивший в конкурсе, получает право записать блок недавних транзакций в блокчейн. Зачем ему эта сомнительная честь? Дело в том, что победитель конкурса также получает в награду новые биткойны, и это единственный способ эмиссии новых биткойнов в системе. Именно награда в виде новых монет мотивирует пользователей направлять вычислительные ресурсы своих компьютеров на обработку биткойн-транзакций.
При возникновении разногласий по поводу того, какой компьютер победил в конкурсе, приоритет отдается блоку, принятому большинством узлов сети. Например, если большинство узлов считает, что в последнем раунде конкурса победила Алиса, но какие-то узлы-диссиденты отдают победу Бобу, сторонники Алисы будут игнорировать блоки от компьютеров, поддержавших Боба, пока те не присоединятся к большинству. Этот поистине демократичный способ принятия решений хорош тем, что он предотвращает махинации со стороны «плохих» узлов, которые могли бы попытаться записать на свои счета много новых биткойнов. Благодаря реализованной в Биткойне защите злоумышленникам, задумавшим неладное, пришлось бы заручиться поддержкой большинства узлов сети.