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 — отдельный формально заданный низкоуровневый язык.