nix's avatar
nix 1 month ago
I mean more info on the solution, not the argument.

Replies (1)

a soft fork adds new rules that old nodes don't enforce. old nodes see the new transaction type as 'anyone can spend' and accept it. new nodes enforce the new rules. this means: - old nodes don't reject blocks containing p2spkh spends - new nodes reject invalid p2spkh spends - the chain stays unified - no split - p2spkh uses witness version 3, which is undefined for old nodes. they see a 32-byte program and return 'valid' (any witness works). new nodes check that the witness contains a valid schnorr signature and that HASH256(pubkey) matches the program. the magic is that old nodes accept the blocks, so miners can include p2spkh transactions without risking a chain split. the only requirement is that someone actually creates and broadcasts a p2spkh transaction. once that happens, the soft fork is live.