An Empirical Study of Namecoin and Lessons for Decentralized Namespace Design
Total Page:16
File Type:pdf, Size:1020Kb
An empirical study of Namecoin and lessons for decentralized namespace design Harry Kalodner*, Miles Carlsten*, Paul Ellenbogen*, Joseph Bonneau†, Arvind Narayanan* *{kalodner,carlsten,pe5,arvindn}@cs.princeton.edu †[email protected] Princeton University Abstract can be thought of as implementing a namespace. To be memorable by humans, namespaces must sup- Secure decentralized namespaces have recently port arbitrary user-chosen strings as names. To be become possible due to cryptocurrency technol- secure, namespaces must map each name to the ogy. They enable a censorship-resistant domain- same value for all users; adversaries shouldn’t be name system outside the control of any single en- able to convince a user that any other value is cor- tity, among other applications. Namecoin, a fork of rect. Bitcoin, is the most prominent example. We initiate the study of decentralized names- The problem of decentralized namespaces has paces and the market for names in such systems. long been recognized as an important one. The Our extensive empirical analysis of Namecoin re- DNS is a critical yet centralized component of the veals a system in disrepair. Indeed, our methodol- Internet and those who control it can alter the web ogy for detecting “squatted” and otherwise inactive for all users. The controversies around the shut- domains reveals that among Namecoin’s roughly downs of wikileaks.org and the 2011 domain 120,000 registered domain names, a mere 28 are name seizures by the U.S. DoJ and DHS illustrate not squatted and have nontrivial content. Further, why many researchers and activists have sought de- we develop techniques for detecting transfers of do- centralized alternatives [1]. mains in the Namecoin block chain and provide The above three properties — security, user- evidence that the market for domains is thin-to- chosen names, and decentralization — are known nonexistent. as Zooko’s triangle [2]. Until 2011, designing a We argue that the state of the art in mecha- system that exhibited all three was conjectured to nism design for decentralized namespace markets be impossible [3]. The rationale was that enforc- is lacking. We propose a model of utility of differ- ing the uniqueness of name-value mappings and a ent names to different participants, and articulate consistent view of the directory for all participants desiderata of a decentralized namespace in terms would require a centralized server or a hierarchy. of this utility function. We use this model to ex- plore the design space of mechanisms and analyze Cryptocurrencies and Namecoin. Cryptocur- the trade-offs. rency technology enables building a namespace with all three properties. Put simply, the block chain is a global, distributed data structure that can 1 Introduction be repurposed as a directory. Miners execute a con- Decentralized namespaces. We initiate the sensus protocol to establish the state of the system study of decentralized namespaces from an eco- and are incentivized to do so by mining rewards nomic perspective. A namespace, as we define it, they receive in exchange for their participation. As is an online system that maps names to values. The long as a majority of miners — weighted by com- Domain Name System (DNS) is the most promi- puting power — follow the protocol, all users will nent example. A web service such as Twitter that see a consistent view of the directory when they allows users to claim usernames and create profiles query it. This in turn gives the system, and hence 1 the underlying currency, economic value, making names (Section 4). This allows us to iteratively fil- miners’ actions profitable to them. ter our dataset of around 120,000 registered names Namecoin is a cryptocurrency that realizes a de- in Namecoin, leaving a mere 28 that are not squat- centralized namespace. It is the first altcoin from ted, and have nontrivial content. Bitcoin with its own block chain. It offers the We then delve deeper into the economics of same features as Bitcoin with the addition of a names. Namecoin has a built-in ability to transfer name/value store that can be used to hold arbitrary names, which is a secure way to trade them using data (see Section 2). The name/value store supports the block chain. However, it is not obvious which various applications; primarily, Namecoin has been transactions correspond to such sales, as opposed to used for domain-name resolution for the ‘.bit’ alter- regular name updates. We develop a novel analytic native TLD, and by the online identity service, One- technique to distinguish the two types of transac- Name, which utilizes the Namecoin block chain to tions and find evidence for about 250 transactions record data about its members. in the entire history of Namecoin that may represent Namecoin offers a novel solution to the techni- sales of names (Section 5). Of course, it is possible cal challenges of decentralized namespaces. How- that more sales have occurred off the block chain, ever, there are also economic challenges. These but there doesn’t appear to be a widely known mar- arise from the fact that although namespaces theo- ketplace for Namecoin names. retically support infinitely many names, the supply Based on all the empirical evidence we present, of names that are memorable and meaningful to hu- we are left to conclude that the Namecoin ecosys- mans is scarce. Allocating these names to users is tem is dysfunctional. The vast majority of regis- therefore a mechanism-design challenge. The cen- tered names represent squatting and there is little tral thesis of this work is that this mechanism de- evidence of a secondary market for names. While sign challenge is far harder than realized. A system there could be many factors that explain the lack that gets it wrong may “work" in a narrow technical of adoption, there appears to be clear room for im- sense, but may not be useful to real users. provements in the design to minimize squatting and Specifically, there are several crucial questions to other problems. To this end, in Section 6, we ex- consider: how do we model the economic behavior plore the design space of decentralized namespaces of the users of a namespace and what are the goals and make recommendations. of mechanism design for namespaces? How well Why study namespaces? Although we find does Namecoin succeed at attaining these goals and that the Namecoin ecosystem is in disrepair, study- what are its limitations? If Namecoin is not the ing namespaces is important. While there cur- ideal design, can we analyze the design space as a rently doesn’t seem to be widespread dissatisfaction guide to the creators of future decentralized names- with today’s DNS causing users to seek censorship- paces? resistant alternatives, the existence of such alter- Our contributions. Along the above lines, we natives provides a valuable hedge against a poten- make the following contributions. We begin by tially abusive central authority. Besides, domain proposing a model of utility of different names to names are just one application of namespaces. Cen- different participants and articulating desiderata of tralized directories for user public keys have fared a decentralized namespace in terms of this utility much less well than DNS, and the service One- function (Section 3). We highlight the difficulty of Name, which we discuss in Section 8, is an inter- mechanism design even in a toy model and explain esting alternative. Yet other applications for names- the importance of making the model more realistic paces such as control of digital assets have been by incorporating extensions such as time-varying proposed. And of course, the problems posed by preferences. namespaces are intellectually interesting to study. The central contribution of this paper is a thor- We think decentralized namespaces have many im- ough empirical analysis of the Namecoin ecosys- portant applications, but their promise hasn’t been tem. We develop a series of criteria based on the realized so far. Our work helps understand why this block chain, network behavior, as well as content to might be and lays the groundwork for a more rigor- distinguish active websites from parked or squatted ous approach to building such systems. 2 2 Background: Namecoin published in an append-only hash chain, called the In this section we cover the background of block chain. The block chain can be extended with Namecoin. We begin by looking at the history of new transactions by any participant, and such par- the cryptocurrency and then explain why a block ticipants (known as miners) obtain newly minted chain can be used for our definition of a namespace. Namecoin currency (NMC) and transaction fees We then proceed to discuss the technical design of from the transactions for performing this function. Namecoin and the mechanisms used in the design. Extensions to the block chain require a proof-of- We conclude this section with a discussion about work that rate-limits the process (to approximately the applications of Namecoin. one extension every ten minutes) which enables a A note about the term ‘namespace’. In com- steady inflation rate, ample competition among par- puter science, a namespace is simply a container ticipants to extend the block chain, and adequate for a set of names, so that names in a single names- time to obtain and verify the history of the block pace must be unique but the same name can exist chain for new participants. Informally, the proof- in different namespaces. We have chosen to use the of-work protocol in Namecoin is intended to main- term in a related but different way: it’s a system that tain the following two essential properties about the includes client and server software, users, a mecha- block chain: nism, and so on.