Неоднократно слышал мнение о том, что блокчейн — это очень круто, это прорыв, и скоро все-все-все будет работать на блокчейне. Спешу вас разочаровать, если вы вдруг поверили в это.
Уточнение: в этом посте мы поговорим о том варианте реализации технологии блокчейн, который используется в криптовалюте Биткойн. Существуют другие применения и реализации блокчейна, в некоторых из них устранены какие-либо недостатки «блокчейна классического», но обычно они построены на одинаковых принципах.
О Биткойне в целом
Саму по себе технологию Биткойн я считаю революционной. К сожалению, используется Биткойн слишком часто для криминальных целей, и мне, как специалисту по информационной безопасности, это совсем не нравится. Но если говорить о технологиях, то прорыв налицо.
Все составные части протокола Биткойн и идеи, заложенные в нем, в общем-то, были известны и до 2009 года, но вот слепить все вместе и заставить это работать удалось именно авторам Биткойна и именно в 2009-м. За почти 9 лет в реализации была найдена лишь одна критическая уязвимость: на одном счету злоумышленник получил 92 млрд биткойнов, исправление потребовало отката всей финансовой истории на сутки. Тем не менее всего одна уязвимость за такой срок — это достойный результат, снимаю шляпу.
У авторов Биткойна была задача: заставить это как-то работать при условии, что центра нет и что никто никому не доверяет. Авторы задачу выполнили, электронные деньги функционируют. Но те решения, которые они приняли, чудовищны по своей неэффективности.
Сразу оговорюсь, что цель этого поста — вовсе не дискредитация блокчейна. Это полезная технология, которая уже находит и еще обязательно найдет много замечательных применений. Несмотря на свои недостатки, она имеет и уникальные преимущества. Однако в погоне за сенсационностью и революционностью многие концентрируются на плюсах технологии и зачастую забывают трезво оценивать реальное положение дел, игнорируя минусы. Поэтому я считаю полезным для разнообразия рассмотреть именно недостатки.
Миф 1: Блокчейн — это гигантский распределенный компьютер
Цитата №1: «Блокчейн может стать «бритвой Оккама», наиболее эффективным, прямым и естественным средством координации всей человеческой и машинной деятельности, соответствующим естественному стремлению к равновесию».
Если вы не вникали в принципы работы блокчейна, а только слышали отзывы об этой технологии, у вас могло сложилось впечатление, что блокчейн — это некий распределенный компьютер, выполняющий, соответственно, распределенные вычисления. Мол, узлы по всему миру собирают по крупицам нечто большее.
Такое представление в корне ошибочно. В действительности, все узлы, обслуживающие блокчейн, делают ровно одно и то же. Миллионы компьютеров:
- Проверяют одни и те же транзакции по одним и тем же правилам. Производят идентичную работу.
- Записывают в блокчейн (если повезло и дали возможность записать) одно и то же.
- Хранят всю историю за все время, одинаковую, одну на всех.
Никакого распараллеливания, никакой синергии, никакой взаимопомощи. Только дублирование, причем сразу миллионократное. О том, зачем это нужно, мы поговорим ниже, но эффективности, как видите, никакой. Скорее наоборот.
Миф 2: Блокчейн вечен. Все, что в него записано, останется навсегда
Цитата №2: «В условиях распространения децентрализованных приложений, организаций, корпораций и обществ может появиться много новых видов непредсказуемого и сложного поведения, напоминающего искусственный интеллект (ИИ)».
Да, действительно, как мы выяснили, каждый полноценный клиент сети хранит всю историю всех транзакций, и уже набежало более 100 гигабайт данных. Это полный объем диска дешевенького ноутбука или самого современного смартфона. И чем больше транзакций в сети Биткойн совершается, тем быстрее растет объем. Большая часть появилась за последние пару лет.
И Биткойну еще повезло — у его конкурента, сети Ethereum, всего за два года после запуска и полгода активного использования в блокчейне уже набежало 200 гигабайт. Так что в текущих реалиях вечность блокчейна ограничена десятком лет — рост вместимости жестких дисков определенно не поспевает за ростом объема блокчейна.
Но помимо того, что это надо хранить, это надо еще и скачать. Каждый, кто пробовал пользоваться полноценным локальным кошельком для какой-нибудь криптовалюты, с изумлением обнаруживал, что он не может совершать и принимать платежи, пока не скачается и не проверится весь указанный объем. Вам повезет, если этот процесс займет всего пару дней.
Вы спросите, а нельзя ли не хранить это все, раз уж это одно и то же, на каждом узле сети? Можно, но тогда, во-первых, это будет уже не одноранговый блокчейн, а традиционная клиент-серверная архитектура. А во-вторых, тогда клиенты будут вынуждены доверять серверам. То есть идея «не доверять никому», ради которой, в том числе, блокчейн и был придуман, в этом случае пропадает.
Уже давно пользователи Биткойна делятся на энтузиастов, которые «мучаются» и качают все, и на обычных людей, которые пользуются онлайн кошельками, доверяют серверу и которым, в общем-то, все равно, как оно там работает.
Миф 3: Блокчейн эффективен и масштабируем, обычные деньги отомрут
Цитата №3: «Комбинация «блокчейн-технология + персональный коннектом организма» позволит кодировать и делать доступными в стандартизированном сжатом формате все мысли человека. Данные можно будет захватывать путем сканирования коры головного мозга, ЭЭГ, интерфейсов мозг-компьютер, когнитивных нанороботов и т. д. Мышление можно будет представить в виде цепочек блоков, записав в них практически весь субъективный опыт человека и, возможно, даже его сознание. После записи в блокчейн различные составляющие воспоминаний можно будет администрировать и передавать – например, для восстановления памяти в случае болезней, сопровождающихся амнезией».
Если каждый узел сети делает одно и то же, то очевидно, что пропускная способность всей сети равна пропускной способности одного узла сети. И знаете, чему именно она равна? Биткойн может обработать максимум 7 транзакций в секунду — на всех.
Кроме того, в Биткойн-блокчейн транзакции записываются лишь раз в 10 минут. А после появления записи для надежности принято подождать еще 50 минут, потому что записи регулярно самопроизвольно откатываются. А теперь представьте, что вам надо купить за биткойны жвачку. Всего-то часок постоите в магазине, подумаешь.
В рамках целого мира это смешно уже сейчас, когда Биткойном пользуется едва ли каждый тысячный житель на Земле. А при такой скорости проведения транзакций существенно увеличить число активных пользователей и не получится. Для сравнения: Visa обрабатывает тысячи операций в секунду, а при необходимости легко увеличит мощности, ведь классические банковские технологии как раз масштабируемы.
Даже если обычные деньги и отомрут, то явно не потому, что их вытеснят блокчейн-решения.
Миф 4: Майнеры обеспечивают безопасность сети
Цитата №4: «Автономные предприятия в облаке, действующие на базе блокчейна и работающие на основе умных контрактов, могли бы заключать электронные договоры с соответствующими организациями, например, с правительствами, чтобы самостоятельно регистрироваться под любой юрисдикцией, под которой они хотят работать».
Вы наверняка слышали о майнерах, о гигантских майнинг-фермах, которые строят рядом с электростанциями. Что они делают? Они 10 минут впустую жгут электричество, «трясут» блоки, пока те не станут «красивыми» и их можно будет включить в блокчейн (о том, что такое «красивые» блоки и зачем их «трясти», мы рассказывали в предыдущем посте). Это нужно для того, чтобы переписывание финансовой истории занимало столько же времени, сколько и ее написание (при условии, что у вас такая же суммарная мощность).
Электричества тратится столько же, сколько потребляет город на 100 000 жителей. Но добавьте сюда еще и дорогое оборудование, которое подходит исключительно для того, чтобы майнить. Принцип майнинга (так называемый proof-of-work) тождественен понятию «сжигать ресурсы человечества».
Простыми словами: что такое майнинг и куда делиcь все видеокарты
Блокчейн-оптимисты любят говорить, что майнеры не просто делают бесполезную работу, а обеспечивают стабильность и безопасность сети Биткойн. Это правда, вот только проблема в том, что майнеры защищают Биткойн от других майнеров.
Если бы майнеров было в тысячу раз меньше и сжигалось бы в тысячу раз меньше электричества, то Биткойн функционировал бы ничуть не хуже — тот же один блок раз в 10 минут, то же самое количество транзакций, та же скорость.
Применительно к блокчейн-решениям существует риск «атаки 51%«. Суть атаки в том, что, если кто-то контролирует больше половины всех майнинг-мощностей, он может скрытно ото всех писать альтернативную финансовую историю, в которой он свои деньги никому не передавал. А потом показать всем свою версию — и именно она станет реальностью. Тем самым он получает возможность тратить свои деньги несколько раз. Традиционные же платежные системы такой атаке не подвержены.
Выходит так, что Биткойн стал заложником собственной идеологии. «Лишние» майнеры не могут перестать майнить, потому что тогда резко увеличится вероятность, что кто-то один будет контролировать больше половины оставшейся мощности. Пока майнить выгодно, сеть стабильна, но, если ситуация изменится (например потому, что электричество подорожает), сеть может столкнуться с массовыми «двойными тратами».
Миф 5: Блокчейн децентрализован и поэтому нерушим
Цитата №5: «Для того чтобы стать полноценной организацией, децентрализованное приложение должно содержать более сложную функциональность, например, конституцию».
Вам возможно кажется, что, раз уж блокчейн хранится на каждом узле сети, то спецслужбы не смогут закрыть Биткойн, если захотят, потому что у него нет какого-то центрального сервера или чего-то типа того — не к кому прийти закрывать. Но это иллюзия.
В действительности все «независимые» майнеры объединены в пулы (по сути, картели). Им приходится объединяться, потому что лучше иметь стабильный, но маленький доход, чем огромный, но раз в 1000 лет.
Как видите на диаграмме, крупных пулов порядка 20, а всего 4 из них контролируют более 50% всей мощности. Достаточно постучаться в четыре двери и получить доступ к четырем управляющим компьютерам, чтобы у вас в сети Биткойн появилась возможность тратить одни и те же биткойны более одного раза. А такая возможность, как вы понимаете, несколько обесценит биткойн. И эта задача вполне осуществима.
Но угроза еще реальнее. Большинство пулов вместе с их вычислительными мощностями находятся в одной стране, что упрощает потенциальный захват контроля над Биткойном.
Миф 6: Анонимность и открытость блокчейна — это хорошо
Цитата №6: «В эпоху блокчейна традиционное «правительство 1.0″ во многом становится устаревшей моделью и появляются возможности для перехода от доставшихся нам по наследству структур к более персонализированным формам правления».
Блокчейн открыт, все всё видят. Так что в Биткойне нет анонимности, у него «псевдонимность». Например, если злоумышленник требует выкуп на кошелек, то все понимают, что кошелек принадлежит плохому парню. А поскольку за транзакциями с этого кошелька может следить кто угодно, то воспользоваться полученными биткойнами мошеннику так просто не удастся, ведь стоит где-то раскрыть личность, как его тут же посадят. Почти на всех биржах для обмена на обычные деньги необходимо пройти идентификацию.
Поэтому злоумышленники пользуются так называемым «миксером». Миксер смешивает грязные деньги с большим количеством чистых, и тем самым «отмывает» их. Злоумышленник платит за это большую комиссию и сильно рискует, ведь миксер либо сам анонимный (и может сбежать с деньгами), либо уже под контролем кого-то влиятельного (и может сдать властям).
Но оставим проблемы преступников, чем же псевдонимность плоха для честных пользователей? Вот простой пример: я перевожу маме немного биткойнов. После этого она знает:
- Сколько у меня всего денег в любой момент времени.
- Сколько и, главное, на что именно я их тратил за все время. Что я покупал, в какую рулетку играл, какого политика поддерживал «анонимно».
Или если я другу вернул долг за лимонад, то и он теперь знает все о моих финансах. Вы считаете, что это ерунда? А слабо для всех открыть финансовую историю своей кредитной карты? Причем, не только прошлую, но и всю будущую.
Если для физических лиц это еще куда ни шло (ну мало ли, кому-то хочется быть «прозрачным»), то для компаний это смертельно: все их контрагенты, закупки, продажи, клиенты, объем счетов и вообще всё-всё-всё — становится публичным. Открытость финансов — это, пожалуй, один самых больших недостатков Биткойна.
Заключение
Цитата №7: «Не исключено, что именно блокчейн-технологии предстоит стать верхним экономическим слоем органично связанного мира разнообразных вычислительных устройств, в числе которых – носимые вычислительные устройства, сенсоры «интернета вещей».
Я перечислил шесть основных претензий к Биткойну и используемой в ней версии блокчейна. Вы спросите, а почему вы узнали об этом от меня, а не раньше от кого-то другого? Неужели никто не видит проблем?
Кто-то ослеплен, кто-то просто не понимает, как это работает, а кто-то все видит и осознает, но ему просто невыгодно об этом писать. Подумайте сами, многие из тех, кто прикупил биткойнов, начинают их рекламировать и пропагандировать. Эдакая пирамида выходит. Зачем писать, что у технологий есть недостатки, если вы рассчитываете на рост курса?
Да, у Биткойна есть конкуренты, которые попытались решить те или иные проблемы. И хотя некоторые идеи очень хороши, в основе все равно лежит блокчейн. Да, существуют и другие, не денежные применения технологии блокчейн, но ключевые недостатки блокчейна сохраняются и там.
Теперь, если кто-то вам скажет, что изобретение блокчейна сопоставимо по значимости с изобретением Интернета, отнеситесь к этому с изрядной долей скепсиса.