Let's summarize the content that is discussed in this chapter.

Blockchain technology was introduced to solve the double-spending problem in public decentralized payment systems. The data structure consists of an ordered list of blocks that are linked with hash references and which carry transaction data. Each block contains a block header which is uniquely identified by its cryptographic hash, and which stores the hash reference to its previous block header and the hash of the Merkle root of transactions. This yields a highly change-sensitive structure, as none of the recorded transactions can be modified without modifying the corresponding header, which results in the change of the block header’s hash. Since this hash is included in the subsequent block header, any tampering of transaction data immediately results in invalidating the hash references.

The authoritative chain is maintained and secured by the computational power of the honest part of the system due to the Proof-of-Work mechanism. As any tampering of data would require rewriting the blockchain from that point on until the blockchain head, the system is considered to be secure as long as an honest majority of nodes controls the hashing power of the whole system. However, the construction of the system can lead to forks, which opens the possibility of a double-spending attack during the resolving process. As a consequence, a transaction in a block is more secure the more subsequent blocks exist.

However, the system is not only secured by cryptographic procedures, but also by an incentive-based system that rewards the participants who contribute their computational power to the protection of the blockchain. Attacks that target the incentive-based Nakamoto consensus, such as selfish mining, can reduce the security of the system, because the assumption that the security of the blockchain relies on an honest majority of hashing power no longer holds.

Get hands-on with 1200+ tech skills courses.