Block chain (database)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A blockchain[1]:{{{3}}}[2]:{{{3}}}[3]:{{{3}}} — originally, block chain[4]:{{{3}}}[5]:{{{3}}} — is a distributed database that maintains a continuously-growing list of records called blocks secured from tampering and revision.[1]:{{{3}}} Each block contains a timestamp and a link to a previous block.[6]:{{{3}}}:6

The blockchain is a technology that underlies bitcoin—conceived in 2008 and first implemented in 2009—where it serves as the public ledger for all transactions.[1]:{{{3}}} In the bitcoin case, every compatible client is able to connect to the network, send new transactions to it, verify transactions, and take part in the competition to create new blocks.[7]:{{{3}}} The competition creating new blocks is known as mining.[7]:{{{3}}} The bitcoin design has been the inspiration for other applications.[1]:{{{3}}}[3]:{{{3}}}

<templatestyles src="Template:TOC limit/styles.css" />

Definition

A blockchain consists of blocks that hold batches of valid transactions. Each block includes the hash of the prior block in the blockchain, linking the two. The linked blocks form a chain.[1]

In addition to a secure hash based history, any blockchain database has a specified algorithm for scoring different versions of the history so that one with a higher value can be selected over others. Peers supporting the database don't have the exact same version of the history at all times, rather they keep the highest scoring version of the database that they currently know of. Whenever a peer receives a higher scoring version (usually the old version with a single new block added) they extend or overwrite their own database 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, but because blockchains are typically built to add the score of new blocks onto old blocks and there are incentives to only work on extending with new blocks rather than overwriting old blocks, the probability of an entry becoming superseded goes down as more blocks are built on top of it, eventually becoming very low.[7]:{{{3}}}[8]:{{{3}}}[1]:{{{3}}}

History

The blockchain format was first invented for bitcoin, as a solution to the problem of making a database both secure and widely distributed.[citation needed]

As of 2014, "Blockchain 2.0" was a term used in the distributed blockchain database field.[9]:{{{3}}}[10]

The Economist described one implementation of this second-generation programmable blockchain as coming with "a programming language that allows users to write more sophisticated smart contracts, thus creating invoices that pay themselves when a shipment arrives or share certificates which automatically send their owners dividends if profits reach a certain level."[1]:{{{3}}}

In 2016, the central securities depository of the Russian Federation (NSD) announced a pilot project based on blockchain technology.[11] Various regulatory bodies in the music industry have started testing models that use blockchain technology for royalty collection and management of copyrights around the world.[12]

Description

In the bitcoin context, a blockchain is a digital ledger that records every bitcoin transaction that has ever occurred.[1]:{{{3}}}

A blockchain implementation consists of two kinds of records: transactions and blocks.[1]:{{{3}}}

Decentralization

Lua error in package.lua at line 80: module 'strict' not found.[13]

Every node in a decentralized system has a copy of the blockchain. No centralized "official" copy exists and no user is "trusted" more than any other.[4]:{{{3}}} Transactions are broadcast to the network using software applications. Mining nodes validate transactions, add them to the block they're creating and then broadcast the completed block to other nodes.[7]:{{{3}}} Blockchains use various timestamping schemes, such as proof-of-work to serialize changes.[14]:{{{3}}}

Openness

Since all early blockchains were permissionless, controversy has arisen over whether permissioned databases of chained blocks of data should even be considered blockchains. The debate is ongoing and disputes whether a private system with verifiers tasked and authorized (permissioned) by a central authority, should still be considered a blockchain.[15]:{{{3}}}[16]:{{{3}}}[17]:{{{3}}}[18]:{{{3}}}[19]:{{{3}}}

Proponents of permissioned or private chains argue that the term "blockchain" may be applied to any data structure that batches data into timestamped blocks, these blockchains serve as a distributed version of multiversion concurrency control (MVCC) in databases.[20]:{{{3}}} Just as MVCC prevents two transactions from concurrently modifying a single object in a database, blockchains prevent two transactions from spending the same single output in a block chain.[21]:30–31

Opponents say that the permissioned systems look like traditional corporate databases, not supporting decentralized verification of the data, and that such systems are not hardened against tampering and revision by their operators.[15]:{{{3}}}[17]:{{{3}}} The Harvard Business Review defines blockchain as a distributed ledger or database open to anyone,[22]:{{{3}}} and the Computerworld claims that "much of [blockchain hype] is nothing more than snake oil and spin".[23]

Permissionless

Lua error in package.lua at line 80: module 'strict' not found. Both Bitcoin and Ethereum are open (public) blockchains. As of September 2016, Bitcoin trades at the highest market capitalization while Ethereum is the second.[24] Both of them currently secure their blockchain by requiring new entries include a proof of work. Ethereum plans to switch to a proof of stake in the future.[25]

Permissioned

The New York Times notes that many corporations are using blockchain networks "with private blockchains, independent of the public system."[3]

Disadvantages
  • Nikolai Hampton pointed out in Computerworld that "There is also no need for a ‘51 percent’ attack on a private blockchain, as the private blockchain (most likely) already controls 100 percent of all block creation resources. If you could attack or damage the blockchain creation tools on a private corporate server, you could effectively control 100 percent of their network and alter transactions however you wished."[23] This has a set of particularly profound adverse implications during a financial crises or debt crises like the financial crisis of 2007–08, where politically powerful actors may make decisions that favor some groups at the expense of others
  • "The Bitcoin blockchain is protected by the massive group mining effort. It’s unlikely that any private blockchain will try to protect records using gigawatts of computing power — it’s time consuming and expensive."[23]
  • "Within a private blockchain there is also no ‘race’; there’s no incentive to use more power or discover blocks faster than competitors. This means that many in-house blockchain solutions will be nothing more than cumbersome databases."[23]

Applications

Blockchains are a technology that may be integrated into multiple areas. Examples include a payment system and digital currency, facilitating crowdsales, or implementing prediction markets and generic governance tools.[26]

Major applications of blockchain include cryptocurrencies—including Bitcoin, BlackCoin, Dash, Nxt and Ripple—and blockchain platforms—Factom as a distributed registry, Gems for decentralized messaging, MaidSafe (software) for decentralized applications, Storj for a distributed cloud, and Tezos for decentralized voting.[27]

Applications

The Harvard Business Review conducted a two-year research project exploring how blockchain technology can securely move and store host "money, titles, deeds, music, art, scientific discoveries, intellectual property, and even votes".[22]:{{{3}}} Furthermore, major portions of the financial industry are implementing distributed ledgers for use in banking[28]:{{{3}}}[29]:{{{3}}} (and faster than expected according to a September 2016 IBM study).[30]

Alternative blockchains

Alternative blockchains (altchains) are based on bitcoin technology in concept and/or code.[6]:{{{3}}} These designs generally add functionality to the blockchain design. Altchains can provide solutions including other digital currencies, although tokens used in these designs are not always considered to be such. Altchains target performance, anonymity, storage and applications such as smart contracts.[31] Starting with a strong focus on financial applications, blockchain technology is extending to activities including decentralized applications and collaborative organizations that eliminate a middleman.[32][non-primary source needed] Notable designs include:

Other uses

Blockchain technology can be used to create a permanent, public, transparent ledger system for compiling data on sales, storing rights data, and tracking digital use and payments to content creators, such as musicians.[36] A concept such as Imogen Heap's Mycelia[37] A service was launched in July 2016 that allows managers to use a blockchain for tracking high-value parts moving through a supply chain. Everledger is "building systems to record the movement of diamonds from mines to jewelry stores" and is one of the inaugural clients of IBM's blockchain-based tracking service.[38]

Commercial offerings

Distributed ledgers and other blockchain inspired software are being developed by commercial organizations for various applications:

See also

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found..
  6. 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 7.2 7.3 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. 15.0 15.1 Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. 17.0 17.1 Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. 22.0 22.1 Lua error in package.lua at line 80: module 'strict' not found.
  23. 23.0 23.1 23.2 23.3 Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. http://fortune.com/2016/09/22/blockchain-music-disruption/
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. https://www.cryptocoinsnews.com/swiss-industry-consortium-use-ethereums-blockchain/

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.