Blockchain

If you think blockchain is something police throw on the road to stop criminals, then read on.

What is Blockchain all about? The term ‘blockchain’ has become synonymous with cryptocurrencies like Bitcoin, but the phrase actually refers to the underlying infrastructure used to transport and store cryptocurrency transactions. When Bitcoin was developed, a secure method of storing currency and completing transactions was required, creating the blockchain process.

When Bitcoin was developed, the developers needed a secure way to transact and store the currency, so they created the blockchain process.

In the bygone era of computing technology in the 1970s and 1980s, hardware was obviously much less powerful and hard disk processing much slower than it is today. To link records together, we used chains of relative record numbers or runs. These RRNs pointed to the previous and next records in a chain, for example, adjacent rows of a file or table or related records.

Software programs could follow these chains to extract information. This structure of chaining records together was commonly used in back-office systems like stock control, for example, to allow the easy extraction of widgets, which means anything that might be managed in a stock management system, like items, locations, etc., being stored in a particular location.

IBM developed an early Enterprise Resource Planning System (ERP) called MAAPICS, which stands for Manufacturing and Accounting Production Inventory Control System and uses RRNs. RRNs were a good way of allowing things to be associated without a complex database technology under the covers. If the chains, or RRNs, were corrupted, then the data’s integrity was compromised. With more modern technology came faster and bigger hard drives and faster processors.

The use of complex databases allowing logical indexes became commonplace. These databases allow lookup by key (or number, for example, widget number) or store location code, thus eliminating the need to chain records together.

The concept of chains linking data together is used in blockchain, providing integrity rather than speed. Individual records, or blocks, are linked together in a chain. If the previous hash of a particular transaction does not match the value of the previous transaction, then that indicates that the chain has been tampered with. The advantage of blockchain is that records of transactions are duplicated across a network of computers, so finding out the correct value is straightforward. This is where the concept of consensus comes into play. If the majority of machines share the same previous and current transaction values, then you can be confident that those values are correct.

A phrase you hear quite a bit concerning Blockchain is “Immutable Ledger”, which sounds to me like something you would use while fly fishing in Scotland. It’s just a fancy way of saying that transactions stored in a blockchain are tough to amend once committed to the chain (although theoretically not impossible). In financial circles, a ledger is a record of financial transactions. “Immutable” is defined as unchanging or unable to change over time. So, an Immutable Ledger is simply a record that cannot be changed.

When a blockchain transaction is processed, it is duplicated across a network to many computers, which are known as nodes or peers. A blockchain network is a peer-to-peer or P2P network. The fact that the data is mirrored across multiple computers is one reason (but not the only reason) it is difficult to retrospectively amend a transaction once it has been accepted into the ledger because it would involve making changes to the transaction records on many computers.

Transactions are added to the chain by one node in the network and then duplicated to all the other nodes. To win the privilege of adding transactions to the blockchain, a node must first battle with all the other nodes on the network. In a Bitcoin blockchain, the winner is rewarded in bitcoins or part of a bitcoin. This act of battle is called “mining.”

The battle that takes place in the mining process is actually a puzzle-solving competition by all the nodes in the network to see who can solve the puzzle the quickest. This process is known as Proof of Work or PoW. To try and give themselves the best chance possible of being the first to solve the puzzle and win the mining fee the computers that do the “mining” are made to be as powerful as possible using specially-made hardware. They consume quite a bit of power and some organizations have built server farms with many nodes to increase their chances of winning as many PoW contests as possible and therefore maximize their profit.

The process of adding transactions to the blockchain involves bunching individual transactions together to create a block. The block header contains the hash created in the Proof of Work process (by the winner of the mining process) and the hash from the previous block.

Because the hash of each block is built using the hash of the previous block, to amend transactions in any given block, you would have to go back and amend all the hashes and previous hashes in every other block created before it and also on 51% of the nodes in the network to get consensus. This is what gives blockchain technology its “immutability.”

The hashes, previous and current that we discuss are stored in the block header and created by the PoW process, as we previously discussed. A hash takes bits of information, concatenates them, and then applies an algorithm to return a fixed-length string of characters used as a unique identifier for the block. The PoW concept adds complexity to the hash creation process by stipulating that the hash must begin with a certain number of zeroes. So when the hashing algorithm creates the return string, if it does not begin with the required number of zeros, then the process of hashing the concatenated information is retried until the number of leading noughts is realized.

The hash function is a mathematical equation that takes an input string of any number of characters and outputs a string of completely different characters with a fixed length. The result will always be the same for a given input string. The hash process is known as being deterministic, ie the same input string will always produce the same output string, but you cannot reverse engineer the output string to get back to the original input string. The hashing algorithm used in Bitcoin is SHA256.

Hashing is used because passwords can be stored without exposing the actual password. To verify a password, it is hashed, and if the hash matches the stored hash, then the password is correct.

Use the demo below to enter a sentence and press the “Press for Hash” button to view how the SHA256 algorithm turns your string into a fixed-length set of numbers and letters.

In Bitcoin, which is stored using blockchain, the coins are transacted using “Wallet” functionality. To access the wallet, private and public keys are created using what is known as the Elliptic Curve Digital Signature Algorithm (ECDSA), which creates hashes utilising SHA256. The wallet owner must keep their private key secure as this is the method by which they access their wallet and perform Bitcoin transactions. People who know your public address can send you bitcoins.

Enter string:

Hash:

One of the other elements that makes up the block header is a timestamp turned into a Unix Epoch time, which is the time in seconds since January 1, 1970. Use the demo below to enter a date and time and then press “Press for Epoch” to see your chosen date and time converted into seconds since January 1, 1970.

Enter date/time:

Epoch Time:

The block header comprises the version number, previous hash, this hash, epoch time, difficulty, and nonce. As mentioned previously, the difficulty is thrown into the mix to make the block creation or mining process a competition to see who can find the answer first and win the privilege of creating the block and earning the mining fee.

The tricky part of the mining process stipulates how many zeros the hash must have at the beginning and is geared towards making a 10-minute gap between block creations. This depends on the power of the mining computers, how many of them there are, and how many transactions are being processed in a period of time.

A nonce is added to the end of the string being hashed to attempt to find the required number of zeros to be prefixed to the string, if the required zeros aren’t found on the hash computation then a new nonce is tried until the right amount of zeros are computed. The nonce is effectively a random number 4 characters long. To vary the complexity, the number of zeros is increased or lowered accordingly. The diagram below explains the hash creation process highlighting the way the difficulty is used to build in complexity.

BLOCKCHAIN

Hitting the button below brings up an interactive demo that models the blockchain mining process in real time.

The HM Land Registry is considering blockchain technology for use with land registry transactions. In a blog HM Land Registry wrote in May of 2019 Could blockchain be the future of the property market? They outlined the steps they took to “build a prototype that would enable a digital transfer of a property that automatically updates the Land Register”. They bought together payment services firm Shieldpay, law firm Mishcon de Reya and conveyancing MyHomeMove, know your customer (KYC) and anti-money laundering (AML) services provider Yoti and HM Revenue & Customs to build as they described an end-to-end proof of concept.

They used video to allow the participants to interact remotely and coordinate their various tasks. Each step was actioned, and then the process was handed on to the next party in turn.

The simulated transaction aimed to demonstrate the speed, trust, security, and transparency that the technology could bring to the property market.

In the article, the Land Registry said it is continuing to work with the industry to explore how new technologies like Blockchain can influence future transactions.

The legal profession and the industry are testing smart contracts as a way of recording contractual agreements and storing them in a blockchain ledger. This could speed up transactional processes such as shipping contacts and documentation by allowing documents to be created, submitted, and shared more securely and timely.

Leave a comment

The maximum upload file size: 250 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop files here