第二章:比特币如何去中心化
作者:阿文德·纳拉亚南,约瑟夫·博诺,爱德华·W·费尔滕,安德鲁·米勒,史蒂文·戈德费德,杰里米克拉克
国籍:美国
出处:比特币与加密货币技术
中文译文:
在本章中,我们将讨论比特币的去中心化。在第一章中,我们讨论了比特币背后的加密基础,并以我们称之为ScroogeCoin的一种简单货币结束。在基于分布式账本的加密货币中,ScroogeCoin实现了我们想要的很多东西,但它有一个明显的问题——它过于依赖中心机构Scrooge。最后我们将探讨如何解决这类货币去中心化或去吝啬化的问题,本章的重点是回答这个问题。
当你在阅读本章时,请注意比特币实现去中心化的机制不是单纯依靠技术,而是技术方法和智能激励工程的结合。在本章的最后,你应该对这种去中心化是如何发生的,以及比特币是如何工作的和它是为什么是安全的有一个很好的认识。
2.1 中心化和去中心化
去中心化是一个非比特币独有的重要概念,在各种不同的数字技术中出现了中心化与去中心化概念竞争的情况。而为了更好地了解它如何在比特币中发挥作用,在不同背景下了解中心冲突即这两种模型之间的紧张关系是十分必要的。
一方面,我们有一个著名的去中心化系统,那就是互联网,它在历史上一直与“围墙花园”的替代产品(如AOL和CompuServe的信息服务)竞争并脱颖而出。然后是电子邮件,它的核心是一个开放标准的基于简单邮件广播协议(Simple Mail Transfer Protocol, SMTP)的分散系统。虽然它确实面临着来自Facebook或LinkedIn等专有通讯系统的竞争,但电子邮件仍是人与人之间在线交流的默认方式。在接收到即时消息和文本消息的情况下,我们有一个混合模型,不能清晰分类为中心化或去中心化。最后是社交网络,尽管它的偏向使用者、开发者和企业家都在努力构造一个主导中心化模式的替代品,但像Facebook和LinkedIn这样的中心化系统仍然主导着这个领域。事实上,这种冲突早在数字时代之前就存在了,我们在电话、广播、电视和电影的历史上也看到了类似的冲突。
去中心化并不是单独存在的,几乎没有一个系统是单一去中心化或单一中心化的。例如,电子邮件是一个基于标准化协议SMTP的去中心化系统,任何人都可以操作自己的电子邮件服务器。然而,市场上的现状是少数中心化的网络邮件供应商已经成为其中的主导。同样,虽然比特币协议是去中心化的,但像比特币交易所这样可以将比特币转换为其他货币的服务,以及钱包软件,亦或是允许人们管理比特币的软件可能在一定程度上是中心化的,还有一定程度上是去中心化的。
考虑到这一点,于是我们把比特币协议如何实现去中心化的问题分解为五个更具体的问题:
- 谁负责保管交易账单?
- 谁有权决定哪些事务是有效的?
- 谁制造了新的比特币?
- 谁决定系统规则如何变化?
- 比特币如何获得交易价值?
前三个问题反映了比特币协议的技术细节,这也将是本章的重点。
比特币的不同方面在中心化/去中心化范围内有不同的观点。点对点网络接近于单纯的去中心化,因为任何人都可以运行比特币的节点,并且入门的门槛也相当低。你可以在网上轻松地下载比特币的客户端,并在笔记本电脑或个人电脑上运行节点。而目前已经有几千个这样的节点。后面我们将在本章研究比特币的挖矿,在技术上挖矿也对任何人开放,但它需要非常高的资金成本。正因为如此,比特币挖矿生态系统中出现了高度的中心化或权力集中。特币社区的许多人认为这是非常不可取的。第三个方面是对比特币节点运行的软件进行更新,这将影响到系统规则的变化方式和时间。我们可以想象这里有许多类似电子邮件的协议实现操作交互。但实际上大多数节点运行参照执行实例,它的开发人员受到社区的信任,并拥有很大的权力。
2.2分布式共识
我们以常用方式讨论了中心化和去中心化。现在让我们从更技术化的层面来研究比特币的去中心化。在本次讨论中出现的一个关键术语是共识,具体来说,是分布式共识。构建分布式电子货币系统所要解决的关键技术问题是实现分布式共识。直观上你可以把我们的目标想象成去中心化ScroogeCoin,就是我们在第一章中看到的假设的货币。
在计算机科学领域内,分布式共识已经研究了几十年,有各种各样的应用。传统的激励应用的是分布式系统的可靠性。假设你负责Facebook这样的大型社交网络公司的后台管理,这种类型的系统通常有数千甚至数百万个服务器,它们一起形成了一个巨大的分布式数据库,记录了系统中产生的所有操作。每条信息都必须记录在这个后端中的几个不同节点上,并且这些节点必须和整个系统的状态保持同步。
这种传统程序内拥有的分布式共识协议的意义远远超出了这种程序本身。如果我们有这样的协议,我们可以用它来建立一个大规模的分布式键值存储,将任意键或名称映射到任意值。一个分布式的键值存储反而将让许多应用成为可能。例如,我们可以使用它来构建一个分布式域名系统,它只是人们可以理解的域名到IP地址之间的映射。我们可以建立一个公钥目录,它是电子邮件地址(或其他形式的现实身份)和公钥之间的映射。
这就是分布式共识的直观含义,但是提供一个技术定义是有用的,因为这将帮助我们确定给定的协议是否满足需求。
分布式协议达成共识。有n个节点,每个节点都有一个输入值。这些节点中有一些是故障或恶意的。分布式共识协议有以下两个特性:
- 它必须在所有可靠节点的值一致时终止
- 该值必须是由可靠节点生成的
这在比特币的背景下意味着什么呢?要理解分布式共识是如何在比特币中工作的,请记住比特币是一个对等系统。当Alice想要支付给Bob时,她实际做的是将一笔交易广播到所有组成点对点网络的比特币节点。参见图2.1。
在图2.1中,为了支付货币给Bob, Alice向整个比特币点对点网络广播订单。
顺便说一句,你可能已经注意到Alice向所有的比特币对等节点传送订单,但是Bob的计算机不在这张图中。当然,有可能Bob正在运行点对点网络中的一个节点。事实上,如果他想要被告知这个交易确实发生了,并且他得到了报酬,运行一个节点可能是一个好办法。然而,实际上这次交易并不是要求Bob监听网络;运行节点也不是Bob接收资金的必要条件。不管他是否在操作网络上的节点,比特币在交易后都是他的。
比特币网络中的节点到底想要达成什么共识?鉴于各种用户正在向网络传送这些订单,节点必须就传送哪些交易以及这些交易发生的顺序达成一致。这将为系统产生一个全球的单一账本。回想一下,在ScroogeCoin中,为了优化交易速度,我们将交易放入块中。类似地,我们在把比特币交易划分为一个个区块的基础上达成共识。
因此,在任何给定的点上,点对点网络中的所有节点都有一个由一系列区块组成的账本,每个区块包含一个他们共同认可的交易列表。此外,每个节点都有一个未完成交易的储存池,这些交易都是它监听过的,但还没有被包含在区块链中。对于这些交易,尚未达成共识,因此根据定义,每个节点可能有一个略微不同的未完成交易池版本。在实际中,因为点对点网络并不完美,所以一些节点可能监听了其他节点没有监听的交易。
节点是如何在一个区块上达成共识的?有一种方法是这样的:在规定的间隔中,比如每10分钟,系统中的每个节点提议将其自己的未完成交易池作为下一个区块。然后节点执行某种共识协议,协议中每个节点的输入都是自己提出的区块。现在,有一些节点可能是恶意的,将无效的交易放入它们的区块中,但我们可以假设其他节点是可靠的。如果协议协商成功,将选择一个有效的区块作为输出。即使所选的区块仅由一个节点提出,只要区块是有效的,它就是有效的输出。现在可能有一些有效的未完成的交易没有包括在区块中,但这并不是问题。如果某个交易没有进入这个特定的区块,它可以等待进入下一个区块。
上一段的方法与比特币的工作方式有一些相似之处,但并不是完全相同。这种方法存在许多技术问题。首先,达成共识通常是一个困难的问题,因为节点可能崩溃或完全恶意。其次,特别是在比特币的背景下,网络是高度不完善的。这是一个对等系统,并不是所有的节点对都是相互连接的。例如,由于Internet连接不佳,网络中可能会出现故障,因此实际上不可能运行一个所有节点都参与的共识协议。最后,还有一个原因是系统分布在互联网上有许多的延迟。
备注:比特币协议必须在两种障碍类型面前达成共识,网络的不完善,如延迟和节点崩溃,以及一些节点尝试蓄意破坏进程。
这种高延迟带来了一个特殊后果,那就是是没有全局时间的概念。这意味着,并非所有节点都能仅根据观察的时间戳就对事件的公共排序达成一致。因此,共识协议不能包含这样的指令:“在步骤1中发送第一个消息的节点,必须在步骤2中执行X。”因为不是所有节点都会同意执行在协议的第1步中先发送的那条消息,所以这是行不通的,。
不可能结果。全局时间的缺失大大限制了可用于共识协议的算法集。事实上,由于这些限制,很多关于分布式共识的文献都有些悲观,许多不可能结果已经被证明。一个众所周知的不可能结果就是关于拜占庭将军问题。在这个经典问题中,拜占庭军队被分成多个师,每个师由一位将军指挥。将军们通过信使交流,以便制定联合行动计划。有些将军可能是卖国贼,可能故意破坏这一计划的进程,使忠诚的将军无法达成统一的计划。这个问题的目标是让所有忠诚的将军达成相同的计划,而不让那些叛变的将军实行一个糟糕的计划。而事实证明,如果有三分之一或更多的将军是叛徒,这一目标就不可能实现。
一个以第一证明作者的名字而命名的更微妙的不可能结果,被称为费舍尔-林奇-帕特森不可能结果。即在某些条件下,他们证明了即使只有一个错误的过程,也不可能达成共识,其中包括节点以确定性的方式行动。
尽管有这些不可能的结果,在文献中仍有一些共识协议。这些协议中比较有名的一个是Paxos。Paxos做出了某些妥协。一方面,它不会产生不一致的结果。另一方面,它也接受在某些情况下(尽管是罕见的情况),协议可能会陷入僵局,无法取得任何进展的结果。
打破传统的假设。但好消息是这些不可能结果在一个非常特定的模型中得到了证明。他们的目的是研究分布式数据库,由于比特币违反了模型中内置的许多假设,这个模型并不能很好地适用于比特币的设置。在某种程度上,这些结果告诉我们更多关于模型的信息,而不是关于分布式共识的问题。
颇为讽刺的是,以目前的研究状况来看,比特币的共识在实践中比在理论上更有效。也就是说,我们观察到这种共识在起作用,但还没有发展出一种理论来充分解释它为什么起作用。但是发展这样一个理论是很重要的,因为它可以帮助我们预测不可预见的攻击和问题,只有当我们对比特币共识工作机制有一个强大的理论理解时,我们才有强大的保障比特币的安全性和稳定性。
在传统的共识模型中,比特币违反了哪些假设?首先我们介绍激励的概念,这是分布式共识协议中的一个新概念。这只有在比特币中才有意义,因为它是一种货币,因此有一种自然机制来激励参与者诚信运作。所以比特币在一般意义上并没有完全解决分布式共识问题,但它在特定的货币系统环境下解决了这个问题。
第二,比特币接受了随机性的概念。正如我们将在接下来的两节中看到的,比特币的共识算法严重依赖于随机化。此外,它去掉了共识的特定起点和终点的概念。达成共识反而需要很长一段时间,在系统实际操作中大约一个小时。但即使到了那个时候,节点也不能确定任何特定的交易或区块已经进入了账本。相反,随着时间的推移,你对任何区块的看法将与最终共识的增加相匹配,而观点分歧的可能性会呈指数级下降。模型中的这些差异是寻求比特币如何绕过分布式共识协议而达到传统的不可能结果的关键。
附:
In this chapter, we will discuss decentralization in Bitcoin. In the first chapter we looked at the crypto basics that underlie Bitcoin and we ended with a simple currency that we called ScroogeCoin. ScroogeCoin achieves a lot of what we want in a ledger‐based cryptocurrency, but it has one glaring problem — it relies upon the centralized authority called Scrooge. We ended with the question of how to decentralize, or de-Scrooge-ify, this currency, and answering that que
剩余内容已隐藏,支付完成后下载完整资料
本科毕业设计(论文)
外文翻译
学 院:数学学院
专 业:数据科学与大数据技术
班 级:数科181
学 号:2018210222022
学生姓名:丁略珈
指导教师:张仁军
二○二一 年 六 月
原文:
In this chapter, we will discuss decentralization in Bitcoin. In the first chapter we looked at the crypto basics that underlie Bitcoin and we ended with a simple currency that we called ScroogeCoin. ScroogeCoin achieves a lot of what we want in a ledger‐based cryptocurrency, but it has one glaring problem — it relies upon the centralized authority called Scrooge. We ended with the question of how to decentralize, or de-Scrooge-ify, this currency, and answering that question will be the focus of this chapter.
As you read through this chapter, take note that the mechanism through which Bitcoin achieves decentralization is not purely technical, but itrsquo;s a combination of technical methods and clever incentive engineering. At the end of this chapter you should have a really good appreciation for how this decentralization happens, and more generally how Bitcoin works and why it is secure.
2.1 Centralization vs. Decentralization
Decentralization is an important concept that is not unique to Bitcoin. The notion of competing paradigms of centralization versus decentralization arises in a variety of different digital technologies. In order to best understand how it plays out in Bitcoin, it is useful to understand the central conflict — the tension between these two paradigms — in a variety of other contexts.
On the one hand we have the Internet, a famously decentralized system that has historically competed with and prevailed against “walled‐garden” alternatives like AOLrsquo;s and CompuServersquo;s information services. Then therersquo;s email, which at its core is a decentralized system based on the Simple Mail Transfer Protocol (SMTP), an open standard. While it does have competition from proprietary messaging systems like Facebook or LinkedIn mail, email has managed to remain the default for person‐to‐person communication online. In the case of instant messaging and text messaging, we have a hybrid model that canrsquo;t be categorically described as centralized or decentralized. Finally therersquo;s social networking: despite numerous concerted efforts by hobbyists, developers and entrepreneurs to create alternatives to the dominant centralized model, centralized systems like Facebook and LinkedIn still dominate this space. In fact, this conflict long predates the digital era and we see a similar struggle between the two models in the history of telephony, radio, television, and film.
Decentralization is not all or nothing; almost no system is purely decentralized or purely centralized. For example, email is fundamentally a decentralized system based on a standardized protocol, SMTP, and anyone who wishes can operate an email server of their own. Yet, what has happened in the market is that a small number of centralized webmail providers have become dominant. Similarly, while the Bitcoin protocol is decentralized, services like Bitcoin exchanges, where you can convertBitcoin into other currencies, and wallet software, or software that allows people to manage their bitcoins may be centralized or decentralized to varying degrees.
With this in mind, letrsquo;s break down the question of how the Bitcoin protocol achieves decentralization into five more specific questions:
- Who maintains the ledger of transactions?
- Who has authority over which transactions are valid?
- Who creates new bitcoins?
- Who determines how the rules of the system change?
- How do bitcoins acquire exchange value?
The first three questions reflect the technical details of the Bitcoin protocol, and it is these questions that will be the focus of this chapter.
Different aspects of Bitcoin fall on different points on the centralization/decentralization spectrum. The peer‐to‐peer network is close to purely decentralized since anybody can run a Bitcoin node and therersquo;s a fairly low barrier to entry. You can go online and easily download a Bitcoin client and run a node on your laptop or your PC. Currently there are several thousand such nodes. Bitcoin mining, which wersquo;ll study later in this chapter, is technically also open to anyone, but it requires a very high capital cost. Because of this there has been a high degree of centralization, or a concentration of power, in the Bitcoin mining ecosystem. Many in the Bitcoin community see this as quite undesirable. A third aspect is updates to the software that Bitcoin nodes run, and this has a bearing on how and when the rules of the system change. One can imagine that there are numerous interoperable implementations of the protocol, as with email. But in practice, most nodes run the reference implementation, and its developers are trusted by the community and have a lot of power.
2.2 Distributed consensus
Wersquo;ve discussed, in a generic manner, centralization and decentralization. Letrsquo;s now examine decentralization in Bitcoin at a more technical level. A key term that will come up throughout this discussion is consensus, and specifically, distributed consensus. The key technical problem to solve in building a distributed e‐cash system is achieving distributed consensus. Intuitively, you can think of our goal as decentralizing ScroogeCoin, the hypothetical currency that we saw in the first chapter.
Distributed consensus has various applications, and it has been studied for decades in computer science. The traditional motivating application is reliability in distributed systems. Imagine yoursquo;re in charge of the backend for a large social networking company like Facebook. Systems of this sort typically have thousands or even millions of ser
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596282],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。