Crypto Network NZ
How is bitcoin created?
How is bitcoin created?
In traditional fiat money systems, governments simply print more money when they need to. This is known as quantitative easing. As most of us are no doubt aware, although this may stimulate the economy in the short term, it can create multiple issues in the long term including devaluation of the currency and higher debt levels. But in bitcoin, money isn’t printed – it is discovered through a process called mining which takes time, money and energy to carry out. Thanks to the Bitcoin protocol here can never be more than 21,000,000 bitcoins in existence, so once this threshold is reached there will never be anymore bitcoins "printed".
Traditional printing press
What is Mining?
A typical Bitcoin GPU miner
Thousands of people are sending and receiving bitcoin between each other every day using the internet and the Bitcoin network. Similar to banks verifying each transaction when we send traditional money to someone else via internet banking, someone needs to verify these bitcoin transactions and add them to a general ledger. Since the Bitcoin network is completely decentralised and transparent to everyone using the network, this job is not carried out by one centralised authority, but is shared by thousands of specialised computers and is called "mining". Mining is the process by which transactions on the bitcoin network are verified and recorded. It is performed by thousands of computers connected to the Bitcoin network that are competing with each other and get paid in new bitcoins as a reward for carrying out this service.
Approximately every 10 minutes a list (or block) of all these transactions is grouped together and the miners role is to confirm each block and add it to the general ledger, commonly referred to as the 'blockchain'. This blockchain gradually gets longer and longer as it records every transaction that has taken place on the network, and to ensure they know what is going on, everyone who is participating gets a copy of the updated blockchain.
In order to ensure this blockchain is a true representation of what ACTUALLY happened and can't be changed, the miners take all the transactions in the block and apply a mathematical equation to it to turn it into a 'hash'. Although it may just look like a random string of numbers and letters, it is in fact a shorter representation of all the transactions in that block and it is this 'hash' that is stored in the blockchain.
What is a hash?
A hash is created in cryptography by a mathematical hashing algorithm (Bitcoin uses SHA-256) that maps data inputs to a string of characters of fixed size. One of the most interesting things about a hash is that it is very easy to create from a set of data inputs but it is almost impossible to find out what those inputs were simply from looking at the hash itself. Another interesting property of a hash is that if you change even one character from the data inputs, the hash will change completely. These properties help secure the blockchain because each hash contains information about the previous block as well as information about the current block. If anyone tries to change one of the previous blocks, this completely changes all of the subsequent hashes in the blockchain and miners are instantly alerted to this breach, rejecting these changes. You can try using a SHA-256 hash calculator yourself at this link
To the left is a basic example of a hash being created (Hash sum) after an input string is put through a Hash function.
A combination of hashing functions are also used to create "addresses" where bitcoin can be sent and received. These addresses are represented in the form of a public and private key pair - the public key is given out to people much like a bank account, and the private key is kept secret and is used to verify you own the public key by way of a digital signature. The private key is generated first by a piece of software known as a "wallet" which uses a "keygen" associated with the Bitcoin client to create a 64 character hexadecimal string. From this private key a multitude of hashing algorithms are applied to it in order to create the public key which looks something like this: 1CqLbN2qm4xz5BuBtnYBNeAb2hJ1VW9TBa