701 / 736SIMPLICITY

Simplicity

Bahasa kontrak yang didefinisikan secara formal

Simplicity adalah bahasa fungsional typed tingkat rendah untuk kontrak, dengan semantik formal, batas sumber daya statis, dan program yang dimerklisasi; ia berjalan di Liquid tetapi belum aktif di mainnet Bitcoin.

Simplicity menyusun program dari sekumpulan kecil combinator dan dapat mengganti subexpression yang dikenali dengan jets cepat bermakna identik, sehingga kemampuan analisis berpadu dengan kinerja praktis.

Intinya adalah sekumpulan kecil combinator typed dengan semantik denotasional dan operasional yang didefinisikan secara matematis. Model formal di Rocq memungkinkan pemeriksaan mesin atas bukti tentang bahasa, implementasi, dan sifat program tertentu. [1]

Bahasa ini tidak memiliki loop tanpa batas atau rekursi umum, sehingga batas atas komputasi, memory, dan data dapat diturunkan sebelum eksekusi. Program tidak semestinya berhenti karena biaya gas yang tak diketahui atau berjalan selamanya. [1]

Program berupa pohon expression yang dimerklisasi dan cabang yang tidak dipakai dapat diganti dengan Merkle root saat dana dibelanjakan. Validator memeriksa komitmen terhadap seluruh program, tetapi hanya jalur yang diperlukan dan witness data yang dibuka on-chain. [1]

Jet mengenali expression Simplicity tertentu lalu menjalankannya sebagai fungsi native yang dioptimalkan. Keamanan consensus menuntut hasilnya persis sama dengan semantik referensi expression; jet tidak menambahkan makna baru yang tersembunyi. [1]

libSimplicity memuat runtime minimal yang sensitif terhadap consensus dalam C, komponen referensi dan generator dalam Haskell, serta model formal di Rocq. Lapisan-lapisan ini saling memeriksa, tetapi repository menyatakan jelas bahwa bahasa dan implementasinya masih dikembangkan. [2]

SimplicityHL adalah bahasa mirip Rust yang lebih mudah dibaca dan dikompilasi menjadi Simplicity bytecode. Project menyebutnya work in progress, bukan production-ready; audit kontrak harus mencakup source, compiler, bytecode, witness, dan jets. [3]

Simplicity diterapkan di mainnet Liquid pada 2025. Liquid adalah sidechain federasi dengan banyak aset dan Confidential Transactions, sehingga penerapan itu bukan aktivasi dalam consensus mainnet Bitcoin; dibutuhkan proposal dan soft fork tersendiri. [4]

Semantik formal tidak menjamin niat ekonomi yang benar, key yang aman, atau counterparty yang andal. Verifikasi harus membedakan program tingkat rendah, tooling SimplicityHL, kumpulan jets tertentu, versi Liquid, dan integrasi Bitcoin yang masih hipotetis. [2]

Untuk gambaran yang lebih utuh, baca entri ini bersama Bitcoin Script, Miniscript, Taproot, Soft Fork, Aturan konsensus, Sidechain.

01Apakah Simplicity tersedia di mainnet Bitcoin?

Tidak. Ia diterapkan di mainnet Liquid yang memiliki consensus berbeda; pemakaian sebagai bahasa script Bitcoin memerlukan proposal dan soft fork tersendiri.

02Apakah Simplicity sama dengan Miniscript?

Tidak. Miniscript adalah struktur yang dapat dianalisis di atas Bitcoin Script saat ini; Simplicity adalah bahasa tingkat rendah terpisah yang didefinisikan secara formal.

DOC · 001Simplicity paperSumber primer DOC · 002Blockstream Research — Simplicity implementationSumber primer DOC · 003Blockstream Research — SimplicityHLSumber primer DOC · 004Blockstream — Simplicity launches on LiquidSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi