Author: Bram Cohen 2022-03-09 02:24:15
Published on: 2022-03-09T02:24:15+00:00
In a discussion about Bitcoin's scripting language, ZmnSCPxj explains that in the coin set model, each puzzle (scriptpubkey) either fails an assert or returns a list of extra conditions, including timelocks and creating new coins. The language is restrictive but allows for recursive covenants through specifying output scriptpubkeys/puzzles. However, Bitcoin's script's ability to generate and parse transactions isn't quite up to the task. In terms of compression, there is a hook for doing compression at the consensus layer, but it isn't being aggressively used yet. Even with maxed-out compression, gzip could still do some compression, but it would be better done in the database and in wire protocol formats rather than changing the format hashed at the consensus layer. Regarding Simplicity jets, they are meant to be for things like Sha3 rather than shared library code. It might be possible to use Simplicity jets by implementing CLVM opcodes as a bunch of Simplicity jets, but it's unclear whether this would make the CLVM irrelevant or just be based on Simplicity under the hood. The compression hook involves a generator written in CLVM in each block that outputs a list of puzzle reveals and solutions, which can be passed the generators of old blocks to pull out code snippets.
Updated on: 2023-06-15T17:31:30.615100+00:00