When — and why — did Bitcoin Script shift to a commit–reveal structure?
Re-reading the whitepaper, Section 2 describes ownership as transferring coins directly to the next owner's public key — which maps to P2PK. That's the last standard type where the full spending condition is visible in the output.
Every format since then does the reverse: commit to a hash, reveal the preimage at spend time. P2PKH started it — hides the pubkey behind a hash, revealing it only at spend time. P2SH, P2WSH, and eventually Taproot all extend the same logic, with Taproot pushing it furthest by hiding an entire Merkle tree of scripts.
Was this a deliberate design direction, or did each upgrade respond to its own pressures independently? Is there a mailing list thread or BIP discussion where this pattern is explicitly articulated?
from Recent Questions - Bitcoin Stack Exchange https://ift.tt/DsYl6g1
via IFTTT