2019独角兽企业重金招聘Python工程师标准>>>

“去中心化”被视为区块链存在的核心意义,但它也许是定义最不明确的一个词。

我们花费了数千小时的时间,耗费了上亿美元的哈希算力,就是为了实现网络的去中心化。当我们讨论某个区块链网络好不好时,只需简单说一句“这个不是去中心化的”,似乎就能轻松赢得争论。

但是实际上,很多人对“去中心化”这个词的真正意义并没有那么了解。

经常有人拿下面这组图来解释去中心化,但我想说,这张图完全没用。

在软件世界里,可以用三个维度来判断“中心化”和“去中心化”。

1

去中心化的三个维度

**架构层:**一个系统由多少台计算机组成?在系统运行时,能够承受多少台计算机同时崩溃,而系统不受影响?

**政治层:**在这个系统中,有多少个人或组织拥有计算机的最终控制权?

**逻辑层:**这个系统的界面和数据结构所呈现出来的,更像一台完整的单一设备,还是更像一个由无数不固定的单位组成的集群?简单来说:如果把一个系统分成两部分,每部分都包含供应商和用户,那么这两部分能单独作为独立系统运行下去吗?

把这三个维度画在一张表里,可能会更清楚:

需要说明的是,这些维度现在的排放位置可能还比较粗糙,也存在很多争议,但我们仍然可以看一些例子,来帮助我们更好的理解这三个维度。

公司:传统公司在政治层、架构层、逻辑层上都是中心化的(只有一个CEO、一个总部、并且不能把它分成两半)。

法律:现代法律体系分为大陆法和普通法,大陆法依赖于一个中心化的立法机构制定,而普通法是由许多法官依靠先例来制定的。由于现在很多法院享有自由立法权,因此大陆法有一小部分是去中心化的,对比大陆法,普通法的去中心化程度更高。但在逻辑上,两者都是中心化的(法律就是法律)。

语言:语言在逻辑上是去中心化的,Alice和Bob所讲的英语,不需要和Amy与Tony讲的英语一致。没有任何一种语言的存在需要中心化的基础设施或机构做支撑,同时英语的语法规则也不是由某个人创造和掌控的。

BitTorrent网络:和英语一样,BitTorrent在逻辑上也是去中心化的,内容分发网络也是这样,但它们都受某家公司的控制。

区块链:区块链在三个维度上都是去中心化的,因为在政治层,没有任何单一个体来掌控它;在架构上,没有一个统一的服务器;在逻辑上,每个网络中都有一个统一的共识协议,系统的整体行为表现又像一台单独的计算机。

看过英文版区块链介绍资料的老铁可能会说,在英语中,每当说到区块链的优势时,很多人都会说它是“one centra database(一个中央数据库)”,区块链不是去中心化的吗?为什么又说它是中央的数据库呢?

其实不然,“中央数据库”的“中心化”是逻辑上的中心化。在多数情况下,逻辑上的中心化其实是比较好的选择。当然也有人主张,逻辑上也要尽可能地去中心化,因为逻辑层去中心化的系统,在网络连接较差的地区,能运行的更好。

2

为什么需要去中心化

接下来的问题是,我们为什么需要去中心化?它有什么作用呢?主要有三个方面的原因

  • 容错性较强:去中心化的系统不太可能因为某个意外故障而停止运行,因为它们依赖于许多分散化的组件运行,容错能力更强。

  • 抗攻击性较好:从经济意义上来说,攻击去中心化系统的成本比中心化系统的成本要高得多,这就好比你摧毁一座房子和摧毁一座城市的差别。

  • 抗合谋性较好:去中心化系统里的参与者们,为了自身利益而相互串通勾结,是非常困难的。而传统企业和政府里的高层管理者,往往会为了自身利益,以损害公众、员工、下属的利益的方式,相互勾结。

这三点是“去中心化”系统非常重要的优势和特性,让我们来逐一详细的了解一下。

容错性

容错性的核心概念其实很简单。一台计算机出现故障的概率和十台中的五台出现故障的概率相比,哪个更大?显然是前者。就好比10个鸡蛋集中装在一个篮子里的风险比分开装在10个篮子里,摔碎的风险更大。所以去中心化也是分散风险的一种方式。这种概念在现实生活中得到广泛应用,如喷气发动机、备用发电机,以及医院、军事的基础设施、金融组合投资、计算机网络等。

去中心化的容错能力虽然很有效、很重要,但远没有数学模型来得有用,原因在于有“共模故障”。四个发动机同时出故障的概率确实比一台发动机出故障的概率低,但如果这四台发动机都是同一个工厂制作的,并且在制作时存在同一个缺陷,又会怎样呢?这就是共模故障。

**区块链能够防止共模故障吗?**不一定,我们可以看几个例子

  • 区块链上所有的节点都在同一个客户端软件中运行,每个软件都不是100%完美的,都可能存在bug。

  • 供区块链节点运行的客户端软件,是人为开发的,开发团队中可能存在相互勾结串联,行贪腐之事。

  • 在以“工作量证明”为共识机制的区块链中,70%的矿工是在同一个城市,可能存在政府为了国家安全而对矿场进行管制的风险。

  • 大多数挖矿设备都是由同一家公司生产的,这家公司可能会为了自身利益,被贿赂或被威胁,在挖矿设备上做个手脚,使得这些挖矿设备可以随意被关停。

  • 在以“权益证明”为共识机制的区块链中,可能70%的币由同一家交易所持有。

很显然,将上面这些问题最小化,才能保证去中心化系统的容错性。

**但怎么才能将这些问题最小化呢?**下面有一些建议

  • 尽可能地保持多方竞争关系,协议升级必须是民主化的,这样才能让更多的人参与研究、讨论和改进协议。

  • 核心开发者和研究人员应该由多个公司和组织的雇员组成(或者,他们中的一些人可以是志愿者)。

  • 挖矿算法应该以将中心化风险降到最低程度的思路来设计。

  • 理想情况下,“权益证明”机制可以摆脱硬件设备中心化的风险。(当然,权益证明也会带来新的风险)

  • 值得注意的是,初级容错能力关注的往往是架构层面的去中心化,但当考虑一个系统长远发展时的容错能力,政治层面的去中心化更为重要。

抗攻击性

在某些纯经济模型中,你会发现去中心化根本不重要。如果你创建一个协议,协议规定“一旦发生51%攻击,验证者就会损失5000万美元”,那么验证者是被一家公司控制还是一百家公司控制,就无关紧要了。5000万美元是保证这个协议安全的边际成本。

但如果在一个“富经济模型”中,尤其是这个模型存在威胁的可能性(或者说针对节点的目标DOS攻击),去中心化就变得非常重要。如果你用一个人的生命安全来威胁他,5000万美元对这个人来说就不再重要了,你可以很容易的勒索走5000万美元。但如果是10个人分散持有5000万美元的话,你要想获得这笔钱,就必须分别同时威胁勒索这10个人,风险也就翻了10倍。

但在现实世界中,有一个特点,就是大部分情况下,攻击和防御并不对等,攻击者往往更有力。比如一栋造价1000万美元的大楼,可能只需要10万美元就能把它摧毁(费率是1%),摧毁100万美元的大楼则需要3万美元(费率是3%),再往下,造价越低的大楼,摧毁的费率会越高。

这说明什么?

首先,权益证明比工作量证明更优越,因为在PoW机制下,挖矿的硬件很容易被监测、掌控和攻击。其次,区块链开发团队分布的越广泛(包括地理位置的分布),系统就越安全。最后,在设计共识协议时,经济模型和容错模型都需要考虑进去。

抗合谋性

最后,我们终于可以讨论三个当中最复杂,听起来也最别扭的的一个了:抗合谋性。合谋这个词本身就很难定义,简单点解释,合谋就是大部分诚实的人“不喜欢的合作方式”。在很多情况下,当一部分人能够完美的协调合作,而另一部分人不能时,情况就变得危险了。

比如,反垄断法就是一个例子,为了防止市场参与者联合起来,实施垄断,损害消费者和社会福利,反垄断法就故意设置障碍以阻止他们。

在区块链中,共识安全背后的数学和经济模型也依赖这种“非协调选择模型”,换句话说,就是避免节点之间相互协调合作,也可以说它是建立在每个节点都能独立做决定的假设之上的。

区块链的拥护者们都认为区块链很安全,因为没有人能够随心所欲地改变协议规则,但如果区块链软件和协议的开发团队都来自同一个公司,在同一个办公大楼上班,那么区块链就没那么安全了。因此,如果一个区块链网络更分散,为之工作的人很难相互串通勾结,那它就更安全。

但这也揭示了一个根本性矛盾,很多社区,包括以太坊,都希望有一个强有力的社区精神,并能够快速协调工作。所以我们要怎样才能在拥有良好的协调关系下,又能够防止开发者们相互合谋,实施欺诈呢?

要解决这个问题,有三种途径

  • 别阻止协调合作,试着用协议规则来阻止勾结合谋。这也是以太坊Casper 机制设计的指导思想。但只有这一点是不够的,因为经济学并不能完全解决去中心化的其它两类问题。

  • 试着找到一个平衡点,使得合作能够有利于协议的发展,而同时又不会演变成合谋关系。这种方法很难明确设计,但它经常会有一些“小意外”产生。举个例子,比特币社区的核心开发者通常说英语,而矿工通常说中文,这可以说是一个“惊喜的意外”了,因为它无意中创造了“两院制”的治理机制。因为中文社区和英文社区沟通困难,减少了他们相互勾结的可能性,也减少了共模故障的风险。

  • 建立一个区分“有益的合作”和“有害的合作”的标准,然后想办法让前者变得更容易,后者更难实现。

这种方法包含一个社会学挑战,它需要做到以下几点:

制定一个干预措施,提高参与者对整个区块链社区忠诚度,减少参与者彼此间的忠诚度;

促进不同市场的参与者在同样的语境下进行沟通,这样就能减少同一阶层的参与者联合起来对抗其它阶层的可能性;

在设计协议时,减少验证者和矿工形成“一对一关系”的可能性,或者避免形成中心化的中继网络和其它类似的超级协议机制;

协议应该明确规定哪些事情不能做,哪些事情只有在非常极端的情况下才能做。

抗合谋的去中心化可能是最难实现的,因此我们要做一些权衡取舍,或许最好的方法是依赖一个能够保证去中心化的群体(即协议上的用户)。

本文来源:万向区块链

本文翻译自Vitalik Buterin的博文《The Meaning of Decentralization》

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

HiBlock区块链社区更多活动点击**“阅读原文”**查看

转载于:https://my.oschina.net/u/3782027/blog/1815664

V神:你所理解的“去中心化”不一定准确相关推荐

  1. J9数字论:区块链+DAO3:去中心化的互联网世界

    Web3的去中心化,实质上在追寻一种极度的平等,这也是越来越多人被其吸引参与的根源之一. 然而技术的平等,或许并不是真正的平等,有时候甚至会造成更大的不平等.每个人的素质是完全不一样的.毫无疑问,某些 ...

  2. V神去中心化终极愿景,未来没有公司只有DAO?

    你有没有想过20年后,公司的概念可能不再存在于这个世界上! 你有没有想过,你所做的任何工作都可以成为公司发展的力量,随着公司的发展,你将受益终生! 你有没有想过,即使是集中的企业也可以使用非集中的管理 ...

  3. 以太坊V神大著:去中心化社会:寻找Web3的灵魂

    通过Web 3的区块来标注各自的社会身份及生态系统可摆脱现有体制的束缚去呈现一个"去中心化"的社会. Web 3这个概念在不到10年的时间内就打造了一个震惊了世界,前所未有的极具灵 ...

  4. V神论DAO:DAO不是公司 其去中心化很重要

    本文为Vitalik于9月20日在其博客发表的关于DAO的文章 最近,关于高度去中心化的DAO行不通的观点有很多讨论,为了保持竞争力,DAO治理最开始应该更接近于传统公司的治理.论点总是相似的:高度去 ...

  5. V神:去中心化社会:寻找Web3的灵魂

    先驱君过去两年中一直在讲<生命以负熵为生:信息文明时代财富创造的生态学原理>,令人惊喜的是最近Web3或Crypto生态系统知识及研究基础,似乎刚实现了新的非常有意义的飞跃. 这是因为本周 ...

  6. 理解去中心化稳定币DAI

    本文首发于深入浅出区块链社区 原文链接:理解去中心化稳定币DAI原文已更新,请读者前往原文阅读 随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器. 坦白来讲,对于一 ...

  7. 区块链去中心化通俗的理解是什么?

    区块链中去中心化是什么?如今很多的区块链学习者接触到区块链发现去中心化概念比较广泛难以理解.近日在区块链行业内中比特币开发者Jimmy Song分享了他对去中心化的看法和观点.这位开发者列举了四个问题 ...

  8. 去中心化的区块链如何理解?

    这里要讲重点了,即区块链的去中心化到底什么样?它又是如何保证交易的可信性和准确性的呢? 去中心化最初的来源,是一个自然科学中的生态学原理.在一个分布有众多节点的系统中,每个节点各司其职互不干扰,具有高 ...

  9. 去中心化结构的相关理解

    去中心化结构 前言 一.C/S架构 二.去中心化架构 总结 前言 去中心化结构可以与C/S(Client/Server)架构,客户机与服务器这种衣服武器为中心的架构进行对比学习. 一.C/S架构 C/ ...

最新文章

  1. pt,px,rem和em之间区别总结
  2. ipynb和py文件一样吗_文件描述符了解一下
  3. linux 优先级必须为整数,进程友好性(优先级)设置对Linux没有影响
  4. python access 源码_连接的微软Access数据库,这是一个轻量级的Python模块(MDB格式)...
  5. 清北学堂----北京集训
  6. 数据库系统工程师5天修炼_程序员逆袭之路,5年IT人生从电脑装机到技术大神,人生不认输...
  7. API 日调用量超 100 亿次!腾讯云首次披露云原生产品数据
  8. cmd命令打开文本文档_Windows常用CMD网络命令
  9. Unity 不使用BMFont创建Font字体
  10. 上海计算机一级excel试题及答案,2016年计算机一级excel试题及答案
  11. cadvisor详解
  12. Coap协议学习(二)
  13. 电子协会 C语言 1级 34 、分段函数
  14. 虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。模块“Upgrade”启动失败。未能启动虚拟机。
  15. linux中分号转义字符,Linux职场技术篇-Linux shell中元字符、转义符、通配符的使用方法...
  16. 修复关于DxO Nik Collection 2.0.8在Photoshop 2020不能显示中文问题
  17. OpenCASCADE:OCCT CSharp 示例
  18. 用API网关把API管起来
  19. linux 数据库 函数是什么,MySQL数据库函数(一)
  20. php 调用微信支付的时间戳,前端调用微信支付接口

热门文章

  1. 神州数码 每日总结DCWS
  2. Android移动应用基础教程【数据存储】
  3. python图层_Python叠加矩形框图层2种方法及效果
  4. matlab读取trmm,基于Matlab的TRMM3B43数据处理的思维过程与技术流程
  5. 小甲鱼python课后题简书_MOOC_Python语言程序设计(嵩天)课后练习_第二周
  6. mysql数据库 性别 优化_BATJ解决千万级别数据之MySQL 的 SQL 优化大总结
  7. hive 如何将数组转成字符串_Hive 字符串操作[转]
  8. python1e2_Python必修基础(1)
  9. DPad down是哪个键_投影仪前3甲PK:双十一坚果J7S和当贝D3X投影仪选择哪个
  10. 服务器共享文件监控,服务器共享文件监控