---
title: "Распространённые мифы о разработке блокчейн-продуктов: объяснение"
date: 2023-11-14
description: "Статья о мифах о блокчейне для фаундеров, которые планируют перенести свой бизнес из Web2 в Web3."
author: "Николай Бордуненко"
intro_image: "https://metalamp.ru/images/myths.png"
fulltext_image: "https://metalamp.ru/images/myths.png"
categories:
  - name: "Magazine"
    url: "https://metalamp.ru/magazine.md"
tags:
  - name: "web3"
    url: "https://metalamp.ru/tags/web3.md"
  - name: "dApps"
    url: "https://metalamp.ru/tags/dapps.md"
  - name: "startup"
    url: "https://metalamp.ru/tags/startup.md"
---

# Распространённые мифы о разработке блокчейн-продуктов: объяснение

![Распространённые мифы о разработке блокчейн-продуктов: объяснение](https://metalamp.ru/images/myths.png)

Когда разговор заходит о каких бы то ни было мифах, значит, за этим вероятнее всего последует разоблачение. А разоблачение это всегда что-то обличающее или критикующее. Но не критиковал блокчейн только ленивый и было за что. 

  Эта статья для фаундеров, которые планируют перенести свой бизнес из Web2 в Web3. Мы развеем популярные мифы о блокчейне и расскажем, как это помогает принимать взвешенные решения еще перед разработкой продукта.

 
## МИФ 1. Если продукт на блокчейне — он прозрачен и безопасен

 Обычно этот аргумент стоит во главе угла в пользу использования dApps звучит он примерно так: «Код смарт-контракта со всеми его функциями записан в блокчейне и лежит в открытом доступе. Так, любой человек способен лично убедиться в отсутствии бэкдоров и критических уязвимостей, которые приведут к краже средств пользователей. Все прозрачно без учета желания разработчиков.»

 
### **Реальность**

 Код публичный только в том случае, если этого хотят сами разработчики. Если при деплое смарт-контракта разработчик не верифицирует смарт-контракт (не опубликует ABI этого смарт-контракта), то вместо красивого кода с комментариями вы увидите байт-код, который адекватно никак не расшифровать.

 ![](https://metalamp.ru/images/Screenshot 2023-09-25 at 18.50.24.png)

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

 **Оригинал**

 
```
```solidity
    function sweep(IERC20 token, address recipient)
        external
        onlyRole(DEFAULT_ADMIN_ROLE)
    {
        uint256 amount = token.balanceOf(address(this));
        token.safeTransfer(recipient, amount);

        emit Sweep(address(token), amount);
    }
```
var sumGroup = matchResult.Groups["Sum"]; 
if(!sumGroup.Success) 
    throw new ArgumentException("Invalid qrCode, Sum group not found");
return (dateGroup.Value, sumGroup.Value);```

 **Декомпилированный**[**код**](https://sepolia.etherscan.io/bytecode-decompiler?a=0x1eb65d00b172b6cbcf468c51bb852298b5472191)**с обозревателя блоков**

 
```
```
def unknownb8dc491b(uint256 _param1, uint256 _param2) payable: 
  require calldata.size - 4 >=ΓÇ▓ 64
  require _param1 == addr(_param1)
  require _param2 == addr(_param2)
  if not unknown248a9ca3[0][caller].field_0:
      mem[128 len 42] = call.data[calldata.size len 42]
      idx = 41
      s = caller
      while idx > 1:
          if s % 16 >= 16:
              revert with 0, 50
          if idx >= 42:
              revert with 0, 50
          mem[idx + 128 len 8] = Mask(8, -(0, 0) + 256, 0) << (0, 0) - 256

…
  log 0xab224606: ext_call.return_data1)

```
    throw new ArgumentException("Invalid qrCode, Sum group not found");
return (dateGroup.Value, sumGroup.Value);```

 [Вам не показалось, во второй строке действительно есть этот дикий артефакт. Именно так его выдал декомпилятор Etherscan]

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

 
### **Как гарантировать безопасность**

 Помимо качественного whitepaper и документации придется раскошелиться! Обращаемся в аудиторскую контору, а лучше в две, которые непредвзято исследуют код смарт-контракта и выпустят публичный отчет со всеми найденными (но уже разумеется исправленными) уязвимостями. Аудит может стоить от $5000 до $500k. Примерно такую сумму протокол Gearbox [запрашивает](https://snapshot.org/#/gearbox.eth/proposal/0x1874531c5fecabb7c18255d91f81df7a5e4167c7f8352983704b7f7349aaced7) из своей казны у пользователей на двойной аудит). Без этого можно обойтись, ведь аудиты не гарантируют безопасность и проекты после аудитов взламывают, но с аудитом ваш проект будет выглядеть намного надежнее в глазах пользователей и социальных медиа. Ведь для изначально мошеннического проекта точно никто не будет заказывать аудит, не так ли?

 
## МИФ 2. Децентрализация = невозможность цензуры

 Люди все еще спорят о понятии “децентрализации”, это безумно интересная тема,которая определенно достойна отдельной статьи. Сейчас же я предлагаю рассматривать децентрализацию как способ противостояния цензуре. Если нет центрального управления системой и технической возможности ограничивать транзакции, означает ли это, что блокчейн — это свободная гавань? 

  
### **Реальность**

 Начну с того, что после перехода Ethereum на PoS, возник серьезный риск тотальной цензуры Ethereum. В [ноябре 2022](https://cointelegraph.com/news/ethereum-inches-even-closer-to-total-censorship-due-to-ofac-compliance) года более 73% блокчейн нод использовали софт OFAC. Этот софт занимался пре-валидацией транзакций от адресов, которые находятся в черном списке OFAC. Попадают они туда по решению этого органа за различные преступления: наркоторговля, отмывание денег и т.п. Звучит как благое дело, но, такие инструменты могут использоваться в политических играх или же просто для подавления неугодных граждан. Масштабы цензуры непостоянны и меняются ежедневно. Посмотреть графики можно [здесь](https://www.mevwatch.info/).

 ![](https://metalamp.ru/images/eth.webp) Процент цензуры нод Ethereum с момента перехода на PoS

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

 
### **Зачем это знать и что с этим может сделать бизнес?**

 Способствовать увеличению уровня децентрализации своего продукта и блокчейна в целом. Быть социально ответственными перед блокчейн комьюнити: поднимать свои ноды, участвовать в конференциях, заниматься исследованиями, инвестировать в инфраструктурные проекты и децентрализацию. Звучит наивно, но, именно так и создавался блокчейн. Также, если продукт стремится быть наиболее децентрализованным, то вместо самописных централизованных сервисов, можно использовать наиболее децентрализованные инфраструктурные решения, такие как The Graph Network, Chainlink, IPFS и другие.  
  
На данном этапе развития Web3 полно узких мест, где разработчики и комьюнити не могут обойтись без централизованных систем: все анонсы — в Twitter (X), работа с комьюнити —  в Discord, разработка — в GitHub и так далее. Это говорит о том, что у строителей прекрасного мира Web3 предстоит еще много работы.

 
## 

МИФ 3. Если продукт на блокчейне, значит, продукт анонимен

 Создавая крипто-кошелек, вы не вводите никаких персональных данных. Соответственно, сопоставить вас с адресом кошелька невозможно. Значит, все анонимно?

 ![](https://metalamp.ru/images/unnamed 10.png)

 ### **Реальность**

 Блокчейны псевдо-анонимны. Это значит, что адреса и транзакции публичны, и, если удастся сопоставить адрес кошелька с вашей личностью, вы деанонимизированы.   
  
Возможно ли это сделать? Теоретически — да. Благодаря методам анализа блокчейна, можно связать транзакции или адреса с определённым человеком или организацией. Повторяющиеся транзакции и другая информация помогают создать профиль активности, который может указывать на конкретное лицо или группу.  
  
Наверное это что-то очень сложное и доступное только хакерам?  Не беда! Для обычных пользователей есть замечательный сервис — Arkham intelligence. Это довольно удобный интерфейс для изучения истории транзакций и балансов искомых кошельков. В качестве демонстрации возможностей сервиса, предлагаю глянуть на [кошелек](https://platform.arkhamintelligence.com/explorer/entity/justin-sun) известного многим Джастина Сана: видны балансы в разных блокчейнах, активность на DEX и транзакции с другими сдеаноненными адресами. Как только Джастин Сан совершает какую-то сделку на DEX, сотни ботов в Twitter сообщают об этом комьюнити. А у каких-то трейдеров настроены боты, которые реагируют на эти движения и копируют эти сделки.   
  
К тому же, очень часто бизнес не заинтересован в обеспечении анонимности пользователей, ведь агрегирование он-чейн данных и сопоставление их с пользовательским следом помогает в будущем эти данные анализировать и следующие версии своего продукта делать лучше. А сбор и обработка таких данных, в теории, может способствовать деанонимизации юзеров.

  

 Еще один важный момент: децентрализованные протоколы могут подчиняться законодательным нормам. Например, протокол Uniswap в пользовательском [соглашении](https://uniswap.org/privacy-policy) пишет о том, что они находятся в юрисдикции США и могут собранные данные передавать по запросу тех или иных органов власти. Uniswap действительно не запрашивает никаких чувствительных данных о вашей личности, но он их собирает из открытых источников, агрегирует и анализирует. В теории, по запросу органов протокол может передать эти данные на блюдечке с голубой каемочкой, сильно облегчив работу этих органов для сличения определенных личностей (через косвенные данные в итоге можно добраться до сути и составить портрет пользователя). Вы скажете, что это паранойя? А я скажу, что ребята из TOR браузера даже не рекомендуют разворачивать окошко браузера на полный экран, потому что сайты собирают информацию даже о диагонали экрана и предупреждают, что это может вас выдать. А эти ребята точно что-то понимают в безопасности 😉

 ![](https://metalamp.ru/images/unnamed 8.png)

 
## МИФ 4. Блокчейн — бесплатная виртуальная машина и не требует затрат на инфраструктуру

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

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

 
### **Реальность**

 Это не совсем так. Без доступа к архивным данным блокчейна, деплой смарт-контракта, действительно, не самая большая часть расходов, но без архивных данных невозможна и аналитика по продукту. А доступ к этим данным потребует развёртывания своей ноды либо оплаты услуг провайдера типа Infura или Alchemy. Так, стоимость Infura составит $225 в месяц за 1 000 000 запросов, а стоимость собственной ноды в сети Ethereum будет примерно равна стоимости сервера на 20 терабайт.

  

 Помимо доступа к архивным данным вашему продукту пригодятся другие дополнительные инструменты. Так, для индексации данных блокчейна необходимо написать и задеплоить сабграф. Например, в [The Graph Network](https://thegraph.com/docs/en/network/benefits/), где нужно платить индексаторам в токенах GRT. Каждые 100 000 запросов обойдутся в ~$50, а за 30 млн. запросов придется платить по $4500 в месяц. Точно ли вашему бизнесу нужен этот сабграф? Если основной фишкой у проекта повышенная децентрализация, вероятнее всего да. 

 Оракулы для бизнеса также не бесплатны: Например, запрос в Chainlink VRF в сети Ethereum для получения списка случайных чисел может стоить примерно 3 токена LINK, то есть, около $23. Оракулы очень важны почти для любого проекта, особенно если проект имеет прочную связь с данными из реального мира (курсы валют, результаты спортивных событий и т.д.).

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

 
## МИФ 5. Code is law или Неизменяемость кода смарт-контрактов

 Неизменяемость кода смарт-контрактов — еще одно преимущество Web3 продуктов над Web2. Чаще всего, говоря об этом, подразумевается, что написанная логика смарт-контракта не будет изменена тайно и создатели протокола не способны произвести какие-либо манипуляции, чтобы обмануть своих пользователей. Это действительно так для таких протоколов как Uniswap, Yearn и многих других. Версии этих протоколов работают без изменений годами и при выходе нового протокола старый не прекращает работать.

 ![](https://metalamp.ru/images/unnamed 11.png)

 ### **Реальность**

 Существует технология [upgradeable](https://ethereum.org/en/developers/docs/smart-contracts/upgrading), она позволяет менять код в смарт-контрактах, т.е. полностью переписать всю логику смарт-контракта с нуля. Неизменными останутся данные, записанные в хранилище контракта, но это просто слоты, ячейки памяти, их можно проигнорировать и создать новые переменные.

  Но ведь это нарушает основной принцип блокчейна? Лишается ли доверия юзеров такой продукт? 

  Не стоит забывать, что код смарт-контракта можно просмотреть в обозревателе блоков (если разработчики стремятся к прозрачности и верифицировали код). В коде будут видны прокси-контракты и смарт-контракты с основной логикой. Опытный разработчик без труда обнаружит это, а обычный юзер может изучить аудит, где upgradeability будет обязательно отмечено. 

  Обновляемость смарт-контрактов позволяет их оптимизировать, исправлять ошибки и делать приложения удобнее для пользователей, делая продукт более конкурентоспособным. Например, если кто-то из команды или комьюнити заметит критический баг и сообщит об этом, есть высокий шанс все исправить до того, как хакер уведет средства ваших пользователей. И за такую обновление пользователи точно скажут вам “спасибо”.  
  
Обновляемость контракта может быть не только в руках разработчиков, но и ДАО: сообщество может само предлагать и голосовать за те изменения, в котором протокол по их мнению нуждается, и самостоятельно исполнять эти изменения. 

 Что делать, если же формат ДАО вам не подходит, но обновляемость вашего смарт-контракта вам также важна, как доверие пользователей? Можно в своем роадмапе отразить майлстоун или же условие, при котором из вашего продукта будет отменена обновляемость или выйдет версия протокола без этой функции. 

 
## 

Подводя итоги

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

 ![article-logo](https://metalamp.ru/images/article/logo.svg) 
## Читайте больше о Web3


## Custom Fields

**reading time:** 9

**Article type:** articles

**Article description:** Развеиваем популярные мифы о блокчейне и рассказываем, как это помогает принимать взвешенные решения перед разработкой продукта.

**Editor's choice:** editors_choice

**Author (copy):** Николай Бордуненко

