Tezos Blockchain: поглиблений аналіз з точки зору аудиту PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Блокчейн Tezos: поглиблений аналіз з точки зору аудиту 

Час читання: 5 протокол

Блокчейн-проект Tezos чудово стартував, залучивши 232 мільйони доларів за допомогою первинної пропозиції монет, зайнявши друге місце за кількістю найбільших коштів серед 20 найбільших ICO.

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

У той час як блокчейн, який з’явився в той час, працював на консенсусі Proof-of-Work (PoW), блокчейн Tezos був інноваційним у використанні Доказ-of-Stake(PoS) на основі консенсусу з механізмом самозміни та керуванням у мережі. 

У результаті Tezos потрапив у центр уваги як ідеальна альтернатива для створення екологічних додатків DeFi, які потребують значно менше енергії та низькі витрати. Отже, як інфраструктура Tezos прирівнюється до гнучкості в реалізації оновлень набагато легше?

Це дозволяє нам дізнатися про архітектурну структуру, яка додає цінності Tezos.

Розумні контракти на Tezos

Розумні контракти — це виконувані контракти, запрограмовані на обробку обміну токенами між двома сторонами, не вимагаючи від жодної зі сторін довіри іншій. 

Що стосується Tezos, то він унікально написаний за допомогою мови програмування Майкельсона. Крім того, Tezos використовує формальну перевірку для забезпечення правильності коду, що робить його більш безпечним і надійним. 

Перерахування особливостей блокчейну Tezos

Команда Основні моменти Tezos наведено тут для кращого розуміння його конфігурації та унікальності. 

Самовнесення змін

Tezos, який перевіряє блоки, що працюють за алгоритмом консенсусу, має вбудований самозмінний механізм. Будь-які поправки до протоколу, такі як перехід на інший консенсус, зміна системи винагород, додавання транзакцій тощо, реалізуються на основі системи голосування в ланцюжку. 

Будь-які незначні чи значні зміни в економічному протоколі Tezos запускаються через процедуру голосування в мережі. Цей самозмінний протокол має перевагу в уникненні форків або розколів у спільноті.

Управління в мережі

Tezos виступає проти Bitcoin та Ethereum, які дотримувалися неформалізованих систем управління, які призвели до розколу блокчейну (Bitcoin Cash і Ethereum classic). 

Управління в ланцюжку в Tezos допомагає «Пекарям», також відомим як Майнер, пропонувати оновлення протоколу та голосувати за них. Методологія on-chain у Tezos розроблена для автоматичного впровадження оновлень у базовий код протоколу без проходження через централізований директор. 

Консенсус щодо підтвердження частки: PoS 

Консенсус PoS у Tezos дозволяє будь-кому брати участь. Для того, щоб бути пекарем Tezos, який перевіряє блок і забезпечує досягнення консенсусу, пекар повинен володіти мінімальною кількістю токенів XTZ (власних). 

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

Підстави для використання в смарт-контрактах Tezos

Один із звітів аудиту виявив помилки в архітектурі передачі повідомлень смарт-контрактів Tezos. Зараз ми розшифруємо їх тут. 

Архітектура передачі повідомлень

Зовнішній контракт, який має бути викликаний під час виконання функції, натомість ставиться в чергу в список викликів, які мають бути виконані в контракті Tezos. 

Порядок, який міститься в контракті Tezos, такий: 

  • Виконати a() # Наступні виклики: [b, d]
  • Виконати b() # Наступні виклики: [d, c]
  • Виконати d() # Наступні виклики: [c]
  • Виконати c() # Наступні виклики: []

При цьому ви бачите, що код d() виконується перед кодом c().

Цей тип виконання має можливість для двох типів уразливостей,

Обхід авторизації зворотного виклику 

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

Ін'єкція виклику

Він пропонує зловмиснику можливість скомпрометувати контракт, вставляючи виклики між функцією та згенерованим зовнішнім викликом. 

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

Коли виклик зловмисника виконується, баланс контракту або пам’ять контракту переходить у недійсний стан, і зловмисник успішно виконує ін’єкцію виклику. 

Запобіжні заходи, яких слід дотримуватися під час кодування смарт-контракту Tezos за допомогою Майкельсона

Мова програмування Майкельсона є найкращим варіантом для написання безпечних контрактів, стійких до витоків даних і крадіжок коштів. Незважаючи на те, що мова програмування настільки сильна, існує список помилок, які можуть з’явитися в контракті. 

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

Відшкодування за список контрактів

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

Можливі проблеми з цією помилкою: контракт поглинає весь газ через серію зворотних викликів, викликається інструкція «FAIL», яка зупиняє всі обчислення, помилки повторного входу тощо. 

Яке рішення?

Облікові записи за замовчуванням не виконують код; тому цю проблему можна вирішити, створивши обліковий запис за замовчуванням із ключів користувачів. Крім того, його можна запрограмувати, щоб користувачі отримували свої кошти окремо. 

Не встановлюється стан перед передачею

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

Це призводить до багаторазового зняття коштів з контракту. 

Яке рішення?

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

Зберігання або передача особистих даних

Опубліковані дані можна переглядати явно. Це означає, що приватна інформація стає видимою для всіх, коли транзакція транслюється. Це дає можливість зловмисному вузлу в системі маніпулювати непідписаними транзакціями, затримуючи або змінюючи їх. 

Яке рішення?

Підписуйте транзакції, які містять конфіденційну інформацію. Використання лічильників для виконання наказів транзакцій може вирішити проблему. 

Забезпечте професійний захист проектів за допомогою аудиту смарт-контрактів Tezos 

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

І ось де QuillAudits робить крок вперед, щоб захистити активи від тиску зловмисників. Ми не даємо їм жодних шансів використати контракт, оскільки визнаємо та вирішуємо ці проблеми шляхом ретельного проведення Аудит смарт-контрактів Tezos

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

2 думки

Часова мітка:

Більше від Квілхаш