Источник: forklog.com
Сеть Ethereum, реализующая глобально-исполнимые смарт-контракты, образует единое вычислительное пространство, из-за чего возрастает риск взлома всей системы.
Такое мнение высказал основатель проекта Pandora Boxchain Максим Орловский в своем блоге на Golos.io.
Эту статью не обошел вниманием и создатель криптовалюты Ethereum Виталик Бутерин, который заявил, что выполняемый на компьютере программный код всегда содержит некие ошибки, поскольку динамическая тьюринг-полная система ведет себя хаотическим образом.
Журнал ForkLog пообщался с Максимом Орловским и выяснил, как можно снизить вероятность ошибок и потерь средств инвесторов.
ForkLog: Здравствуйте, Максим. Объясните доступным языком, в чем конкретно заключается уязвимость сети Ethereum?
Максим Орловский: Речь не совсем об уязвимости. Речь о рисках и управлении рисками. Любая тьюринг-полная система потенциально уязвима, потому как за разумное время невозможно просчитать все возможные варианты ее работы при всех возможных входных параметрах. Именно поэтому мы видим, что все современные компьютерные (тьюринг-полные) системы регулярно взламывают, даже самые защищенные. Чем сложнее система, тем проще допустить ошибку, и мы можем лишь пытаться снизить вероятность ошибок, но никогда не уменьшим ее до нуля.
Так вот, это свойство всех тьюринг-полных компьютеров. Но риски для классических систем ограничены самим компьютером: его стоимостью и стоимостью информации на нем. Поэтому эти риски, во-первых, измеряемы по ущербу, во-вторых, контролируемы, в-третьих, страхуемы, что позволяет работать бизнесу эффективно даже в условиях угрозы взлома. Если говорить об объединении компьютеров в сеть, то это увеличивает риски, но не линейно, так как в сети наблюдается «компартментизация» (деление на разделы — прим. ForkLog) — мы можем изолировать сегменты сети, использовать брандмауэры, и все-таки сетевое соединение компьютеров — не тьюринг-полная система.
Проблема возникает, когда мы говорим о такой системе, как Ethereum. Эта тьюринг-полная машина образует единое глобальное вычислительное пространство, и риск при взломе — капитализация всей сети, и всех бизнесов-экономик, созданных на ней. Кто-то может возразить, что смарт-контракты изолированы, однако это не так. Они изолированы еще меньше, чем отдельные процессы в рамках процессора: они легко адресуют друг друга и используют общий код из библиотек без модификации и разграничений адресного пространства (балансов кошельков и прочего), — что хорошо показал последний хак мультисиг-кошельков Parity. Такие риски невозможно страховать, и такая организация противоречит разумным стратегиям управления и контроля рисков. Вероятно, это одна из причин, по которой создатели Ethereum — и Виталик Бутерин, и Влад Замфир, и другие — время от времени не устают повторять, что Ethereum не предназначен еще для использования в реальных бизнес-проектах или секторах, чувствительных к потерям денег, доступности систем и пр.
Но эта проблема решаема. Я думаю, вполне реалистично создать систему разделения вычислительно-адресных сегментов, построить некую систему «доменов» внутри Ethereum, которые позволяли бы контролировать и ограничивать риски подобно файерволам в интернете или переборкам внутри крупнотоннажного корабля.
FL: Другие криптовалюты также подвержены рискам или это частная проблема Ethereum?
М.О.: Все системы, реализующие тьюринг-полные смарт-контракты в виде единого глобального вычислительно-адресного пространства. На сегодня смарт-контракты могут выполнятся только в Ethereum, но в будущем очень многие разработчики анонсировали создание систем в этой же категории. Если не будут предприняты дополнительные шаги, они все будут разделять те же риски.
Поэтому все, кто будет делать тьюринг-полные глобально-исполнимые смарт-контракты будут на самом деле централизовать вычисления и мультиплицировать риск. Заявляемая децентрализация при этом — это децентрализация исключительно вычислительного ресурса, но не самих вычислений.
FL: Почему вы прогнозируете продолжение атак и взломов этой системы?
М.О.: Потому что все, что может быть взломано, рано или поздно бывает взломанным. Вопрос лишь времени и контроля ограничения возможного ущерба.
FL: Что вы имеете в виду под фразой «многообразие форм децентрализации», которые, по вашим словам, позволят решить проблему?
М.О.: Есть такая фраза — divided we stand. Эволюция и развитие требуют многообразия. ДНК и клетка — это тоже своего рода тюринг-полная машина, и у всех видов разное ДНК (оно отличается даже в пределах одного вида), и поэтому ни один вирус не мог выкосить все живое. Поэтому не стоит думать, что будет создана (и стоит создавать) какую-то единую систему глобальных смарт-контрактов, и за этим будущее. Будущее за децентрализацией и разнообразием, многими конкурирующими частично-изолированными (селективно-взаимодействующими) вычислительными системами, которые смогут децентрализовывать не только вычислительный ресурс, но и сами вычисления и результаты исполнения смарт-контрактов.