Uncentralisable Ledgers and Their Impact on Voting Systems
Total Page:16
File Type:pdf, Size:1020Kb
SoK: Uncentralisable Ledgers and their Impact on Voting Systems Lionel Dricot Olivier Pereira Universite´ catholique de Louvain Universite´ catholique de Louvain ICTEAM/Crypto Group ICTEAM/Crypto Group B-1348 Louvain-la-Neuve, Belgium B-1348 Louvain-la-Neuve, Belgium [email protected] [email protected] Abstract—As we observe a trend towards the recentralisation It is now cheaper, more efficient and often technically more of the Internet, this paper raises the question of guaranteeing secure to run applications on Amazon S3 instead of your an everlasting decentralisation. We introduce the properties of server, to post on Facebook instead of your website or to strong and soft uncentralisability in order to describe systems in which all authorities can be untrusted at any time without have your emails on Google instead of maintaining a mail affecting the system. We link the soft uncentralisability to another hosting infrastructure. This recentralisation of the Internet property called perfect forkability. Using that knowledge, we in mega-silos can be witnessed as more and more traffic introduce a new cryptographic primitive called uncentralisable goes through Google and Facebook alone [6]. The power ledger and study its properties. We use those properties to analyse of very few companies over the whole internet makes those what an uncentralisable ledger may offer to classic electronic voting systems and how it opens up the realm of possibilities for companies as powerful as states, prompting the name ”Net completely new voting mechanisms. We review a list of selected states” [7]. The control of the Internet by a few companies is projects that implement voting systems using blockchain technol- not limited to user traffic. It goes as far as building their own ogy. We then conclude that the true revolutionary feature enabled Internet infrastructure [8], including cross-oceanic cables [9]. by uncentralisable ledgers is a self-sovereign and distributed For some, this recentralisation is even seen as the death of the identity provider. Index Terms—blockchain, decentralisation, uncentralisability, Internet [10]. forkability, ledger, vote, bitcoin, ethereum II. DEFINING DECENTRALISED SYSTEMS I. RECENTRALISATION OF THE INTERNET We use the term ”political centralisation” to describe a The Internet has been designed as a decentralised network. system where the decisions are taken by one central authority, Each Internet server is a central authority node that has full even if the system may be distributed from a technical point control over the services it provides. Unlike a distributed of view. Troncoso, Isaakidis, Danezis and Halpin [3] suggest network, where each node is independent, this kind of decen- that technical distribution is not relevant in this context and tralised network still relies on multiple authorities [1]. This that only political centralisation matters. They define a de- topology is sometimes referred as ”federated network” while centralised system as ”A distributed system in which multiple ”decentralised network” has evolved to cover both a federated authorities control different components and no single author- or a distributed network [2]. ity is fully trusted by all others”. In that context, an authority should be understood as a single entity taking decisions for arXiv:1801.08064v1 [cs.CR] 24 Jan 2018 It is important to note that technically federated or dis- tributed networks are still considered as centralised if all nodes a subset of the system thus effectively deciding how the are managed by a single root of authority or trust [3]. We can components in this subset should behave. When the system infer that if some authorities in a distributed network control is distributed, each user becomes its own authority, and the a large number of nodes, the network is mostly a federation terms can be used exchangeably. In the rest of this paper, of those authorities, even if technically looking distributed. we will use ”authority” to describe an independent entity If the technical layers that allowed to build the Internet which takes decision affecting a subset of the system. For are decentralised, there is a natural social and economic a centralised system, the authority is the one in control. For incentive to recentralise, at least politically and economically a distributed system, authorities are the users. For a federated [4]. We observe that the Internet is currently moving toward system, authorities are the nodes trusted by the users. centralisation [5]. In a distributed network, users can choose who to trust, to which degree each node should be trusted or even decide not to Lionel Dricot is partially supported by the European Commission and the trust anyone. In some cases, a decentralised system can also be Walloon Region through the FEDER project USERMedia (convention number used to reach an internal consensus without knowing which 501907-379156) Olivier Pereira is partially supported by the SeVote project of the F.R.S.– authorities to trust. This problem was called the Byzantine FNRS generals problem by Lamport, Shostak, and Pease [11]. In a federated network with few authorities, like today’s to indicate that a system S is controlled by authorities Internet, you either have to trust some of the authorities in A1, A2,...,An. We will often use the notation Ai...j to refer place or to develop new mechanisms that allow running appli- to the set of authorities {Ai,...,Aj }. cations on an untrusted infrastructure. Applied cryptography S will become centralised if the authorities in A1...n collude focuses on the latter choice, allowing users to transmit in- or are controlled by a global authority B. In which case, N = formation and compute through insecure mediums, emulating 1 and S is centralised. the existence of trusted party [12]. Cryptography enables an important paradigm shift in our society: from trusting people A1...n ⊂ B ⇒ S(A1, A2,...,An)= S(B) (2) or legal entities (because we have no other choices) to trusting mathematics [13]. It is important to note that collusion of existing local Even when the network is technically decentralised, a authorities can be done in the open (acquisition, merge), federation of a small number of authorities opens the door be hidden (a single shadow authority control multiple local to a potential recentralisation through collusions of those authorities) or happen through an oligopolistic agreement. authorities. There is a strong economic incentive for collusion S will also become centralised if A2...n disappear from the and recentralisation [2]. But there are many cases where that system. N becomes 1 and S is centralised. centralisation is not desirable or is even dangerous [5]. Is the recentralisation unavoidable? Some decentralisation networks S(A1...n − A2...n)= S(A1) (3) have shown a great resilience against centralisation, like the BitTorrent network which offers incentives to cooperation [14] A historical example includes the XMPP federated chat despite several attempts to shut it down or at least control it network. The network was fully decentralised, but Google Talk to avoid its use to share copyrighted material. quickly became the most prominent actor. In 2013, Google decided unilaterally to leave the XMPP federation. Google To further analyse the situation, we felt that the cen- users with google-only contacts saw no impact. But people tralised/decentralised notion was not enough of a character- using other servers than Google were suddenly forced to create isation of the systems if we wanted to study the possibilities Google accounts if they wanted to chat with their Google of online voting on a decentralised system. Indeed, we under- friends [16]. While the XMPP network survived and is still stood that a network could evolve and become centralised even in use today, that single decision from a single authority had though it was decentralised at some point. For online voting a deep impact on users, even those who didn’t trust Google systems, we look for guarantees that hold in the long term. directly but had Google contacts. Users who trusted Google Everlasting privacy is an example of such requirement [15]. were suddenly in a centralised system. We then looked for a characterisation of a system that would This example illustrates that decentralisation at one point in offer us a guarantee of everlasting decentralisation. time gives no guarantee for the future. If decentralisation is critical, it should be guaranteed. For that reason, we introduce III. INTRODUCING UNCENTRALISABILITY uncentralisability as a property of decentralisation guaranteed in time. Decentralised systems, as defined by Troncoso, Isaakidis, A system is uncentralisable if it can run and evolve without Danezis and Halpin [3], are only decentralised at one point in the participation or consent of any particular authority, even time. They are vulnerable to recentralisation through concen- distributed. tration of power. We say that a system is recentralised if one But is uncentralisability possible and provable? We will single authority has to be trusted by all users of the system. first explore a strict definition of uncentralisability through This means that this particular entity can take a unilateral a notion that we call strong uncentralisability. We will then decision that affects the whole system. Users are forced to relax our definition to make it more practical and introduce accept the decisions as long as they want to use the system. soft uncentralisability. We foresee two ways to concentrate power in an initially decentralised system: by 1) collusion of authorities or by 2) A. Strong uncentralisability disappearance of authorities. We formalise this notion by say- We define a strong uncentralisable system as a system in ing that a system S is decentralised if it has N authorities with which it is strictly impossible for a given entity to gain enough N ≫ 1. To ease the reasoning, we will use a simplification influence to control the system. To guarantee that impossibility, and consider that S is decentralised if N > 1.