Once you bought some Bitcoin and placed it in a wallet, you may wonder how Bitcoin is actually transferred between users. It’s an intricate, but also an ingenious process which makes Blockchain technology so unique.
Somewhat counterintuitively, your digital wallet doesn’t actually hold your coins — rather, it holds your Bitcoin address and a record of all your transactions. The address is also known as the “public key,” which consists of 34 letters and numbers. The public key corresponds to another, “private key,” consisting of 64 letters and numbers. While the keys are related, and everyone can have access to your public key, there is no way to deduce the private key from the public key.
Digital signatures and validation
Any transaction initiated by a user gets “signed” by putting the private key and transaction details into the software on the user’s computer or mobile device. Then, this signature goes out to the network to be validated. The process of validation makes sure that the user actually has the Bitcoin he or she is trying to transfer, and that this Bitcoin has not been sent to anyone else. Bitcoin Blockchain software uses the generated signature and the public key (open to everyone) to check the public transaction history and validate the transaction — without having to reference the private key.
You can never break the chain
After being validated, the transaction is included in a new “block” along with other transactions. So blocks are bundles of new transaction data, but what makes the entire structure a “chain”? The answer is — each new block includes a “hash” of the previous block. A “hash” is produced by a function that transmutes any set of data into a 64 character string. If there is the slightest change to the original data, the hash becomes a completely different string, impossible to predict based just on the data change itself. Therefore, if someone changes a transaction inside a block on the chain, this will change the block’s hash. To “cover up” the change in the block, all subsequent blocks will need to be altered. The difficulty of this so high, it makes Blockchain transactions nearly hack-proof.