Мы не знаем, одобрил бы Сатоши разработку всех приложений из серии Blockchain 2.0, которые надстраиваются над его валютой и платежной системой, имеющими специализированный характер. Но в том, что всем этим новым способам организации бизнеса и общества теперь открыта дверь, он наверняка увидел бы способ снижения напряженности, которую демонстрирует комментарий Одома. Сатоши положил начало движению децентрализации, которое сегодня борется с предшествовавшей ему системой бизнеса и законодательства, что создает напряженность в социуме и одновременно в самом биткоиновом сообществе. Эта борьба станет предметом нашего разговора в следующей главе.
Глава 10
Белая ворона
Власть в своем высокомерии пытается обменять идеи на деньги.
ФРЭНК ЛЛОЙД РАЙТГэвин Андресен открыл дверь в свой обшарпанный офис, расположенный на втором этаже ничем не примечательного дома, прямо над кафе Dunkin’ Donuts в университетском городке Амхерсте (штат Массачусетс)[274]. В комнате не было почти ничего, кроме самодельного пластикового стола и компьютера Apple iMac. Неделей раньше он решил перенести офис из собственного дома, где проживал вместе с женой Мишель, профессором геологии в Массачусетском университете, и двумя детьми. Он решил, что человеку, фактически, пусть и не по должности, управляющему экономикой с оборотом в 8 миллиардов долларов, требуется нечто большее, чем домашний офис. Его новый офис и не отличался роскошной обстановкой, зато гарантировал своему хозяину никем не нарушаемую приватность. А сейчас ему именно это и требовалось.
Было 10 февраля 2014 года. Проверяя утром электронную почту, Андресен обнаружил, что почтовый ящик забит паническими сообщениями со всего мира. Ночью отчаянно борющаяся за выживание цифровая валютная биржа Mt. Gox – на этот раз действительно стоявшая в шаге от банкротства – предупредила о том, что в программном обеспечении биткоина обнаружен опасный баг, позволяющий хакерам создавать фейковые транзакции и требовать незаслуженные переводы. И теперь все, кто так или иначе был заинтересован в биткоине, ждали от Андресена помощи. Гибкость, обеспечиваемая нерегулируемой и не имеющей центров принятия решений структурой платежной системы биткоина, долгое время была одним из его главных преимуществ, однако сейчас все недостатки слабой управляемости вышли на поверхность.
Хотя открытый базовый код биткоина позволял любому желающему изучать его и предлагать свои улучшения и дополнения, лишь горстка людей, а конкретно пятеро представителей основной группы разработчиков имели пароли доступа к действующему коду базового протокола. А из этих пятерых наибольшую ответственность за функционирование платежной системы нес Андресен – сорокасемилетний старший научный сотрудник ведущей компании Bitcoin Foundation, управлявшей биткоиновой системой. Компания платила ему за координацию действий сотен разбросанных по миру программистов, работавших над совершенствованием открытого кода. Биткоиновое сообщество хотело получить ответы прямо сейчас, и в отсутствие CEO, технического директора или других представителей топ-менеджмента, к которым можно было бы обратиться, единственной их надеждой оставался Андресен. Что представлял собой этот баг – изменчивость транзакций, – о котором говорили представители биржи Mt. Gox? Насколько он опасен? Значит ли это, что блокчейн был взломан? Могут ли люди быть уверены, что их деньги в безопасности?
Придя в свой офис, Андресен потратил некоторое время на чтение тревожных сообщений, пытаясь определить причину возникших проблем. Ему казалось, что утверждение биржи Mt. Gox об изменчивости транзакций несколько подозрительно. Эту проблему обнаружили еще в 2011 году, и она активно обсуждалась на программистских форумах. Она касалась одной особенности прикладного программного обеспечения электронного кошелька, которое разрабатывалось одновременно с базовым протоколом. В течение непродолжительного времени после совершения транзакции хакер мог изменить идентификационный код таким образом, чтобы провести под ним более одной транзакции блоком. Теоретически это означало, что мошенник мог заставить биржу, например ту же Mt. Gox, думать, что такая транзакция никогда не существовала – в частности, представив дело таким образом, что она никогда не проходила через электронный кошелек мошенника, – и потребовать ее отмены. Но этот «фокус», как его любил называть Андресен, а именно изменчивость транзакций, отнюдь не был случайным багом или глюком. Это преднамеренно внесенное в код свойство, хотя и несколько сомнительное. Тем не менее проблема не возникла бы, если бы биржа придерживалась базовых принципов бухгалтерского учета и сопоставляла данные блокчейна с внутренними бухгалтерскими записями об исходящих биткоиновых платежах. Андресен был весьма удивлен, услышав, что СЕО Mt. Gox Марк Карпелес, завсегдатай тех самых программистских форумов, где проблема изменчивости транзакций обсуждалась во всех подробностях, либо не знал о проблеме, либо не желал о ней говорить.
Андресен пришел к выводу, что Mt. Gox неправильно интерпретировала и (или) преднамеренно преувеличила свои внутренние проблемы, недобросовестно и безосновательно свалив вину за них на биткоин. В корпоративном блоге Bitcoin Foundation он опубликовал пост, в котором высказал свое мнение. Пост назывался «Вопреки утверждениям Mt. Gox, биткоин не виноват в ее проблемах»[275]. В нем утверждалось, что базовый протокол биткоина корректен, а фирмам – владельцам электронных кошельков следует просто придерживаться «добросовестного подхода» в управлении ими.
Этот случай побудил Андресена раз и навсегда покончить с вопросом об изменчивости транзакций, решение которого ранее просто отложили в долгий ящик под давлением более насущных проблем. Программисты достигли согласия в том, что это явление, скорее всего, досадная неприятность, но его устранение связано с определенными техническими сложностями. Однако, насколько он мог судить, ничто не угрожало дееспособности базового протокола. Андресен пригласил нескольких своих коллег в видеочат в режиме реального времени и обсудил с ними этот вопрос. В частности, в разговоре приняли участие двое программистов из Европы, двое – из США, а также кое-кто из ведущих программистов, но особого ощущения срочности в разрешении проблемы не было. Такая атмосфера сохранялась до тех пор, пока не пришло еще одно сообщение от Грегори Максвелла – программиста из Маунтин-Вью (штат Калифорния), на добровольных началах занимавшегося разработкой программ для биткоина.
Накануне вечером Максвелл поговорил с Карпелесом, затем провел некоторые изыскания и понял, что проблема со стандартным программным обеспечением электронного кошелька действительно есть, причем, похоже, большая. Он считал, что это дает ловкому хакеру возможность войти в книгу записей транзакций и внести мошеннические изменения. Интересно, что хакер может превратить фокус с изменчивостью транзакций в некий вид DDOS-атаки (распределенный отказ в обслуживании) и зафлудить сеть фальшивыми кодами транзакций. Как позднее заметил Андресен, это была одна из тех проблем, которая «находится на самом видном месте». Целостность блокчейна сама по себе не пострадала, поскольку причины изменчивости транзакций и багов крылись в дополнительном программном обеспечении электронного кошелька, но не в базовом протоколе, который определяет порядок майнинга и управление блокчейном. Тем не менее биржи и прочие бизнесы, часто проводившие биткоиновые транзакции, сталкивались с многочисленными случаями мошеннических требований о переводе средств. Биткоиновая сеть оставалась в безопасности, а вот биткоиновая экосистема, сложившаяся вокруг нее, находилась в плачевном состоянии из-за багов, внедрившихся в оригинальное программное обеспечение, разработанное Сатоши Накамото. Андресен говорил нам, что создатель биткоина был блестящим программистом-одиночкой, но при этом довольно небрежным оператором, никогда не подвергавшим свой код тщательному тестированию, которое составляет львиную долю работы в программировании.
Накамото сам – или тот (или те), кого представлял анонимный участник чата, – выбрал жизнерадостного очкарика Андресена на его нынешнюю должность. В первые дни после создания биткоина приехавший из Австралии программист поддерживал непрерывную связь с его хранившим инкогнито создателем, причем предметом обсуждения были гораздо более серьезные проблемы, чем вышеописанная. В 2010 году кто-то без особого шума предупредил их обоих о том, что баг в программе позволит кое-кому тратить принадлежащие другим биткоины. Накамото не стал разглашать эту информацию и откорректировал программу, а затем сообщил зарождающемуся биткоиновому сообществу о том, что отныне они будут использовать новую версию кода. Вскоре после этого Накамото, проконсультировавшись с еще одним ведущим программистом, Джеффом Гарзиком, решил, что Андресен должен стать координатором небольшой группы ведущих программистов, работающих непосредственно с базовым протоколом и имеющих к нему доступ. По словам Андресена, Накамото сказал, что его выбрали на эту роль благодаря спокойному характеру.
Но теперь программист почувствовал, что его