Привет! Мы — блокчейн-разработчик и аудитор Александр Мазалецкий и Николай Бордуненко менеджер проектов в компании MetaLamp. Эту статью мы написали на основе доклада для митапа «Как выбрать архитектуру для вашего блокчейн проекта?» (смотрите запись этого события здесь). Надеемся, что после её прочтения крипто-индустрия станет понятнее и ближе фаундерам, и им будет проще принимать архитектурные решения по Web3 проектам.

Появление блокчейна ознаменовало начало эры децентрализации. Децентрализованный интернет — это пространство творчества и свободы. Децентрализация обеспечивает открытость и общедоступность Интернета для всех; ни правительства, ни корпорации не могут контролировать его. Децентрализованные приложения запускаются на нодах блокчейна и работают устойчиво и независимо.
В теории.
В реальности многие заявленные ценности блокчейна оказываются мифическими. Рассказываем, как на практике обстоит дело с децентрализацией, безопасностью и другими процессами в крипто-проектах.
Table of content:
- Смарт-контракты неизменяемы.
- dApp не требует платной инфраструктуры и содержания штата программистов для сопровождения продукта.
- Исходный код виден всем и его можно скопировать.
- Технология блокчейна анонимна и децентрализована.
- Технология блокчейна безопасна и прозрачна. Не нужно дополнительно платить за трастовость.
Code is law или смарт-контракты неизменяемы

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

Большая и готовая инфраструктура — одно из главных преимуществ блокчейна. На неё не нужно тратить деньги: блокчейн позволяет записывать и считывать данные даже с самого простого компьютера, ведь приложения запускаются на мощных нодах.
Из этого легко сделать вывод, что запуск самого жирного смарт-контракта - это единоразовая оплата за деплой, который может стоить как 100, так и 1000 долларов, но дальше не потребует никаких затрат на поддержку и смарт-контракт будет работать сам по себе.
Это не совсем так. Без доступа к архивным данным блокчейна, деплой смарт-контракта действительно не самая большая часть расходов, но без архивных данных невозможна и аналитика по продукту. Доступ к этим данным потребует развёртывания своей ноды либо оплаты услуг провайдера типа Infura или GetBlock. Так, стоимость Infura составит $225 в месяц за 1 000 000 запросов. А стоимость собственной ноды в сети Ethereum будет равна стоимости сервера на более чем 12 терабайт по данным на 2022 год.
Помимо доступа к архивным данным вашему продукту пригодятся другие дополнительные инструменты.
Так, для индексации данных блокчейна необходимо написать и задеплоить сабграф. Например, в The Graph Network, где нужно платить индексаторам в токенах GRT. Каждые 100 000 запросов обойдутся в ~$50. Оракулы для бизнеса также не бесплатны: 1 запрос в Chainlink стоит 0.1 LINK, что на момент публикации статьи составляет 7 центов.
И за всей этой инфраструктурой так же нужен присмотр специалистов. Об этом стоит помнить, рассчитывая свои расходы.
Анонимность и децентрализация гарантированы
Эти два понятия практически стали синонимами блокчейна.
Выбирая dApp, вы думаете, что привлекаете аудиторию, которая стремится к анонимности и децентрализации — и предоставляете им эти возможности.
Так ли на самом деле?
Для вас это может стать сюрпризом, но инфраструктура блокчейна не является на 100% децентрализованной, а пользователи dApps не всегда анонимны.
Одна из главных особенностей технологии блокчейна — прозрачность. Все могут видеть действия, которые вы совершаете, адреса, с которых отправляются транзакции. Таким образом, вы анонимны лишь до тех пор, пока адрес не будет сопоставлен с вашей личностью.
После The merge и перехода на Proof-of-Stake Etherium стал централизован как никогда ранее: более 60% валидаторов сети соблюдают законы США и не пропускают транзакции, которые по мнению OFAC задействованы в отмывании денег и других финансовых преступлениях.
Сам бизнес не всегда заинтересован в анонимности. Без пользовательских данных нет аналитики, которая помогает улучшить пользовательский сервис. Например, Uniswap анализирует большое количество данных чтобы предложить пользователям оптимальное проскальзывание при обмене, а также собирает данные о пользовательских кошельках из внешних источников для соблюдения норм закона.

One inch открыто сообщает о своём масштабировании и открытии большего количества серверов. Они анализируют сотни других протоколов, пулов ликвидности и многое другое оффчейн, чтобы дать юзерам наименьшее проскальзывание цены и лучший роутинг.
Таким образом, крупнейшие DEX используют серверы (по принципу централизации) для обработки данных, а также задействуют бэкенд для создания лимитных ордеров и ордеров RFQ.
Открытый исходный код обеспечивает надёжность
Если вы верифицируете контракты и напишете подробную документацию, как работает ваш продукт, то опытный пользователь поймёт, что продукт надёжен и эффективен. И, само собой, расскажет об этом другим.
Это лишь присказка. Несомненно, код и white paper нужны комьюнити. Но, что очень важно, им нужна проверка авторитетных источников, подтверждающая безопасность и работоспособность вашего продукта. Эти источники — аудиторы.
Хорошим тоном считается заказывать аудит у 2-3 контор. Поэтому при планировании бюджета не забудьте заложить на это дополнительные средства. Цены начинаются от $5000 и выше, в зависимости от объёма работы аудитора и его репутации. Вы передаёте ему код и всю документацию, и в течение нескольких недель ждёте, пока он изучит материалы, сделает замечания, которые вы исправите, чтобы в итоге получить заключение о вашем продукте. И хотя аудит не гарантирует 100% безопасности, без заключения аудиторов ваш проект будут воспринимать как пустышку.
Подводя итоги
Если после разбора основных мифов блокчейн-разработки вам меньше хочется со всем этим связываться — это нормально. Блокчейн идеализирован: часто он используется без необходимости и вполне может быть заменён более традиционными решениями.
Но сложно отрицать, что не смотря на все эти специфичные моменты - web3 проекты успешно работают и развиваются. С каждым днем они становятся удобнее, дешевле, безопаснее. Люди учатся работать с этим, совершенствуя инструменты разработки.
Если не зацикливаться на трудностях, которые описаны выше, а искать сильные стороны этих технологий, то можно получать преимущество в виде классных продуктов на выходе. Причем речь идет не только о крипто-продуктах, но и классических проектах.
Подписывайтесь на наш Телеграм-канал, чтобы узнавать последние новости о web3 разработке.