NOV-DEC 2017

Issue link:

Contents of this Issue


Page 32 of 61

INTECH NOVEMBER/DECEMBER 2017 33 SYSTEM INTEGRATION used in cryptography for a number that is used only once) is to try all possible permutations until an answer is found. The number of leading zeroes in the hash determines the number of possible permutations. For example, if it were necessary to have the first 40 bits of the hash as zero, there would be approximately 1 trillion possible combi- nations (240). Varying the number of zeroes halves or doubles the amount of work (239 = 549 billion, 241 = 2.2 trillion). In Bitcoin, the proof of work is designed to take approximately 10 minutes to perform. At present, this results in a hash with 18 leading zeroes, or 262,144 possible permutations (218). Once a miner determines the proof, the resulting hash is stored in the transaction block, and this hash will be subse- quently used in the processing of the next block. The reasons why blockchain technology can successfully manage $20 billion of currency are also reasons why it can be useful in other transac- tion management applications: l Due to its decentralized nature, blockchain tech- nology does not have a central point of failure FAST FORWARD l Blockchain technology could disrupt the ICS world. l Blockchain technology transactions are grouped together in blocks and secured. It is theoretically impossible to make changes once recorded. l Potential blockchain applications are protection and verification of device firmware and application software updates. Where is blockchain used? The best-known use of blockchain technology is in Bitcoin, a "cryptocurrency" that allows us ers to send and receive money electronically. Bitcoin uses blockchain technology to maintain a ledger of every Bitcoin transaction. A growing number of major businesses use Bitcoin, includ- ing Microsoft, Subway, and Whole Foods, as well as many small restaurants and traders. The total value of all existing Bitcoins now exceeds $20 bil- lion (up from $2.7 billion in 2015), and millions of dollars are exchanged daily. New Bitcoins are generated through a process called mining. This process involves individuals called miners, who use special software to "mine" blocks, or create the hash required to update the blockchain. Miners are issued a certain number of Bitcoins in exchange for this processing. Min- ing requires significant processing power to per- form the hashing in order to conform to strict rules known as proof of work. The complex processing required to achieve the proof of work helps man- age the rate at which Bitcoins are issued. Hashing algorithms produce a fixed size output (called a hash code or digest), irrespective of the data being hashed. Bitcoin uses a secure hashing algorithm (SHA) with 256 bits (32 bytes) in its out- put, or SHA-256 for short. For example, the SHA- 256 hash of "International Society of Automation" (35 characters) is: 75b8e883214c8543f22fcf1adb6682666f5308fcb 9dcc896846b2d53fba2141e and the SHA-256 hash for "Automation Federa- tion" (21 characters) is: 8 d a 3 6 3 f 6 7 4 c 4 9 f a 3 f 5 b 4 b b d f a c 9 2 6 1 0 d 0 9 0 6 a d e2d58f38a39c8ee8faa74bad91 The very first block in the Bitcoin ledger (called the genesis block) has the hash: 0 0 0 0 0 0 0 0 0 0 1 9 d 6 6 8 9 c 0 8 5 a e 1 6 5 8 3 1 e 9 3 4 f f763ae46a2a6c172b3f1b60a8ce26f In the proof of work process, the miner is pre- sented with a number of pieces of data, including the SHA-256 hash representing the previous block in the chain; details of the current transactions to be processed, such as a timestamp (created by the miner); and information pertinent to the transac- tions themselves. The miner combines all this data into one hash. This is referred to as the challenge. The miner's task is to produce what is known as a proof, such that the SHA-256 hash of the chal- lenge and proof results in a hash that has a fixed number of leading zeroes (out of the total 256 bits in the hash). Due to the unique one-way nature of hashing algorithms, the only way the miner can determine the proof (also known as nonce, a term commonly 1. Someone wants to send money to someone else. 2. A block is created online to represent the transaction. 3. The new block is broadcast to all blockchain miners in the network. 4. The miners approve the transaction and validate it. 5. The block is then added to the blockchain, providing a permanent record. At this point, the transaction is valid. All miners receive a copy of the updated blockchain, making any discrepancies quickly evident. 6. The recipient receives the payment.

Articles in this issue

Archives of this issue

view archives of InTech - NOV-DEC 2017