За несколько недель общения с Сатоши Марти полностью переработал сайт о Биткойне. Версию Сатоши, перегруженную техническими деталями и ориентированную на программистов, Марти заменил лаконичным описанием важнейших криптовалютных идей, чтобы привлечь гораздо более широкую аудиторию пользователей с похожими политическими интересами. "Защититесь от экономической нестабильности, к которой неизбежно приводят вредные решения центробанков и частичное банковское резервирование", – говорилось на обновленном сайте.
Однако заметного притока новых пользователей все же не последовало. В июне ПО Биткойна скачало всего несколько десятков новых пользователей, которые добавились к нескольким сотням, попробовавшим Биткойн со дня первоначального релиза. Большинство из них запускали узел всего один раз, а затем отключали его и теряли интерес к проекту, но Марти не унывал. После обновления веб-сайта он принялся изучать код Биткойна.
Марти не знал язык C++, на котором был написан Биткойн, но на лето он устроился на временную работу в университетскую компьютерную лабораторию, так что обстановка подходила для изучения программирования как нельзя лучше. Изучая C++, Марти неплохо разобрался в коде Сатоши, перестал бояться изменять его и даже скомпилировал свою версию биткойн-узла. Они с Сатоши часто общались и вскоре стали понимать друг друга с полуслова.
Хотя Сатоши никогда не рассказывал в письмах ничего личного, он охотно обсуждал с Марти всякие мелочи. В одном из писем Сатоши отметил, что в почтовой рассылке кто-то назвал Биткойн "криптовалютой", пытаясь подчеркнуть криптографические функции, лежащие в его основе.
"Может, нам следует взять это слово на вооружение? – спросил Сатоши. – Как оно тебе?"
"Звучит неплохо, – ответил Марти. – "Пиринговая криптовалюта" – это почти что рекламный лозунг".
В тот год они также разработали логотип Биткойна, который долго исправляли на своих компьютерах и пересылали друг другу, пока наконец не остановились на букве "В" с двумя линиями, исходящими сверху и снизу. Многие разговоры также касались потенциальных улучшений ПО. Марти предложил реализовать автоматический запуск биткойн-узла при включении компьютера, чтобы новым пользователям было проще присоединиться к сети. Сатоши искренне похвалил Марти за это предложение, которое могло на порядок увеличить количество узлов.
Несмотря на скудный опыт программирования, Марти получил от Сатоши полные права на изменение базового ПО Биткойна на сервере – ранее это мог делать только сам Сатоши. Судя по журналу изменений к августу Марти вообще стал основным разработчиком. При выпуске следующей версии Биткойна (0.2) Сатоши отдал должное Марти, записав большинство улучшений на его счет.
Однако заинтересовать в Биткойне достаточное количество людей по-прежнему не удавалось. Да, к сети то и дело подключались чужие компьютеры, но большинство монет все еще создавали компьютеры Сатоши, а новых транзакций вообще не было. Все это не давало поводов для радости.
"Было бы неплохо, если бы люди смогли начать использовать Биткойн для чего-нибудь, – рассуждал Сатоши в письме Марти в конце августа. – Нам нужно найти какую-то сферу его применения. Есть идеи?"
Возвращаясь в институт на осенний семестр, Марти прорабатывал сразу несколько способов решения этой проблемы. Например, он собирался создать онлайн-форум, на котором пользователи Биткойна могли бы встречаться и общаться в кругу единомышленников. Задолго до Биткойна именно на таких форумах Марти встретил поддержку и понимание, которых не находил в реальной жизни. Создав, наконец, биткойн-форум, Марти взял псевдоним "sirius-m", который использовал в ролевой игре по сюжету "Гарри Поттера" еще в тринадцатилетнем возрасте.
Биткойн-форум был запущен осенью 2009 года и вскоре привлек нескольких регулярных посетителей. Один из них, назвавшийся "NewLibertyStandard", однажды заявил, что неплохо было бы создать сайт, на котором можно было бы покупать и продавать биткойны за реальные деньги. Марти уже обсуждал с Сатоши что-то подобное и с радостью вызвался помочь NewLibertyStandard. В ходе первой в истории человечества операции обмена биткойнов на доллары США Марти отправил NewLibertyStandard 5050 биткойнов, за которые получил на свой счет PayPal 5 долларов 2 цента.
Эта сделка вынудила посетителей форума задаться очевидным вопросом о справедливом курсе Биткойна. Учитывая, что никто ранее не покупал и не продавал биткойны, NewLibertyStandard предложил использовать для определения курса стоимость электроэнергии, необходимой для генерирования одной монеты. Особых возражений не было, и в октябре-ноябре 2009 года за один доллар давали примерно тысячу биткойнов.
Однако для Сатоши куда важнее обмена биткойнов на доллары была возможность покупки и продажи товаров. По мнению Сатоши, это было критически важно для успеха Биткойна. "Я не утверждаю, что это необходимо, – писал он Марти, – но по-настоящему специфическая потребность, которую мог бы удовлетворить Биткойн, существенно повысила бы его шансы на успех".
Первый шаг в этом направлении сделал NewLibertyStandard, опубликовав на новом форуме довольно своеобразное сообщение.
"Что вы готовы купить или продать за биткойны? Вот что готов купить я.
• Бумажные миски на 10 унций (295 мл) в запечатанных упаковках по 50 штук.
• Пластиковые стаканы на 16 унций (473 мл) в запечатанных упаковках по 50 штук.
• Толстые бумажные полотенца стандартного размера в запечатанных рулонах".
Один из пользователей поинтересовался, для какой вечеринки NewLibertyStandard нужна вся эта одноразовая посуда. "Мальчишник", – написал тот в ответ.
Вскоре NewLibertyStandard запустил на сайте своего обменного пункта магазин с расчетами в биткойнах. Увы, ассортимент был ограничен несколькими листами почтовых марок и наклейками с Губкой Бобом, поэтому неудивительно, что из-за отсутствия покупателей NewLibertyStandard вскоре отключил обменный пункт. Развитие сети приостановилось, а в отдельные периоды на рубеже 2009 и 2010 годов общая вычислительная мощность сети даже сокращалась.
Весной Марти сделал перерыв в учебе и устроился на временную работу в Siemens, так что Биткойн отошел для него на второй план. Сатоши тоже куда-то пропал.
Марти снова списался с Сатоши в мае 2010 года, чтобы узнать, как тот поживает. "Последние полтора месяца я был занят другими делами, – ответил Сатоши. – Спасибо, что ты присматривал за всем в мое отсутствие".
В мае новый пользователь задал в биткойн-сообществе вопрос, как ему организовать прием биткойнов за услуги веб-хостинга. Не дождавшись ответа, он убрался восвояси. Позже он вернулся с комментарием "Ого, ни одного ответа за несколько месяцев! Удивительно!" Другой подписчик, который раскритиковал Биткойн осенью 2008 года, съязвил: "Похоже, Биткойн приказал долго жить". "Когда-то я спорил с его создателем о возможностях масштабирования проекта, – пояснил он. – Больше я о Биткойне не слышал. Разумеется, если никто его не использует, то и масштабирование не проблема. Я не знаю, доступна ли какая-либо работоспособная программа и тестировал ли ее кто-нибудь".
Однако кажущееся отсутствие активности в биткойн-сообществе скрыло тот факт, что медленно, но верно к нему стекались тонкие и, на первый взгляд, незаметные ручейки все более квалифицированных пользователей. Они гораздо лучше знали, для чего им нужен Биткойн.
Глава 4
Апрель 2010 года
Ласло Ханеч, 28-летний программист из Флориды, узнал о Биткойне от коллеги в интернет-чате. Сначала он подумал, что это какая-то мошенническая схема, но все же решил поинтересоваться, кто пытается заработать таким необычным способом. Почитав о Биткойне в Интернете, он вскоре понял, что на самом деле это интересный перспективный эксперимент, и решил продолжить исследования.
Ласло купил монеты у NewLibertyStandard и приступил к созданию биткойн-узла для компьютеров Macintosh. Однако, как и многие хорошие программисты, Ласло взялся за новый проект как хакер, пробуя нестандартные способы использования системы для проверки ее надежности. Одной из очевидных уязвимостей был алгоритм генерирования (майнинга) новых биткойнов. Добавив в сеть большое количество вычислительной мощности, кто-либо из пользователей мог гарантированно получать большинство новых биткойнов. Хотя Сатоши Накамото разработал алгоритм так, чтобы при уменьшении интервала между блоками сложность конкурса увеличивалась, пользователи с наибольшей мощностью все же выигрывали пропорционально большее количество новых монет.
Пока что ни у кого не было мотивации направлять много вычислительных ресурсов на майнинг биткойнов, потому что они почти ничего не стоили, но Ласло решил проверить эту уязвимость. Каждый пользователь сети пытался использовать для победы в вычислительном конкурсе ресурсы процессора, но процессор компьютера, выполняющий, помимо этой, множество других операций, являлся далеко не самым эффективным средством вычисления хеш-функций. Графические процессоры на видеокартах, служащие для обработки изображений и видео, подходят для хеширования как нельзя лучше.
Ласло быстро выяснил, как перенаправить процесс майнинга графическому процессору. Центральный процессор Ласло выигрывал в конкурсе в среднем 1 раз в сутки. Когда Ласло перешел на майнинг с помощью видеокарты, он стал выигрывать 1–2 раза в час, а иногда даже больше. 17 мая он добавил в блокчейн 28 блоков, заработав 1400 новых монет.
Сатоши знал, что по мере развития Биткойна кто-то обнаружит эту возможность, и не удивился, когда Ласло написал ему о своем проекте. Однако в ответном письме Сатоши выразил свое явное неудовольствие. Если один пользователь выигрывал все монеты, другие люди теряли мотивацию присоединяться к сети.
"Я не социалист, – написал Сатоши в ответ, – и меня не беспокоит концентрация богатства, но для развития сети было бы лучше, если бы монеты получали 100 процентов пользователей, а не 20".
Несмотря на то что Сатоши попросил Ласло не увлекаться "высокопроизводительным хешированием", он также понимал, что добавление вычислительной мощности в сеть делает ее более надежной. Модель консенсуса Биткойна, которая требовала, чтобы любые изменения блокчейна и ПО Биткойна одобрялись большинством узлов сети, гарантировала, что, даже если пользователи попытаются изменить правила или блокчейн, они не смогут сделать это, не заручившись поддержкой половины компьютеров в сети. Это делало сеть уязвимой для так называемой "атаки 51 процента", для проведения которой группе пользователей (или одному пользователю!) необходимо накопить больше половины вычислительной мощности сети. Увеличение вычислительной мощности, принадлежащей сторонникам Биткойна, затрудняло для злоумышленников проведение такой атаки, а Ласло действительно хотел помочь развитию проекта. По общению на форумах быстро стало ясно, что он не собирается вредить Биткойну и больше интересуется идеями, лежащими в его основе, а не тем, как быстро разбогатеть. Добывая монеты, он охотно обсуждал возможные способы использования Биткойна в реальном мире. Однажды Ласло опубликовал на форуме предложение купить ему пиццу с доставкой в Джексонвилле, штат Флорида.
"Я хотел бы заказать себе еду за биткойны. Пусть это будет пицца, – написал он. – Я готов расплатиться биткойнами с тем, кто закажет мне ее на дом с доставкой".
Накопив к тому времени около 70 тысяч биткойнов, он предложил за пиццу 10 тысяч. В первые дни никто не принял предложение, потому что монеты, полученные от Ласло, были бы практически бесполезными. Наконец 22 мая 2010 года пользователь из Калифорнии заказал Ласло пиццу из сети пиццерий Papa Johns. Вскоре курьер постучал в дверь дома Ласло в пригороде Джэксонвилла, доставив ему две аппетитные пиццы.
Впоследствии Ласло принял еще несколько предложений о доставке, так что пару недель он питался только пиццей. Его двухлетняя дочь была в восторге, но запас биткойнов у Ласло заметно уменьшился. Как бы то ни было, этот эксперимент показал, что биткойны можно использовать в реальном мире. Когда Ласло опубликовал фотографии одного из своих заказов, Марти Малми обрадовался: "Поздравляю, Ласло, это важный рубеж".
Ласло доказал, что за биткойны можно покупать реальные товары, но Биткойн все еще оставался во многом волонтерской инициативой, успех которой зависел от энтузиазма пользователей. Наверное, самым заметным проектом из реализованных в те месяцы стал биткойн-кран – сайт, отправляющий 5 бесплатных биткойнов любому зарегистрировавшемуся пользователю. Разработал кран программист из Массачусетса по имени Гэвин Андресен, который раздал 10 тысяч биткойнов, купленных за 50 долларов. Впоследствии Гэвин приобрел почти мифический статус в сообществе. Он узнал о Биткойне в мае из небольшой заметки на сайте InfoWorld. Гэвин признавал, что раздавать биткойны из крана – странная идея, потому что их совсем несложно сгенерировать самому. Однако, как он писал на форумах, "Далеко не все новые пользователи готовы сидеть у компьютера и ждать, пока узел сгенерирует монеты, а купить их не так-то просто. Я подумал, что шансы проекта на успех вырастут, если люди смогут легко и просто получить несколько биткойнов, просто чтобы попробовать, что это такое".
Гэвин, элегантный 44-летний мужчина с располагающим к себе видом добропорядочного главы семейства, недавно вернулся с семьей из Австралии, где его жена, профессор геологии, вела научные исследования. Гэвин оставил свою университетскую работу перед отъездом в Австралию и искал проект, к которому ему захотелось бы присоединиться.
Узнав о Биткойне, он немедленно нашел оригинальную статью Сатоши и форум, который он целиком прочитал за несколько часов. Концепция Биткойна привлекла его отчасти по тем же политическим причинам, что и Марти. Гэвин вырос в либеральной семье и на первой работе под влиянием красноречивого коллеги примкнул к либертарианцам. Это привило ему естественный интерес к свободному рынку – неудивительно, что он заинтересовался и Биткойном.
Однако политика занимала второстепенное место в жизни Гэвина, и, в отличие от многих либертарианцев, он не считал золотой стандарт очень уж хорошей идеей. Его привлекла в Биткойне концептуальная элегантность децентрализованной сети и ПО с открытым исходным кодом, которое обновляли и обслуживали все пользователи, а не один автор. Программистская карьера Гэвина привила ему уважение к децентрализованным системам, но это никак не было связано с неприязнью по отношению к правительству или корпоративной Америке. Для Гэвина мощь децентрализованных технологий заключалась прежде всего в повседневных преимуществах ПО и сетей, не зависящих от одного человека или компании.
Децентрализованные системы вроде Интернета и Википедии позволяют задействовать знания и умения всех их пользователей, в отличие от сети AOL или энциклопедии "Британника". Принятие решений в таких системах может отнимать больше времени, но итоговые решения получаются более качественными и обоснованными. Кроме того, участники децентрализованной сети заинтересованы в поддержании ее работоспособности. Если в момент возникновения проблемы создатель приложения недоступен, ее решением могут заняться другие пользователи. Наконец в такой системе нет единой точки отказа, благодаря чему она надежнее. В некотором смысле эти причины похожи на политические доводы за то, чтобы отнять власть у центральных правительств: политическая власть работает лучше, если она распределена между большим количеством людей, а не сосредоточена в руках одного лидера. Адвокаты ПО с открытым исходным кодом не настолько озабочены идеологией, как либертарианцы, но все же эти движения во многом похожи.
Децентрализованные технологии оказались естественным выбором для Гэвина. Несмотря на отличное образование, полученное в Принстонском университете, он был вполне доволен своим статусом странствующего программиста, работающего то над трехмерной графикой, то над интернет-телефонией. Гэвин всегда выбирал то, что ему было интересно, а не то, что обещало наибольшее вознаграждение или успех.
Гэвин написал Сатоши несколько писем с предложениями улучшений, чтобы присоединиться к проекту, и вскоре стал третьим человеком после Сатоши и Марти, официально внесшим изменение в код Биткойна.
Еще ценнее, чем навыки программирования, были доброжелательность и надежность Гэвина. Пожалуй, на тот момент Биткойн нуждался в них даже больше, чтобы завоевать доверие новых пользователей, особенно если учесть, что Сатоши оставался в тени. Да, исходный код ПО Биткойна был открыт, чтобы пользователям не нужно было кому-либо доверять, но все равно люди не торопились инвестировать реальные деньги в сеть, которой заправляли какие-то анонимные оппозиционеры.
Гэвин стал лицом Биткойна, сделав его более привлекательным для обычных людей. Он одним из первых стал использовать на форуме свои реальные данные, взяв псевдоним "gavinandresen" и добавив собственную фотографию с обезоруживающей улыбкой. На форумах он вел себя как доброжелательный учитель, всегда готовый просто и доступно ответить на любые вопросы, и гасил политические споры, которые иногда разгорались между пользователями с ярко выраженными убеждениями. Для Гэвина это было привычно. В Амхерсте, штат Массачусетс, он работал в городском совете, куда его избирали несколько раз. Амхерст – университетский городок, где тон задавали сторонники социалистических воззрений, и Гэвин расходился во взглядах со многими его жителями. Но в итоге он научился избегать стычек и находить компромиссы, что вскоре станет очень важно для молодого биткойн-сообщества.