701 / 736SIMPLICITY

Simplicity

Formálně definovaný jazyk kontraktů

Simplicity je nízkoúrovňový typovaný funkcionální jazyk pro kontrakty s formální sémantikou, statickými mezemi zdrojů a merklizovanými programy; běží na Liquid, ale na Bitcoin mainnetu není aktivní.

Simplicity skládá programy z malé sady kombinátorů a může jejich známé podvýrazy nahradit rychlými jets se stejným významem, aby spojila analyzovatelnost s praktickým výkonem.

Jádro tvoří malá sada typovaných kombinátorů s matematicky definovanou denotační a operační sémantikou. Formální model v Rocq dovoluje strojově kontrolovat důkazy o jazyku, implementaci i vlastnostech konkrétního programu. [1]

Jazyk nemá neomezené smyčky ani obecnou rekurzi, takže lze před spuštěním odvodit horní meze výpočtu, paměti a dat. Program se proto nemá zastavit na neznámé spotřebě gas ani běžet navždy. [1]

Program je merklizovaný strom výrazů a nepoužité větve lze při utracení nahradit jejich Merkle root. Validátor ověří závazek k celému programu, ale na chain se odhalí jen potřebná cesta a witness data. [1]

Jet rozpozná konkrétní Simplicity výraz a provede jej optimalizovanou nativní funkcí. Konsenzuální bezpečnost vyžaduje, aby výsledek jetu přesně odpovídal referenční sémantice výrazu; jet nepřidává skrytý nový význam. [1]

libSimplicity obsahuje minimální konsenzuálně citlivý runtime v C, referenční a generátorové části v Haskellu a formální model v Rocq. Tyto vrstvy se navzájem kontrolují, ale repozitář výslovně uvádí, že jazyk i implementace se dále vyvíjejí. [2]

SimplicityHL je čitelnější jazyk podobný Rustu, který kompiluje do Simplicity bytecode. Samotný projekt jej označuje za work in progress a ne za production-ready; audit kontraktu musí zahrnout zdroj, kompilátor, bytecode, witness i jets. [3]

Simplicity byla v roce 2025 nasazena na Liquid mainnetu. Liquid je federovaná sidechain s více aktivy a Confidential Transactions, takže tamní nasazení není aktivací v konsenzu Bitcoin mainnetu; ta by vyžadovala samostatný návrh a soft fork. [4]

Formální sémantika nezaručuje správný ekonomický záměr, bezpečné klíče ani spolehlivou protistranu. Při ověřování se rozlišuje nízkoúrovňový program, SimplicityHL nástroje, konkrétní sada jets, verze Liquid a hypotetická integrace do Bitcoinu. [2]

Pro nejúplnější obraz čtěte toto heslo společně s Bitcoin Script, Miniscript, Taproot, Soft Fork, Konsensuální pravidla, Sidechain.

01Je Simplicity dostupná na Bitcoin mainnetu?

Ne. Je nasazena na Liquid mainnetu, který má jiný konsenzus; použití jako bitcoinového scriptového jazyka by vyžadovalo samostatný návrh a soft fork.

02Je Simplicity totéž co Miniscript?

Ne. Miniscript je analyzovatelná struktura nad dnešním Bitcoin Scriptem; Simplicity je samostatný formálně definovaný nízkoúrovňový jazyk.

DOC · 001Simplicity paperPrimární zdroj DOC · 002Blockstream Research — Simplicity implementationPrimární zdroj DOC · 003Blockstream Research — SimplicityHLPrimární zdroj DOC · 004Blockstream — Simplicity launches on LiquidPrimární zdroj
Revidováno: Primární zdroje · Nejde o investiční doporučení