找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
发表帖子

该用户从未签到

27

主题

27

帖子

85

积分

注册会员

Rank: 2

积分
85

你真的懂区块链强大在哪里么?

[复制链接]
  “去中心化”是加密经济领域使用最频繁的词语之一,甚至被视为区块链的唯一存在理由,但它或许也是定义最为模糊的概念之一。从事区块链工作的人们花费上千小时研究并投掷数十亿美元哈希算力的唯一目的,就是试图真正实现去中心化,同时保护和改进它。很多时候,当一场关于某个区块链协议的讨论争执不下时,一方的支持者经常以声称对方的提案是“中心化的”作为究极杀招,可见去中心化在区块链工作者心中的地位。
  “去中心化”这个词的实际含义常常引起很多混淆。这是一张常见的说明去中心化含义的图片:依次为中心化,去中心化,分布式网络
  某问答网站上有这样一个问题:分布式和去中心化有什么区别?问题的下面有两个答案。第一个简单地引用了上面的图,而第二个则提出了完全不同的观点。该答主说,分布式的意思是“不是所有的交易处理都在同一个地方完成”,而去中心化意味着“没有一个单一的实体可以控制所有的交易处理”。在网站Ethereum stack exchange上,对这个问题的最佳答案则给出了一个与上面非常相似的图,但却将“去中心化”和“分布式”的标签换了位置。显然,我们是时候澄清一下这个概念了。
  去中心化的三种类型
  当我们讨论软件去中心化时,实际上讨论的是三个互相独立的中心化/去中心化维度。虽然在某些情况下它们具有紧密的联系,但一般来说它们是完全独立的。这三个维度是:
  架构(去)中心化(Architectual (de)centralization)——一个系统由多少台计算机组成?系统可以容许多少台计算机同时发生故障?
  政治(去)中心化(Political (de)centralization)—— 有哪些个人或组织能够控制组成系统的计算机?
  逻辑(去)中心化(Logical (de)centralization)—— 由系统提供和维护的接口和数据结构是一个单一的整体,还是一个无固定形式的群?换句话说,如果将系统拆成两半(包括系统提供者和用户),那么这两个部分是否能够继续作为独立单元正常运行?
  我们可以将这三个维度放入一张图表中:
  请注意,这三个维度放置的位置很粗略并且存在着一定的争议。我们举一些例子来进一步阐述:
  传统企业是政治中心化的(CEO),架构中心化的(企业总部),和逻辑中心化的(不能将一家企业分成两半)。
  民法(Civil Law)依赖于一个中心化的立法机构,而普通法(Common Law)则建立在大量法官做出的判例的基础上。民法存在一些架构去中心化成分,因为许多法院都有自由裁量权。但普通法则有更多的自由裁量权。两者都是逻辑中心化的(参看电影《皇家律师》)。
  语言是逻辑去中心化的。张三和李四,王五和马六之间所说的汉语并不需要彼此一致。没有一种语言需要中心化基础设施,而且一门语言的语法规则不是由某个人创建或控制的(世界语可能是个例外,它最初是由路德维希·扎门霍夫发明的。但现在它更像是一种逐渐自我进化的语言,而没有机构去约束它)。
  BitTorrent类似于语言,也是逻辑去中心化的,但它由一家公司控制。
  区块链是政治去中心化的(没有控制者),架构去中心化的(没有基础设施的单点失效问题),但它是逻辑中心化的(存在一个普遍认同的状态,系统的表现类似于一台计算机)。
  很多时候,当谈到区块链的优点时,很多人会指出拥有一个“中央数据库”的便利和优势。这种中心化属于逻辑中心化,而且这种中心化在很多情况下表现良好。(虽然如此,IPFS的Juan Benet也在尽力推动逻辑去中心化。因为逻辑去中心化的系统往往能够度过网络分裂期,并且能够在世界上网络连接比较差的地区正常运转)
  架构中心化通常会导致zz中心化,尽管也并非一定会这样。在形式民主(formal democracy)中,政客们在实体政府机构中开会并进行选举,但机构的管理人员在政客们的决策过程中并没有很多的决策权力。在计算机化系统中,如果有一个在线社区为了方便而使用中心化论坛,那么则可能会导致架构中心化但政治却不中心化的结果。但很多论坛存在一个广泛接受的版规,如果论坛的所有者做出恶意行为,那么用户便会转向不同的论坛。
  逻辑中心化使架构去中心化变得更加困难——但也不是不可能的。比如,去中心化一致性网络已经被证明是可行的,但它的维护工作比BitTorrent更困难。逻辑中心化也使得政治去中心化更加困难。在逻辑中心化系统中,通过简单地同意“live and let live”来解决争端就更难了。
  去中心化的三个理由
  下一个问题是,为什么去中心化是很有用的?通常会有以下几个理由:
  容错性(Fault Tolerance)——去中心化系统意外崩溃的可能性很低,因为系统是由许多互相独立的部分构成的。
  抗攻击性(Attack Resistance)——攻击、摧毁或操纵去中心化系统的成本更高,因为它们缺乏可以用比周围系统经济规模低得多的成本进行攻击的敏感中心点。
  抗共谋性(Collusion Resistance)——在去中心化系统中,参与者很难以牺牲其他参与者为代价来为自己谋取利益,而传统公司和政府的肉食者们经常以有利于自身的方式勾结,而损害与他们协作不佳的公民,客户,员工和广大人民群众的利益。
  这三个理由都是重要且有效的,但是如果从协议的角度考虑这三个彼此独立的观点,你会发现这三个观点可以引出一些有趣的结论。我们来分别展开每一个观点。
  关于容错性。其核心观点很简单:十台计算机中的五台同时出现故障的概率要比一台计算机出现故障的概率更低。这个原理是没有争议的,在许多情况下被应用于现实生活中,比如飞机上的喷气发动机,电力系统中的备用发电机,特别是在医院,军事设施,金融投资组合多样化以及计算机网络等领域更为普遍。
  然而,这种去中心化虽然十分有效并且很重要,但却往往不像数学模型预测的那样万能,原因是共模故障(common mode failure)。虽然四台喷气发动机同时故障的概率比一台喷气发动机故障的概率要低,但如果这四台发动机都是在同一家工厂生产的,并且恰巧都是同一个手残工人负责的呢?
  区块链是否应该设法防止共模故障?答案是没有必要。考虑以下情况:
  区块链中的所有节点都运行相同的客户端软件,而此客户端存在bug。
  区块链中的所有节点都运行相同的客户端软件,而该软件的开发团队存在贪腐行为。
  进行协议升级的研究小组存在贪腐行为。
  在工作量证明区块链中,70%的矿工在同一个国家,并且该国政府决定出于国家安全目的控制所有矿场。
  大多数采矿硬件由同一家公司制造,该公司受到贿赂或被强制植入后门,允许该硬件随意关闭。
  在一个权益证明区块链中,70%的货币在一个交易所。
  对去中心化容错性的整体观点将会囊括所有这些情况,并考虑它们如何被最小化。我们可以很容易地得出一些结论:
  实现竞争多样化是至关重要的。
  对协议升级背后技术考虑的知识必须大众化,以便更多的人能够参与研究讨论并对明显不好的协议变化提出反对意见。
  核心开发人员和研究人员应该由多家公司或组织雇用(或者由志愿者担任这些工作)。
  挖矿算法的设计应该尽量降低中心化的风险。
  理想情况下,我们可以使用权益证明来完全摆脱硬件中心化风险。尽管我们也应该小心由于权益证明而出现的新风险。
  请注意,原始形式的容错性要求侧重于架构去中心化,但如果考虑主导该协议开发的社区的容错性,那么政治去中心化也同样很重要。
  接下来,我们来讨论抗攻击性。在一些纯粹的经济模型中,有时会得到去中心化并不重要的结论。假设你创建了一个协议:如果发生51%攻击,验证器将损失5000万美元。那么验证器是由1家还是100家公司控制并不重要——5000万美元的经济安全边际摆在那里。事实上,中心化甚至可能最大化经济安全。这一命题的背后有着深刻的博弈论理由。
  然而,如果我们采用更实际的经济模型,特别是承认可能受到胁迫或者针对节点的DoS攻击的模型,这时去中心化就显得更加重要。如果你已经威胁到一个人的生命,那么5000万美元对他来说都是身外之物。但是,如果这5000万美元分散在10个人当中,那么你必须同时威胁十倍的人。一般来说,现代世界在很多情况下以更偏向于攻击的攻击/防御不对称性为特征。耗资1000万美元建造的建筑可能花上不到10万美元就可以摧毁,但攻击者的杠杆常常是次线性的:如果耗资1000万美元建造的建筑需要10万美元来摧毁,那么耗资100万美元建造的建筑可能要花费30,000美元摧毁。更低的价格会带来更高的比率。
  以上推理导致什么结论?首先,这一推理强烈主张权益证明而不是工作量证明。因为计算机硬件容易被检测,限制或攻击,而货币更容易隐藏。权益证明也对其他原因的攻击具有强大的抵抗能力。其次,这一推理主张拥有分布广泛(包括地理分布)的开发团队。第三,这意味着经济模型和容错模型在设计共识协议时都需要考虑。
  最后,我们可以给出抗共谋性的定义,它可能是上面三个观点中最复杂的。“共谋”很难界定,也许唯一真正有效的定义是简单地说,共谋就是“我们不喜欢的协作”。在现实生活中也有很多情况可以反映这一点。如果每个人之间都能协作得很好,那当然是最理想的情况。然而事实是有些群体可以很好地协作,而其他群体不能做到这一点。这时,一旦涉及到利益问题,事情就变得有些危险了。
  一个简单的例子是反托拉斯法。这部法律通过设置一些障碍,旨在让市场一方的参与者难以进行狼狈为奸的垄断,并对市场另一方和社会福利造成损害的行为。另一个例子是美国政府阻止总统候选人和Super PAC(超级政治行动委员会)相互协作的规则(虽然实践证明这些规则很难实际执行)。此外,国际象棋锦标赛中也有一条规则,阻止两名棋手互相进行大量比赛来给其中一名棋手刷分。无论在哪个领域,对不良协作进行的限制都无处不在。
  在区块链协议中,共识安全背后的数学和经济原理通常严重依赖于非协作选择模型,或者依赖于交易由许多独立决策的小参与者组成的假定。如果一个成员在工作量证明系统中获得超过1/3的挖矿算力,他们便可以通过自私挖矿获得大量利润。然而,当90%的比特算力都协作得如此默契,以至于其掌控者可以坐在一起开会时,我们真的可以说这种非协作选择模型是现实的吗?
  区块链拥护者还指出,区块链的拓展更安全,因为它的规则无法被随意更改。但如果软件和协议的开发人员全部为一家公司工作,或坐在一个房间里,或压根就是一家人的话,这个条件将难以保证。总而言之,这个系统不应该像自利的垄断者那样行事。
  然而,这会导致一个明显的矛盾。包括以太坊在内的许多社区经常被赞誉为具有良好的社区精神,能够在一个星期之内快速协作,以实施,发布和激活硬分叉,从而修复协议中的拒绝服务问题。但是,我们如何能够促进和改善这种“良好协作”,但同时又要阻止通过反复进行51%攻击来损害他人的矿工引起的“不良协作”?
  有三种方法可以解决这个问题:
  不要试图减少不希望的协作。相反,尝试构建可以限制这种协作的协议。
  尝试找到一个合适的媒介,允许协议拥有足够的协作来发展和改进,但这些协作不足以实现攻击。
  尝试区分有益协作和有害协作,让前者更容易,后者更困难。
  第一种方法是卡斯帕设计理念的主要内容之一。然而,仅仅依靠这种方法本身是不够的,因为仅靠经济学无法解决去中心化的另外两类问题。第二种方法很难明确设计,尤其在长期情况下更加困难,但这种方法经常被不自觉地付诸实践。比如,比特币的核心开发者通常说英语,但很多矿工讲中文,这一事实就可以被看作是一个合适的媒介,因为它创造了一种“参众两院”式的治理,使协作变得更加困难。同时它还会带来减少共模故障的边际利益:由于英语社群和华人社群由于距离上和交流上的原因有所区隔,因此他们不太可能犯同样的错误。
  第三种方法则更多地是一种社会挑战。这方面的解决方案可能包括:
  进行社会干预,以提高参与者对整个区块链社区的忠诚度,并取代或阻止市场一方的参与者之间相互直接协作的可能性。
  促进市场双方之间的沟通,以防止验证者,开发者或矿工将自身视为只有通过协作才能维护自身利益的群体。
  恰当地设计协议以减少验证者或矿工参与一对一的“特殊关系”的激励,比如中心化中继网络(Centralized Relay Networks)或其他类似的超级协议机制。
  明确规范协议应具备的基本属性和禁止从事的行为,被禁止的行为至少应该规定为只有非常极端的情况下才能进行。
  防止不期望协作的去中心化可能是最难实现的,并且实现过程中的折衷也是不可避免的。也许最好的解决方案就是,充分依赖足够去中心化的群体——那就是协议的用户。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则