it:blockchain
blockchain, cryptocurrencies, bitcoin
blockchain technology
a linked chain of secured, immutable transaction records distributed in a peer-to-peer (P2P) network
blockchains can be used to protect the order and integrity of any type of transaction.
each transaction is stored in a “block” which holds the following information:
a Block hash = SHA256(BlockID + PrevBlockID + PrevBlockHash+UnderlyingDataHash)
the block ID as an encrypted key:
a Cryptographic Hash (specifically SHA256) which outputs a totally different, random looking signature for even a single bit change, is fast to compute, free of collisions (2 different inputs giving the same output), and non-reversible (can’t determine the input form the output)
a public key signature or or Asymmetric Key Cryptography
these are validated by using a Merkle Tree which is a binary tree of hashes, the leaves being data blocks, allowing you to check quickly if a certain leaf is valid even if there are many leaf nodes
the PREVIOUS block's ID as an encrypted hash key
hash version
the transaction data such as:
if the contents of a block is changed, the hash key changes and thus the block is no longer the same block
for a hacker to do this, they would either:
make all subsequent blocks in the chain void as they would then have invalid previous block IDs - hence the P2P would detect this and invalidate the hacker's changes
use a super computer to recalculate the previous block hash ID for each subsequent block
BUT this is effectively prevented by the Proof of Work technology (using brute force to determine the noonce integer to “mine” the hash key to get to the smallest possible hash key) which requires each blockchain modification to await 10 minutes to be validated, thus the P2P network would detect and prevent hackers from being able to change all the subsequent blocks
in Bitcoin the target time between additions of blocks is 10 minutes. If miners regularly beat that time (using a 2 week moving average) the difficulty goes up (the number of zeroes required at the start of the hash/signature goes up) and if they lag behind the difficulty is reduced. When you add the next block you get a reward which decreases over time but is currently around 13 bitcoins in addition to a small transaction fee added to each transaction to entice miners to add it to their current block. There’s a reason Bitcoin mining uses more electricity than many small countries!
the creators of a blockchain lay down the rules of how it works, for example, the Bitcoin blockchain protocol lays out:
how large a block is in megabytes
the number of transactions that can be processed per second
how fees are calculated
what rewards “miners” get (users who allow their computer to be part of the P2P network which then provides computational power to contribute to the P2P network to maintain blockchain)
HOWEVER, users could decide to change the protocol to improve it by creating a “Hard Fork” which is then incompatible with the prior version but which would still inherit prior transactions (see
https://youtu.be/XCo6yyutYAM), an example is in August 2017 when Bitcoin Cash hard fork was commenced after disagreement arose from how large the blocks should be as many wanted the block to be increased from 1Mb
issues with blockchains
smart contracts
smart contracts is the blockchain terminology for immutable, distributed, programmed transactional algorithms which can control whether or not a block's transaction goes ahead or is wound back based on conditions being met
Ethereum is an example of a blockchain which uses smart contracts programmed using
Solidity and is designed for sales of music, etc under a digital copyright
cryptocurrency exchanges
it/blockchain.txt · Last modified: 2017/12/23 16:29 by gary1