Кто и в каком направлении развивает биткойн-протокол? Какие возможности открывает Bitcoin для страхования и краудфандинга? Почему криптовалюту в скором времени будут использовать все — от депутатов до домохозяек? На эти и другие вопросы отвечает энтузиаст виртуальных денег, разработчик собственного варианта биткойн-кошелька Олег Андреев.
Что представляет собой биткойн-протокол? Кто занимается его поддержкой и развитием?
— Протокол — это набор правил, по которым любой компьютер может выяснить, какая история транзакций является «правильной», какие транзакции корректные, какие деньги и как можно потратить, а какие — нет. Есть несколько реализаций биткойн-протокола для разных языков программирования и платформ. Самая первая, изначально написанная Сатоши Накамото, считается «главной». Ею пользуются все, кто должен иметь так называемый «полный узел», т.е. хранить все-все транзакции и автономно их проверять. До недавнего времени эта реализация называлась Bitcoin-QT, или Satoshi Client. Сейчас ее переименовали в Bitcoin Core.
Кто именно имеет «полный узел»?
— Это делают обычные пользователи: скачивают Bitcoin Core с сайта bitcoin.org, запускают его на своем компьютере и поддерживают сеть, удостоверяя транзакции и передавая их от узла к узлу. Они составляют важную часть p2p-сети. Единственное, что нужно выделить довольно много места на диске под это.
Возвращаемся к разработчикам протокола: кто они?
— Команда людей, которые активно участвуют в разработке и исправлениях в основной реализации, называется core developers. Эти люди выпускают и подписывают готовые сборки приложения для пользователей. Есть миф, что разработчики могут «поменять правила игры в любой момент», «напечатать еще денег» и т.п. Если бы кто-то мог, он бы это уже давно сделал. Количество биткойнов и правила, по которым они выпускаются, проверяются каждым узлом, поэтому личное мнение какого-то отдельного узла ни на что не влияет. Биткойн имеет ценность лишь потому, что все участники системы видят его одинаково. Поэтому кто именно входит в core dev team — не очень важно. До недавнего времени ею руководил американец Гэвин Андерсон, которому зарплату платит самопровозглашенная НКО Bitcoin Foundation (никакого отношения к Сатоши не имеющая). Но Гэвин отошел от ежедневного курирования [разработки], и теперь этим занимается голландец Владимир Ван-дер-Лаан. По-моему, Bitcoin Foundation, кроме Гэвина, никому из остальных разработчиков зарплату не платит.
Как организована работа этой команды?
— Работа построена так: любой желающий скачивает код с GitHub, разбирается в нем, предлагает усовершенствование, обсуждает его с остальными разработчиками, и затем оно попадает или не попадает в основной код. Если усовершенствование не принято, его можно держать в своей копии («форке») кода, который любой заинтересованный человек сможет использовать. Или можно начать собственную реализацию, как это сделал я.
Особенность биткойна в том, что каждый участвующий компьютер должен соблюдать те же правила, байт в байт, что и другие компьютеры. «Небольшая» несовместимость между версиями или реализациями недопустима (в отличие от многих других протоколов, таких как, например, HTTP или HTML). Обусловлено это тем, что все узлы пытаются договориться о единой истории всех транзакций. Если ваш компьютер не примет хотя бы одну единственную транзакцию как корректную или, наоборот, примет какую-то транзакцию, которую не примут все остальные, то его «точка зрения» на историю безвозвратно разойдется с остальными («форкнется»).
Эта особенность накладывает ограничение на то, что могут делать разработчики. Каждый может вносить какие угодно изменения и предложить людям пользоваться его кодом, но если эти изменения не совместимы с 99,9% остальных реализаций, то никто не будет ими пользоваться.
Т.е. все пользователи и разработчики совершенно равноправны. За исключением одной незначительной детали. В коде Сатоши изначально был указан публичный ключ, проверяющий так называемые alert messages, сообщения, которые появляются в окошке и передаются всеми узлами друг другу. Это сообщение очень редко посылается, чтобы предупредить пользователей о глобальной проблеме. Как в марте прошлого года, когда половина узлов стала майнить альтернативную копию цепочки блоков из-за ошибки в коде. Чтобы никто не мог пугать народ почем зря или спамить, это сообщение подписано ключом, который принадлежит Сатоши и Гэвину (Сатоси выдал ключ Гэвину перед тем, как исчезнуть). Это наибольшая привилегия, которая есть в биткойне, и она не несет никакой угрозы для кого-либо.
Какие усовершенствования протокола были сделаны в последнее время?
— Были сделаны исправления в части защиты от DoS-атак (Denial of service — «отказ в обслуживании»), чтобы злодеям было сложнее атаковать узлы и препятствовать распространению и проверке транзакций. Еще одно недавнее усовершенствование — реализация BIP70 (BIP — Bitcoin Improvement Proposal, предложение по изменению чего-нибудь в клиенте или протоколе). Это более хитрый и безопасный способ платежа в интернете, чем просто посылка на адрес. По сути, опциональная надстройка над текущим протоколом, позволяющая проверить личность продавца и передать кошельку пользователя дополнительную информацию о заказе.
Кроме того, были сделаны очередные изменения в том, какие транзакции считаются «стандартными». Это транзакции, соответствующие небольшому набору часто используемых предикатов («скриптов»). Самый простой предикат — это «только владелец такого-то ключа может потратить эти деньги». Более сложный предикат может предусматривать такое условие, как «любые два из трех владельцев этих ключей могут потратить деньги» (называется multisignature script). В последней версии 0.9 в их число вошел специальный вид контракта для хранения небольшого количества дополнительной информации (до 40 байт) как ссылки на какой-нибудь внешний документ — счет-фактуру, договор или еще что-нибудь.
Иными словами, теперь станет проще реализовывать дополнительные протоколы на основе биткойна, не только платежные системы. Потому что биткойн — это в первую очередь система глобального консенсуса; платежная система — лишь один из способов ее использования.
Уже есть другие способы?
— Есть разные экспериментальные сервисы, некоторые довольно интересны. Это система микроплатежей на основе биткойна, в частности, для компьютерных сервисов, которые друг другу платят за предоставленные услуги и потраченные ресурсы. Далее, это взаимное страхование контрактов с помощью блокирования симметричных депозитов с обеих сторон в одной атомарной транзакции. Так можно страховать договоры без третьих сторон вообще. Еще один сервис — система краудфандинга с голосованием стейкхолдеров. Он предназначен для того, чтобы менеджерам можно было порционно выдавать деньги, при нужном количестве голосов, или раздать обратно инвесторам, или вообще контролировать, на что они идут. Сейчас же компании держатся на честном слове топ-менеджеров и часто страдают от этого.
Расскажите, пожалуйста, чем отличаются имеющиеся кошельки друг от друга. В чем заключаются ограничения интернет-кошельков?
— Есть несколько видов кошельков, отличающихся степенью надежности. Первый — это веб-приложение, такое как Coinbase, Bitcoin-central, Bitstamp и пр. В нем пользователь не имеет эксклюзивного доступа к секретным ключам и полностью доверяет компании, которая ими владеет.
Второй уровень — «легковесный» кошелек типа Electrum, Blockchain.info, Multibit, различные приложения на мобильниках. Эти кошельки хранят только ключи и должны делать запросы на сервер, чтобы узнать баланс. В такой системе нет риска, что какой-то сервер украдет у вас деньги, но нужно надежно зашифровать свои ключи хорошим паролем и защищать компьютер от вирусов. Единственный риск — DoS-атака. Если сервер окажется недоступен, а кошелек не знает, какие монетки он может потратить, то ими нельзя будет воспользоваться. Скажем, Blockchain.info недавно пару раз падал, и я не мог тратить свои деньги из их приложения. Я мог бы, конечно, экспортировать ключи и вставить в другой кошелек и получить к ним доступ, но вот прямо в магазине на улице это за одну минуту не проделаешь. Electrum, кстати, использует несколько серверов, так что если один упадет, можно через другой послать транзакцию.
Третий вариант — полный клиент. Он хранит всю историю транзакций, точно знает, что он может тратить, и подключается к десяткам других таких же узлов, чтобы распространять информацию. Как и во втором случае, нужно лишь избегать вирусов и заботиться о сохранности ключей — деньги просто так никто у вас взять не сможет. Вдобавок нет зависимости от одного или нескольких серверов — ваш кошелек посылает транзакцию напрямую всем остальным узлам.
Одно из слабых звеньев биткойн-экосистемы — это биржи, которые периодически закрываются, теряя деньги пользователей. Как застраховаться от подобных рисков?
— Биржи в первую очередь позволяют купить биткойны за обычную валюту с помощью банковских переводов. Из-за простоты реализации и возможности быстрого трейдинга все биткойны лежат на ключах биржи. Это создает большой риск, так как на бирже хранится огромное количество реальных суперликвидных денег, которые так и хочется украсть разным личностям. Если кто-то переведет с вашего счета доллары, их еще можно запросить обратно у банка, но если биткойны украдены, то вернуть их почти невозможно без знания, кто их стащил, и доказательств.
Поэтому я рекомендую поступать следующим образом: перевести доллары на биржу, купить биткойны и сразу же перевести их на нормальный кошелек, ключи от которого принадлежат только вам.
Аналогично следует действовать при продаже. Плюс нужно это делать не сразу со всеми деньгами, а по частям. Если в процессе что-то сломается, биржу взломают, кошелек украдут, то будет утрачена лишь часть суммы.
Это, конечно, несовместимо с дейтрейдингом, но зато и рисков нет в том смысле, что отсутствуют системные риски в результате доверия большой суммы денег неизвестным сисадминам. Если ключи у вас, риск существует только персональный (если забудете создать резервную копию кошелька, или забудете пароль, или поймаете вирус и т.д.). А «трейдят» пускай те, кто понимает все риски. Уже много бирж, включая долголетний MtGox, закрылось из-за взломов или ситуаций «я-все-потерял-не-знаю-куда».
Считаете ли вы вероятным, что однажды майнеры потеряют интерес к своей деятельности и прекратят ее в связи с тем, что затраты на вычисления сильно возрастут, а вознаграждение снизится? Что в этом случае произойдет с системой?
— Система адаптирует сложность proof-of-work к реальной нагрузке. Сейчас экспоненциально растут как вычислительные мощности, так и сложность задач. Если производство биткойнов станет менее выгодным, то те, кто отключатся, просто уступят свой кусок пирога остальным и сделают добычу пропорционально дешевле.
В чем суть вашей собственной разработки? Для кого она предназначена?
— У меня есть своя реализация протокола специально для Mac и iOS — CoreBitcoin (название было выбрано и опубликовано задолго до того, как разработчики основного кошелька переименовали его из Bitcoin-QT в Bitcoin Core). Она представляет собой набор инструментов для программистов, необходимый при работе с транзакциями, ключами и контрактами. Это еще не пользовательский код, т.е. он не позволяет запустить свой собственный «полный узел». Но для легковесного кошелька вполне хватает.
Кто-то уже использовал ваш код для создания кошелька?
— Пока мне известна одна компания, сделавшая кошелек для iPhone с помощью моей библиотеки, — BitWallet. Я лично к этому приложению не имею отношения. Мой собственный кошелек (т.е. графическое приложение для пользователей) еще не опубликован и находится в стадии разработки.
Для чего лично вы используете биткойны?
— Для меня это долгосрочная инвестиция, а также реальная поддержка того, во что веришь, в отношении моих политических взглядов.
Верите ли вы в рост курса биткойна по отношению к традиционным валютам?
— Да. Биткойн рано или поздно вытеснит все госвалюты и золото в силу их принципиальных несовершенств. Один биткойн может стоить миллионы и десятки миллионов долларов. Правда, на том этапе доллара как такового уже, скорее всего, не будет из-за его гиперинфляции (связанной, в частности, с оттоком капитала в биткойн).
Прогнозы относительно времени давать не берусь — все зависит от каждого из нас. Биткойн-революция может завершиться через месяц, если мы все будем быстры и умны, или через 100 лет, если мы будем тормозить.
Менее жизненно важные технологии типа веба, социальных сетей и смартфонов распространяются по всему миру за какие-то 5–10 лет. И биткойн попадет к обычному пользователю точно не медленнее них. Тем более что каждый купивший биткойн становится его пропагандистом, предпринимателем и активным союзником себе подобным, даже если они его конкуренты в бизнесе. Эту волну не остановить.
http://bitnovosti.com/2014/05/30/sistema-globalnogo-konsensusa/
Что представляет собой биткойн-протокол? Кто занимается его поддержкой и развитием?
— Протокол — это набор правил, по которым любой компьютер может выяснить, какая история транзакций является «правильной», какие транзакции корректные, какие деньги и как можно потратить, а какие — нет. Есть несколько реализаций биткойн-протокола для разных языков программирования и платформ. Самая первая, изначально написанная Сатоши Накамото, считается «главной». Ею пользуются все, кто должен иметь так называемый «полный узел», т.е. хранить все-все транзакции и автономно их проверять. До недавнего времени эта реализация называлась Bitcoin-QT, или Satoshi Client. Сейчас ее переименовали в Bitcoin Core.
Кто именно имеет «полный узел»?
— Это делают обычные пользователи: скачивают Bitcoin Core с сайта bitcoin.org, запускают его на своем компьютере и поддерживают сеть, удостоверяя транзакции и передавая их от узла к узлу. Они составляют важную часть p2p-сети. Единственное, что нужно выделить довольно много места на диске под это.
Возвращаемся к разработчикам протокола: кто они?
— Команда людей, которые активно участвуют в разработке и исправлениях в основной реализации, называется core developers. Эти люди выпускают и подписывают готовые сборки приложения для пользователей. Есть миф, что разработчики могут «поменять правила игры в любой момент», «напечатать еще денег» и т.п. Если бы кто-то мог, он бы это уже давно сделал. Количество биткойнов и правила, по которым они выпускаются, проверяются каждым узлом, поэтому личное мнение какого-то отдельного узла ни на что не влияет. Биткойн имеет ценность лишь потому, что все участники системы видят его одинаково. Поэтому кто именно входит в core dev team — не очень важно. До недавнего времени ею руководил американец Гэвин Андерсон, которому зарплату платит самопровозглашенная НКО Bitcoin Foundation (никакого отношения к Сатоши не имеющая). Но Гэвин отошел от ежедневного курирования [разработки], и теперь этим занимается голландец Владимир Ван-дер-Лаан. По-моему, Bitcoin Foundation, кроме Гэвина, никому из остальных разработчиков зарплату не платит.
Как организована работа этой команды?
— Работа построена так: любой желающий скачивает код с GitHub, разбирается в нем, предлагает усовершенствование, обсуждает его с остальными разработчиками, и затем оно попадает или не попадает в основной код. Если усовершенствование не принято, его можно держать в своей копии («форке») кода, который любой заинтересованный человек сможет использовать. Или можно начать собственную реализацию, как это сделал я.
Особенность биткойна в том, что каждый участвующий компьютер должен соблюдать те же правила, байт в байт, что и другие компьютеры. «Небольшая» несовместимость между версиями или реализациями недопустима (в отличие от многих других протоколов, таких как, например, HTTP или HTML). Обусловлено это тем, что все узлы пытаются договориться о единой истории всех транзакций. Если ваш компьютер не примет хотя бы одну единственную транзакцию как корректную или, наоборот, примет какую-то транзакцию, которую не примут все остальные, то его «точка зрения» на историю безвозвратно разойдется с остальными («форкнется»).
Эта особенность накладывает ограничение на то, что могут делать разработчики. Каждый может вносить какие угодно изменения и предложить людям пользоваться его кодом, но если эти изменения не совместимы с 99,9% остальных реализаций, то никто не будет ими пользоваться.
Т.е. все пользователи и разработчики совершенно равноправны. За исключением одной незначительной детали. В коде Сатоши изначально был указан публичный ключ, проверяющий так называемые alert messages, сообщения, которые появляются в окошке и передаются всеми узлами друг другу. Это сообщение очень редко посылается, чтобы предупредить пользователей о глобальной проблеме. Как в марте прошлого года, когда половина узлов стала майнить альтернативную копию цепочки блоков из-за ошибки в коде. Чтобы никто не мог пугать народ почем зря или спамить, это сообщение подписано ключом, который принадлежит Сатоши и Гэвину (Сатоси выдал ключ Гэвину перед тем, как исчезнуть). Это наибольшая привилегия, которая есть в биткойне, и она не несет никакой угрозы для кого-либо.
Какие усовершенствования протокола были сделаны в последнее время?
— Были сделаны исправления в части защиты от DoS-атак (Denial of service — «отказ в обслуживании»), чтобы злодеям было сложнее атаковать узлы и препятствовать распространению и проверке транзакций. Еще одно недавнее усовершенствование — реализация BIP70 (BIP — Bitcoin Improvement Proposal, предложение по изменению чего-нибудь в клиенте или протоколе). Это более хитрый и безопасный способ платежа в интернете, чем просто посылка на адрес. По сути, опциональная надстройка над текущим протоколом, позволяющая проверить личность продавца и передать кошельку пользователя дополнительную информацию о заказе.
Кроме того, были сделаны очередные изменения в том, какие транзакции считаются «стандартными». Это транзакции, соответствующие небольшому набору часто используемых предикатов («скриптов»). Самый простой предикат — это «только владелец такого-то ключа может потратить эти деньги». Более сложный предикат может предусматривать такое условие, как «любые два из трех владельцев этих ключей могут потратить деньги» (называется multisignature script). В последней версии 0.9 в их число вошел специальный вид контракта для хранения небольшого количества дополнительной информации (до 40 байт) как ссылки на какой-нибудь внешний документ — счет-фактуру, договор или еще что-нибудь.
Иными словами, теперь станет проще реализовывать дополнительные протоколы на основе биткойна, не только платежные системы. Потому что биткойн — это в первую очередь система глобального консенсуса; платежная система — лишь один из способов ее использования.
Уже есть другие способы?
— Есть разные экспериментальные сервисы, некоторые довольно интересны. Это система микроплатежей на основе биткойна, в частности, для компьютерных сервисов, которые друг другу платят за предоставленные услуги и потраченные ресурсы. Далее, это взаимное страхование контрактов с помощью блокирования симметричных депозитов с обеих сторон в одной атомарной транзакции. Так можно страховать договоры без третьих сторон вообще. Еще один сервис — система краудфандинга с голосованием стейкхолдеров. Он предназначен для того, чтобы менеджерам можно было порционно выдавать деньги, при нужном количестве голосов, или раздать обратно инвесторам, или вообще контролировать, на что они идут. Сейчас же компании держатся на честном слове топ-менеджеров и часто страдают от этого.
Расскажите, пожалуйста, чем отличаются имеющиеся кошельки друг от друга. В чем заключаются ограничения интернет-кошельков?
— Есть несколько видов кошельков, отличающихся степенью надежности. Первый — это веб-приложение, такое как Coinbase, Bitcoin-central, Bitstamp и пр. В нем пользователь не имеет эксклюзивного доступа к секретным ключам и полностью доверяет компании, которая ими владеет.
Второй уровень — «легковесный» кошелек типа Electrum, Blockchain.info, Multibit, различные приложения на мобильниках. Эти кошельки хранят только ключи и должны делать запросы на сервер, чтобы узнать баланс. В такой системе нет риска, что какой-то сервер украдет у вас деньги, но нужно надежно зашифровать свои ключи хорошим паролем и защищать компьютер от вирусов. Единственный риск — DoS-атака. Если сервер окажется недоступен, а кошелек не знает, какие монетки он может потратить, то ими нельзя будет воспользоваться. Скажем, Blockchain.info недавно пару раз падал, и я не мог тратить свои деньги из их приложения. Я мог бы, конечно, экспортировать ключи и вставить в другой кошелек и получить к ним доступ, но вот прямо в магазине на улице это за одну минуту не проделаешь. Electrum, кстати, использует несколько серверов, так что если один упадет, можно через другой послать транзакцию.
Третий вариант — полный клиент. Он хранит всю историю транзакций, точно знает, что он может тратить, и подключается к десяткам других таких же узлов, чтобы распространять информацию. Как и во втором случае, нужно лишь избегать вирусов и заботиться о сохранности ключей — деньги просто так никто у вас взять не сможет. Вдобавок нет зависимости от одного или нескольких серверов — ваш кошелек посылает транзакцию напрямую всем остальным узлам.
Одно из слабых звеньев биткойн-экосистемы — это биржи, которые периодически закрываются, теряя деньги пользователей. Как застраховаться от подобных рисков?
— Биржи в первую очередь позволяют купить биткойны за обычную валюту с помощью банковских переводов. Из-за простоты реализации и возможности быстрого трейдинга все биткойны лежат на ключах биржи. Это создает большой риск, так как на бирже хранится огромное количество реальных суперликвидных денег, которые так и хочется украсть разным личностям. Если кто-то переведет с вашего счета доллары, их еще можно запросить обратно у банка, но если биткойны украдены, то вернуть их почти невозможно без знания, кто их стащил, и доказательств.
Поэтому я рекомендую поступать следующим образом: перевести доллары на биржу, купить биткойны и сразу же перевести их на нормальный кошелек, ключи от которого принадлежат только вам.
Аналогично следует действовать при продаже. Плюс нужно это делать не сразу со всеми деньгами, а по частям. Если в процессе что-то сломается, биржу взломают, кошелек украдут, то будет утрачена лишь часть суммы.
Это, конечно, несовместимо с дейтрейдингом, но зато и рисков нет в том смысле, что отсутствуют системные риски в результате доверия большой суммы денег неизвестным сисадминам. Если ключи у вас, риск существует только персональный (если забудете создать резервную копию кошелька, или забудете пароль, или поймаете вирус и т.д.). А «трейдят» пускай те, кто понимает все риски. Уже много бирж, включая долголетний MtGox, закрылось из-за взломов или ситуаций «я-все-потерял-не-знаю-куда».
Считаете ли вы вероятным, что однажды майнеры потеряют интерес к своей деятельности и прекратят ее в связи с тем, что затраты на вычисления сильно возрастут, а вознаграждение снизится? Что в этом случае произойдет с системой?
— Система адаптирует сложность proof-of-work к реальной нагрузке. Сейчас экспоненциально растут как вычислительные мощности, так и сложность задач. Если производство биткойнов станет менее выгодным, то те, кто отключатся, просто уступят свой кусок пирога остальным и сделают добычу пропорционально дешевле.
В чем суть вашей собственной разработки? Для кого она предназначена?
— У меня есть своя реализация протокола специально для Mac и iOS — CoreBitcoin (название было выбрано и опубликовано задолго до того, как разработчики основного кошелька переименовали его из Bitcoin-QT в Bitcoin Core). Она представляет собой набор инструментов для программистов, необходимый при работе с транзакциями, ключами и контрактами. Это еще не пользовательский код, т.е. он не позволяет запустить свой собственный «полный узел». Но для легковесного кошелька вполне хватает.
Кто-то уже использовал ваш код для создания кошелька?
— Пока мне известна одна компания, сделавшая кошелек для iPhone с помощью моей библиотеки, — BitWallet. Я лично к этому приложению не имею отношения. Мой собственный кошелек (т.е. графическое приложение для пользователей) еще не опубликован и находится в стадии разработки.
Для чего лично вы используете биткойны?
— Для меня это долгосрочная инвестиция, а также реальная поддержка того, во что веришь, в отношении моих политических взглядов.
Верите ли вы в рост курса биткойна по отношению к традиционным валютам?
— Да. Биткойн рано или поздно вытеснит все госвалюты и золото в силу их принципиальных несовершенств. Один биткойн может стоить миллионы и десятки миллионов долларов. Правда, на том этапе доллара как такового уже, скорее всего, не будет из-за его гиперинфляции (связанной, в частности, с оттоком капитала в биткойн).
Прогнозы относительно времени давать не берусь — все зависит от каждого из нас. Биткойн-революция может завершиться через месяц, если мы все будем быстры и умны, или через 100 лет, если мы будем тормозить.
Менее жизненно важные технологии типа веба, социальных сетей и смартфонов распространяются по всему миру за какие-то 5–10 лет. И биткойн попадет к обычному пользователю точно не медленнее них. Тем более что каждый купивший биткойн становится его пропагандистом, предпринимателем и активным союзником себе подобным, даже если они его конкуренты в бизнесе. Эту волну не остановить.
http://bitnovosti.com/2014/05/30/sistema-globalnogo-konsensusa/