The Regression Theorem
Lugwig von Mises proposed the “Regression Theorem” which states that money can be traced back “regressed” to the goods and services it obtains. This means that money should have a direct use apart from its monetary use. A commodity money will emerge from this primordial use case. Gold can be used to make watches, silver can be used as silverware, wampum can be used to make necklaces, and the list goes on. There is some debate about whether cryptocurrencies have a direct use other than for monetary purposes, but a lot of the discussion seems to ignore the clear and obvious non-monetary direct use of blockchains, which is Notarization (or time-stamping). Small bits of data can be stored immutably forever in the blockchain. Using cryptographic checksums of any document you can permanently (and secretly if you so choose) prove the existence of a document at a given time.
What is notarization and how is blockchain based notarization superior?
According to nationtalnotary.org, “Notarization is the official fraud-deterrent process that assures the parties of a transaction that a document is authentic, and can be trusted.”. Typically that means that, you go to a Government sanctioned “Notary” to stamp a document and record your details which include, a Government issued identification. This is done by a notary public (or other appointed person depending on the local laws), who are a trusted third party, authorized by the government to notarize documents. Pre-blockchain, this all made sense and it was the best (although far from perfect) way to deter fraud in legal transactions like the transfer of real estate or other large transactions.
But, with the advent of the blockchain, that all changed. Unlike in legacy notarization, with blockchains, there are no trusted third parties. A cryptographic hash of any document can be included (for a fee paid in Bitcoin) in a Bitcoin block, which is persisted by thousands of nodes across the world permanently. The time in which it was persisted or the content of the data persisted cannot be modified by anyone, ever, due to the linked chain of proof of work in each block. Since the costs of operating a node are so small and the incentives to do so by holders are so great, it’s likely that, barring some sort of cataclysm, that the data will be around for hundreds and maybe thousands of years or more. The hash which is locked into a specific block with a specific time will always be accessible by all parties to the transaction. All they need to save is the content of the data being notarized. In addition all parties can digitally sign the document with their own private key to certify who the parties to the transaction are. This process, while unimplemented, is orders of magnitude better than the current legal based process because there are no trusted third parties and no record keeping function for a central authority. That data is redundantly stored in the blockchain by the thousands of full nodes in a geographically distributed manner.
Even if Bitcoin’s price goes much lower, this primordial use case can provide a floor since no matter what, Bitcoin can be used to pay miner fees for storing data in the blockchain. This is one reason it’s important to preserve and optimize this use case.
How to develop Bitcoin’s notarization use case.
Based on this notarization use case, one might naturally ask that if we can store a 32 byte sha256 checksum in the blockchain, why not store bigger things like images and movies in the blockchain too?
The answer is that you could do this, but it would not be economically viable. There are much cheaper mechanisms for storing data that should be used for larger data. What the blockchain is good at is proving that some piece of data (potentially the hash of a contract) existed before a particular time. Some decentralized storage techniques can be built using the blockchain and the notarization proposal discussed here, but that’s a topic for a different article.
One cool feature of checksums is that multiple documents can be proven by a single checksum. In fact, an entire tree structure can be created in which potentially millions of documents can be notarized by a single checksum which is stored into the blockchain using only 32 bytes of data. The idea would be that the head of the checksum tree is the checksum of a document which contains checksums of other documents all the way down to leaf nodes that contain actual documents that are being notarized. This is similar to a Merkle Tree.
Today, however, in Bitcoin there are no consensus rules enforcing this so there are, potentially hundreds of separate notarizations done in each Bitcoin block. And what’s worse, sometimes people store actual data in the blockchain. For instance, recently someone stored the entire contents of the Bitcoin white paper in the blockchain. While this may be an interesting and fun thing to do, there’s no reason to store the entire whitepaper in the blockchain. It would be sufficient to store a hash of the whitepaper (possibly with signatures from several developers) so that no one can modify or alter it.
At this point, some may be thinking that there’s no way to prevent people from putting whatever they want in a block because ultimately you could even use things like vanity addresses to embed data in the blockchain. While that may be true, the consensus rules can be used to significantly raise the bar for doing so. Specifically, today the OP_RETURN opcode is used to embed data into the blockchain. There is a current consensus rule to impose a limit of 1 OP_RETURN per transaction and the size of the data stored in the OP_RETURN is a maximum of 40 bytes. These are both good rules, but they don’t go far enough. My proposal is to introduce a limit of a single OP_RETURN per block. This will force the users of the OP_RETURN opcode to work together and come up with a standard for a second layer notarization protocol.
Yes, this is a hard fork proposal, but it may be paired with other features that require hard forks. There is also a notion in the Bitcoin community that hard forks are inherently evil. I could write an entire article (maybe a few) on why this is not true, but needless to say hard forks can and should be done when they represent a significant improvement to the Bitcoin network as is the case here.
So in the coming weeks and months, I will be writing up a BIP (or series of BIPs) outlining my proposal for changes to notarization, and a layer 2 notarization standard, a layer 2 data storage standard (which relies on both the notarization standard and lightning network), and some applications of these standards.
What can we do with a layer 2 notarization standard?
There are a number of potential applications of a layer 2 notarization standard. First of all, we have to understand why we only notarize the most important of legal documents today. The reason is because it’s expensive and time consuming, there’s no way to automate it, and it doesn’t work very well. With the advantages of blockchain based notarization that we discussed, we will be able to notarize practically speaking, EVERY document that’s created for essentially zero cost. This means not only every contract, but also every email, Tweet, Facebook post, Youtube video, purchase, even text message can be notarized. Why would anyone want to notarize your tweets? The primary reason is for decentralization. The goal of all of these layer 2 solutions is decentralization. Today we rely on Twitter (or other social media companies) to notarize (or pseudo-notarize) our content. If I tweet at 1:06 on November 12, Twitter will tell you that’s the time I tweeted. This all works great, except that it puts Twitter at the center of everything and gives them a power they should not have. It seems pretty clear that the internet is reaching a point where the free and open flow of ideas is being restricted so we need to build systems that eliminate these central points of authority.
Tying it all together
The notarization L2 protocol, when combined with the decentralized storage proposal (which is essentially a mashup of TOR, Bittorent, and Bitcoin, but to be outlined more fully in an upcoming article and BIP), lightning network, and some other proposals will allow us to build applications that no longer put a central authority in the middle of our transactions (both financial and social). This is why it’s important to start working on these applications.