9
votes
Accepted
Is bitcoin script necessary?
was it necessary to have another language for these operations? isn't it possible to write the whole runtime in one language?
To be clear: the goal of the scripting language isn't for defining the ...
6
votes
Accepted
In theory could we skip the proposed Taproot soft fork, activate Simplicity instead and use Simplicity to write the equivalent of Taproot scripts?
I think that's both very premature, and misses the point.
Simplicity is a completely different approach to scripting, with significant advantages, but it's being designed from the ground up. There is ...
6
votes
Accepted
How is Simplicity better suited for static analysis compared to script?
For this answer, I will mainly focus on static analysis of computation resources such as memory use and time.
In Simplicity, we have a separation between the Simplicity language and the language of ...
5
votes
Accepted
How does Elements integrate Simplicity?
It has always been the case that the full Bit Machine would be "exposed"[1] by allowing arbitrary Simplicity. This is because the combinators that let you compose the high-level jets are exactly the ...
4
votes
Is bitcoin script necessary?
It is theoretically possible that Satoshi could have taken the entire C++ language (Bitcoin Core is written in C++) and then severely restricted what C++ functionality was available for Bitcoin ...
3
votes
Difference and resources for Miniscript and Simplicity?
Miniscript is an encoding of Bitcoin Script. The functionality of Miniscript is a subset of Script so there is nothing you can do with Miniscript that you can't do with Script. Therefore scripts ...
3
votes
Accepted
Pruning a Simplicity case expression
The definition of cond is
cond thn els = match (drop els) (drop thn)
Expanding this in your definition of full yields
full = match (drop unit) (drop u)
The correct pruned version should be
pruned ...
3
votes
Accepted
Intuition for Simplicity's CheckSigHashAll
Your understanding of the commitment root is correct. Taking advantage of Haskell's laziness, feel free to put undefined into the signature when computing the commitment root.
At the moment, the ...
3
votes
Is bitcoin script necessary?
Consider a script that says
While (true) {
// some pointless but slow calculation
}
in order to discover if the transaction containing it is valid, every node on the network has to run this ...
2
votes
Accepted
Is it possible to design a recursive covenant opcode that results in a full node stuck in an infinite verification loop?
Thanks to Russell O'Connor and Sanket Kanjalkar for answering this on IRC (I've only lightly paraphrased their answers, any errors are my own though.)
Is it possible to design a new opcode enabling ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
simplicity × 10script × 6
miniscript × 3
merkle-tree × 1
taproot × 1
soft-fork × 1
satoshi-nakamoto × 1
liquid × 1
opcodes × 1
blockstream × 1
covenants × 1
turing-completeness × 1