As stated in the introduction, bitcoin mining serves two purposes: avoiding double
spending and creating new bitcoins in a controlled manner. Transactions are constantly being
broadcasted over the bitcoin network. Miners gather the data for these transactions and attempt
to append a group of them, known as a “block,” to the block chain.
A key concept in bitcoin mining is a hash function. A hash function is a function that
maps a string of text and/or numbers of arbitrary length into a string of characters of a fixed
length called a hash. The key to a hash function is that it is nearly impossible to infer the
contents of the original string given a hash, but it is relatively easy to determine whether or not a
hash is correct given the original string by applying the hash function (Mironov 2005).
27
Each block of bitcoin transactions must be accompanied by a hash. The hash is the result
of all the information of the block transformed by a hash function, which in the case of bitcoin is
the function SHA256. The network, however, specifies that the hash must be less than a
particular number. The job of the miner is to find a value called a nonce that will be included
with the block that yields a hash that fits the requirements of the network. Finding this nonce is
very difficult, and the only effective way to do so is through brute force computing, i.e. trial and
error using a sequence of different values (Velde 2013).
Once a miner successfully finds a hash for the block, the miner broadcasts the block
chain that includes his or her addition to the transaction history. Other miners verify the
authenticity of the transactions and check the hash, and once a majority of miners have done so,
it is officially added to the block chain, and the race to mine the next block begins.
The process of verifying and adding blocks to the public ledger helps maintain the
integrity of the system. The convention is for miners to accept the longest chain of transactions
as valid. Therefore, since each block has an associated hash that depends on the hash of the
previous block (see graphic below), in order to falsify a transaction history, a miner would need
to create the proof-of-works needed for the target block and all subsequent blocks and then
overtake the current longest record of transactions. Such an action would likely require the
control of over 50% of all of the hashrate of the network (an enormous amount of computing
power), and would likely destroy the value of any bitcoin gained in the scheme due a loss of
confidence in the system (Nakamoto 2008). As such, it is unlikely there is any economic
incentive to alter the transaction history.
No comments:
Post a Comment