Episode 3 has introduced one of the corner stones of Bitcoin – Bitcoin addresses or public identification numbers that keep the identities of land owners secret. Anonymity is a powerful feature of the addresses, but they also have 1 more extremely useful property – they allow the owners to anonymously prove their ownership by producing digital signatures.
Each Bitcoin address (public identification number) comes in a pair with a private number also called a “private key”, which allows the owner to create digital signatures that prove his ownership. This means that Bitcoin addresses are also sophisticated locker mechanisms that make sure only the owner (person who knows the corresponding private key) can transfer ownership to someone else.
Bitcoin addresses are not only anonymous but also serve as sophisticated locks. Only the person in possession of the corresponding private key is able to create digital signatures which open the lock and allow transfer of ownership to someone else.
Let’s say Peter owns 2 bitcoins and wants to transfer the ownership to Joe. The Bitcoin island will allow him to do that only if he can prove he is the owner of the 2 bitcoins in question. The only way of proving his ownership is creating a digital signature which has been signed by the secret private key corresponding with the address of the 2 bitcoins.
The specific way Peter transfers ownership is by creating a document called a “transaction“. Transactions are like contracts containing details of the transfer and digital signature of the land owner. The most important parts of a transaction are:
- public identification number (Bitcoin address) of the land that is to be transferred – these are called “inputs” of a transaction and more than one input can be included in a contract – for example if Peter owns multiple pieces of land
- public identification number of the new owner – called “output” of a transaction – multiple outputs can be included in a transaction if the input land is to be split into several parts, each having a different owner
- unique identification number of the transaction
- digital signature proving ownership for every input
Peter then submits this contract to the Bitcoin island which inspects it. If all details are correct and the included signature(s) prove that the real owner of the land signed them, Bitcoin island changes the ownership of the land as designated in the transaction.
The important thing to keep in mind is that the Bitcoin island never knows the identities of land owners. All it knows are the public identification numbers – Bitcoin addresses – stored on the labels on each piece of land. An actual transaction then might look like this:
Input (address of the land to be transferred): 1HaW7rUcYLnC6pKnZCX5BLe3BvYNumLnsC
Output (address of the new owner): 1Bb1GmbVtfGaS7LTU4o6bkM2DNdo6mgq6B
Transaction id number:
Signature of input owner:
30440220183d7d5bd52a83d6dfd5adf83d51f23d904acd9ad12333cb2888c07b299b7b57022 01a53a20d579e6550b296fb3b8c71884e70291b0928ed08fb87636338f954442901 03487625976ab9c9cf3f6f24e297beecf0161c457e18bc3db514a83ae0be22d725
The above transaction is a randomly chosen real example taken from the Bitcoin network. You can inspect it using a “block explorer” – a piece of software that serves like a window to the Bitcoin island, letting people know who owns what and what transactions are currently occurring. If you are curious, take a peek here (the first 3 numbers you see right under the header are the transaction id, input and output respectively).
Original owner (anonymously identified by his Bitcoin address on the left) transfers ownership to anonymous owner 2 identified by the Bitcoin address on the right
In the real world you will often hear people talking about “sending” and “receiving” bitcoin. In fact, no such thing as sending or receiving happens on the network. All the Bitcoin island (the Bitcoin network) does is record a change of ownership of certain bitcoins. When people “send” you some bitcoin, it means they change ownership from a Bitcoin address they control to a Bitcoin address of which you posses the private key. In reality the creation and management of Bitcoin addresses in done automatically by computers / software. Software applications that handle creation and storage of Bitcoin address / private key pairs, generation of transactions and overall communication with the Bitcoin network are called “Bitcoin wallets“.
In the example above we have seen the simplest possible transaction. A piece of land has been transferred in full to another owner. However, these transactions are not the only possible type. It is very common that an owner of certain piece of land only wants to transfer a part of it to another person (for example as a payment) and keep the rest to himself. Such a transaction would look like this:
In this example the original owner split the land into two parts and transferred ownership of each part to a new owner. In most cases like this, one part of the land is a payment to another owner and the second part is kept by the original owner under a different Bitcoin address. The reason for this is to increase privacy and make it difficult for Bitcoin island observers to guess which part goes to a new owner as payment and which is retained by the original owner. The part that is kept by the original owner is referred to as “change“.
There are also transactions with multiple inputs and one output, or transactions with many inputs and many outputs. There is nothing different about these transaction and they work exactly the same way as described above for simple transactions.
A transaction in which an owner of multiple different pieces of land (or multiple different owners) change the ownership in a merged transaction to one single owner.
A more complex transaction with multiple inputs and multiple outputs. Such transactions are quite common and many times involve only 2 owners, or even 1 owner re-shuffling records of ownership to increase anonymity and privacy.