Simplicity compõe programas a partir de um pequeno conjunto de combinadores e pode substituir subexpressões conhecidas por jets rápidos de significado idêntico, unindo capacidade de análise a desempenho prático.
O núcleo é um pequeno conjunto de combinadores tipados com semântica denotacional e operacional definida matematicamente. Um modelo formal em Rocq permite verificar por máquina provas sobre a linguagem, sua implementação e propriedades de um programa específico. [1]
A linguagem não tem loops ilimitados nem recursão geral, por isso limites máximos de computação, memória e dados podem ser derivados antes da execução. Assim, um programa não deve parar por um custo de gas desconhecido nem rodar para sempre. [1]
O programa é uma árvore merklizada de expressões, e ramos não usados podem ser substituídos por sua Merkle root no gasto. O validador confere o compromisso com o programa inteiro, mas só o caminho necessário e os witness data são revelados on-chain. [1]
Um jet reconhece uma expressão Simplicity específica e a executa por uma função nativa otimizada. A segurança do consenso exige que seu resultado corresponda exatamente à semântica de referência da expressão; o jet não introduz significado novo oculto. [1]
libSimplicity contém um runtime mínimo sensível ao consenso em C, componentes de referência e geração em Haskell e um modelo formal em Rocq. Essas camadas se verificam mutuamente, mas o repositório afirma expressamente que a linguagem e a implementação continuam em desenvolvimento. [2]
SimplicityHL é uma linguagem mais legível, semelhante a Rust, que compila para Simplicity bytecode. O próprio projeto a classifica como work in progress, não production-ready; uma auditoria de contrato deve cobrir fonte, compilador, bytecode, witness e jets. [3]
Simplicity foi implantada na mainnet da Liquid em 2025. Liquid é uma sidechain federada com vários ativos e Confidential Transactions, portanto essa implantação não é ativação no consenso da mainnet do Bitcoin; isso exigiria proposta e soft fork próprios. [4]
A semântica formal não garante intenção econômica correta, chaves seguras ou contraparte confiável. A verificação deve distinguir o programa de baixo nível, as ferramentas SimplicityHL, o conjunto específico de jets, a versão da Liquid e uma integração hipotética ao Bitcoin. [2]
Para ter uma visão mais completa, leia este verbete junto com Bitcoin Script, Miniscript, Taproot, Soft Fork, Regras de consenso, Sidechain.
01Simplicity está disponível na mainnet do Bitcoin?+
Não. Ela foi implantada na mainnet da Liquid, que tem outro consenso; seu uso como linguagem de script do Bitcoin exigiria proposta e soft fork próprios.
02Simplicity é o mesmo que Miniscript?+
Não. Miniscript é uma estrutura analisável sobre o Bitcoin Script atual; Simplicity é outra linguagem de baixo nível definida formalmente.