simplicity icon indicating copy to clipboard operation
simplicity copied to clipboard

Simplicity is a blockchain programming language designed as an alternative to Bitcoin script.

Results 28 simplicity issues
Sort by recently updated
recently updated
newest added

Some Bitcoin primitives are redundant because I thought it was impractical to iterate over all possible inputs of a transaction which is limited to 2^32 inputs due to limits in...

bitcoin-specific

It is suggested in https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-November/016508.html that signatures cover the input's scriptPubKey: * The hash of the scriptPubKey (or nothing if MASK) Simplicity's Bitcoin primitives should be expanded to make this...

bitcoin-specific

The tech report and wiki include the following jets (in front of arrow), but the code base renamed them (after arrow). - tap-leaf-hash → tapleaf-hash - tapbranch → tappath -...

Double check this, but the memory allocation of many bit sized frames ends up bloated due to the large UWORD size. Better just to make it 8-bit when possible.

The current C code cannot be compiled for WASM, which prevents Simplicity to be run in the browser. rust-simplicity depends on C FFI, so it has the same problem. For...

https://github.com/BlockstreamResearch/simplicity/blob/5e7976326156ac9db9b5f8695dd597e8e370e130/C/deserialize.c#L46 It is unclear what illegal children are. Non-case nodes may not have hidden children, so these children are illegal. However, a case node may not have two hidden children,...

I found a program that seems to exceed the expected runtime given its cost. The program is constructed as follows: ``` f(0) := iden f(n + 1) := comp (take...

It would help with review and reduce potential human error to autogenerate [how the C code decodes jets](https://github.com/BlockstreamResearch/simplicity/blob/7a6ba113dff8d77e65a5f35d2ac613e219633125/C/primitive/elements/primitive.c#L70).

We have never used it in practice, and now it is being used to encode a "unary" disconnect for reasoning about commitment-time Simplicity programs.

As noted by @uncomputable, the definition of the IMR in the Tech Report is not the same as the definition used in Haskell and C code. In the Haskell and...