LearnBitcoin

Glossary

P2PK (Pay to Public Key)

An older script type locking coins directly to a public key, mostly replaced by P2PKH.

P2PK - "Pay to Public Key" - is Bitcoin's original script format, used in the earliest blocks of the chain. It locks an output to a raw public key (not a hash of one), and unlocks via a signature over the spending transaction.

Notable history:

  • Used in the genesis block. Satoshi's first 50 BTC coinbase output is a P2PK. The format also dominates the first several thousand blocks.
  • Used by Satoshi's early mining. Most of the ~1.1M BTC Satoshi mined sits at P2PK outputs.
  • Mostly abandoned by ~2010. P2PKH replaced it for new receives once the community recognized that revealing the public key only at spend time (rather than at receive time) was strictly better.

What P2PK has against it:

  • Public key visible on-chain immediately. Defeats the quantum-defense-in-depth that hash-based addresses provide. The public key is on chain from output creation, meaning P2PK outputs are exposed to a future Shor's-algorithm-capable quantum computer with no migration window.
  • Bigger outputs. A 33-byte compressed pubkey (or 65-byte uncompressed) is larger than a 20-byte hash.
  • Address ergonomics never developed. P2PK was usually displayed as raw hex, not a checksummed address format. Easy to fat-finger.

P2PK outputs are still spendable - any Bitcoin Core node can validate them - but no wallet you'd want to use generates new P2PK addresses. They mostly live on as a historical artifact and a vector for academic curiosity. The Satoshi P2PKs, in particular, are the most-watched unspent outputs in cryptocurrency.

See P2PKH for the format that replaced it.

Key takeaways

  • Locks funds to a raw public key, not a key hash
  • Visible in Satoshi's early mined blocks but now uncommon
  • Less private and flexible than current script forms

Related terms (9)