701 / 736SIMPLICITY

Simplicity

Формально визначена мова контрактів

Simplicity — низькорівнева типізована функціональна мова контрактів із формальною семантикою, статичними межами ресурсів і мерклізованими програмами; вона працює в Liquid, але не активна в Bitcoin mainnet.

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

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

Мова не має необмежених циклів і загальної рекурсії, тому верхні межі обчислень, пам’яті й даних можна вивести до виконання. Програма не повинна зупинятися через невідому витрату gas або працювати нескінченно. [1]

Програма є мерклізованим деревом виразів, а невикористані гілки під час витрати можна замінити їхнім Merkle root. Validator перевіряє commitment до всієї програми, але on-chain розкриваються лише потрібний шлях і witness data. [1]

Jet розпізнає конкретний вираз Simplicity та виконує його оптимізованою нативною функцією. Безпека consensus вимагає, щоб результат точно збігався з еталонною семантикою виразу; jet не додає прихованого нового значення. [1]

libSimplicity містить мінімальний consensus-sensitive runtime на C, еталонні й генераторні частини на Haskell і формальну модель у Rocq. Шари взаємно перевіряються, проте repository прямо зазначає, що мова та реалізація ще розвиваються. [2]

SimplicityHL — читабельніша Rust-подібна мова, яка компілюється в Simplicity bytecode. Проєкт називає її work in progress, а не production-ready; аудит контракту має охоплювати source, compiler, bytecode, witness і jets. [3]

Simplicity була розгорнута в Liquid mainnet у 2025 році. Liquid — федеративна sidechain із кількома активами та Confidential Transactions, тому це не activation у consensus Bitcoin mainnet; для неї потрібні окрема пропозиція та soft fork. [4]

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

Для повної картини прочитайте також Bitcoin Script, Miniscript, Taproot, Soft Fork, Правила консенсусу, Sidechain.

01Чи доступна Simplicity у Bitcoin mainnet?

Ні. Вона розгорнута в Liquid mainnet з іншим consensus; використання як script-мови 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Первинне джерело
Переглянуто: Спочатку джерела · Не інвестиційна порада