Эпоха криптовалют. Как биткоин и блокчейн меняют мировой экономический порядок - Кейси Майкл
Шрифт:
Интервал:
Хотя открытый базовый код биткоина позволял любому желающему изучать его и предлагать свои улучшения и дополнения, лишь горстка людей, а конкретно пятеро представителей основной группы разработчиков имели пароли доступа к действующему коду базового протокола. А из этих пятерых наибольшую ответственность за функционирование платежной системы нес Андресен – сорокасемилетний старший научный сотрудник ведущей компании Bitcoin Foundation, управлявшей биткоиновой системой. Компания платила ему за координацию действий сотен разбросанных по миру программистов, работавших над совершенствованием открытого кода. Биткоиновое сообщество хотело получить ответы прямо сейчас, и в отсутствие CEO, технического директора или других представителей топ-менеджмента, к которым можно было бы обратиться, единственной их надеждой оставался Андресен. Что представлял собой этот баг – изменчивость транзакций, – о котором говорили представители биржи Mt. Gox? Насколько он опасен? Значит ли это, что блокчейн был взломан? Могут ли люди быть уверены, что их деньги в безопасности?
Придя в свой офис, Андресен потратил некоторое время на чтение тревожных сообщений, пытаясь определить причину возникших проблем. Ему казалось, что утверждение биржи Mt. Gox об изменчивости транзакций несколько подозрительно. Эту проблему обнаружили еще в 2011 году, и она активно обсуждалась на программистских форумах. Она касалась одной особенности прикладного программного обеспечения электронного кошелька, которое разрабатывалось одновременно с базовым протоколом. В течение непродолжительного времени после совершения транзакции хакер мог изменить идентификационный код таким образом, чтобы провести под ним более одной транзакции блоком. Теоретически это означало, что мошенник мог заставить биржу, например ту же Mt. Gox, думать, что такая транзакция никогда не существовала – в частности, представив дело таким образом, что она никогда не проходила через электронный кошелек мошенника, – и потребовать ее отмены. Но этот «фокус», как его любил называть Андресен, а именно изменчивость транзакций, отнюдь не был случайным багом или глюком. Это преднамеренно внесенное в код свойство, хотя и несколько сомнительное. Тем не менее проблема не возникла бы, если бы биржа придерживалась базовых принципов бухгалтерского учета и сопоставляла данные блокчейна с внутренними бухгалтерскими записями об исходящих биткоиновых платежах. Андресен был весьма удивлен, услышав, что СЕО Mt. Gox Марк Карпелес, завсегдатай тех самых программистских форумов, где проблема изменчивости транзакций обсуждалась во всех подробностях, либо не знал о проблеме, либо не желал о ней говорить.
Андресен пришел к выводу, что Mt. Gox неправильно интерпретировала и (или) преднамеренно преувеличила свои внутренние проблемы, недобросовестно и безосновательно свалив вину за них на биткоин. В корпоративном блоге Bitcoin Foundation он опубликовал пост, в котором высказал свое мнение. Пост назывался «Вопреки утверждениям Mt. Gox, биткоин не виноват в ее проблемах»[275]. В нем утверждалось, что базовый протокол биткоина корректен, а фирмам – владельцам электронных кошельков следует просто придерживаться «добросовестного подхода» в управлении ими.
Этот случай побудил Андресена раз и навсегда покончить с вопросом об изменчивости транзакций, решение которого ранее просто отложили в долгий ящик под давлением более насущных проблем. Программисты достигли согласия в том, что это явление, скорее всего, досадная неприятность, но его устранение связано с определенными техническими сложностями. Однако, насколько он мог судить, ничто не угрожало дееспособности базового протокола. Андресен пригласил нескольких своих коллег в видеочат в режиме реального времени и обсудил с ними этот вопрос. В частности, в разговоре приняли участие двое программистов из Европы, двое – из США, а также кое-кто из ведущих программистов, но особого ощущения срочности в разрешении проблемы не было. Такая атмосфера сохранялась до тех пор, пока не пришло еще одно сообщение от Грегори Максвелла – программиста из Маунтин-Вью (штат Калифорния), на добровольных началах занимавшегося разработкой программ для биткоина.
Накануне вечером Максвелл поговорил с Карпелесом, затем провел некоторые изыскания и понял, что проблема со стандартным программным обеспечением электронного кошелька действительно есть, причем, похоже, большая. Он считал, что это дает ловкому хакеру возможность войти в книгу записей транзакций и внести мошеннические изменения. Интересно, что хакер может превратить фокус с изменчивостью транзакций в некий вид DDOS-атаки (распределенный отказ в обслуживании) и зафлудить сеть фальшивыми кодами транзакций. Как позднее заметил Андресен, это была одна из тех проблем, которая «находится на самом видном месте». Целостность блокчейна сама по себе не пострадала, поскольку причины изменчивости транзакций и багов крылись в дополнительном программном обеспечении электронного кошелька, но не в базовом протоколе, который определяет порядок майнинга и управление блокчейном. Тем не менее биржи и прочие бизнесы, часто проводившие биткоиновые транзакции, сталкивались с многочисленными случаями мошеннических требований о переводе средств. Биткоиновая сеть оставалась в безопасности, а вот биткоиновая экосистема, сложившаяся вокруг нее, находилась в плачевном состоянии из-за багов, внедрившихся в оригинальное программное обеспечение, разработанное Сатоши Накамото. Андресен говорил нам, что создатель биткоина был блестящим программистом-одиночкой, но при этом довольно небрежным оператором, никогда не подвергавшим свой код тщательному тестированию, которое составляет львиную долю работы в программировании.
Накамото сам – или тот (или те), кого представлял анонимный участник чата, – выбрал жизнерадостного очкарика Андресена на его нынешнюю должность. В первые дни после создания биткоина приехавший из Австралии программист поддерживал непрерывную связь с его хранившим инкогнито создателем, причем предметом обсуждения были гораздо более серьезные проблемы, чем вышеописанная. В 2010 году кто-то без особого шума предупредил их обоих о том, что баг в программе позволит кое-кому тратить принадлежащие другим биткоины. Накамото не стал разглашать эту информацию и откорректировал программу, а затем сообщил зарождающемуся биткоиновому сообществу о том, что отныне они будут использовать новую версию кода. Вскоре после этого Накамото, проконсультировавшись с еще одним ведущим программистом, Джеффом Гарзиком, решил, что Андресен должен стать координатором небольшой группы ведущих программистов, работающих непосредственно с базовым протоколом и имеющих к нему доступ. По словам Андресена, Накамото сказал, что его выбрали на эту роль благодаря спокойному характеру.
Но теперь программист почувствовал, что его стрессоустойчивость подвергается серьезному испытанию. Он беспокоился о том, что на фоне внимания, которое Mt. Gox привлекла к проблеме изменчивости транзакций, кому-нибудь придет в голову вступить в игру и воспользоваться багом, идентифицированным Максвеллом. Глубоко укоренившуюся проблему не так-то просто «вычистить» из программы: для этого требуется проделать большой объем работ по программированию, а затем тестированию программы. Тем временем в глобальном биткоиновом сообществе царил переполох. Mt. Gox не только выявила этот баг, но и вынуждена была заморозить счета клиентов, что еще больше способствовало распространению паники. Андресен работал до поздней ночи, консультируясь с программистами в видеочате по поводу возможных мер по защите сети. В два часа ночи он разослал распоряжения провести на следующий день ремонтные работы остальным четырем членам его команды, находившимся в Маунтин-Вью, Атланте, Цюрихе и Эйндховене (Нидерланды). Наконец-то можно было поспать.
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!