Private key

From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search
Bitcoins' private key

Bitcoin private key is a secret number that allows cryptocurrency to be spent. Every Bitcoin address has a matching private key, which is saved in the wallet file of the person who owns the balance. The private key is mathematically related to the address, and is designed so that the Bitcoin address can be calculated from the private key, but importantly, the same cannot be done in reverse.

Because the Bitcoin private key is the "ticket" that allows someone to spend bitcoins, it is important that these are kept secure. Private keys can be kept on computer files, but they are also short enough that they can be printed on paper. An example of a utility that allows extraction of private keys from your wallet file for printing purposes is pywallet.

How to Use Bitcoin Private Key[edit]

In order to create a transaction with a Bitcoin private key, it must be available to a program or service that allows entry or importing of private keys. Some wallets allow the private key to be imported without generating any transactions while other wallets or services require that the private key be swept. When a private key is swept, a transaction is broadcast that sends the entire balance held by the private key to another address in the wallet or securely controlled by the service in question. Private key can be generated with the special programs generators.

An example of private key sweeping is the method used on MtGox's Add Funds screen and BIPS Import screen. Just as with any other deposit, there is risk of double-spending so funds are deposited to the MtGox account after a six-confirmation wait (typically one hour). In contrast Blockchain.info's My Wallet service and Bitcoin-QT each provide a facility to import an encryption private key without creating a sweep transaction.

Technical review[edit]

What Does a Bitcoin Private Key Look Like[edit]

In Bitcoin, private key is a 256-bit number, which can be represented one of several ways. Here is a private key in hexadecimal - 256 bits in hexadecimal is 32 bytes, or 64 characters in the range 0-9 or A-F. Bitcoin private key length:

E9 87 3D 79 C6 D8 7D C0 FB 6A 57 78 63 33 89 F4 45 32 13 30 3D A6 1F 20 BD 67 FC 23 3A A3 32 62

Range of valid[edit]

Nearly every 256-bit number is a valid private key. Specifically, any 256-bit number between 0x1 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141 is a valid private key.

The range of valid private keys is governed by the secp256k1 ECDSA standard used by Bitcoin.

Base 58 WIf[edit]

When we represent private keys in Bitcoin, however, we use a shorter format known as wallet import format, which offers a few advantages. The wallet import format is shorter, and includes built-in error checking codes so that typos can be automatically detected and/or corrected (which is impossible in hex format). Wallet import format is the most common way to represent private keys in blockchain. For private keys associated with uncompressed public keys, they are 51 characters and always start with the number 5. Private keys associated with compressed public keys are 52 characters and start with a capital L or K. This is the same private key in wallet import format.

L3SgtZFTzasR9dkTt9PbW8a8hWu8Ap3ErBn7zBkuLf386nXTCicp

When a private key is imported, it always corresponds to exactly one Bitcoin address. Any utility which performs the conversion can display the matching address. The mathematical conversion is somewhat complex and best left to a computer, but it's notable that each private key will always correspond to the same address no matter which program is used to convert it.

The Bitcoin address corresponding to the sample above is: 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj

Mini format[edit]

Some applications use the mini private key format. Not every public key or Bitcoin address has a corresponding mini private key - they have to be generated a certain way in order to ensure a mini private key exists for an address. The mini private key is used for applications where space is critical, such as in QR codes and in physical bitcoins. The above example has a mini key, which is:

SzavMBLoXU6kDrqtUVmffv

How to Find Your Bitcoin Private Key[edit]

Sometimes users of virtual currency are wondering how to store the secret code correctly. To do this, it is important to figure out how to get bitcoin private key of the Bitcoin wallet for various storages. Note that the address is generated automatically. For this, special services are used that generate a secret code (as a rule, they are included in the wallet). Another option is to obtain a private key by generating on a special site.

Paper Vault[edit]

Bitaddress.org service to get the public and private key

The most convenient way to generate is using the bitaddress.org service. To get the public and private key of a Bitcoin wallet, you need to do the following steps:

  1. Follow the link above, move the mouse arrow on the display and watch the number on the screen. As soon as it reaches 100 percent, the work is over.
  2. Get information with a QR code (public key) and a sequence of characters that must be kept secret.
  3. Print and/or rewrite the cryptocurrency private key on a piece of paper. During the printing process, it is important to be careful that the device does not save personal information in any folder of the PC. It is advisable to use a laser printer during the printing process. When rewriting characters, it is better to use a high-quality ballpoint pen and write clearly.

An additional security measure is BIP38 type encryption. If you check the box of the same name when creating a paper wallet, then the money from the latter will be available only after entering a special password. To avoid loss of private code, it is advisable to make several copies.

Desktop Wallets[edit]

For the Exodus service, you must complete the following steps:

  1. Go to the developer's menu (as an option, use quick access - Ctrl + Shift + D).
  2. Choose the cryptocurrency of interest for which you need to get a private code. In this case, it is Bitcoin. Next, select the export section. The system issues a warning about the danger of copying the private key. The latter must be kept secret in order to exclude access to the money of unauthorized persons.
  3. Agree to export the code, after which a folder with the necessary information is created on the user's desktop.
  4. Copy secret information from it, and delete the folder itself.

Online Wallets[edit]

Online wallet Iancoleman

Today, one of the most sought after wallets is Blockchain. Previously, it provided the option of obtaining a Bitcoin wallet key, but now it is not. Instead, it became possible to create a secret phrase of 12 words, which acts as a password to access the wallet. The following describes how to use this information to get a private key:

  1. Go to the repository, the settings and security section, and then go to the backup phrase creation section.
  2. Check and, if necessary, print the recovery sheet, and then hide it in a safe place (especially relevant for long-term storage of cryptocurrency).
  3. Record the proposed four words, then press the continue button and rewrite the next batch (until all 12 words are in the hands).
  4. Enter at the suggestion of the wallet four words (any of 12) to verify the correctness of the entry. Now the secret phrase is at hand. It must be stored in such a way as to avoid falling into the hands of other users.
  5. Go to iancoleman.io/bip39/. When entering an address, it is important to be careful not to get to a fake site.
  6. Disconnect from the Network and indicate in the corresponding column BIP39 Mnemonic the recorded phrase of 12 words.
  7. In the bottom line, fix the secret key that is generated by the system. If necessary, it can be stored in a safe place. In practice, this is not necessary, because twelve recorded words completely duplicate the functions of the code.
  8. At the bottom of the page, get a list of wallet-generated addresses and associated private keys. If there is a lot of information, you can use the search button and specify the desired address, and then get the private key attached to it.

Fraud[edit]

Any transaction that has the correct signature will be accepted by the Bitcoin network. At the same time, any person who owns your Bitcoin private key can create the correct transaction. These two facts connected together mean that someone who knows your private key can steal from you.

Many paths are open to thieves who want private keys. The two most popular paths are memory carriers (flash cards) and communication channels. Therefore, should adhere to strict measures during transportation and storage of the private keys.

Software wallets usually store private keys in the” wallet file " on the main hard drive. Wallets usually store this file in a standard, well-known directory, making it an ideal target for viruses directed against the owners of currency exchange.

To counter the threat, software wallets offer the ability to encrypt the wallet file. Any intruder who gains access to your wallet file will then need to decode it. The complexity of this task depends on the encryption quality and the strength of the password used. Wallet files can be encrypted with a variety of wallet programs, you just need to set a password.

Although wallet backups are a good idea, they can potentially serve as a leak of private keys. For example, you might find it tempting to save a wallet file in a cloud storage service like Dropbox. However, anyone who can view the backup online (the list of such people may be unexpectedly long), will be able to steal some or all of your money. A similar problem can arise when sending backups to yourself by e-mail or if you leave the backup sheet in an unreliable place at home. Private key encryption can reduce the risk, but not eliminate it completely.

Preventing accidental leakage of private keys-the main task of the “cold storage”.

Private key vs public key[edit]

A public key (address) is a set of symbols that the blockchain uses to identify a specific wallet. You get translations for it, you can show it to other users.

Another thing – a private key. Under no circumstances can it be shown to outsiders, including developers Exodus wallet.

In no case, it can not be imported into other people's wallets or into new wallets (for example, to obtain Bitcoin Cash and Bitcoin Gold) as long as the main wallet (from which the key) has bitcoins. First, transfer them to another secure wallet, and then import the private key into new wallets.

  • There are many online scammers who use social engineering to steal your keys.
  • They can offer you free tokens (Airdrop) for every bitcoin you store in your wallet.
  • Or help to get a new coin (Bitcoin Gold) faster than others through an innovative online wallet.
  • Gimmicks can be mass. Their main task is to get you to upload a private key to the network or an application they have written.

If you do it – and you can say goodbye to the cryptocurrency portfolio.

The security of private key[edit]

Buying Bitcoin in ATM

Operations with cryptocurrency wallets (especially for the export and import of private keys) should be performed only on a secure computer, without connecting to the Internet.

The correct option is to install Linux (easy to manage – Mint) on a virtual machine, open the Exodus wallet on its base and carry out all operations in this environment.

There may be too many hidden threats (dangerous loopholes list) on your desktop to export private keys with a serious cryptocurrency balance.

Summary[edit]

If a private key with a Bitcoin balance is compromised or stolen, the bitcoin balance can only be protected if it is immediately sent to a different address whose private key is not compromised. Because bitcoins can only be spent once, once they are spent using a private key, the private key is worthless unless new amount are sent to the address. Furthermore, private key can be observed in the cryptography context. It is also known like a SSH key, secret key or encryption key.

See Also on BitcoinWiki[edit]

Source[edit]