Drawings
illustrates a blockchain transaction process 100 in accordance with one embodiment.
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.
illustrates a blockchain formation 200 in accordance with one embodiment.
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.
illustrates a blockchain 300 in accordance with one embodiment.
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.