Een private key is een geheim getal, gegenereerd met cryptografische willekeur, dat eigendom van een blockchain-adres bewijst en toestemming geeft om de tegoeden op dat adres te besteden. Wiskundig gezien is het meestal een 256-bit geheel getal, vaak weergegeven als een hexadecimale string van 64 tekens, waaruit de bijbehorende public key wordt afgeleid via vermenigvuldiging op een elliptische kromme (secp256k1 bij Bitcoin en Ethereum). Die afleiding werkt maar in één richting: een public key berekenen uit een private key is triviaal, maar het proces omkeren is met de huidige technologie rekenkundig onhaalbaar.
Wie de private key bezit, heeft volledige controle over de assets op het bijbehorende adres, zonder dat een derde partij kan ingrijpen. Om tegoeden te verplaatsen, gebruikt een wallet de private key om een digitale handtekening over de transactiegegevens te genereren. Deze handtekening bewijst controle over de key zonder deze ooit prijs te geven, en iedereen kan de handtekening tegen de public key verifiëren. Omdat private keys lang en onhandig zijn om afzonderlijk te beheren, tonen de meeste moderne wallets ze helemaal niet meer. In plaats daarvan leiden ze een hele boom van private keys af uit één seed phrase, een leesbare back-up van 12 of 24 woorden waarmee elke key in de wallet opnieuw kan worden opgebouwd als een apparaat verloren gaat.
Het kernrisico is eenvoudig maar meedogenloos: wie een private key bemachtigt, via malware, een phishingsite, een screenshot of onzorgvuldige opslag, krijgt volledige en onomkeerbare controle over de bijbehorende tegoeden. Er is geen wachtwoordreset en geen klantenservice die diefstal ongedaan kan maken. Gangbare voorzorgsmaatregelen zijn: de key nooit intypen op een website, offline bewaren op een hardware wallet of op papier, en back-ups verspreiden over veilige fysieke locaties.