Search notes:

Blockchain [Bitcoin]

The blockchain is a ledger that records all transactions. It is redundantly stored ordered and timestamped on all nodes.
This architecture is necessary to prevent double spending and modification of old transactions.
The ideas behind the blockchain trace back to a paper Haber and Stornetta in 1991. They proposed a method for secure timestamping of digital documents.
The blockchain's two main ingredients: military grade encryption plus distributed system.
The data of the blockchain is stored in blocks.
A full node only stores a block after it has validated it according to consensus rules.
Different Nodes that have the same blocks in their respective blockchain are said to be in consensus. (This has nothing to to with the consensus rules!)

Tree shaped structure

src/chain.h has the following interesting comment:
The block chain is a tree shaped structure starting with the genesis block at the root, with each block potentially having multiple candiates to be the next block. A blockindex may have multiple pprev pointing to it, but at most on of them can be part of the currently active branch.

Reading/writing blockchain indexes

Apparently, blockchain indexes (or metadata?) are written and read with Level DB.

Majority and minority chain

After a hard fork, there will be two blockchains: a majority and a minority chain.
For example, Ethereum hard forked into the two blockchain Ethereum and Ethereum classic.

See also

Bitcoin

Index