Блокчейн Tezos: углубленный анализ с точки зрения аудита PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Блокчейн Tezos: углубленный анализ с точки зрения аудита 

Время Читать: 5 минут

Блокчейн-проект Tezos отлично стартовал, собрав 232 миллиона долларов с помощью Initial Coin Offering, заняв второе место по получению самых больших средств среди 20 крупнейших ICO.

Среди самых популярных сетей блокчейнов, таких как Ethereum или Bitcoin, как Tezos удалось завоевать весь ажиотаж? Чтобы узнать ответ, давайте подробнее рассмотрим отличительные черты Tezos, привлекшие полчища сторонников. 

В то время как блокчейн, появившийся в свое время, работал на консенсусе Proof-of-Work (PoW), блокчейн Tezos был инновационным в использовании Корректор из-кола(PoS) на основе консенсуса с механизмом самоизменения и управлением в сети. 

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

Это позволяет нам узнать об архитектурной настройке, которая повышает ценность Tezos.

Смарт-контракты на Tezos

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

Что касается Tezos, то он уникально написан с использованием языка программирования Michelson. Кроме того, Tezos использует формальную проверку для обеспечения правильности кода, что делает его более безопасным и надежным. 

Перечисление особенностей блокчейна Tezos

Ассоциация основные моменты Tezos приведены здесь для лучшего понимания его конфигурации и уникальности. 

Самоизменяющийся

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

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

Ончейн управление

Tezos противостоит Биткойну и Эфириуму, которые следовали неформализованным системам управления, которые привели к разделению блокчейна (Биткойн Кэш и Эфириум классический). 

Ончейн-управление в Tezos помогает «пекарям», также известным как майнеры, предлагать и голосовать за обновления протокола. Ончейн-методология в Tezos предназначена для автоматического внедрения обновлений в код базового протокола без использования централизованного директора. 

Консенсус Proof-of-Stake: PoS 

Консенсус PoS в Tezos позволяет любому участвовать. Чтобы быть пекарем Tezos, который проверяет блок и обеспечивает достижение консенсуса, пекарь должен иметь минимальный запас токенов XTZ (нативных). 

Он также использует метод, при котором, если у пользователя недостаточно средств для выпечки, он может делегировать токены XTZ пекарю с большим банкроллом Tez. В свою очередь, вознаграждение, заработанное пекарем, перераспределяется между делегатами. 

В смарт-контрактах Tezos обнаружены эксплойты

Один из аудиторских отчетов выявил ошибки в архитектуре передачи сообщений смарт-контрактов Tezos. Мы расшифруем их здесь и сейчас. 

Архитектура передачи сообщений

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

Порядок, указанный в контракте Tezos, следующий: 

  • Execute a() # Следующие вызовы: [b, d]
  • Execute b() # Следующие вызовы: [d, c]
  • Execute d() # Следующие вызовы: [c]
  • Execute c() # Следующие вызовы: []

При этом вы можете видеть, что код d() выполняется перед кодом c().

Этот тип исполнения имеет возможность для двух типов уязвимостей,

Обход авторизации обратного вызова 

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

Инъекция вызова

Он дает злоумышленнику возможность скомпрометировать контракт, внедрив вызовы между функцией и сгенерированным внешним вызовом. 

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

Когда вызов злоумышленника выполняется, баланс контракта или память контракта переходит в недопустимое состояние, и злоумышленник успешно осуществляет внедрение вызова. 

Меры предосторожности, которые необходимо соблюдать при кодировании смарт-контракта Tezos с использованием Michelson

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

Давайте разберемся с распространенными ошибками и способами их исключения.

Возврат к списку контрактов

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

Возможные проблемы из-за этой ошибки заключаются в том, что контракт поглощает весь газ через серию обратных вызовов, вызывается инструкция «FAIL», которая останавливает все вычисления, ошибки повторного входа и так далее. 

Какое решение?

Учетные записи по умолчанию не выполняют код; поэтому указанную выше проблему можно решить, создав учетную запись по умолчанию из ключей людей. Кроме того, его можно запрограммировать, чтобы пользователи могли снимать свои средства индивидуально. 

Не устанавливать состояние перед передачей

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

Это вызывает многократное снятие средств с контракта. 

Какое решение?

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

Хранение или передача личных данных

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

Какое решение?

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

Обеспечьте профессиональную защиту проектов с помощью аудита смарт-контрактов Tezos 

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

И вот где QuillAudits делает шаг вперед, чтобы защитить активы от власти злоумышленников. Мы не даем им возможности использовать контракт, поскольку мы распознаем и устраняем эти проблемы путем тщательного Аудит смарт-контрактов Tezos

Получите бесплатную консультацию с нашими экспертами, чтобы узнать о наших аудиторских услугах. 

2 Просмотры

Отметка времени:

Больше от Квиллхэш