These changes do not need to happen in concert either. One could devise a way to integrate Bitcoin transactions steganographically into pictures of cats posted on the Internet. If enough people started publishing transactions this way, miners would start parsing cat pictures to find transactions to include in the blockchain. While a healthy network requires compatibility, competing innovation in the network protocol generally strengthens a cryptocurrency. 2.1.2 Transaction Protocol The transaction protocol describes what makes transactions valid. It is defined in Bitcoin, for instance, through a scripting language. First, coins are created by miners when they find a block. The miner then attaches a script to the coins that he mined. Such a script is known as an “unspent output”. Transactions combine out- puts by providing arguments for which their scripts evaluate to true. These arguments can be thought of keys and the scripts as padlocks. In simple transactions, such scripts are merely signature-checking scripts but more complex scripts can be formed. These outputs are added up and allocated among a set of new outputs. If the amount of output spent is greater than the amount allocated, the difference can be claimed by the miner. Changes to the transaction protocol are more controversial than changes to the network protocol. While a small group of people could unilaterally start using the cat-picture broadcast algorithm, changing the transaction protocol is trickier. Such changes typically do not affect the block validity and thus only require the cooperation of a majority of the miners. These are generally referred to as “soft-fork”. Some relatively uncontroversial changes still stand a chance to be imple- mented there. For instance a fix to the transaction malleability issue would be a transaction protocol level change. The introduction of Zerocash, also a trans- action protocol level change, risks being too controversial to be undertaken. 2.1.3 Consensus Protocol The consensus protocol of Bitcoin describes the way consensus is built around the most difficult chain and the miner reward schedules. It allows miners to draw transactions from the coin base, it dictates how difficulty changes over time, it indicates which blocks are valid and which are part of the “official” chain. This is by far the most central and most difficult to change protocol, often requiring a “hard-fork”, that is a fork invalidating old blocks. For instance, the proof of work system, as is the reliance on SHA256 as a proof-of-work system, etc. 11
A Self-Amending Crypto-Ledger Position Paper Page 12 Page 14