Bitcoin keys are strings of text used to create a Bitcoin address and confirm transaction legitimacy. Keys can also be used as digital signatures or to encrypt correspondence. They can be generated offline and are usually stored in an encrypted wallet file. However, it is possible to hold Bitcoin keys virtually in any format, even on paper. Each user can generate an unlimited number of key pairs. The size of a private key is 256 bits, and a corresponding public key is 512 bits in size.

Private keys

A private key is a cryptographic number that is used to validate ownership of a wallet and allows to verify and initiate Bitcoin transactions. Simply put, a private key is required to allow Bitcoins to be spent by a user. It is imperative that a private key is kept protected as it is the primary method of confirming ownership in Bitcoin system.

Every Bitcoin wallet has at least one private key associated with it but isn’t limited to just one. A wallet can have multiple private keys to increase safety. This type of software is called Multisignature.

In the Bitcoin blockchain, private keys are 256-bit numbers that can be displayed in multiple forms. A typical way of displaying private keys is in 32 bytes format where the number is reduced to 64 characters.

Example of a 32 bytes private key: E9873D79C6BC9SJ5SC8L1301827961J3318409915UN10CB6BW18CL934BV19343

Appart from 64 character form there is a number of other ways to display private keys each offering some advantages and disadvantages regarding safety and ease of use.

Public keys

Public keys, or how they are also called, Bitcoin addresses are open keys that are used as an address of a particular wallet. A Bitcoin balance corresponds to each created public key. At the moment of a wallet, and therefore keys creation, the balance is always zero and can be later replenished by a Bitcoin transaction or by creating new Bitcoins and commission fees as a result of mining.

A public key is required to be able to receive incoming transactions. In essence, one can think about a public key like a credit card number that corresponds to an account. Just like one would specify a credit card number when making a bank transfer to another person, public keys need to be specified when transferring Bitcoins to a different wallet.