On Wednesday, 3 October, Derick R de Wit, Micon Principal Process Engineer and Senior Project Manager, presented an introduction to Blockchain Technology (BCT) to the UK branch of Women in Mining in London. To assist Micon’s clients, colleagues and friends who may not be too familiar with BCT, Derick’s presentation has been summarized briefly in this article.
BCT is a digital way of storing data in blocks. The way these blocks are chained and named makes the contained data immutable. Once the data blocks are chained together, the contained data can only be changed by majority consent. The data is publicly available exactly as it was originally chained.
Blockchain will be explained here through an example describing the storage of transactional data, like Bitcoin (BTC). However, Blockchain can also be used to store various other types of data.
To commence, imagine three sets of documents containing some transactions as presented below. These documents are the data blocks. Block 1 chronologically describes a Bitcoin exchange from Damian to George and from Barnard to Gerald. Similarly, Blocks 2 and 3 describe Bitcoin exchanges. These are the transactional data:
To protect the contained data, each block is linked to a previous block and provided a unique digital signature derived exactly from the block’s datastring. Each block is chained through referencing its signature in the succeeding block. Thus, in the case of Block 2, its string of data consist of the transactions data between Damian, John, Barnard and Gerald plus Block 1’s signature ( X32) to yield a unique signature of 9BZ.
Even the slightest change to a block’s datastring will yield a new unique signature. As presented below, if the transaction between Damian and George is altered to 500 Bitcoins, the corresponding signature will be W10. This discrepancy in signatures causes the chain to break and be noticed by the network. Since the Blockchain should be immutable, the change is rejected and the blockchain reverts to the previous linked chain where 100 BTC are exchanged:
An alteration will only remain undetected if all the blocks remains chained. For the alteration to remain undetected, the new Block 1 signature W10 must be referenced in Block 2. However, this will cause Block 2 to have a different signature, say PP4, which will be different to 9BZ referenced in Block 3. Consequently, Blocks 2 and 3 will no longer be chained, and so on.
The unique digital signature for each block is created by BCT using a Cryptographic Hash Function. This complex mathematical algorithm converts any string of input into a unique 64-digit string of output (e.g., B9B324E2F987CDE8819C051327966DD4071ED72D998E0019981040958FEC291B). A cryptographic hash always yields the same output for the same input, and always a different output for a different input.
To further safeguard the data, BCT accepts only hashes (signatures) that meet certain eligibility conventions. For example, the 64-digit string of output needs to start with ten zeroes (e.g., 000000000087CDE8819C051327966DD4071ED72D998E0019981040958FEC291B).
The cryptographic hash always yields the same signature for the same input (i.e., the transactional data and name of the previous block) which is fixed. Thus, to hash for an eligible signature the datastring needs to be changed until a signature that starts with ten zeros is hashed. To achieve this, a small piece of random data, called a “nonce”, is added to every block, and is then changed repeatedly to “mine” for an eligible signature.
So, “mining Bitcoin” is the process of repeatedly selecting a random number, running the algorithm, hashing a signature, testing to see if it conforms and, if not, reselecting a new random number, and re-hashing to eventually emerge with an eligible signature. Faster hashing and more computational power to change the nonce improves the likelihood (and speed) of mining an eligible signature.
The chain is immutable since an altered block will only be accepted if it remains chained. To accept a “corrupt” change, all subsequent blocks would require new signatures. The network continues mining eligible signatures for new blocks. This forces the corrupt miner to also mine an eligible signature for the newly created block to keep all the blocks in the network chained. It is safe to assume that, since millions of users are continuously mining, the computational power of a single bad actor will not be larger than the remainder of the network, thus making the blockchain immutable.
The aim of BCT is to be self-regulatory and thus it follows a governance model of “democracy”. Transactional records are updated to reflect what most users decide is ‘true’. The blockchain protocol does this automatically by always following the record of the longest chain. It assumes that this chain is represented by the majority. Similarly, an altered block is automatically rejected since it is not attached to the longest chain.
Micon may not mine the nonce, however with more than 30 years’ experience we do know how to take the nonsense out of mining, through our competent and qualified geologists, mining engineers, metallurgists, environmental and social practitioners, mineral asset valuators and mineral economists.
For a no-nonsense approach to mineral resource and reserve estimation, feasibility studies and mineral asset valuations, contact the author, Derick R de Wit or any of our professional staff through the Micon website: www.micon-international.com/our-team.