Editing 2267: Blockchain

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 10: Line 10:
 
This comic is a {{w|flowchart}} intended to help project leaders decide if their project needs a blockchain.   
 
This comic is a {{w|flowchart}} intended to help project leaders decide if their project needs a blockchain.   
  
βˆ’
A {{w|blockchain}} is a data storage structure shared between various computers.  Each block is digitally signed and includes the digital signature of the block before it, which makes it highly resilient against tampering.  However, what sets blockchains in the context of {{w|cryptocurrencies}} such as {{w|Bitcoin}} apart from e.g. {{w|Merkle trees}} used in programs such as {{w|Git}} is that ''anyone'' can write to a blockchain.  This is sometimes specified as a "public" or "permissionless" ledger or blockchain.  In order to prevent the blockchain from being vandalized, various mechanisms are used to determine consensus about which additions to the blockchain are legitimate.  Bitcoin and most cryptocurrencies use a "{{w|proof of work}}" system, where writing a block includes some task which is computationally difficult to perform but simple to verify, such as finding a magic number (called a "{{w|cryptographic nonce}}") that, when appended to the block, makes its hash value start with lots of zeroes.  This results in a system which is, in ideal circumstances, extremely difficult to vandalize, as the attacker must find new nonce values for the block he wishes to modify and every succeeding block, and then broadcast the modified blockchain from enough nodes to convince the rest of the network to go along with it instead of the legitimate one.
+
A {{w|blockchain}} is a data storage structure shared between various computers.  Each block is digitally signed and includes the digital signature of the block before it, which makes it highly resilient against tampering.  However, what sets blockchains in the context of {{w|cryptocurrencies}} such as {{w|Bitcoin}} apart from e.g. {{w|Merkle trees}} used in programs such as {{w|Git}} is that ''anyone'' can write to a blockchain.  This is sometimes specified as a "public ledger" or "public blockchain".  In order to prevent the blockchain from being vandalized, various mechanisms are used to determine consensus about which additions to the blockchain are legitimate.  Bitcoin and most cryptocurrencies use a "{{w|proof of work}}" system, where writing a block includes some task which is computationally difficult to perform but simple to verify, such as finding a magic number (called a "{{w|cryptographic nonce}}") that, when appended to the block, makes its hash value start with lots of zeroes.  This results in a system which is, in ideal circumstances, extremely difficult to vandalize, as the attacker must find new nonce values for the block he wishes to modify and every succeeding block, and then broadcast the modified blockchain from enough nodes to convince the rest of the network to go along with it instead of the legitimate one.
  
 
In practice, in order to actually make this so-called "51% attack" unfeasible, the network needs to have as many legitimate actors using as much computing power as possible.  This results in the Bitcoin network using approximately [https://www.statista.com/statistics/881541/bitcoin-energy-consumption-transaction-comparison-visa/ a million times more energy per transaction] than Visa's network, while smaller cryptocurrencies have actually [https://news.bitcoin.com/bitcoin-gold-51-attacked-network-loses-70000-in-double-spends/ experienced 51% attacks and double-spending].  For almost any practical project, there is no need to allow ''everyone in the world'' to have write access to a database, so it is generally quite acceptable to use a straightforward centrally-controlled permissioning system rather than proof-of-work or other decentralization schemes to restrict write access.  This is why all branches of the flowchart lead to the answer "No".
 
In practice, in order to actually make this so-called "51% attack" unfeasible, the network needs to have as many legitimate actors using as much computing power as possible.  This results in the Bitcoin network using approximately [https://www.statista.com/statistics/881541/bitcoin-energy-consumption-transaction-comparison-visa/ a million times more energy per transaction] than Visa's network, while smaller cryptocurrencies have actually [https://news.bitcoin.com/bitcoin-gold-51-attacked-network-loses-70000-in-double-spends/ experienced 51% attacks and double-spending].  For almost any practical project, there is no need to allow ''everyone in the world'' to have write access to a database, so it is generally quite acceptable to use a straightforward centrally-controlled permissioning system rather than proof-of-work or other decentralization schemes to restrict write access.  This is why all branches of the flowchart lead to the answer "No".

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)