Исследовательская статья

Формальная проверка механизмов консенсуса блокчейна с помощью события-B

DOI:

10.3791/70193

8 мая 2026 г.

В этой статье

Краткое содержание

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

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

Аннотация

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

В данном исследовании разрабатывается формально обоснованная система верификации для механизмов консенсуса блокчейна и поведения смарт-контрактов с использованием Event-B и платформы Rodin. В отличие от предыдущих подходов, которые в основном опираются на симуляцию или валидацию изолированных контрактов на основе кейсов, эта работа интегрирует абстракцию с помощью конечных автоматов (FSM), доказательство с инвариантами, моделирование уточнения и верификацию временной логики для анализа доказательства работы (PoW), доказательства ставки (PoS) и механизмов предотвращения двойного расходования. Solidity смарт-контракты абстрагируются в FSM и кодируются как машины Event-B, что позволяет формально спецификовать переходы состояний и ограничения безопасности. Свойства безопасности — включая уникальность транзакций, согласованность состояния, контроль доступа и сохранение инвариантов реестра — проверяются с помощью автоматически сгенерированных обязанностей доказательства в Rodin. Всего было сгенерировано 312 доказательственных обязательств, из которых 287 (92%) были автоматически списаны, а 25 доказаны интерактивно, что привело к полному инвариантному покрытию. Свойства живости были определены в логике вычислительного дерева вычислений (CTL) и проверены с помощью проверки модели, что подтверждало свободу от тупиков и окончательный выбор валидатора в условиях PoS. Предотвращение двойного расходования формально осуществлялось с помощью моделирования реестра, согласованного с соответствующими состояниям, где ограничения уникальности были доказаны для всех достижимых состояний. Логика консенсуса на уровне протокола для PoW и PoS была уточнена на трёх уровнях абстракции, обеспечивая целостность блоков и корректность валидаторов постепенно доработанной. Результаты показывают, что машинно проверенные доказательства обеспечивают проверяемые гарантии корректности, выходящие за рамки симуляционной оценки, создавая строгий и воспроизводимый конвейер верификации, который повышает гарантию корректности и устойчивость на уровне протокола в блокчейн-системах.

Введение

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Технология блокчейн эволюционировала в парадигму распределённого реестра, которая позволяет вести децентрализованную документацию без зависимости от централизованных органов. Реплицируя состояния реестра между участниками и достигая согласования с помощью механизмов консенсуса, блокчейн-системы обеспечивают целостность, прозрачность и устойчивость к вмешательству в открытых и враждебных средах. Как описывают Яга и др.1, архитектура блокчейна сочетает криптографические примитивы, распределённые протоколы консенсуса и одноранговую коммуникацию, чтобы гарантировать, что валидированные транзакции становятся вычислительно непрактичными для изменений. Основные механизмы консенсуса, такие как Proof of Work (PoW) и Proof of Stake (PoS), регулируют выбор валидатора, проверку блоков и синхронизацию реестра. Кроме того, смарт-контракты расширяют возможности блокчейна, внедряя программируемую логику, которая автономно выполняет заранее определённые правила, позволяя создавать децентрализованные приложения в таких секторах, как финансы, здравоохранение и управление. По мере того как блокчейн-технологии всё чаще внедряются в высокоценных, критически критически важных для безопасности средах, правильность механизмов консенсуса и поведения смарт-контрактов становится необходимым для поддержания операционнойнадёжности 2.

Несмотря на свою децентрализованность, блокчейн-системы остаются уязвимыми к логическим и протокольным уязвимостям. Атаки на двойное расходование могут возникать, когда ограничения на согласованность реестра не соблюдаются строго. Слабые места на уровне консенсуса, такие как неправильная логика выбора валидаторов или ошибочные правила проверки блоков, а также уязвимости смарт-контрактов, включая повторный вход и неправильный контроль доступа, привели к значительным финансовым потерям в развернутых платформах. Хотя эмпирические фреймворки тестирования и моделирования широко используются для оценки поведения протоколов PoW и PoS, эти подходы предоставляют лишь иллюстративные наблюдения, а не комплексные гарантии корректности. Валидация на основе моделирования не может доказать инвариантное сохранение во всех доступных состояниях или обеспечить свойства безопасности и живости при каждом пути выполнения. Это ограничение подчёркивает необходимость математически обоснованных методов верификации, которые могут строго рассуждать о блокчейн-системах за пределами наблюдательного анализа.

Формальные методы предоставляют такую основу, позволяя спецификацию и верификацию системы с помощью математическойлогики 3,4. Событие-B расширяет эту парадигму поэтапным уточнением, представляя системы как абстрактные автоматы состояния, в которых состояния системы ограничены инвариантами, а переходы моделируются как охраняемые события5. Платформа Rodin автоматически генерирует обязательства по доказательству и поддерживает их сбросок, что позволяет машинно проверять сохранение инвариантов и согласованностьсостояния 6. Классические методы спецификации, такие как методB-7 иZ 8, демонстрируют, как рассуждение на основе инвариантов и формальное уточнение могут обеспечить корректность системы на разных этапах разработки. Эти методы широко применяются в критически важных для миссии и безопасности системах для обеспечения правильности доразвертывания 9, 10, 11, 12, 13. Дополнительные расширения, такие как UML-B и графические рамки уточнения, дополнительно демонстрируют масштабируемость моделирования на основе уточнения для сложных промышленныхсистем 14, 15, 16, 17, 18, 19. Эти достижения показывают, что формальное моделирование, основанное на уточнении, может эффективно управлять сложностью системы, сохраняя при этом высокие гарантии корректности.

Формальные подходы к верификации также изучались для блокчейн-систем. Методы проверки контрактов на основе SMT автоматически проверяют утверждения внутри программ Solidity и могут приводить контрпримеры при возникновении логическихнарушений 20. Инструменты, такие как VERISOL, используют конечные абстракции для проверкисмарт-контрактов 2, а методы доказывания теорем переводят контракты в формальные рамки рассуждения, такие как F*21. Кроме того, семантические формализации виртуальной машины Ethereum позволяют строго анализировать семантику выполнения и обнаружениеуязвимостей 22. Аналогично, среды доказывания теорем, такие как Coq, применялись для анализа свойств безопасности, связанных с консенсусом, и транзакционнойкорректности 23. Хотя эти подходы дают ценные инсайты, они часто независимо сосредоточены либо на корректности на уровне контракта, либо на уровне консенсуса. Системные инварианты реестра, переходы состояний консенсуса и поведение смарт-контрактов редко интегрируются в единую структуру на основе уточнения, которая поддерживает прослеживаемость между уровнями спецификаций и артефактами верификации. Кроме того, многие существующие подходы делают упор на обнаружение уязвимостей или логическую проверку утверждений, а не на систематическое сохранение инвариантов на нескольких уровнях уточнения.

Настоящее исследование устраняет этот методологический пробел, предлагая единую формальную систему верификации, которая интегрирует абстракцию смарт-контрактов Solidity с моделированием уточнения событий B и машинно-проверенным доказательством обязательств в рамках платформы Rodin. Вместо того чтобы рассматривать проверку контрактов и моделирование консенсуса как отдельные задачи, предлагаемая структура формально определяет переходы состояний на уровне протокола для PoW и PoS, ограничения целостности реестра, условия уникальности транзакций и эволюцию состояния смарт-контракта в рамках единой структурированной модели. Свойства безопасности — включая сохранение инвариантов, уникальность транзакций, контролируемые переходы состояний и согласованность реестра — выражаются в виде инвариантов событий-B и проверяются через автоматически сгенерированные обязательства доказательства. Временные и зависящие от порядка выполнения свойства задаются с помощью логики дерева вычислений и проверяются с помощью проверки моделей для обеспечения корректности за пределами статических инвариантов. Ключевой методологический вклад заключается в установлении явной прослеживаемости через слои абстракции: функции солидности абстрагируются в переходы FSM, переходы FSM кодируются как события Event-B, а инварианты вместе с временными спецификациями напрямую связаны с обязательствами по выброшенным доказательствам и результатами проверки модели. Такое структурированное отображение гарантирует, что каждое утверждение о корректности подтверждается машинно проверенными доказательствами и чётко отличает гарантии, основанные на доказательствах, от наблюдений на основе моделирования.

Масштаб этой работы намеренно ограничен для обеспечения точности и аналитической ясности. Моделирование сосредоточено на переходах состояний на уровне протокола для механизмов консенсуса, ограничениях целостности реестра, свойствах уникальности транзакций и поведении состояния смарт-контракта. Сетевые аспекты, такие как задержки распространения сообщений, византийские состязательные стратегии, механизмы разрешения форков и подробная семантика газа Ethereum Virtual Machine, выходят за пределы определённой границы абстракции. Явно определяя эти предположения моделирования, структура гарантирует, что утверждения на верификацию остаются согласованными с формально проверенными доказательствами. Остальная часть этой статьи представляет методологию абстракции, процесс моделирования и уточнения события B, процедуры инвариантной и временной верификации, а также итоговые результаты верификации. Основывая протокол блокчейна и верификацию смарт-контрактов на формальном моделировании на основе уточнения и машинно-проверенных доказательствах, это исследование усиливает методологическую строгость и повышает обеспечение корректности перед развертыванием для децентрализованных реестровых систем.

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

Протокол

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Входные материалы для изучения
В этом исследовании в качестве входных данных для проверки использовались два смарт-контракта Solidity. Первый был контрактом в стиле Simple DAO, использовавшимся как кейс по повторному вступлению. Второй — это упрощённый реестр/переходный контракт, предназначенный для проверки ограничений на уровне контрактов против двойного расходования. Исходный код Solidity служил входом для процессов абстракции и проверки, определённых в этом протоколе. Общий процесс трансформации, используемый для таких контрактов, иллюстрирован на рисунке 1, где показано постепенное преобразование исходного кода Solidity в модели FSM, Event-B и SMV во время верификации.

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

Инварианты на уровне контракта были определены для обеспечения уникальности транзакций и предотвращения двойного расходования в пределах границы абстракции. Для представления требований к выбору валидации и целостности блока уровень абстракции протокол-логики был определен с помощью переходов состояний на уровне протокола как Proof of Work, так и Proof of Stake.

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

Инструменты и конфигурация
Платформа Rodin использовалась для моделирования, доработки, генерации обязательств по доказательствам и внедрения модели Event-B (версия 3.7.0), которая позволяла доказателям PP, ML, SMT и Atelier-B автоматически и интерактивно выпускать доказательства. nuXmv версии 2.0.0 запускалась на сгенерированных моделях SMV в полном режиме CTL-исследования для проверки CTL-моделей.

Все выполнения верификации выполнялись в контролируемой вычислительной среде с использованием Ubuntu 22.04 LTS, OpenJDK 11 и Python 3.10.12. Web3 (7.6.0), NetworkX (3.4.2), Matplotlib (3.8.0), Graphviz (0.20.3), NumPy (1.26.4) и Pandas (2.2.2) использовались для реализации элементов симуляции и визуализации. Такая конструкция гарантировала возможность воспроизведения формальной верификации и симуляции при выполнении при тех же условиях выполнения.

Рабочий процесс трансформации
Этот процесс верификации состоял из четырёх этапов. Контракты твердости сначала были преобразованы в представление с использованием конечных автоматов (FSM-SC). Модель FSM-SC впоследствии была закодирована в Событии-B с чётко определёнными инвариантами и степенями уточнения. Абстракция FSM-SC была преобразована в модель SMV в nuXmv. Результаты верификации были представлены в виде статистики по списанию доказательств обязательств и проверки модели CTL, а также приводились контрпримеры в качестве кейсов.

Конструкция FSM
Каждый контракт абстрагировался как конечный автомат, определяемый как:

figure-protocol-1

Где:
S = множество состояний
S₀ = начальное состояние
T = отношение перехода
V = карта видимости
G = охранительные предикаты
A = действия/обновления состояния.

Алгоритм 1: построение FSM из Solidity
Вход: исходный код Solidity
Выход: FSM-SC

1) Парсировать абстрактное синтаксисическое дерево контракта Solidity.
2) Создать начальное состояние S₀ из определения конструктора.
3) Для каждой функции солидности f создать отдельный S_f управляющего состояния и записать видимость V(f) ∈ {публичная, внешняя, внутренняя, приватная}.
4) Для каждого оператора в функции f выведите переход t, извлекая защитные предикаты из условий require/assert и действий из обновлений переменных состояния.
5) Добавить переход t к T.
6) Создавать явные типы переходов для операций передачи эфира (вызов, отправка, передача), внутренних и внешних вызовов, delegatecall, самоуничтожения, использования tx.origin, условных ветвей и конструкций циклов.
7) Возврат FSM-SC = (S, S₀, T, V, G, A).

И каждая функция солидности связана с разным управляющим состоянием FSM. Для понимания уязвимостей соответствующие уязвимости потоки исполнения, например, такие потоки с внешними вызовами, за которыми следовали обновления баланса, явно абстрагировались в упорядоченные переходы. Рисунок 2 описывает пример схемы FSM-SC для контракта в стиле SimpleDAO, показывающей, как на этапе строительства абстрагировались состояния входа, переходы внешних вызовов и последовательности обновления состояний.

Кодирование FSM в событие-B
Переход FSM был представлен как конструкции Event-B. Все переходы соответствуют событиям События-B, включая определённых охранников и действия.

Алгоритм 2: кодирование FSM в Event-B
Вход: FSM-SC
Вывод: машина Event-B и контекст

1) Определить STATE_SET и ФУНКЦИЮ в контексте контракта.
2) Объявить переменные, представляющие состояние контроля FSM и состояние на уровне контракта.
3) Представить каждое состояние управления FSM s ∈ S с помощью current_state ∈ STATE_SET.
4) Для каждого перехода (s → s′, g, a) создать событие Event-B E_t с:
5) ГДЕ current_state = s ∧ g
6) ТОГДА current_state := s′ ∥ применимо(a)
7) Кодировать ограничения видимости с помощью защитных, полученных из V(f).
8) Определить инварианты inv1–inv9 для захвата свойств безопасности и согласованности.
9) Определите INITIALIZATION, присваивая значения S₀ и по умолчанию.

Набор состояний, текущее состояние, видимость функций, стек вызовов, временная метка транзакции, статус передачи эфира, флаг вызова делегата, флаг самоуничтожения и условие верификации — это некоторые из переменных, отражаемых в модели Event-B. Инварианты (inv1-inv9) и действия инициализаций (act1-act6) совпадают с действиями формальной спецификации. Рисунок 3 также показывает, как поддерживаются ключевые события, связанные с уязвимостями, особенно переходы, связанные с повторным входом, в кодировании Event-B. На этом рисунке объясняется, как структурные паттерны модели FSM-SC, показанные на рисунке 2, отображаются в проверяемые события Event-B.

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

Алгоритм 3: Уточнение и разряд по доказательству
Вход: Абстрактная машина и усовершенствованная машина
Результаты: Обязательства по доказательствам и статистика

1) Генерировать доказательства для абстрактной машины в Родене.
2) Выполнить автоматические проверки с активным активом и записать результаты разряда.
3) Генерировать обязательства по обеспечению устойчивости к доработке для переработанной машины.
4) Применять автоматические доказательства к обязанностям по уточнению.
5) Выполнять оставшиеся обязательства интерактивно, когда это необходимо.
6) Экспорт статистики доказательств и отчётов о состоянии.

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

Спецификация свойств CTL и проверка модели
Абстракция FSM-SC была преобразована в модель SMV для временной проверки с временем ветвления в nuXmv.

Алгоритм 4: Проверка FSM в SMV и CTL
Вывод: результат проверки PASS/FAIL и контрпримерные трассы (если есть)

1. Записывать управляющие состояния FSM как перечисленное состояние SMV.
2. Преобразовать переходы FSM в охраняемые next(state) назначения.
3. Поддерживать флаги для уязвимых условий, таких как внешние вызовы и обновления баланса.
4. Закодировать свойства CTL в nuXmv и выполнить проверку модели.
5. Если свойство не работает, генерируйте контрпримерные следы, представляющие последовательности переходов FSM.

Проверка CTL включала требования к приказам повторного входа, финализацию обновлений состояния после операций передачи, ограничение неограниченного рекурсивного входа в критические участки и избегание тупиков.

Проверены свойства безопасности
Контракт в стиле Simple DAO, предотвращающий повторный вход, был подтверждён безопасным упорядочением между внешними вызовами и обновлениями состояния через инварианты и ограничения CTL. Там, где это было разрешено, эти охранники проверяли ограничения доступа, чтобы несанкционированные переходы были ограничены инвариантами. Модель уменьшенного реестра проверяла инварианты уникальности сделок и согласованности реестра на уровне предотвращения внутри контракта.

Отчетные результаты
Раздел «Результаты» содержит отчёты по структурным метрикам FSM, метрикам модели Event-B и статистике для подтверждения обязательств и проверки CTL. Результаты формального доказательства и результатов проверки моделей CTL приводятся отдельно для различия доказательств гарантий корректности инвариантами и доказательств проверки времени с использованием временной проверки.

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

Результаты

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Результаты этой работы сочетают формальные продукты верификации Event-B и CTL с исполняемой информацией из блокчейн-моделирования. Сочетание этих многоуровневых выходов поддерживает валидацию поведения ключей в смарт-контрактах, их консенсусных систем и ограничений по надёжности реестра в рамках ограниченного примера дизайна.

Настройка среды и проверка зависимостей
Среда выполнения, используемая для трансформации моделей, верификации и моде...

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

Обсуждение

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Формальная и симуляционная верификация демонстрирует, что многоуровневая система верификации, использованная в данном исследовании, способна проверять поведение смарт-контракта, корректность консенсус-механизма и свойство целостности реестра при чётко определённой границе абстракции. Событие-B обеспечивает математически обоснованное представление свойств безопасности, логики течения состояния и предотвращения повторного входа в виде инвариантов и логики на основеуточнен...

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

Раскрытие информации

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

У авторов нет конфликта интересов, которые можно было бы заявлять.

Благодарности

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ни одного.

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

Материалы

Список материалов, использованных в этой статье
ИмяКомпанияКаталожный номерКомментарии
Платформа Родина (v3.7.0)Команда Родена / Фонд Затменияhttps://www.event-b.org/install.htmlМоделирование, уточнение событий B, а также генерация и сброс доказательств-обязательств
Метод Event-BУниверситет Саутгемптона / Сообщество Родинhttps://www.event-b.org/Формальная модельная рамка для спецификации и уточнения инвариантов
nuXmv Проверка моделей (v2.0.0)FBK (Fondazione Bruno Kessler)https://nuxmv.fbk.eu/Проверка символьных моделей свойств CTL
Graphviz (v0.20.3)Команда Graphvizhttps://graphviz.org/Визуализация FSM и рендеринг графов
Python (v3.10.12)Фонд программного обеспечения Pythonhttps://www.python.org/downloadsСреда моделирования и выполнения
Web3.py (v7.6.0)Ethereum Foundation / Contributorshttps://web3py.readthedocs.io/Взаимодействие блокчейна и симуляция транзакций
NetworkX (версия 3.4.2)Разработчики NetworkXhttps://networkx.org/Моделирование графов блокчейн- и FSM-структур
Matplotlib (v3.8.0)Команда разработчиков Matplotlibhttps://matplotlib.org/График времени добычи и распределений валидаторов
NumPy (v1.26.4)Разработчики NumPyhttps://numpy.org/Численные вычисления
Панды (v2.2.2)Команда разработки Pandashttps://pandas.pydata.org/Анализ и обработка данных
OpenJDK 11Сообщество Oracle / OpenJDKhttps://openjdk.org/projects/jdk/11/Требуемое время работы для платформы Родена
Ubuntu 22.04 LTSCanonical Ltd.https://ubuntu.com/downloadОперационная система для всех экспериментов
ПлотностьEthereum Foundationhttps://soliditylang.org/Исходный язык смарт-контракта, используемый в качестве входных данных
Язык ввода nuXmv (SMV)FBKhttps://nuxmv.fbk.eu/documentation.htmlПромежуточное представление модели для проверки CTL

Ссылки

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Yaga, D., Mell, P., Roby, N., Scarfone, K. Blockchain Technology Overview. , National Institute of Standards and Technology. Gaithersburg, MD, USA. (2018).
  2. Wang, Y., et al. Formal specification and verification of smart contracts for Azure Blockchain. arXiv preprint. , (2019).
  3. Huth, M., Ryan, M. Logic in Computer Science: Modelling and Reasoning About Systems. , Cambridge University Press. Cambridge, U.K. (2004).
  4. Baier, C., Katoen, J. P. Principles of Model Checking. , MIT Press. Cambridge, MA, USA. (2008).
  5. Abrial, J. R. Modeling in Event-B: System and Software Engineering. , Cambridge University Press. Cambridge, U.K. (2010).
  6. Abrial, J. R., et al. Rodin: An open toolset for modelling and reasoning in Event-B. Int. J. Softw. Tools Technol. Transf. 12 (6), 447-466 (2010).
  7. Abrial, J. R. The B-Book: Assigning Programs to Meanings. , Cambridge University Press. Cambridge, U.K. (1996).
  8. Jacky, J. The Way of Z: Practical Programming with Formal Methods. , Cambridge University Press. Cambridge, U.K. (1996).
  9. Verma, S., Yadav, D., Chandra, G. Introduction of formal methods in blockchain consensus mechanism and its associated protocols. IEEE Access. 10, 66611-66621 (2022).
  10. Guha, S., Nag, A., Karmakar, R. Formal verification of safety-critical systems: A case study in airbag system design. Proc. Int. Conf. Intelligent Systems Design and Applications, , Springer. Cham, Switzerland. 107-116 (2021).
  11. Karmakar, R. Formal verification techniques: A comparative analysis for critical system design. Proc. Int. Conf. Intelligent Systems Design and Applications, , Springer. Cham, Switzerland. 93-102 (2022).
  12. Karmakar, R. Symbolic model checking: A comprehensive review for critical system design. Adv. Data Inf. Sci. , Springer. Singapore. 693-703 (2022).
  13. Said, M. Y., Butler, M., Snook, C. A method of refinement in UML-B. Softw. Syst. Model. 14 (4), 1557-1580 (2015).
  14. Snook, C. F., Butler, M. J. UML-B: A plug-in for the Event-B tool set. Proc. ABZ 2008: Abstract State Machines, B and Z, , Springer. 344-358 (2008).
  15. Ben Younes, A., Ben Ayed, L. From UML activity diagrams to Event-B for the specification and the verification of workflow applications. Proc. IEEE 32nd Int. Conf. Computer Software and Applications, , 643-648 (2008).
  16. Morris, K. V., Snook, C. Reconciling SCXML Statechart Representations and Event-B Lower Level Semantics. , Sandia National Laboratories. Livermore, CA, USA. (2016).
  17. Butler, M. Decomposition structures for Event-B. Proc. Integrated Formal Methods (IFM 2009), , Springer. Berlin, Heidelberg. 20-38 (2009).
  18. Butler, M. Incremental design of distributed systems with Event-B. Proc. Integrated Formal Methods (IFM 2009), , Springer. Berlin, Heidelberg. (2009).
  19. Le, T. C., Garriga, M., Pautasso, C., Stankovic, M. Proving conditional termination for smart contracts. Proc. ACM Workshop Blockchains, Cryptocurrencies, and Contracts, , (2018).
  20. Alt, L., et al. SMT-based verification of Solidity smart contracts. Proc. ISoLA 2018: Leveraging Applications of Formal Methods, , Springer. Cham, Switzerland. 376-388 (2018).
  21. Bhargavan, K., et al. Formal verification of smart contracts. Proc. ACM Workshop Programming Languages and Analysis for Security, , 91-96 (2016).
  22. Grishchenko, I., Maffei, M., Schneidewind, C. A semantic framework for the security analysis of Ethereum smart contracts. Formal Methods Secure Software Systems (PoST 2018), , Springer. Cham. 243-269 (2018).
  23. Nielsen, J. B., et al. Smart contract interactions in Coq. arXiv preprint. , (2019).

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

Перепечатки и разрешения

Запросить разрешение на повторное использование текста или иллюстраций этой статьи JoVE

Запросить разрешение

Теги

Event BProof of WorkProof of Stake

Похожие статьи