701 / 736SIMPLICITY

Simplicity

Формально определённый язык контрактов

Simplicity — низкоуровневый типизированный функциональный язык контрактов с формальной семантикой, статическими границами ресурсов и мерклизованными программами; он работает в Liquid, но не активирован в Bitcoin mainnet.

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

Основа — небольшой набор типизированных комбинаторов с математически заданной денотационной и операционной семантикой. Формальная модель в Rocq позволяет машинно проверять доказательства о языке, реализации и свойствах конкретной программы. [1]

В языке нет неограниченных циклов и общей рекурсии, поэтому верхние границы вычислений, памяти и данных выводятся до исполнения. Программа не должна останавливаться из-за неизвестного расхода gas или работать вечно. [1]

Программа представляет собой мерклизованное дерево выражений, а неиспользуемые ветви при расходовании можно заменить их Merkle root. Валидатор проверяет обязательство ко всей программе, но on-chain раскрываются только нужный путь и witness data. [1]

Jet распознаёт определённое выражение Simplicity и выполняет его оптимизированной нативной функцией. Для безопасности консенсуса результат обязан точно совпадать с эталонной семантикой выражения; jet не добавляет скрытого нового смысла. [1]

libSimplicity содержит минимальный консенсусно-чувствительный runtime на C, эталонные и генераторные части на Haskell и формальную модель в Rocq. Слои взаимно проверяются, но repository прямо указывает, что язык и реализация продолжают развиваться. [2]

SimplicityHL — более читаемый Rust-подобный язык, компилируемый в Simplicity bytecode. Сам проект называет его work in progress, а не production-ready; аудит контракта должен охватывать исходник, compiler, bytecode, witness и jets. [3]

Simplicity развернули в Liquid mainnet в 2025 году. Liquid — федеративная sidechain с несколькими активами и Confidential Transactions, поэтому развёртывание не означает активацию в consensus Bitcoin mainnet; для неё нужны отдельные предложение и soft fork. [4]

Формальная семантика не гарантирует правильный экономический замысел, безопасные ключи или надёжного контрагента. При проверке различают низкоуровневую программу, инструменты SimplicityHL, конкретный набор jets, версию Liquid и гипотетическую интеграцию в Bitcoin. [2]

Для полной картины прочитайте эту статью вместе с Bitcoin Script, Miniscript, Taproot, Soft Fork, Правила консенсуса, Sidechain.

01Доступна ли Simplicity в Bitcoin mainnet?

Нет. Она развёрнута в Liquid mainnet с другим consensus; применение как языка скриптов Bitcoin потребовало бы отдельного предложения и soft fork.

02Simplicity и Miniscript — одно и то же?

Нет. Miniscript — анализируемая структура над нынешним Bitcoin Script; Simplicity — отдельный формально заданный низкоуровневый язык.

DOC · 001Simplicity paperПервичный источник DOC · 002Blockstream Research — Simplicity implementationПервичный источник DOC · 003Blockstream Research — SimplicityHLПервичный источник DOC · 004Blockstream — Simplicity launches on LiquidПервичный источник
Обновлено: Сначала источники · Не является инвестиционной рекомендацией