Ethereum: basics 1
Download the Full BlockChain, epoch by epoch
Download Ethereum Blockchain - Epoch 4Donate at 0x57f64f50ab0510650b551ec2cb7c7f5d6c7271a5
|sha256 checksum: 7cd9953e91ab598b9e4e0a66d9f6d87b0942180a40c3bbc9226864c3e22671aa|
Basics: Epoch 4: The BlockChain
The BlockChain is a sort of distributed database containing the actual status of the Ethereum world.
In this blockchain are stored all the transactions, accounts, balances, contracts.
All the transactions are collated in a block.
Every block is linked to its parent block.
When a new block is created, it's linked to its
When a miner finds a valid block, this is added to the blockcain, with an incremental block ID number.
This represents the current height of the blockchain, the biggest valid block ID just mined.
If a miner finds another valid but different block, with the same parent, but this is not the first new block, it becomes an uncle.
The first block is called genesis block because it has no parents. Its ID is 0.
The block family: uncles, nephews and ommersIt's possible, under certain particular circumstances, to generate an uncle or ommer (ommer is a neutral way to say uncle/ant, often used in official documentation).
The ommer is the child of the parent of the parent of a block.
These blocks contribute to the blockchain security and have a little reward for the miner which finds an uncle, but are orphan leafs of the blockchain.
The hash chain
An hash function is an irreversible function that projects a value (or a set of values) to another one, usually of fixed length.
The SHA256 algorithm, for example, projects every string into a 256 bit string. The algorithm is irreversible, so you cannot extract the original string from the hash.
This is a typical way for the storage of a password: instead of storing the plain text password p, you can store the hash h(p).
When the user inserts the password, the system regenerates the hash and compares the one stored with the one obtained from the user. If the hashes match, the password is the same (..not always, due to collision, but this is not argument of this explanation).
So a big file or a block of Mb of data can be mapped, through an hash function, in a string.
You can see an use of this fundamental concept in this site: the given SHA256 hash of the epoch files permits to check that the file you downloaded is the file we generated in origin.
If someone manipulates the file, or some data are missing during the download, the hash will not be the same, so you know that the file is not correct.
Also, it's not possible to reconstruct the original file from the final hash.
The block chain is an hash chain, where every block contains its parents and uncles hash.
In this way, the integrity of the chain can be checked by every client.
The block chain
In addition to this, based on the work of Adam Back (2002), Satoshi Nakamoto (2008) added other properties to the hash chain, to create a distributed server based on timestamp with a public ledger based on consensus; every unit of this chain is called block by Nakamoto, containing in the header the hash of previous blocks, and in the content the transactions.