Back

Blockchain


Drawings

Brief Description:

illustrates a blockchain transaction process 100 in accordance with one embodiment.

Detailed Description:

Referring to Figure 1, a blockchain is an ever-growing set of data blocks. Each block records a collection of transactions. Blockchains distribute these transactions across a group of computers. Each computer maintains its own copy of the blockchain transactions.

A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically comprises a cryptographic hash of the previous block,a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data. Blockchains may implement an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.

A blockchain is typically managed by multiple parties collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus among the operators.

Cryptography involving mathematical methods of keeping data secret and proving identity is utilized when recording transactions. One digital key ensures only an owner can enter a transaction to the blockchain involving their assets, and another digital key lets other parties confirm it really was the owner who added the transaction.

Blockchain is resistant to tampering or other changes by utilizing a cryptographic technique called the hash. Hashing reduces data to a sequence of seemingly random characters — for example, the hash of the phrase “the quick brown fox” is “9ECB36561341D18EB65484E833EFEA61EDC74B84CF5E6AE1B81C63533E25FC8F” using a hash method called SHA-256. Tweaking just one letter in the phrase produces a completely different hash, and you can’t go backward to figure out the original data from the hash.

With blockchain, hashes are linked together so any minute change is immediately visible, not just for the block housing it but for all other blocks added later. With red flags that big for changes that small, auditing becomes easier.

Brief Description:

illustrates a blockchain formation 200 in accordance with one embodiment.

Detailed Description:

Figure 2 illustrates an exemplary blockchain formation 200. The mainchain 204 (M blocks) comprises the longest series of blocks from the start block 202 (S block) to the current block. Orphan blocks 206 (O blocks) exist outside of the main chain.

Blocks hold batches of valid transactions that are hashed and encoded, for example into a Merkle tree. Each block includes the cryptographic hash of the prior block in the blockchain formation 200, linking the two. The linked blocks form a chain. This iterative process confirms the integrity of the previous block, all the way back to the original start block 202

Sometimes separate blocks can be produced concurrently, creating a temporary fork. In addition to a secure hash-based history, the blockchain formation 200 has a specified algorithm for scoring different versions of the history so that one with a higher value can be selected over others. Blocks not selected for inclusion in the mainchain 204 are called orphan blocks 206. Peers supporting the blockchain formation 200 have different versions of the history from time to time. They keep only the highest-scoring version of the blockchain formation 200 known to them. Whenever a peer receives a higher-scoring version (usually the old version with a single new block added) they extend or overwrite their local version of the blockchain formation 200 and retransmit the improvement to their peers. There is never an absolute guarantee that any particular entry will remain in the best version of the history forever. Because blockchains are typically built to add the score of new blocks onto old blocks and because there are incentives to work only on extending with new blocks rather than overwriting old blocks, the probability of an entry becoming superseded goes down exponentially as more blocks are built on top of it, eventually becoming very low. For example, in a blockchain using the proof-of-work system, the chain with the most cumulative proof-of-work is always considered the valid one by the network. There are a number of methods that can be used to demonstrate a sufficient level of computation. Within a blockchain the computation is carried out redundantly rather than in the traditional segregated and parallel manner.

Brief Description:

illustrates a blockchain 300 in accordance with one embodiment.

Detailed Description:

Figure 3 illustrates an embodiment of an irreversible transaction blockchain 300. The blockchain 300 is a sequence of digitally signed transactions ( transaction 1 302, transaction 2 304, and transaction 3 306 etc.). Each transaction includes the current owners public key ( block 1 owner public key 308, block 2 owner public key 310, and block 3 owner public key 312 respectively) and the previous owner’s signature ( O(0) signature 314, O(1) signature 316, and O(2) signature 318) which are generated using a hash function. The owner of a transaction can examine each previous transaction to verify the chain of ownership. Unlike traditional check endorsements, the transactions in the blockchain 300 are irreversible, which mitigates fraud.


Parts List

100

blockchain transaction process

102

transaction requesting device

200

blockchain formation

202

start block

204

mainchain

206

orphan blocks

300

blockchain

302

transaction 1

304

transaction 2

306

transaction 3

308

block 1 owner public key

310

block 2 owner public key

312

block 3 owner public key

314

O(0) signature

316

O(1) signature

318

O(2) signature


Terms/Definitions

soft fork

a change of rules that creates blocks recognized as valid by the old software, i.e. it is backwards-compatible.

orphaned blocks

blocks in an abandoned fork.

block time

the average time it takes for the network to generate one extra block in the blockchain.

accidental fork

a branching in the chain that happens when two or more miners find a block at nearly the same time. The fork is resolved when subsequent block(s) are added and one of the chains becomes longer than the alternative(s). The network abandons the blocks that are not in the longest chain (they are called orphaned blocks).

hard fork

a rule change such that the software validating blocks according to the old rules will detect the blocks produced according to the new rules as invalid.

fork

what happens when a blockchain diverges into two potential paths forward.

smart contract

smart contracts are contracts that can be partially or fully executed or enforced without human interaction.[85] One of the main objectives of a smart contract is automated escrow. The IMF believes smart contracts based on blockchain technology could reduce moral hazards and optimize the use of contracts in general.[86] Due to the lack of widespread use their legal status is unclear.[86] ablockchain implementation that enables the coding of contracts that execute when specified conditions are met. A blockchain smart contract is enabled by logic that defines and executes an agreement. For example, Ethereum Solidity is an open-source blockchain project that was built specifically to realize this possibility by implementing a Turing-complete programming language capability to implement smart contracts.

private blockchain

(i.e., permissioned blockchains) blockchains that use an access control layer to govern who has access to the network. In contrast to public blockchain networks, validators on private blockchain networks are vetted by the network owner. They do not rely on anonymous nodes to validate transactions nor do they benefit from the network effect. Private blockchains can also go by the name of ‘consortium’ or ‘hybrid’ blockchains.