Abstract
A
blockchain is a decentralized data structure with internal consistency maintained through consensus reached by all the users on the current state of the network. It is an enabling technology that resolved the Byzantine Generals Problem (described as a problem of establishing trust between three generals such that a coordinated strike can take down an enemy; more in Chapter
1) and opened a new horizon of possibilities for application development with trustless transactions and exchange of information. If the internet democratized the peer-to-peer exchange of information, then the blockchain has democratized the peer-to-peer exchange of value. We will begin this chapter by exploring how transactions work between users on the Bitcoin network. This will entail a technical discussion of the structures of a block and a transaction. Then, we will dive into the role of wallets and user addresses. After talking about wallets, we will shift our focus to Simple Payment Verification (SPV), which is implemented in the Bitcoin network. SPV will allow us to understand why blocks have a peculiar structure and, more important, how the Bitcoin network can retain efficiency despite the network’s scaling at a high rate. Finally, we will end our discussion by talking about hard and soft forks in the Blockchain. We will present the implications of forks in the context of forward compatibility for merchants and users involved in running the Bitcoin core code. Even though there are numerous variations of blockchain during this "Cambrian explosion" phase of tech development, the core principles remain the same.