Frequently Asked Questions
In Bitcoin, a private key is a 256-bit number between 1
and
115792089237316195423570985008687907852837564279074904382605163141518161494336
or in
hexadecimal from 0000000000000000000000000000000000000000000000000000000000000001
to
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140
.
The range of valid private keys is governed by the secp256k1 ECDSA standard used by Bitcoin.
0x02
or 0x03
, and a 256-bit integer called x. The older uncompressed
keys are 65 bytes, consisting of constant prefix (0x04
), followed by two 256-bit integers
called x and y (2 * 32 bytes). The prefix of a compressed key allows for the y value to be
derived from the x value.
A Bitcoin address is a unique identifier used to receive and send Bitcoin. It is a string of alphanumeric characters that typically begins with a "1" or "3" and is generated using cryptographic techniques. Bitcoin addresses are generated from the corresponding private keys, which are used to sign transactions and prove ownership of the associated Bitcoin. When someone wants to send Bitcoin to another person or entity, they need to know the recipient's Bitcoin address to specify where the funds should be sent. Similarly, when someone wants to receive Bitcoin, they provide their Bitcoin address to the sender, who can then initiate the transaction to that address.
Technically Bitcoin address is a BASE-58 encoding of RIPEMD-160 hash derived from a public key. There are 2160 (nearly 1048) Bitcoin addresses.
WIF is an abbreviation of Wallet Import Format (also known as Wallet Export Format) and is a way of encoding a private key to make it shorter and easier to copy.
Every single private key can be represented as two different WIF private keys: compressed and uncompressed. A compressed WIF private key starts with "K" or "L" and corresponds to a compressed public key/address. An uncompressed WIF key starts with "5" and corresponds to an uncompressed public key/address.
A brainwallet is the concept of storing Bitcoins in one's own mind by memorizing a recovery passphrase. An early old-style brainwallet was created by memorization of a passphrase and converting it to a private key with a hashing or key derivation algorithm (example: SHA-256). This method was found to be very insecure and should not be used because humans are not a good source of entropy.
Examples of famous brainwallets:
- bitcoin is awesome (501 BTC)
- how much wood could a woodchuck chuck if a woodchuck could chuck wood (500 BTC)
- correct horse battery staple (37 BTC)
There are multiple vectors to find a private key with associated balance:
- Solving crypto puzzles
- Brute-forcing brainwallets
- Searching for leaked paper wallets, QR codes or private keys (in the form of images or plain text)
- Searching for leaked Bitcoin wallet.dat files or backup passphrases (mnemonics)
- Browsing through our directory or random private keys (although this method is not effective)
The following tools can be used to find or recover private keys:
See also: Overview of key cracking tools
![One Bitcoin private key guessing odds](https://privatekeys.pw/images/puzzles/bitcoin-puzzle-tx.jpg)
The original Bitcoin client stores private key information in a file named wallet.dat following the so called "bitkeys" format. The wallet.dat file contains your private keys, public keys, scripts (which correspond to addresses), key metadata (e.g. labels), and the transactions related to your wallet. If you have an HD wallet, it also includes the HD seed and the derivation paths for each private key.
The wallet.dat file is located in the Bitcoin data directory and may be encrypted with a password. The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.
The wallet.dat file is located in the Bitcoin Core data directory, the location of which varies depending on your operating system:
-
Windows:
C:\Users\YourUserName\Appdata\Roaming\Bitcoin
-
Mac:
~/Library/Application Support/Bitcoin
-
Linux:
~/.bitcoin