Фото: facebook.com
Фото: facebook.com

Эти непонятные биткоины. Сергей Прилуцкий о технологии простыми словами

367
Георгий Вермишев
29 мая 2019, 14:26

Весь прошлый год депутаты Государственной думы разбирались, что такое блокчейн. Процесс шел сложно, в октябре глава думского комитета по финансовому рынку Анатолий Аксаков даже заявил в сердцах: "Решили, что они нам не нужны, эти биткоины непонятные". Между тем рыночная капитализация этого не всем понятного явления колеблется между $125 млрд и $150 млрд. Так в каких сферах нужен блокчейн? О технологии простыми словами "ДП" рассказал Сергей Прилуцкий, преподаватель курса BCL и соснователь компании MixBytes.

Если отбросить сложные технические детали, то что такое блокчейн?

— Блокчейн — это технология, то есть набор алгоритмов, который позволяет организовывать сеть баз данных без центрального участника.

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

Алгоритм блокчейна построен таким образом, что на него можно полагаться даже в ситуации, когда вы наверняка знаете, что часть участников способна навредить. Чтобы повлиять на содержимое блокчейна, мало взломать один или два компьютера. Необходимы согласованные действия группы производителей блоков.

А откуда у блокчейна такое название — "цепь блоков"?

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

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

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

Глава розничного гиганта Overstock Патрик Берн недавно сказал, что блокчейн даже важнее, чем интернет и станок Гутенберга… Неужели он настолько изменит мир?

— Сперва, когда человек знает очень мало о технологии, ему кажется, что это какая–то ерунда. Когда он узнает средний объем информации, ему кажется, что это просто гениально и изменит мир. А потом, уже на следующем уровне, еще более глубоком, начинается понимание, что это не бесплатно и физику никто не отменял.

О недостатках блокчейна обычно мало рассказывают, а недостатки очень серьезные. Потому что, во–первых, это огромные объемы информации, которые взвалены на всех участников сети. Во–вторых, так как создать адрес в сети и использовать его может кто угодно, это открывает возможности для атак тысячами аккаунтов и добавляет сложности протоколам безопасности. Для некрупных сетей это может быть особенно опасно. Еще одним минусом является сложная процедура обновления ПО на компьютерах сети.

При чем тут криптовалюты? Они какую роль сыграли для технологии?

— Важно понимать, что блокчейн — не равно биткоин, просто это первый очень красивый, очень сбалансированный алгоритм, который позволил организовать сеть с независимыми участниками. Часто путаница возникает из–за того, что сейчас блокчейнами уже начали называть готовые сети. Биткоин, Ethereum, EOS — в языке это все тоже теперь "блокчейны". Это немного напоминает операционные системы, запускаемые на множестве компьютеров, которые решают задачи пользователей.

То есть сейчас именно три основные системы?

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

Сколько примерно стоит создать новую блокчейн–систему?

— Примерно $1 млн в год. По крайней мере в такую цену я бы оценил работу команды из восьми–девяти программистов и их издержки на развитие проекта. Блокчейну ведь нужна еще и вся экосистема: кошельки, блок–эксплореры, нагрузочные тесты, аудиты безопасности, нужны сами ноды, причем хотя бы на двух языках программирования, чтобы защищаться от атак.

А если какая–то конкретная компания просто хочет присоединиться и работать на уже готовом блокчейне как на "операционной системе"?

— Тогда они могут подключиться к EOS или Ethereum и в уже работающей публичной сети создать свои смарт–контракты, выпустить свои токены. Эта разработка сильно проще.

По моей оценке, достаточно одного блокчейн–программиста, одного веб–программиста и одного разработчика для проведения аудита безопасности. Если очень приблизительно оценить, то стоит это $50–100 тыс. Но, естественно, все зависит от технического задания.

Давайте теперь проясним, где блокчейн применим лучше всего?

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

То есть финансисты, банкиры уже точно не отвертятся?

— Да. Во–первых, информации реального мира в финансовой сфере очень мало. Есть лишь циферки балансов, их удобно хранить в блокчейне, и работать с ними недорого. Во–вторых, у банков нет выхода в реальный мир. Это важно, ведь если в своем блокчейне я награждаю людей за теплую температуру, а наказываю за холодную, мне нужно откуда–то получать данные. Какой бы умный ни был алгоритм, можно атаковать градусник! В финансовом мире самые главные данные — значения балансов — уже есть внутри блокчейна.

Логистика — это вроде бы тоже уже точно про блокчейн?

— Да, потому что здесь есть учет и взаиморасчет. Я могу наклеить секретное число на контейнер в Китае, отправить его в Петербург, а смарт–контракт организовать таким образом, что в момент, когда человек считал этот идентификатор и таким образом доказал, что получил контейнер, мне автоматически перечислились деньги.

Разумеется, блокчейн не позволит избавиться от физического обмана, можно отправить вместо контейнера голый идентификатор или просто не доставить контейнер, от этих атак не защититься. В данном случае блокчейн просто позволяет совместить учет и взаиморасчет, сильно снижая стоимость транзакций.

И сколько это стоит?

— При текущем курсе эфира самая сложная транзакция, которую можно отправить и замайнить в разумное время, может стоить $8–10. Но это при наличии кучи нюансов и условий, ведь деньги, по сути, платятся за каждую строчку кода в смарт–контракте. Простейший вариант будет стоить буквально несколько центов.

Документооборот, всевозможные реестры — тоже удачная сфера для применения блокчейна?

— Частично да, частично нет. Сохранение информации в блокчейне крайне дорого, это имеет смысл, только если эта информация напрямую необходима для фиксации сделки. Чаще всего документы хранят отдельно, а в блокчейне хранят только контрольные суммы (те самые хеши) документов.

Попыткой решить все проблемы разом (платные транзакции, раздувание объема блокчейна при хранении документов) является создание корпоративных блокчейнов вместо использования публичных. Но они содержат уязвимости, и чаще всего гораздо проще, дешевле и безопаснее использовать обычные базы данных.

То есть все разговоры про то, что мы в блокчейне отольем итоги ЕГЭ и голоса избирателей, — это чушь, а в реальности это будут уязвимые системы?

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

Блокчейн тут не только не нужен, он еще и сделает всю поддержку крайне неудобной.