Главная » Блоги Экспертов И ИТ-Компаний » Тестирование блокчейн: как обеспечить качество смарт-контрактов в dApp
Более 15 лет обеспечиваем качество ПО 11 месяцев назад

Тестирование блокчейн: как обеспечить качество смарт-контрактов в dApp

Мир блокчейна и криптовалют в первую очередь ассоциируется с децентрализацией.

В этом и заключается причина роста популярности dApp’ов (decentralized applications): отсутствие централизации исключает единую точку контроля, а значит, несет в себе удобство, приватность информации, безопасность, надежность и экономию ресурсов.

В отличие от централизованных приложений, dApp’ы напрямую соединяют пользователей и разработчиков, не привлекая посредника.

Сейчас самый популярный способ выпустить dApp – это установить его на платформе блокчейн (например, Ethereum). Живыми примерами таких продуктов являются игры, DEX (децентрализованные биржи), маркетплейсы для NFT, гэмблинг, объединенные социальные сети, DeFi (децентрализованные финансы).

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

ПРЕИМУЩЕСТВА СМАРТ-КОНТРАКТОВ

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

Умные контракты помогают приобрести автономность и независимость от третьих лиц и структур, а также обеспечивают участников договорных цепочек иными преимуществами:

  • надежность;
  • безопасность;
  • точность;
  • экономичность.

ЗАЧЕМ ТЕСТИРОВАТЬ СМАРТ-КОНТРАКТ?

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

Даже небольшая ошибка в логике приложения может привести к серьезным последствиям.

Пару лет назад мультиподписные кошельки Ethereum от Parity были заблокированы из-за уязвимостей в смарт-контрактах, а DAO (децентрализованная автономная организация) была взломана злоумышленником.

Конечно, дефекты можно было найти на этапе тестирования до выпуска на рынок.

ЧТО ПРОВЕРЯЕТСЯ В СМАРТ-КОНТРАКТЕ?

  1. Работа метода электронной подписи;
  2. наличие кода контракта и фиксация его изменений;
  3. предмет договора;
  4. инструменты, которые нужны для исполнения контракта;
  5. условия исполнения, зафиксированные в коде договора;
  6. события;
  7. ошибки и отправка сообщений;
  8. изменений состояния договоров, а также их баланса.

КАК ПРОВЕРЯТЬ СМАРТ-КОНТРАКТ?

Нужно смоделировать, учесть и предугадать все возможные условия, которые заложены в логике каждого конкретного договора:

  • какие события должны инициироваться;
  • какие методы должны выполняться;
  • как изменяется состояние и баланс контракта;
  • кому и как произвести перевод средств;
  • какую ошибку вызывать;
  • проверить отправителя сообщения и правильность использования текущего времени.

Например, в работе с Ethereum важно учесть ограничение и расходование величины Gas (стоимость умного договора, которую Ethereum установила за его запуск) при выполнении смарт-контракта.

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

Читайте продолжение статьи по ссылке: https://www.a1qa.ru/blog/testirovanie-blockchain-kak-obespechit-kachestvo-smart-kontraktov-v-dapp/


Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
Комментарии
Другие публикации
RU, Москва
+7 495 640-89-38
Информационные технологии

A1QA – ведущий провайдер услуг в сфере тестирования ПО в Восточной и Центральной Европе. Клиенты A1QA – международные компании, представляющие различные домены бизнеса. Штат сотрудников составляет более 600 инженеров по тестированию. Компания предоставляет различные услуги: полный цикл тестирования ПО, консалтинг по вопросам обеспечения качества, бизнес-анализ, автоматизация тестирования.

В России офисы и центры тестирования компании расположены в Москве, Рязани и Санкт-Петербурге.

Контакты:

info@a1qa.ru

Подробную информацию об услугах компании можно получить на сайте a1qa.ru.




Забыл пароль?
Авторизоваться через
Зарегистрируйся сейчас!
Присоединяйся к нашему обществу для того чтобы познакомиться с новыми людьми, создать собственный блог, публиковать анонсы событий и объявления, а также участвовать в обсуждении публикаций CNews. Мы создали единое пространство для общения специалистов рынка информационных технологий и всех, кто интересуется современными технологиями. Регистрация =>