You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/documentation/jets-explained.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,7 @@ The development of a Jet follows a **rigorous, multi-stage pipeline** to ensure
29
29
---
30
30
31
31
### 1. Prototyping with Simplicity Combinators
32
+
32
33
The initial phase involves building the desired functionality using only the fundamental building blocks (combinators) of Simplicity.
33
34
34
35
This serves as a high-level, human-readable blueprint.
@@ -68,5 +69,5 @@ This proves that the optimized C implementation is semantically identical to the
68
69
Once fully verified and benchmarked, the Jet is integrated into the **core Simplicity library** and considered for standardization, making it available for general use in Liquid and Bitcoin scripts.
69
70
70
71
### 8. Deployment
71
-
Newer Jets are deployed to a Bitcoin **testnet** for real-world testing.
72
72
73
+
Newer Jets are deployed to a Bitcoin **testnet** for real-world testing.
Copy file name to clipboardExpand all lines: docs/documentation/simplicity-compared.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,5 @@
1
-
2
1
Simplicity was designed from the ground up to address the limitations of existing blockchain scripting languages while maintaining the security guarantees that make Bitcoin reliable.
|**Primary purpose**| Minimal spend conditions for Bitcoin UTXOs | Safer, structured way to write Bitcoin Script policies | General-purpose smart contracts on Ethereum-like blockchains | Formally verifiable contracts in Bitcoin-like settings ||
@@ -13,4 +11,4 @@ Simplicity was designed from the ground up to address the limitations of existin
13
11
|**State model**| UTXO (local) | UTXO (via Script) | Account/global state | UTXO-style | Local (UTXO) limits blast radius; global state enables composability but can spread risk. |
14
12
|**Formal verification**| Limited | Better static analysis | Possible but complex | Core feature | Strong guarantees lower the chance of catastrophic bugs and costly exploits. |
15
13
|**Performance/resource bounds**| Bounded by consensus | Bounded by consensus | Gas-limited execution | Strict bounds | Predictable costs and low DoS risk make fees and UX more stable. |
16
-
|**Interoperability**| Bitcoin-native | Bitcoin-native | EVM-wide standards | Liquid ecosystem | Affects integrations and network effects for adoption. |
14
+
|**Interoperability**| Bitcoin-native | Bitcoin-native | EVM-wide standards | Liquid ecosystem | Affects integrations and network effects for adoption. |
Copy file name to clipboardExpand all lines: docs/resources/faq.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,14 @@
1
+
# Simplicity FAQ
1
2
2
-
###Simplicity is so simple it fits on a [T-shirt](https://store.blockstream.com/products/simplicity-t-shirt). Does that mean it's as limited as Bitcoin Script?
3
+
## Simplicity is so simple it fits on a [T-shirt](https://store.blockstream.com/products/simplicity-t-shirt). Does that mean it's as limited as Bitcoin Script?
3
4
4
5
No, the "simplicity" refers to its foundational design and formal semantics, not its expressiveness.
5
6
6
7
- Bitcoin Script is deliberately limited; Simplicity is finitarily complete → it can program any finite computation.
7
8
8
9
- Complex off-chain (even Turing-complete) computations can be verified on-chain with Simplicity.
9
10
10
-
###Is Simplicity Turing-complete like EVM?
11
+
## Is Simplicity Turing-complete like EVM?
11
12
12
13
No, and that’s a feature!
13
14
@@ -17,7 +18,7 @@ No, and that’s a feature!
17
18
18
19
-**Enhanced Verifiability:** Programs are analyzable, enabling formal reasoning.
19
20
20
-
###How does Simplicity handle state? Does it have global state like Ethereum?
21
+
## How does Simplicity handle state? Does it have global state like Ethereum?
21
22
22
23
Simplicity has no global state. It is a purely functional language: each program is just a function mapping inputs → outputs.
23
24
@@ -31,7 +32,7 @@ Contracts run within the Bitcoin UTXO model:
31
32
32
33
This design avoids shared mutable state (as in Ethereum). Instead, every transition is localized: a UTXO is consumed, and the updated state is re-committed into the new UTXO.
33
34
34
-
###How do I prove my Simplicity contract is correct?
35
+
## How do I prove my Simplicity contract is correct?
35
36
36
37
Formal verification happens in [Coq/Rocq](https://rocq-prover.org/), not directly in Simplicity.
37
38
@@ -43,7 +44,7 @@ Process:
43
44
44
45
3. Proofs give guarantees before deployment.
45
46
46
-
###Simplicity is low-level. Do I write contracts directly in it?
47
+
## Simplicity is low-level. Do I write contracts directly in it?
47
48
48
49
Not usually. There are higher-level options:
49
50
@@ -55,23 +56,23 @@ Not usually. There are higher-level options:
55
56
56
57
The future vision is that there are multiple high-level languages which all compile down to Simplicity + proofs.
57
58
58
-
###What are Jets, and how do they make programs efficient?
59
+
## What are Jets, and how do they make programs efficient?
59
60
60
-
A [Simplicity jet](documentation/jets-explained.md) is a pre-defined, optimized function that replaces an equivalent Simplicity expression to speed up execution without changing its meaning.
61
+
A [Simplicity jet](../documentation/jets-explained.md) is a pre-defined, optimized function that replaces an equivalent Simplicity expression to speed up execution without changing its meaning.
61
62
62
63
Benefits:
63
64
64
-
- Programs remain formally verifiable.
65
+
- Programs remain formally verifiable.
65
66
66
-
- Heavy operations run in optimized C instead of interpreted combinators.
67
+
- Heavy operations run in optimized C instead of interpreted combinators.
67
68
68
-
- Keeps execution fast, compact, and analyzable.
69
+
- Keeps execution fast, compact, and analyzable.
69
70
70
-
###How does Simplicity exist alongside Bitcoin script?
71
+
## How does Simplicity exist alongside Bitcoin script?
71
72
72
73
With Taproot’s versioned leaves, a single Taproot output can include both standard Script/Miniscript leaves and a Simplicity leaf. This allows mixing policies: simple paths can remain in Script while advanced paths use Simplicity, preserving flexibility and privacy under one Taptree.
73
74
74
-
###How do I track the value of a Simplicity contract with partial payouts when different strike prices are being matched?
75
+
## How do I track the value of a Simplicity contract with partial payouts when different strike prices are being matched?
75
76
76
77
Simplicity contracts operate on UTXO-committed state. Each contract output carries forward a table of strikes together with their remaining notionals.
Copy file name to clipboardExpand all lines: docs/resources/roadmap.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
The primary objective for the current development cycle is to prepare Simplicity for execution on a Bitcoin test network. Achieving this objective requires finalising the set of jets, establishing a complete cost model, and implementing state storage for advanced contract functionality.
4
4
5
-
### Bitcoin Integration
5
+
### Bitcoin Testnet Integration
6
6
7
7
Work will continue towards producing a signet-mergeable integration branch of bitcoin-core containing Simplicity. Key tasks include:
0 commit comments