another source, and still be assured that all of the data is correct. The reason why this works is that hashes
propagate upward: if a malicious user attempts to swap in a fake transaction into the bottom of a Merkle tree,
this change will cause a change in the node above, and then a change in the node above that, finally
changing the root of the tree and therefore the hash of the block, causing the protocol to register it as a
completely different block (almost certainly with an invalid proof of work).
The Merkle tree protocol is arguably essential to long-term sustainability. A "full node" in the Bitcoin network,
one that stores and processes the entirety of every block, takes up about 15 GB of disk space in the Bitcoin
network as of April 2014, and is growing by over a gigabyte per month. Currently, this is viable for some desktop
computers and not phones, and later on in the future only businesses and hobbyists will be able to participate.
A protocol known as "simplified payment verification" (SPV) allows for another class of nodes to exist, called
"light nodes", which download the block headers, verify the proof of work on the block headers, and then
download only the "branches" associated with transactions that are relevant to them. This allows light nodes
to determine with a strong guarantee of security what the status of any Bitcoin transaction, and their current
balance, is while downloading only a very small portion of the entire blockchain.
Alternative Blockchain Applications
The idea of taking the underlying blockchain idea and applying it to other concepts also has a long history. In
2005, Nick Szabo came out with the concept of "secure property titles with owner authority", a document
describing how "new advances in replicated database technology" will allow for a blockchain-based system for
storing a registry of who owns what land, creating an elaborate framework including concepts such as
homesteading, adverse possession and Georgian land tax. However, there was unfortunately no effective
replicated database system available at the time, and so the protocol was never implemented in practice.
After 2009, however, once Bitcoin's decentralized consensus was developed a number of alternative
applications rapidly began to emerge:
● Namecoin - created in 2010, Namecoin is best described as a decentralized name registration
database. In decentralized protocols like Tor, Bitcoin and BitMessage, there needs to be some way
of identifying accounts so that other people can interact with them, but in all existing solutions the
only kind of identifier available is a pseudorandom hash
like1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy. Ideally, one would like to be able to have an
account with a name like "george". However, the problem is that if one person can create an
account named "george" then someone else can use the same process to register "george" for
themselves as well and impersonate them. The only solution is a first-to-file paradigm, where the
first registrant succeeds and the second fails - a problem perfectly suited for the Bitcoin consensus
protocol. Namecoin is the oldest, and most successful, implementation of a name registration
system using such an idea.
● Colored coins - the purpose of colored coins is to serve as a protocol to allow people to create their
own digital currencies - or, in the important trivial case of a currency with one unit, digital tokens,