Даже блокчейн-системы могут быть взломаны. О том, чему научила разработчиков история с the DAO, и какие риски несут в себе распределенные системы, в интервью CoinFox рассказал архитектор криптотехнологий QIWI Алексей Трошичев.
CoinFox: Криптовалютное сообщество было взбудоражено сообщениями о том, что из проекта DAO были выведены 3 641 694 единицы ether. Значит ли это, что системы, построенные на открытых блокчейнах, опасны, и как участники могут себя обезопасить?
Алексей Трошичев: Ошибка, допускающая такую атаку, находилась не блокчейн-платформе, а в инструменте для разработки смарт-контрактов. Этот инструмент, язык Solidity, очень упрощает процедуру разработки, делая слабые места в контрактах не очевидными (что, собственно, свойственно всем инструментам, упрощающим разработку). И конкретно в DAO такая ошибка была, как сейчас выясняется, не одна. Три основных вывода, которые следует сделать из этого инцидента:
1. Понятна цена ошибки при работе с системами, в которых нет централизованного управления, которые нельзя остановить, «дернуть рубильник».
2. Необходимо производить анализ рисков и выстраивать в соответствии с этим архитектуру. Одной из причин таких катастрофических последствий была ошибка в архитектуре, образно говоря, все яйца были собраны одной корзине, риски по которой не были хеджированы. Если говорить о рисках в экспериментальных системах, хороший, по-моему, пример — аэрокосмическая отрасль. Никто не гарантирует, взлетит ракета или нет. С высокой долей вероятности она взлетит, но все равно перед каждым стартом вся космическая миссия страхуется на огромные деньги. А здесь, как я понимаю, не было никаких попыток хотя бы оценить катастрофический сценарий, проанализировать возможные риски.
3. Если система с открытым исходным кодом, это не гарантирует, что она безопасна.
CoinFox: Наносит ли такая атака на DAO репутационный ущерб самой системе Ethereum?
Алексей Трошичев: Да, происходящее похоже на то, что происходило с биткоином: во время его предыдущего взлета развалилась биржа Mt. Gox, во многом из-за ошибок во внутренней организации биржи. Это ударило по биткоину в плане имиджа, но сама технология продолжает жить и здравствовать.
Один из минусов Ethereum в том, что это очень свежая технология, и опытных разработчиков контрактов, если не считать тех людей, которые эту систему писали, можно сосчитать по пальцам. То, что произошло, ударит по Ethereum как по бренду, но технологических проблем, которые бы мешали Ethereum продолжить работу, я не вижу.
Удар может быть сильнее, чем в случае Mt. Gox, потому что связи Ethereum с бизнесом сильнее. Биткоин же с самого начала позиционировался как система, которая не зависит ни от кого и ни от чего, и разработчики биткоина не особо стремились участвовать в сложившихся бизнес-процессах (банках, биржах), как это происходит с Ethereum.
CoinFox: Каковы плюсы и минусы публичных блокчейн-систем?
Алексей Трошичев: Если продолжать про DAO, то плюс в том, что можно в деталях изучить, что же конкретно произошло, и сделать выводы. Развитие атаки, ошибка, которая была проэксплуатирована — это находится на виду у всех, включая разработчиков, которые будут разрабатывать новые контракты. Это учебник по тому, как делать не надо.
Если говорить про плюсы и минусы публичных блокчейн-систем, самые популярные из которых — это биткоин и Ethereum, то у биткоина к основным плюсам можно отнести ликвидность: самая популярная и самая торгуемая из всех криптовалют.
Вторым плюсом является его технологическая зрелость: биткоин существует почти 10 лет, за которые он, кажется, наступил уже на все возможные грабли: понятны его возможности и, главное, пределы его возможностей. Из минусов это проблемы со скоростью обработки транзакций и масштабируемостью. Сейчас активно изучаются пути решения этих проблем, но осязаемых результатов пока не видно. Возможно, в этом — следующем году ситуация изменится в лучшую сторону.
Одна из проблем распределенных систем в их главном плюсе — распределенности, как бы парадоксально это не звучало. Все решения касательно изменения системы принимаются исключительно консенсусом майнеров. В случае обновления протокола необходимо добиться, чтобы большинство майнеров начало использовать это обновление, желательно одновременно. О том, как это работает, можно сделать вывод, изучив историю дебатов об увеличении размера блока, которые длились больше года и кончились ничем.
Если говорить про Ethereum, то его безусловный плюс — возможность создания очень гибких, если сравнивать с биткоином, смарт-контрактов, на базе которых можно реализовывать разнообразные финансовые инструменты. Это уже больше, чем криптовалюта, каковой является биткоин. DAO в этом смысле хороший пример: там была система контрактов, которая позволяла по-новому взглянуть на механизмы инвестирования, и несмотря на то, чем все кончилось, это был очень перспективный эксперимент. Я уверен, что разработка контрактов продолжится, потому что непосредственно с системой Ethereum, на базе которой работал DAO, ничего не произошло.
CoinFox: Компании часто заявляют, что заинтересованы в технологии блоковой цепи, но не в открытых блокчейнах, опасаясь их потенциальных рисков. Правильно ли называть блокчейном закрытые внутрикорпоративные системы, ведь они опять получаются централизованными?
Алексей Трошичев: Тут есть два нюанса. Во-первых, у блокчейна нет какого-то общепринятого академического определения, что часто создает кучу проблем в понимании того, что имелось в виду в определенном контексте. Этим словом что только не называют.
Во-вторых, даже если система не является публичной, это не значит, что система является централизованной. Непубличная система может иметь такие же децентрализованные свойства, но протокол взаимодействия между узлами не будет подразумевать раскрытия всех данных всем участникам, так, например, работает Интернет.
CoinFox: Как можно решить вопрос с гарантированным временем обработки транзакций и масштабируемостью, которые являются главными проблемами блокчейн-систем?
Алексей Трошичев: Если рассматривать публичные системы, то есть вариант, который я бы лично не назвал решением, но он пока единственный реализуемый: это платежные каналы, а точнее сеть таких каналов (Lightning Network). Такой подход позволяет проводить расчеты между держателями средств без записи в цепочку каждой транзакции и за предсказуемое время.
Но у такого решения есть много технических сложностей. Как минимум, чтобы проводить эти транзакции вне основной цепочки, нужна какая-то инфраструктура, которая будет хранить и обрабатывать транзакции. Такая система должна быть высокодоступной и выдерживать большие нагрузки. Для этого нужны плохо предсказуемые вложения в инфраструктуру: сервера, каналы связи, все на чем строятся классические системы. Пока непонятно, будет ли обслуживание такой системы дешевле, чем обслуживание классических систем, которые используются сейчас.
CoinFox: Что необходимо для полноценного внедрения технологии блоковой цепи в работу российских компаний?
Алексей Трошичев: В первую очередь, нужна правовая база. Технически блокчейн решает задачи доверенного для некоторых операций, если он не будет иметь какого-то юридического статуса, то по сути он будет бессмысленным: мы можем его использовать, но его работа в юридическом смысле будет ничтожна.
Хорошая аналогия — электронная цифровая подпись. Раньше, до того как она была введена и стандартизована через ГОСТ, электронные документы не имели юридической силы. Когда для блокчейна появится ГОСТ, будет определен его юридический статус, тогда можно начинать говорить о его массовом применении.
CoinFox: Некоторые компании, потенциально заинтересованные в блокчейн-технологиях, жалуются на то, что внедрение таких технологий требует очень больших затрат, и когда они окупятся, неясно. Есть ли потенциал для снижения затрат на разработку и есть ли экономическая эффективность у внедрения таких технологий?
Алексей Трошичев: Каждый случай индивидуален. Если внедрять только для того, «чтобы было», а не для решения конкретной практической задачи, то я точно могу сказать, что окупаемости не будет. Нужно иметь хорошее понимание собственных бизнес-процессов и их стоимости. Исходя из этого, сопоставив задачи и свойства, которыми обладают решения базе блокчейна, и нужно делать вывод, есть ли смысл вкладываться или нет.
Блокчейн — это не штука, которая поможет решить все проблемы. Это технология с определенным набором свойств. Если эти свойства можно применить к бизнесу, как-то сократить затраты, то тогда будет какая-то польза. Если нельзя, то пользы не будет. Например, дизайнерам, которые занимаются созданием сайтов, им все равно — что есть блокчейн в их производственном процессе, что его нет, он в их работе просто не нужен.
CoinFox: За счет чего можно достичь экономической эффективности?
Алексей Трошичев: Если есть системы, где есть посредник, который является центром доверия, то использование блокчейна в некоторых условиях позволяет его заменить.
Если говорить про биткоин, то там блокчейн выполняет функцию контролирующего органа, который проверяет, является ли перевод аутентичным, неподдельным, и контролирует баланс средств. Все эти данные записываются в блокчейн, целостность которого защищается Proof-of-Work (PoW). Так как вся сеть работает на над решением PoW, чтобы эти данные как-то изменить задним числом, надо обладать вычислительной мощностью, которая выше вычислительной мощности всей сети. Получается, что чем больше сеть, тем безопаснее это хранилище данных.
Если делать частный блокчейн для компании с несколькими десятками компьютеров, то система, сделанная по аналогии с биткоином, может быть относительно дешево взломана.
Нужно понимать, что ни биткоин, ни Ethereum не неуязвим, он считаются безопасными, потому что цена атаки на такие системы намного выше, чем потенциальная выгода. Главная задача при создании систем информационной безопасности состоит в не в том, чтобы сделать систему абсолютно устойчивой ко взлому, а в достижении состояния, когда взлом системы стоит дороже, чем выгоды, полученные в результате этого взлома.
Если у нас система небольшая, и в ней крутятся средства и ценности, которые стоят дороже, чем взлом этой системы, то такая система даже на блокчейне, использующем PoW, не может считаться безопасной.
CoinFox: Упростит ли использование блокчейна систему межбанковских платежей?
Алексей Трошичев: Если говорить про банки, существующие в рамках одной юрисдикции, то скорей всего да. Если говорить о международной, то нужно помнить, что один из способов [функционирования] системы международных переводов — это отключение от нее в рамках санкций. Самый известный пример – в случае с Ираном и SWIFT. Если сделать систему на блокчейне, то возможность применения таких санкций усложнится, придется «подбивать костыли».
Лучше спросить у самих банков и каждый случай рассматривать в отдельности. Если пытаться все задачи решать с помощью блокчейна, результатом будет волна неоправданных ожиданий и, как результат, негативное отношение к технологии в целом.
CoinFox: Если криптовалюты в России будут запрещены, затормозит ли это развитие блокчейн-технологий? Можно ли разъединить блокчейн и биткоин?
Алексей Трошичев: Такой запрет может сильно снизить потенциал роста. Первое, что нужно будет сделать разработчику блокчейн-продукта — доказать потенциальному покупателю, что это не является криптовалютой, и у покупателя не возникнет проблем. Кстати, юридического определения криптовалюты нет до сих пор.
Разъединять биткоин и блокчейн можно. Вообще криптовалюта — это только частный случай использования технологии блокчейн. Но если рассматривать биткоин не как систему безопасного перевода условных единиц, а как товар, обладающий определенным набором качеств, то без блокчейна он просто перестанет этими свойствами обладать и потеряет всякую ценность.
Источник