Difference between revisions of "Blockchain"
(add video) |
m (→Design features: t (This refers to a scenario called 51%-attack since a entity controlling 51% of votes in the consensus algorithm is able to introduce such a - fraudulent - change)) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | ''Not to be confused with [[p2p]] technology, which may or may not be used to store a blockchain'' | ||
{{concept | {{concept | ||
|wikipedia=https://simple.wikipedia.org/wiki/Blockchain | |wikipedia=https://simple.wikipedia.org/wiki/Blockchain | ||
− | |constitutes=surveillance technology, | + | |constitutes=surveillance technology?, Concurrent Versions System |
− | |description= | + | |description=a method of storing a list of entries, which cannot be changed easily after they are created. |
|start=1991 | |start=1991 | ||
|interests=social credit system | |interests=social credit system | ||
}} | }} | ||
− | + | A '''Blockchain''' (or '''block chain''') is a method of storing a list of entries, which cannot be changed easily after they are created. This is done by [[hash function]]s, [[consensus algorithm]]s and redundant storage an many computers. Transactions are secured by asymetric public key [[cryptography]], including [[digital signature]]s. | |
− | + | ||
− | + | ==Analogy with Wikispooks software== | |
− | + | WS is based on the mediawiki software and may serve as practical example, although it has many more features. The pagename in a wiki is analogous to an ''address'' on a blockchain. | |
− | + | ||
− | A '''Blockchain''' (or '''block chain''') is a method of storing a list of entries, which cannot be changed easily after they are created. | + | When the ''View history'' link is clicked all changes ever made to the ''content'' of the ''address'' are displayed. It is important not to confuse the pagename or ''address'' with the ''content'' or ''entries'' it holds. Analogous to a page, a blockchain records changes to the contents of an address. The history itself is resistant to change. Like in wikiland an address may be created anytime and may have no content at this time. Content may be created offline, i.e. with a text editor and added to the database later. |
+ | |||
+ | This is analogous to creating and using an ''address'' on a blockchain offline. New addresses must be unique, but a clash is very unlikely in practice on a blockchain (due to the astronomical number of addresses and their randomly chosen characters). If the address does not exist yet a new address is created, just like in a wiki. | ||
+ | |||
+ | Otherwise any content or transaction is written to the pre-existing address. The major difference to mediawiki is that every address or pagename has an owner, secured by a strong [[passphrase]]. Others may donate (add) to the address, but only the owner can spend (remove) after entering his passphrase (i.e. locally, most secure variant). After a number of changes occurred on different pages they are lumped together, sealed and called a ''block'', or package. Every block has a unique signature, links to the previous block and contains a fingerprint of the sum of all previous blocks - hence a block chain. | ||
+ | |||
+ | The concept of a blockchain is thus quite simple. The tricky part is when several people have different versions of the blockchain at different times, how to synchronize them? This is discussed on {{FA|Blockchain/Consensus}}. | ||
+ | |||
+ | ==History== | ||
+ | {{YouTubeVideo | ||
+ | |code=sYaim16f3qw | ||
+ | |caption=John-McAfee-s-speech-about-government,-taxes,-banks | ||
+ | |align=right | ||
+ | |width=400 | ||
+ | }} | ||
+ | Programmers use Concurrent Versions Systems (i.e. cvs, [[git]], etc) to record changes to the code they produce. If a file has changed is determined by a [[hash function]], a fingerprint of the file. The history of edits is displayed as a chain of events. CVS makes it hard to alter previous events in such a chain. If two or more developers edit the same file simultaniously a conflict occurs, which is solved by either merging files manually or forking the chain (leading to a tree structure). | ||
+ | |||
+ | Every user has a copy of the complete chain (called a ''repository'') and every edit (''commit'') is marked by the fingerprint (hash) of all previous edits plus the current edit. It is therefore easy to identify if someone tempered with the history. This is called a [[hash tree]] or [[merkle tree]]. | ||
+ | ==Design features== | ||
+ | In very basic terms, a blockchain combines the following two ideas: | ||
# Given some data, it is easy to calculate a [[checksum]] over the data. Special [[hash function]]<nowiki/>s can be designed to calculate this checksum. These functions can be designed to return a value that always has the same length, which is not dependent on the length of the input. This value is called ''hash value'', or ''message digest''. The functions also have another property: Given the same input, they must return the same output (hash value/message digest). | # Given some data, it is easy to calculate a [[checksum]] over the data. Special [[hash function]]<nowiki/>s can be designed to calculate this checksum. These functions can be designed to return a value that always has the same length, which is not dependent on the length of the input. This value is called ''hash value'', or ''message digest''. The functions also have another property: Given the same input, they must return the same output (hash value/message digest). | ||
# In addition to the hash values, a block typically also contains a timestamp, and some payload. Each block uses a digital signature<ref>https://web.archive.org/web/20191016115436/https://www.ambiguousit.com/blockchain-security-is-blockchain-secure-enough-really</ref>, which allows detecting any change in the data since the signature was made. When new blocks of data are created, the newly created block will also contain the hash value of the previous block.<ref name="cryptocurrencytech">Narayanan, Arvind; Bonneau, Joseph; Felten, Edward; Miller, Andrew; Goldfeder, Steven (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton: Princeton University Press. ISBN 978-0-691-17169-2.</ref> | # In addition to the hash values, a block typically also contains a timestamp, and some payload. Each block uses a digital signature<ref>https://web.archive.org/web/20191016115436/https://www.ambiguousit.com/blockchain-security-is-blockchain-secure-enough-really</ref>, which allows detecting any change in the data since the signature was made. When new blocks of data are created, the newly created block will also contain the hash value of the previous block.<ref name="cryptocurrencytech">Narayanan, Arvind; Bonneau, Joseph; Felten, Edward; Miller, Andrew; Goldfeder, Steven (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton: Princeton University Press. ISBN 978-0-691-17169-2.</ref> | ||
− | In most cases, a blockchain is managed by a [[peer-to-peer]] network. All peers use a common [[Communication protocol|protocol]] that specifies how they should communicate with each other, how a new block is created and validated. Once recorded, the data in any given block cannot be changed easily any more. Changing the block means all the blocks | + | In most cases, a blockchain is managed by a [[peer-to-peer]] network. All peers use a common [[Communication protocol|protocol]] that specifies how they should communicate with each other, how a new block is created and validated. Once recorded, the data in any given block cannot be changed easily any more. Changing the block means all the blocks before it need to be changed as well. Depending on the protocol, this will require a majority of the peers, or even all the peers, to agree. (This refers to a scenario called 51%-attack since a entity controlling 51% of votes in the [[consensus algorithm]] is able to introduce such a - fraudulent - change) |
Blockchains are secure by design. Blockchain technology is used where keeping a correct record is important. Use cases include medical records,<ref>https://web.archive.org/web/20161225051907/http://mcdonnell.mit.edu/blockchain_ehr.pdf</ref><ref>https://web.archive.org/web/20170119053224/https://www.pubpub.org/pub/medrec|archive-date=19 January 2017</ref> identity management,<ref>https://web.archive.org/web/20170119054131/https://www.americanbanker.com/news/how-blockchain-fits-into-the-future-of-digital-identity|archive-date=19 January 2017</ref><ref>https://web.archive.org/web/20170131185730/https://bitcoinmagazine.com/articles/microsoft-building-open-blockchain-based-identity-system-with-blockstack-consensys-1464968713/</ref><ref>=https://web.archive.org/web/20170119054646/https://bitcoinmagazine.com/articles/department-of-homeland-security-awards-blockchain-tech-development-grants-for-identity-management-and-privacy-protection-1471551442/</ref> food traceability,<ref>https://web.archive.org/web/20170826120651/https://www.cnbc.com/2017/08/22/ibm-nestle-unilever-walmart-blockchain-food-contamination.html</ref> and [[voting]].<ref>https://web.archive.org/web/20180115001300/https://followmyvote.com/online-voting-technology/blockchain-technology/</ref> | Blockchains are secure by design. Blockchain technology is used where keeping a correct record is important. Use cases include medical records,<ref>https://web.archive.org/web/20161225051907/http://mcdonnell.mit.edu/blockchain_ehr.pdf</ref><ref>https://web.archive.org/web/20170119053224/https://www.pubpub.org/pub/medrec|archive-date=19 January 2017</ref> identity management,<ref>https://web.archive.org/web/20170119054131/https://www.americanbanker.com/news/how-blockchain-fits-into-the-future-of-digital-identity|archive-date=19 January 2017</ref><ref>https://web.archive.org/web/20170131185730/https://bitcoinmagazine.com/articles/microsoft-building-open-blockchain-based-identity-system-with-blockstack-consensys-1464968713/</ref><ref>=https://web.archive.org/web/20170119054646/https://bitcoinmagazine.com/articles/department-of-homeland-security-awards-blockchain-tech-development-grants-for-identity-management-and-privacy-protection-1471551442/</ref> food traceability,<ref>https://web.archive.org/web/20170826120651/https://www.cnbc.com/2017/08/22/ibm-nestle-unilever-walmart-blockchain-food-contamination.html</ref> and [[voting]].<ref>https://web.archive.org/web/20180115001300/https://followmyvote.com/online-voting-technology/blockchain-technology/</ref> | ||
Line 22: | Line 42: | ||
Blockchain was invented by Stuart Haber and Scott Stornetta in 1991 as a means to assure the integrity of digital records. Haber and Stornetta launched the world's first commercial blockchain; Surety<ref>http://www.surety.com/</ref> in 1995. | Blockchain was invented by Stuart Haber and Scott Stornetta in 1991 as a means to assure the integrity of digital records. Haber and Stornetta launched the world's first commercial blockchain; Surety<ref>http://www.surety.com/</ref> in 1995. | ||
− | In 2008, [[Satoshi Nakamoto]] | + | In 2008, '[[Satoshi Nakamoto]]' included as references 3 and 4 of [[Bitcoin]]<ref>https://bitcoin.org/bitcoin.pdf</ref> the two papers by Haber and Stornetta <ref>https://www.anf.es/pdf/Haber_Stornetta.pdf</ref><ref>http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.4891&rep=rep1&type=pdf</ref> to serve as the public transaction [[ledger]] of the [[cryptocurrency]] [[bitcoin]].<ref name="te20151031">https://web.archive.org/web/20160703000844/http://www.economist.com/news/briefing/21677228-technology-behind-bitcoin-lets-people-who-do-not-know-or-trust-each-other-build-dependable</ref> Because of its blockchain, [[bitcoin]] became the first digital currency to solve the double-spending problem without the need of a trusted authority or central [[Server (computing)|server]]. The bitcoin design has inspired other applications.<ref name="te20151031" /><ref name="nyt20160521">https://web.archive.org/web/20160522034932/http://www.nytimes.com/2016/05/22/business/dealbook/crypto-ether-bitcoin-currency.html </ref> |
+ | |||
+ | ==Blockchain and privacy== | ||
+ | {{FA|Central bank digital currency}} | ||
+ | At first sight, the indefinite recording of all transactions in a blockchain is appealing to [[control freak]]s. All major [[central bank]]s announced the introduction of [[Money/Central bank digital currency|blockchain money]] until [[2025]] <ref>https://www.sparkasse.de/aktuelles/digitaler-euro.html (Ger)</ref>. | ||
+ | |||
+ | However, paradoxically it is the solution of the double spending problem which actually '''enables anonymity'''. It depends on the implementation of the additional information stored on the blockchain ("payload") and the way it is connected to the [[p2p]] network: if only the transactions are recorded then they become '''trustless''', i.e. there is no need to know who transferred money to whom. If by design for every transaction a new virtual address is used, then anonymity can be achieved '''if implemented correctly'''. <ref>"Satoshi" did this with his own invention, [[Bitcoin]]: he accessed the [[p2p]] network only with [[Tor]] and created a new identity for each transaction. The many attempts at de-anonymizing "Satoshi" were all unsucessful to this day (2022) </ref> | ||
+ | |||
+ | On the other hand, if the blockchain is designed to hold a bulk of private data (i.e. health records, product purchases, etc.), this amounts to a major [[Social_control#ID2020|privacy hazard]]. | ||
+ | |||
+ | ===[[John McAfee]] on blockchain and privacy=== | ||
+ | https://odysee.com/@enlightenedones!:1/John-McAfee-s-speech-about-government,-taxes,-banks,-corruption,-and-cryptocurrency:7 | ||
==References== | ==References== |
Latest revision as of 16:47, 14 April 2022
Not to be confused with p2p technology, which may or may not be used to store a blockchain
Blockchain (surveillance technology?, Concurrent Versions System) | |
---|---|
Start | 1991 |
Interest of | • Everipedia • Phil Jolley |
Subpage(s) | •Blockchain/Consensus |
a method of storing a list of entries, which cannot be changed easily after they are created. |
A Blockchain (or block chain) is a method of storing a list of entries, which cannot be changed easily after they are created. This is done by hash functions, consensus algorithms and redundant storage an many computers. Transactions are secured by asymetric public key cryptography, including digital signatures.
Contents
Analogy with Wikispooks software
WS is based on the mediawiki software and may serve as practical example, although it has many more features. The pagename in a wiki is analogous to an address on a blockchain.
When the View history link is clicked all changes ever made to the content of the address are displayed. It is important not to confuse the pagename or address with the content or entries it holds. Analogous to a page, a blockchain records changes to the contents of an address. The history itself is resistant to change. Like in wikiland an address may be created anytime and may have no content at this time. Content may be created offline, i.e. with a text editor and added to the database later.
This is analogous to creating and using an address on a blockchain offline. New addresses must be unique, but a clash is very unlikely in practice on a blockchain (due to the astronomical number of addresses and their randomly chosen characters). If the address does not exist yet a new address is created, just like in a wiki.
Otherwise any content or transaction is written to the pre-existing address. The major difference to mediawiki is that every address or pagename has an owner, secured by a strong passphrase. Others may donate (add) to the address, but only the owner can spend (remove) after entering his passphrase (i.e. locally, most secure variant). After a number of changes occurred on different pages they are lumped together, sealed and called a block, or package. Every block has a unique signature, links to the previous block and contains a fingerprint of the sum of all previous blocks - hence a block chain.
The concept of a blockchain is thus quite simple. The tricky part is when several people have different versions of the blockchain at different times, how to synchronize them? This is discussed on
- Full article: Blockchain/Consensus
.
- Full article: Blockchain/Consensus
History
John-McAfee-s-speech-about-government,-taxes,-banks |
Programmers use Concurrent Versions Systems (i.e. cvs, git, etc) to record changes to the code they produce. If a file has changed is determined by a hash function, a fingerprint of the file. The history of edits is displayed as a chain of events. CVS makes it hard to alter previous events in such a chain. If two or more developers edit the same file simultaniously a conflict occurs, which is solved by either merging files manually or forking the chain (leading to a tree structure).
Every user has a copy of the complete chain (called a repository) and every edit (commit) is marked by the fingerprint (hash) of all previous edits plus the current edit. It is therefore easy to identify if someone tempered with the history. This is called a hash tree or merkle tree.
Design features
In very basic terms, a blockchain combines the following two ideas:
- Given some data, it is easy to calculate a checksum over the data. Special hash functions can be designed to calculate this checksum. These functions can be designed to return a value that always has the same length, which is not dependent on the length of the input. This value is called hash value, or message digest. The functions also have another property: Given the same input, they must return the same output (hash value/message digest).
- In addition to the hash values, a block typically also contains a timestamp, and some payload. Each block uses a digital signature[1], which allows detecting any change in the data since the signature was made. When new blocks of data are created, the newly created block will also contain the hash value of the previous block.[2]
In most cases, a blockchain is managed by a peer-to-peer network. All peers use a common protocol that specifies how they should communicate with each other, how a new block is created and validated. Once recorded, the data in any given block cannot be changed easily any more. Changing the block means all the blocks before it need to be changed as well. Depending on the protocol, this will require a majority of the peers, or even all the peers, to agree. (This refers to a scenario called 51%-attack since a entity controlling 51% of votes in the consensus algorithm is able to introduce such a - fraudulent - change)
Blockchains are secure by design. Blockchain technology is used where keeping a correct record is important. Use cases include medical records,[3][4] identity management,[5][6][7] food traceability,[8] and voting.[9]
Blockchain was invented by Stuart Haber and Scott Stornetta in 1991 as a means to assure the integrity of digital records. Haber and Stornetta launched the world's first commercial blockchain; Surety[10] in 1995.
In 2008, 'Satoshi Nakamoto' included as references 3 and 4 of Bitcoin[11] the two papers by Haber and Stornetta [12][13] to serve as the public transaction ledger of the cryptocurrency bitcoin.[14] Because of its blockchain, bitcoin became the first digital currency to solve the double-spending problem without the need of a trusted authority or central server. The bitcoin design has inspired other applications.[14][15]
Blockchain and privacy
- Full article: Central bank digital currency
- Full article: Central bank digital currency
At first sight, the indefinite recording of all transactions in a blockchain is appealing to control freaks. All major central banks announced the introduction of blockchain money until 2025 [16].
However, paradoxically it is the solution of the double spending problem which actually enables anonymity. It depends on the implementation of the additional information stored on the blockchain ("payload") and the way it is connected to the p2p network: if only the transactions are recorded then they become trustless, i.e. there is no need to know who transferred money to whom. If by design for every transaction a new virtual address is used, then anonymity can be achieved if implemented correctly. [17]
On the other hand, if the blockchain is designed to hold a bulk of private data (i.e. health records, product purchases, etc.), this amounts to a major privacy hazard.
John McAfee on blockchain and privacy
References
- ↑ https://web.archive.org/web/20191016115436/https://www.ambiguousit.com/blockchain-security-is-blockchain-secure-enough-really
- ↑ Narayanan, Arvind; Bonneau, Joseph; Felten, Edward; Miller, Andrew; Goldfeder, Steven (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton: Princeton University Press. ISBN 978-0-691-17169-2.
- ↑ https://web.archive.org/web/20161225051907/http://mcdonnell.mit.edu/blockchain_ehr.pdf
- ↑ https://web.archive.org/web/20170119053224/https://www.pubpub.org/pub/medrec%7Carchive-date=19 January 2017
- ↑ https://web.archive.org/web/20170119054131/https://www.americanbanker.com/news/how-blockchain-fits-into-the-future-of-digital-identity%7Carchive-date=19 January 2017
- ↑ https://web.archive.org/web/20170131185730/https://bitcoinmagazine.com/articles/microsoft-building-open-blockchain-based-identity-system-with-blockstack-consensys-1464968713/
- ↑ =https://web.archive.org/web/20170119054646/https://bitcoinmagazine.com/articles/department-of-homeland-security-awards-blockchain-tech-development-grants-for-identity-management-and-privacy-protection-1471551442/
- ↑ https://web.archive.org/web/20170826120651/https://www.cnbc.com/2017/08/22/ibm-nestle-unilever-walmart-blockchain-food-contamination.html
- ↑ https://web.archive.org/web/20180115001300/https://followmyvote.com/online-voting-technology/blockchain-technology/
- ↑ http://www.surety.com/
- ↑ https://bitcoin.org/bitcoin.pdf
- ↑ https://www.anf.es/pdf/Haber_Stornetta.pdf
- ↑ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.4891&rep=rep1&type=pdf
- ↑ a b https://web.archive.org/web/20160703000844/http://www.economist.com/news/briefing/21677228-technology-behind-bitcoin-lets-people-who-do-not-know-or-trust-each-other-build-dependable
- ↑ https://web.archive.org/web/20160522034932/http://www.nytimes.com/2016/05/22/business/dealbook/crypto-ether-bitcoin-currency.html
- ↑ https://www.sparkasse.de/aktuelles/digitaler-euro.html (Ger)
- ↑ "Satoshi" did this with his own invention, Bitcoin: he accessed the p2p network only with Tor and created a new identity for each transaction. The many attempts at de-anonymizing "Satoshi" were all unsucessful to this day (2022)
Wikipedia is not affiliated with Wikispooks. Original page source here