What you can expect from the read:
Cryptoeconomic mechanism designing is the true ingenuity of Blockchain. In this article we explore the opportunities to reshape Internet protocols assuming a Blockchain is in place. We discuss how cryptoeconomic incentives can be used to make HTTP resilient against Distributed Denial-of-Service and Man-in-the-Middle attacks.
Blockchain has emerged to one of the most promising technologies of the digital society. In fact, it has all ingredients to change the Internet as of today and foster novel application and services.
As a cryptographer and cryptography professor, I have been following Blockchain technologies with much excitement from almost day one. I am pleased to witness how the concept of a decentralized cryptocurrency, as for example put forth by Bitcoin, evolved into a fully distributed computing environment. When one calls Bitcoin the mother of cryptocurrency technologies, Ethereum clearly must be named here as the foundational technology to a distributed computing infrastructure and the initiator of next-generation Blockchains. In a wonderful and impressive way the Ethereum community lifted the idea of payment transactions into full fledge, distributed programs (known as smart contracts). Although the principals of distributed computing have been researched (to the best of knowledge) since the 80s, although they have become a pillar of theory in computer science, and are represented in almost every computer science curriculum nowadays, it is the first time the concepts receive mainstream attention.
When a new, technological paradigm awakes, a critical question must arise:
What can one build with a Blockchain?
While the question rather is formulated with a techie’s jargon, it shall imply the curiosity of striving for new applications, services, business models and markets. In fact, I can’t remember the vast number of research reports, whitepapers, panel discussions and conferences aiming at answering exactly this question. I have seen experts on stage trying to justify new use cases with Blockchains where they relied on the immutability properties of a distributed database (in other words, you can store data in the blockchain and nobody can revert the entry). It was never clear to me — I have to admit — why a distributed database like Cassandra does not do the job. I had rather the impression people were trying to ride on the hype without having fully grasped and unveiled the magnitude of next-generation Blockchains like Ethereum, Cardano, Hyperledger, etc. For ease of presentation, I will refer to next-generation Blockchains in the following simply as Blockchains.
The Blockchain changes the way we perceive the Internet and gives a radically new approach to designing Internet protocols, applications and services. In terms of the TCP/IP reference model one can think of Blockchains adding a new layer (let’s call it the ‘Blockchain layer’) on top of the network layer such that novel protocol and application layers build atop or more interestingly aside (blue marked layer, cf. Fig below).
TCP/IP model on the Internet (left); Blockchain-enabled Internet model (right)
The opportunities are overwhelming. One can develop on top of the Blockchain layer communication protocols, private and public networks, applications and businesses with novel and innovative properties. (Below I sketch how to design with aid of the Blockchain layer a variant of the HTTP protocol resistant against denial-or-service — a major weakness of the Internet design — as well as a variant with the provision to cryptographically authenticate the client.) The point that needs to be stressed here is that the Blockchain layer co-exists with the other Internet layers and is useful to enrich their functionality, interoperability, and security.
Before delving into technicalities, let’s elaborate on the functions and services the Blockchain layer leverages for the design of Internet protocols and applications:
While the Blockchain layer offers additional services like a byzantine fault-tolerant storage, an immutable data structure, a distributed program execution environment, and some other interesting features, this article aims at discussing the above properties, which I believe have the greatest impact on protocol and application design of the future Internet.
The term cryptoeconomic mechanism design has been ambiguously used in context of Blockchains. Mechanism design is a research field in the intersection of economics and computer science that deals with the question of designing protocols (games) with the premise to incentivize the players to reach a desirable outcome. Mechanism design is seen as the dual to game theory which analyzes the protocol outcome according to the players’ utility. It is also different from cryptographic protocol design which aims to reach a desired outcome in presence of malicious players (as opposed to rational players in the mechanism design model). The term cryptoeconomic refers to incentives implementable, loosely speaking, through the Blockchain (or more precisely, the sparsity of the intrinsic token).
Mechanism design works under the assumption that the players share the common belief some object (e.g., material, good or service) has a value. Further we assume that players naturally demand for the object and fear the moment of losing the object. Following the fundamental principles of (free-market) economies, when demand for the object increases, the value (e.g., price) goes up as well. Hence, making the object sparse will increase its value.
Sparsity of objects in mechanism design is a splendid tool to incentivize the players to behave in certain ways, based upon their private information, that leads to (socially) desired outcomes. It is exactly this economic entanglement that is powerful enough to design protocols with a particular outcome. The basic idea follows a trigger strategy:
Though all of this may sound very academic, the underlying ideas of incentive strategies to achieve a particular outcome are ubiquitous and find daily application. Governments use fine and tax reductions to enforce laws of their constitution. Groceries use vouchers to incentivize customers to shop at their store and disincentive them to buy the same good in a different store. Parents naturally leverage incentive strategies to educate their children. Let’s have a closer look at a classical parental mechanism design.
Protocol Goal: Make sure their kid gets good grades in weekly math exams such that the final grade is an ‘A’. The kid needs at least 125 bucks within the next 10 weeks to buy the playstation.
Protocol Assumption: Kid highly appreciates every cent of pocket money as it badly wants to buy a playstation. The kid is talented, eager and a good mathematician. The average grade is a ‘B’ so going for an ‘A’ is realistic. For ease of presentation, let’s assume the teacher’s grading system consists of two grades only (‘A’ and ‘B’).
Protocol Setup: The kid gets 10 bucks per week pocket money.
Protocol: Mum and Dad get together and agree with their child on the following mechanism:
Analyzing the mechanism, let’s consider the case that out of 10 exams, the kid gets 5 times an ‘A’ and 5 times a ‘B’. That’s the threshold for the teacher to issue an ‘A’ on average. This way the kid makes 125 bucks and reaches the target goal. Should it miss the ‘A’ on average after the final exam, the kid misses also the opportunity to buy the playstation. Likewise it will miss the goal of owning a playstation in 10 weeks, if it denies to participate in the game.
One of the main beauties and in my opinion the real sensation of Blockchains is that they give us exactly the ingredients to design protocols and applications based on incentive strategies:
It are exactly these two properties that make the Blockchain paradigm so powerful. Blockchains lay the foundation for Internet protocols and applications based upon game-theoretic principals. In conjunction with cryptography and artificial intelligence, developers have a third technique in their portfolio to implement protocols and applications with novel properties that indisputably broaden the utility and practicability of the Internet and which were unattainable with prior techniques (such as cryptography). That’s why the Blockchain paradigm can change the Internet as of today.
Incentive-based mechanisms have already been identified by the Blockchain community and we witness their adaption in some promising projects (cf., Brooklyn project). Among them probably the most prominent usage so far have found Proof-of-Stake consensus protocols like Ethereum’s Casper or Cardano’s Ouroboros. Proof-of-Stake protocols implement a mechanism design known as staking to achieve an agreement on the next block. The high-level idea behind staking is as follows.
Analyzing the staking mechanism, we observe that the primary’s incentive is to make an honest block proposal. Otherwise she looses a significant amount of her stake. Further she has a natural incentive to volunteer as a primary. She owns a significant portion of the total stake and if it turns out the network is unstable the value of all of her tokens diminishes. Validators have the incentive to vote honestly as they risk to loose their stake in case of decision against the quorum. The fact they potentially receive a reward is an incentive to engage in the validation process.
The staking mechanism has much in common with the principles underlying our parents-child-pocket money protocol. Good behavior is rewarded while bad behavior is punished.
The Internet is clearly one of the greatest inventions of the last millennium, and much of its success must be accredited to the people of the IETF and related standardization bodies that over decades maintained an interoperable protocol stack. In the light of all the astonishing work, probably one of the design weaknesses of the Internet is less than stellar protection against denial-of-service attacks. These cyberattacks harm the stability of the Internet. In a denial-of-service attack, one repeatedly requests a service from the target server until the numerous requests outperform the server’s capability to process the requests. As a consequence the server stops to operate and typically is no more reachable on the Internet. Think of the consequences the digital society would experience, for example, when google search, facebook or amazon deny their services, for example.
Let us elaborate upon a protocol using the above principles of cryptoeconomic mechanism designing to dis-incentivize the attack.
Protocol Goal: Alice requests a Web site from Bob’s server. The desideratum is that Alice or any other party does not exhaust Bob’s server.
Protocol Setup: Alice and Bob are in possession of a Wallet address and thus are able to transact tokens. Further we assume a staking smart contract associated with Bob. As a collateral, Bob has staked the contract with a sufficiently amount of tokens, say quadratic to the number of users expected to visit the server.
Protocol: The protocol runs between Alice and Bob in parallel on the Blockchain and application layer as follows:
Sub-protocol running on the Blockchain layer (e.g. Ethereum)
Sub-protocol running on the application layer
Sub-protocol running on the Blockchain layer (e.g. Ethereum)
Sub-protocol running on the application layer
Analyzing the above protocol, Alice is disincentivized to exploit Bob’s server as it directly leads to the loss of her stake. The above protocol may need also a mechanism to incentivize Bob to unlock Alice’s stake in case of good behavior. We can leverage the previously described voting scheme to challenge Bob. Validators challenge Bob by scrutinizing the Blockchain for transactions made to the staking contract and transactions unlocking the stake. Here again the Blockchain comes to help as it records an immutable history of the transactions and gives validators valuable information to participate in the voting process.
One of the cardinal questions is why should a Blockchain incentivized Internet protocol or application work? The answer is quite simple. If incentive mechanisms work to educate our kids and a whole society, they work also in the digital world. Incentive mechanisms are in our genes, they are part of our culture, and a proven strategy of our evolution.
If cryptoeconomic mechanism design offers new opportunities to re-design the Internet, how can we harness this gift in concrete applications and business models? Let me share some of my thoughts along some simple use cases:
While the above ideas are only food for thought and the implementation of theses incentive mechanisms would require to solve challenges like data and device identification, data attestation, infringement and plagiarism detection and verification, to name a few, it is clear that they add significant value to the existing products and services.
The de-facto identity on the Internet is the IP address. However, IP addresses provide the weakest form of identity as they may dynamically change. For the Internet infrastructure consisting of routers and servers a necessary property, but for end-users and Web applications a rather a cumbersome property which led to problems related to entity impersonation and identity theft. In fact, when one looks at recent cyberattacks, identity theft is among the top ranked Internet thefts these days. The Blockchain layer provides a unique identity (e.g. the Wallet address). It comes in the strongest form, namely a cryptographic proof of knowing a corresponding secret and public-key pair.
So how can we leverage the fact that thanks to the Blockchain layer every participant has unique identity and owns some cryptographic keys. Let’s design a simple blockchain-enabled authentication protocol on top of HTTP.
Protocol Goal: Alice wants to authenticate to Bob’s Web site. Bob is interested in her age to make sure she visits age-specific content.
Protocol Setup: Alice and Bob are in possession of a Wallet address (and thus a secret and public signing key). Further we assume an identity smart contract where Alice stores her name, age, etc. Given Alice’s address one can look up her name, her public key and all other information she deposited in the contract. In the same vein, Bob registers his address.
Interleaved Protocol: The protocol runs between Alice and Bob in parallel on the Blockchain and application layer as follows:
Sub-protocol running on the Blockchain layer (e.g. Ethereum)
Sub-protocol running on the application layer
Sub-protocol running on the Blockchain layer (e.g. Ethereum)
Sub-protocol running on the application layer
(Disclaimer: The above protocol serves only the purpose of demonstrating the versatility of the Blockchain layer. There are several other ways to achieve the above protocol goal. For example, Alice transacts a negligibly small amount to Bob and uses the transaction identifier as variable.)
Let’s compare the above protocol with standard approach HTTP over SSL (aka HTTPS).
We have argued that the true advantages and benefits Blockchain offer have not been unveiled yet. Specifically the ability to design protocols and applications based on token-incentives shows that the Blockchain layer can bring novel opportunities to re-design the Internet. To demonstrate the plausibility of this hypotheses, we presented variants of the HTTP protocol. With help of the Blockchain layer, we showed a mechanism design to prevent denial-of-service. We also showed authentication over HTTP with help of the Blockchain layer.
Incentive strategies can help in many other promising domains, such as