Skip to content

Commit 193ec1a

Browse files
Address harding feedback and suggestions
1 parent aa93922 commit 193ec1a

File tree

1 file changed

+30
-9
lines changed

1 file changed

+30
-9
lines changed

_topics/en/simplicity.md

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,31 @@ categories:
1010
## Required. Use Markdown formatting. Only one paragraph. No links allowed.
1111
excerpt: >
1212
**Simplicity** is a work in progress low level programming language designed
13-
to offer greater functionality than Bitcoin Script. It will require a future
14-
soft fork to be enabled on Bitcoin.
13+
to offer greater flexibility and expressiveness than Bitcoin Script whilst
14+
allowing you to verify the safety, security and costs of your program. It
15+
offers native Merklized scripting, formal semantics and type checking.
16+
It is not Turing complete but it can verify the execution of Turing complete
17+
programs. Although Simplicity provides certain proofs of correctness,
18+
sufficient care will need to be applied in the writing of Simplicity programs
19+
to ensure they perform as intended. To use Simplicity directly on the
20+
Bitcoin blockchain requires a soft fork and any such proposal is unlikely to
21+
be formalized until at least 2022-23. Currently there is Simplicity support
22+
for test branches of Bitcoin and Elements and a collection of jets are in
23+
development.
1524
1625
## Optional. Use Markdown formatting. Multiple paragraphs. Links allowed.
1726
extended_summary: |
18-
A collection of jets, pre-made building blocks that can be combined to
19-
to construct Simplicity programs, are also being developed. Jets have
20-
efficient machine-code implementations for raw performance.
27+
Jets are pre-made building blocks that can be combined to construct
28+
Simplicity programs. They have efficient machine-code implementations for raw
29+
performance. At its core Simplicity consists of nine primitive operators
30+
called combinators where semantics are formally specified. However,
31+
implementing Bitcoin functionality at such a low level typically results in
32+
large, slow and expensive programs. So instead functionality like hash
33+
functions and signature verification are implemented in higher level languages
34+
like C which are then proved to be equivalent to the pure Simplicity programs.
35+
Assuming Simplicity is soft forked into Bitcoin with sufficient jets at some
36+
stage, proposed soft forks like [SIGHASH_ANYPREVOUT][topic SIGHASH_ANYPREVOUT]
37+
could be utilized on Bitcoin without needing a separate soft fork.
2138
2239
## Optional. Produces a Markdown link with either "[title][]" or
2340
## "[title](link)"
@@ -29,21 +46,25 @@ primary_sources:
2946
## true" to bold entry
3047
optech_mentions:
3148
- title: OP_CHECKTEMPLATEVERIFY
32-
url: /en/newsletters/2019/12/04/#insert_hashtag
49+
url: /en/newsletters/2019/12/04/#op-checktemplateverify-ctv
3350
date: 2019-12-04
3451

3552
- title: Question about Simplicity and static analysis
36-
url: /en/newsletters/2020/04/29/#insert_hashtag
53+
url: /en/newsletters/2020/04/29/#how-is-simplicity-better-suited-for-static-analysis-compared-to-script
3754
date: 2020-04-29
3855

3956
- title: Simplicity - Next Generation Smart Contracting
40-
url: /en/newsletters/2020/05/06/#insert_hashtag
57+
url: /en/newsletters/2020/05/06/#simplicity-next-generation-smart-contracting
4158
date: 2020-05-06
4259

4360
- title: Question about implementing Taproot with Simplicity
44-
url: /en/newsletters/2019/12/28/#insert_hashtag
61+
url: /en/newsletters/2020/07/29/#could-we-skip-the-taproot-soft-fork-and-instead-use-simplicity-to-write-the-equivalent-of-taproot-scripts
4562
date: 2020-07-29
4663

64+
- title: BIP-Taproot
65+
url: /en/newsletters/2020/08/05/#bip-taproot
66+
date: 2020-08-05
67+
4768
## Optional. Same format as "primary_sources" above
4869
see_also:
4970
- title: "Simplicity: A New Language for Blockchains"

0 commit comments

Comments
 (0)