Signet



Summary:

Karl-Johan Alm has proposed a new network called "signet" which is a centralized alternative to the existing testnet. The network operates by signing blocks with a specific key rather than using proof of work, offering several benefits including predictability, stability, and ease of use for global testing, such as reorgs. Signets consist of two parameters: the challenge script and the solution length, and anyone can create a signet at any time by creating a key pair and creating a challenge. Alm proposes creating a default persistent "signet1" which can be replaced in future versions if needed. The code adds an std::map with block hash to block signature, which is serialized/deserialized appropriately (Segwit witness style) to ensure fixed length block headers despite having an additional payload. Block header non-contextual check goes from checking if block header hash. Alm believes that this PR is not overly intrusive and hopes to get signet code into Bitcoin Core eventually, with support from developers of other wallet and implementation types. Parts of the signet code were adapted from the ElementsProject/elements repository, and appropriate attribution will be added when the PR is split into atomic commits.


Updated on: 2023-05-20T19:59:24.361772+00:00