Интерес к технологиям распределенного реестра, или, как у нас чаще называют, блокчейн, стремительно растет. Аналитики считают блокчейн одним из главных новых трендов развития ИТ в 2016 году. И если еще в начале года в основном обсуждались перспективы технологии и все удивлялись огромным суммам вложений в развивающие её маленькие стартапы, то сейчас дело уже приближается к практической реализации. Если до недавних пор фактически единственной широко известной успешной реализацией технологии распределенного реестра была криптовалюта Bitcoin, то теперь ею занимаются гиганты ИТ-индустрии, крупнейшие банки и правительства.
Наиболее показательный пример — создание банковского консорциума R3 CEV, который в январе провёл тестовые испытания технологии блокчейн для банковских структур. В них приняли участие BMO Financial Group, Credit Suisse, Commonwealth Bank of Australia, HSBC, Natixis, Royal Bank of Scotland, TD Bank, UBS, UniCredit и Wells Fargo, которые пять дней обменивались записями в распределенной базе данных по открытой блокчейн-технологии. В марте R3 CEV объявил об успешном завершении обширного исследования различных блокчейн-систем в торговле краткосрочными ценными бумагами с фиксированным доходом.
Новости о все новых результатах использования этой технологии в мире бизнеса приходят чуть ли не еженедельно. Так, в июле один из крупнейших канадских банков ATB Financial вместе с компанией SAP SE, финансово-технологическим стартапом Ripple Labs и немецкой банковской фирмой ReiseBank AG осуществили первый международный блокчейн-платеж из Канады в Германию.
В августе финансовый конгломерат HSBC и инвестиционное подразделение Bank of America объявили о том, что они начали использовать технологию блокчейн для упрощения расчетов по международным торговым операциям. Прототип разработан на основе открытого кода Hyperledger Project blockchain fabric при поддержке IBM Research и IBM Global Business Services.
Обращают внимание на перспективную технологию и государственные структуры. Весной в Эстонии объявили о планах создания основанной на технологии блокчейн системы для обеспечения безопасности миллиона с лишним медицинских записей. В августе британское правительство подписало первое соглашение об использовании блокчейна в виде платформы как сервиса с провайдером блокчейн-платформы Credits, которого выбрала Королевская коммерческая служба. Теперь правительственные органы, желающие поэкспериментировать с технологией распределенного реестра, могут купить ее на электронном рынке, созданном правительственной службой.
Ведутся работы и в нашей стране. Исследования в области блокчейн проводят Сбербанк, «Почта России», Национальный расчетный депозитарий. Сообщалось, что компания Acronis имеет договоренности об использовании блокчейн-решений в трех крупных банках и в государственных органах. Проводит исследования технологии рабочая группа ЦБ РФ.
Тем временем недавняя успешная атака на один из самый амбициозных проектов на основе технологии блокчейн — DAO, который позиционировался как «первый в мире полностью автономный инвестфонд», — привлекла внимание широкой общественности к вопросам безопасности самой технологии. И хотя пострадала только система, созданная на технологии блокчейн, а не сама блокчейн-платформа Ethereum, осадок остался. Тем более, что многие даже не поняли разницу и решили, что скомпрометирована именно технология.
Чтобы прояснить вопросы безопасности блокчейна, мы обратились к Олегу Ховайко, эксперту в области криптографии и компьютерной безопасности криптовалют.
Какие угрозы безопасности могут возникнуть при использовании технологии блокчейн?
— Рассматривая угрозы безопасности при использовании этой технологии, чаще всего вспоминают атаку «51%» — когда злоумышленник бесконечное время может печатать новые блоки и опровергать то, что происходит в нормальном блокчейне. Заплатил деньги, инициировал транзакцию, потом напечатал цепочку блоков, которая обогнала блокчейн, и в новом блокчейне этой транзакции уже нет. Таким образом совершается отзыв транзакции и задним числом меняется состояние блокчейна.
Возможна ли такая атака при меньшей мощности?
— Да, для успешной атаки можно иметь даже меньше 51% мощности сети. Другое дело, что вероятность успеха при этом резко падает. Если злоумышленник имеет 51% мощностей, он всегда может сделать откат транзакций. Может создать альтернативную цепочку блоков, которая гарантированно обгонит основную цепочку и сама станет основной. Но и имея существенно меньшую мощность, преступник может пытаться осуществить такие атаки, надеясь на везение.
Влияет ли на устойчивость системы к такого рода атакам тип используемой технологии блокчейн?
— В разных технологиях могут применяться разные методы подтверждения блоков. В Bitcoin используется метод «proof-of-work» — подтверждение блоков вычислительной мощностью. Соответственно, если злоумышленник сумеет собрать более 51% мощностей сети, то он сможет печатать цепочку блоков быстрее, чем остальные.
Есть и еще ряд методов закрытия блоков, из которых наибольшую популярность получил «proof-of-stake». В нем, чтобы провести атаку «51%», нужно иметь 51% монет, находящихся в системе. Потому что блоки печатаются не вычислительной мощностью, а с помощью денег, находящихся на руках у людей. Монеты должны какое-то время пролежать у человека без движения, после чего появляется вероятность того, что они будут выбраны для подтверждения блока. По сути, майнинг подобен перебору лотерейных билетов с разной вероятностью выигрыша. Ведь при использовании этого метода алгоритм криптовалюты с большей вероятностью выберет для подтверждения очередного блока в цепочке учётную запись с большим количеством средств на счету. Кому-то удается закрыть блок, и он получает свою награду. Соответственно, если злоумышленник владеет более чем 51% монет, он сможет быстрее других печатать блоки и также создать альтернативную цепочку, которая потом станет основной.
Наиболее защищены гибридные схемы. Когда используются методы и «proof-of-work», и «proof-of-stake». Причем в EmerCoin блоки по тому и другому методам закрываются независимо друг от друга. В этом принципиальная особенность. В таком случае для проведения атаки «51%» нужно иметь и 51% мощности, и 51% денег. А собрать подобную комбинацию намного сложнее, чем одну из двух.
Были ли в истории успешные атаки «51%»?
— Однажды устроили такую атаку на Feathercoin (один из форков Litecoin). Если форк не популярен, то майнеров мало, сложность низкая, атака дешёвая. Кто-то ферму подтащил и атаковал. Это, насколько мне известно, была атака из серии «поразвлечься».
Еще в Bitcoin как-то один из пулов, ghash.io, набрал мощность, близкую к пятидесяти процентам. После этого владельцы заявили, что останавливают прием новых пользователей, потому что не хотят создавать ситуацию, в которой один пул может скомпрометировать систему. То есть такой прецедент был, но никто ничем не злоупотребил.
Ключ записи в блокчейне — это хэш-функция от публичного ключа. Можно ли при наличии мощных компьютеров по хэшу или по публичному ключу вычислить закрытый ключ? В Интернете, например, много сервисов, которые по хэшу вычисляют пароль.
— В таких сервисах пароль обычно подбирается по словарю. Правильные хэши достаточно велики, и простым перебором ключ здесь не вычислить. Два в
Но есть другие варианты, ограничивающие безопасность системы. Например, если будет найден алгоритм, который позволяет эффективно факторизовать эллиптические кривые, то проблема появится. Теоретически к адресам-кошелькам, из которых уже один раз были потрачены деньги, можно будет подобрать их закрытые ключи. Но это уже за гранью современных вычислительных мощностей. И если кому-то удастся это сделать, то он сумеет взломать не только EmerCoin и Bitcoin, но и все современные системы, например SSH, SSL, TLS. Это станет таким ударом, что проблемы криптовалют на общем фоне покажутся незначительными.
Сейчас активно развиваются квантовые компьютеры. Не получится, что с их помощью в ближайшем будущем можно будет взламывать защиту записей в блокчейне?
— Квантовый компьютер для взлома криптосистем — это техника будущего с решением проблемы прошлого. Объясню подробнее.
Квантовый компьютер теоретически может вскрыть алгоритм RSA, который построен на возведении в степень. А система подписей, используемая сейчас в блокчейне, построена на эллиптических кривых. Эллиптические кривые квантовыми компьютерами не вскрываются. Во всяком случае я не видел таких публикаций. Учитывая, что в настоящее время и другие виды криптографии уходят от RSA и переходят на эллиптические кривые, в скором времени квантовый компьютер как инструмент вскрытия асимметричной криптографии останется не у дел. И точно так же будет бесполезен для хэшей, которые принципиально необратимы. Вот если бы полноценный работающий квантовый компьютер на пару тысяч кубит появился лет тридцать назад... Было бы весьма интересно.
Что вы думаете о вероятности изменений в блокчейне задним числом?
— Последняя история с Ethereum показала, что это возможно. Если большинство майнеров проголосует за откат на какое-то время и начиная с него решит сделать альтернативный форк, то так и будет. Отмотали — и сделали. Но тут тоже многое зависти от конкретного блокчейна. Например, в EmerCoin для такого отката потребовалось бы согласие не только большинства майнеров, но и большинства держателей монет. И нужно было бы заставить их проапгрейдить свои кошельки, чтобы они перешли на новую версию. А это уже гораздо сложнее: одно дело уговорить десяток майнеров и совсем другое — несколько десятков тысяч владельцев кошельков.
Сейчас много говорят о перспективности использования блокчейна для подтверждения различных документов, например прав собственности. Нет ли возможности создания документа с тем же хэшем, что хранится в цепочке блокчейна, но с другим содержанием? Скажем, подтверждающим, что у него другой собственник?
— Если в технологии используются скомпрометированные хэши типа MD5, то в принципе это возможно. Но в самом блокчейне изменить это будет нельзя. Блок штампуется двойным хэшем SHA-256, а к нему еще не подобрались. Этот алгоритм еще не скомпрометирован. А если появится реальная опасность компрометации, то начиная с какого-то блока просто будет осуществлен переход на другой алгоритм, например SHA-3.
А что со старыми данными? Например, архивами? Не появится ли при этом возможность переписать историю? В блокчейн заносится хэш документа, в котором говорится, что страна «А» напала на страну «Б». А через сто лет появляются новые вычислительные мощности и выпускается фальшивый документ противоположного содержания с тем же хэшем...
— Eсли хэш, которым подписан документ, был скомпрометирован, то такая вероятность есть, но в отношении только этого документа. Если очень сложно подобрать коллизию на один блок, то сделать это для всей цепочки (то есть вытащить из неё блок и положить исправленный новый) просто невозможно. Для взлома блокчейна более реалистичной выглядит атака «51%». Что касается одного документа, тут нужно использовать хороший хэш. А если со временем этот хэш все же «зашатался», то ничто не мешает заново опубликовать исходный документ с более сильным хэшем. И указать, что он ссылается на первый.
Есть и классические проблемы безопасности. Хакеры могут утащить с компьютера ваши ключи. Поможет ли здесь технология блокчейн?
— У меня кошелек имеет пароль. Если даже злоумышленник и уведет мой кошелек, он ничего не сможет с ним сделать. А вот если он уведет и кошелек, и пароль, то тут уж ничего не попишешь — я все потеряю. Вся криптография занимается тем, что позволяет заменить большой (по объёму) секрет на маленький. Так что хоть какой-то должен быть начальный пароль, который всю эту секретную цепь размотает и сделает работоспособной.
...Главное достоинство блокчейна — это доверие, уверенность в том, что база у всех одинакова и не менялась задним числом. Как показал эксперт, сама технология выглядит вполне безопасной, в пользу чего говорит и то, что самая популярная блокчейн-платформа Bitcoin так и не была взломана. А работает она уже семь лет.
Но это не «серебряная пуля», не лекарство от всех болезней, связанных с информационной безопасностью. И понимать это должны и разработчики систем, использующие данную технологию, и их пользователи.