ПостНаука продолжает рассказывать о современных технологиях в проекте «Банк знаний», подготовленном совместно с Корпоративным университетом Сбербанка.

— Какие криптографические методы используют создатели криптовалют?

— Для криптовалют чаще всего используется два инструмента: хэш-функции и криптографические цифровые подписи. Если при обычных переводах денег нужно известить банк и подписать чек, который он выдаст, то криптовалютный финансовый поток не предусматривает контроля со стороны Центрального банка. Хотя транзакции тоже нужно подтверждать подписью — не физической, а криптографической.

Информация о криптовалюте хранится на большом количестве компьютеров, которые объединены в сеть, причем в каждой из учетных записей она должна быть одинаковой. Раньше мы не знали, как синхронизировать информацию в открытых системах, но решение проблемы предложил Сатоси Накамото в своей работе о биткоине. Один из основных криптографических инструментов для решения — это хэш-функции. Их используют для построения блокчейна, где фиксируются все транзакции.

— Какие методы обеспечивают анонимность и конфиденциальность криптовалют?

— Один из основных методов — протокол доказательства с нулевым разглашением. Он подтверждает, что у вас есть какая-то информация, не раскрывая ее содержания. Этот полезный для криптовалют инструмент используют последние два-три года. До этого его применяли для решения других практических задач.

Блокчейн состоит из множества компьютеров, соединенных в сеть. Когда вы переводите деньги другому пользователю, все участники видят эту операцию. Доказательство с нулевым разглашением позволяет защитить информацию о том, сколько денег находится в конкретной учетной записи, блоке распределенной базы данных, это зашифровано при помощи хэш-функций. Чтобы подтвердить, что вы правильно совершаете транзакцию, вы сообщаете основное свойство записей, не называя конкретных цифр. Так работает доказательство с нулевым разглашением.

Иногда для сохранения анонимности применяют гомоморфное шифрование. Оно позволяет выполнять с зашифрованными данными математические операции, которые соответствуют результатам вычислений с оригинальными данными. Главное во всех этих методах — обеспечить правильную синхронизацию информации элементов системы. Иначе есть риск запутаться: некоторые компьютеры будут считать, что у вас есть определенная сумма криптовалюты, а остальные не увидят денег на счету.

— Как можно избежать такой путаницы?

— Для решения проблемы Сатоси Накамото предложил использовать блокчейн. Каждый раз, когда о нем заходит речь, возникает идея синхронизации информации. Все биткоин-переводы записываются в блок с транзакциями. Чтобы закрыть один, нужно провести сложные вычисления по угадыванию хэш-функции, и это хорошая защита от злоумышленников. И чем больше блоков в этой запутанной системе, тем более сложные вычисления нужно проводить. Это требует больших ресурсов, они задействуют множество компьютеров, занимающихся расчетом новых блоков.

За вычисление каждого блока предусмотрена награда — 12,5 биткоинов, но так как каждый биткоин стоит около 4000 долларов (на момент интервью. — Прим. ред.), то это отличное вознаграждение. Все больше людей хотят заработать на создании блоков, поэтому вычислительная мощность растет. Тем более что для этого достаточно всего лишь установить на свой компьютер программное обеспечение.

— Каковы основные угрозы для криптовалют?

— Прежде всего, это хакеры. Влияет и то, что криптовалютам нужно большое количество машин, которые будут заниматься вычислениям. Есть угроза того, что правительства, например, в США или России решат бороться с криптовалютами.

С точки зрения компьютерных наук могут возникнуть проблемы с хэш-функциями и подписями. И это повлияет не только на криптовалюты, но и на другие системы, которые используют те же инструменты. За этими проблемами мы наблюдаем несколько лет и пока не знаем, полностью ли система безопасна.

— Существуют ли примеры успешной атаки блокчейна?

— Атаки на блокчейн обычно происходят на периферии системы, так как у злоумышленников нет большой вычислительной мощности, которая позволит справиться со всей системой. Были попытки скопировать код Сатоси Накамото для создания других криптовалют. Некоторые из них относительно небольшие, там немного пользователей, и для атаки на них нужно меньше вычислительной мощности.

Но гораздо чаще атакуют не саму систему. Каждый раз при переводе денег нужно ставить цифровую подпись, для этого есть пароль. Если его украсть, то распоряжаться деньгами можно от имени владельца. Есть много примеров, как люди теряли деньги из-за украденного криптографического ключа. Самый известный произошел на бирже цифровых валют Mt.Gox, которая в 2011 году заявила о краже почти всех биткоинов.

Другое слабое место — это использование смарт-контрактов. Эти компьютерные протоколы самостоятельно проводят сделки и управляют программами, которые занимаются транзакциями. Смарт-контракты копируются на каждом из компьютеров, и иногда в них встречаются ошибки. Так 50 миллионов долларов в криптовалютах было потеряно из-за атаки на DAO — это программное обеспечение для хранения денег. Для подтверждения транзакций в нем нужно использовать две подписи, но нашлась лазейка, позволяющая завладеть криптовалютным кошельком и вывести деньги.

— Чем защита смарт-контрактов отличается от защиты криптовалюты?

— Смарт-контракты — это программное обеспечение, в котором могут встречаться ошибки. Используя их, можно обмануть систему и использовать ее в своих интересах. Для безопасности криптовалют важно, чтобы инфраструктура блокчейна работала должным образом, чтобы переведенный платеж невозможно было вернуть — это основополагающая вещь. Блокчейн — это сеть, как и интернет, можно попробовать нарушить связь между двумя блоками, и тогда они не смогут обмениваться данными, и это повлияет на движение денег. Интернет небезопасен, но можно попытаться покончить с атаками на криптовалюты или смягчить их. Прежде всего нужно шифрование связи, чтобы нельзя было менять содержание передаваемого сообщения.

Рекомендуем по этой теме:
14999
Стив Фурнелл — Кибербезопасность

— Какая из криптовалют самая безопасная?

— Это сложный вопрос. Наверное, биткоин, потому что с ним работает много разработчиков, они постоянно проверяют его, проводят большое количество тестов. Чтобы организовать атаку на биткоин, нужно много ресурсов. Причина, по которой он настолько безопасен, заключается в том, что над ним очень тщательно работают.