这个男人。10星评价
2020-10-13 14:34:55
去中心化是区块链的一个属性,但也是被普遍误解的一个属性。去中心化到底为什么重要?我们应该怎么理解去中心化?
去中心化并不是什么新词,它其实就是亚当•斯密的那只看不见的手:市场的自由竞争。算力集中本身就是市场的结果,任何一个开放系统在自由竞争下,都会形成专业化分工,这就好比生物有机体的组织分化。专业化的矿工,专业化的支付钱包,专业化的区块链数据服务商……这正是区块链去中心化的结果。
那么,去中心化具体而言有什么含义呢?
以太坊创始人Vitalik Buterin于2017年2月发表的《The meaning of decentralization》一文中,详细阐述了去中心化的含义。他认为应该从三个角度来区分计算机软件的中心化和去中心化:架构、治理和逻辑。
架构中心化是指系统能容忍多少节点的崩溃而可以继续运行;治理中心化是指需要多少的个人和组织能最终控制这个系统;逻辑中心化是指系统呈现的接口和数据是否像是一个单一的整体。
区块链是全网统一的账本,因此从逻辑上看是中心化的,这一点无可置疑。从架构上看,区块链是基于对等网络的,因此是架构去中心化的。从治理上看,区块链通过共识算法使得少数人很难控制整个系统,因此是治理去中心化的。架构和治理上的去中心化为区块链带来三个好处:容错性、抗攻击力和防合谋。
区块链与传统分布式系统的5点区别
作为一种全新种类的分布式系统,区块链往往被错误地当作是一个分布式的数据库或日志系统,实际上区块链与传统的分布式系统之间有着本质的区别——去中心化。现在我们来审视一下区块链与传统分布式系统的主要区别:
(1)一致性算法:区块链需要解决的是拜占庭将军问题,即网络中存在一个或多个欺诈节点,可能会故意违反协议或传输错误的数据,因此区块链往往采用拜占庭容错的一致性算法(通常称为共识算法),如BFT、PoW、PoS等;而传统分布式系统只需考虑节点失效和通讯错误的情况,往往采用paxos、raft之类的一致性算法,这类算法不能对抗欺诈节点。
(2)中央控制方:在区块链网络中是不存在中央控制方的,没有一个节点可以控制或协调账本数据的生成,各节点通过共识算法进行协调,生成一致的账本。而传统发布式系统则往往是由一个机构进行控制,统一调度各节点参与运算。
(3)规则制定:区块链的规则就是共识协议,又称共识机制,共识算法是其中的一部分。共识机制一般是由一个人或一个团队设计制定,并开发出相应的程序,提供给社区使用。这一点似乎与传统的分布式系统一样,但区块链的共识机制的改变、升级是需要社区对此有一致的共识,如果不能达成共识,则任何人都可以实施硬分叉,另建一个社区、一条链。这就是共识机制的去中心化过程。
(4)计算模式:由于区块链节点之间不具有相互信任,因此区块链的业务计算是通过智能合约完成的,智能合约代码在网络上的所有(或部分)节点上同时运行,其执行结果通过共识算法在全网进行验证,通过这种计算上的冗余来保证计算结果的一致性。而传统分布式系统则无需考虑这些问题,同样的运算只需在一个或少数几个节点上进行,结果也无需其他节点验证,可以获得很高的效率。
(5)性能:区块链是以相对的低效率来换取公正,目前主流的公有链每秒只能处理几笔到几十笔交易,更高效的区块链软件正在研发之中;而分布式系统的性能理论上可以无限提升,目前已达到每秒数十万笔交易。
去中心化的显著优势
1)系统安全性
在传统中心化网络系统中,黑客对一个中心节点进行攻击便可摧毁整个网络。而在去中心化的区块链网络中,无中心节点可攻击。
2)交易安全性
去中心化的交易方法便捷而简单,无第三方介入,不需要担心信息的泄露。
3)节约性
由于去中心化处理方式较传统处理方式更为简单与便捷,因此在大数据量交易同时进行时,去中心化的方式会节约资源。
4)自主高效性
去中心化的区块链技术,无需第三方介入,点对点直接交互,使得高效率、无中心化代理、大规模的信息交互方式成为现实。
长线持有20135星评价
2020-09-27 15:00:15
过去几年里,人们对区块链的最大误解可能就是对“去中心化”这个词的理解,按字面含义,去中心化就是节点的分散,数据的分散,矿工的分散,开发者的分散……甚至有人认为,矿工的分散(人人都能用个人电脑挖矿)是中本聪的初心,中本聪支持“一CPU一票”,即每个用户通过个人电脑、手机就能挖矿。还有人试图通过算法的改进,阻抗ASIC芯片的研发,避免算力的中心化,当然,这些努力都是掩耳盗铃,算法只能延缓专业化挖矿芯片的诞生,而不是阻止。
需要指出的是,“人人都能用个人电脑挖矿”恰好是中本聪所反对的“一IP一票制”,这是因为每位矿工的电脑都贡献为一个全节点,相当于网络节点的所有IP都拥有相等的权力。那么,那些拥有分配大量IP地址权力的人,比如僵尸网络就可能主宰比特币网络。僵尸网络中最多可包含数十万台机器,如暴风木马拥有25万个节点,远远大于比特币全网节点数(6000~8000个),暴风木马控制的僵尸网络可以轻而易举地发起51%攻击。中本聪所言“一CPU一票”实际是说一个计算单位代表着一个权力单位,拥有的计算力更高,即意味着更高的权力,这是工作量证明“计算即权力”思想的形象化表达。
每个人都能通过自己的个人电脑、手机挖矿,这看起来是更公平、更去中心化的理想社会,可为什么区块链的安全性反而降低了呢?原因很简单,去中心化并不是一个描述状态的词,而是一个描述过程的词,状态的去中心化并不意味着过程的去中心化,僵尸网络的节点在状态上是分散的,但在行为模式上具有高度一致性。去中心化的本意是指,每个人参与共识的自由度。他有参与的权力,他也有退出的权力。在代码开源、信息对称的前提下,参与和决策的自由度,即意味着公平。
我们可以从资产配置的角度来理解去中心化,资产配置也同样有着分散风险、分散资产的需求。早在数百年前,莎士比亚《威尼斯商人》中的安东尼奥说道:“我的买卖的成败,并不完全寄托在一艘船上,更不是依赖着一处地方;我的全部财产,也不会因为一年的盈亏而受到影响。”也就是人们常说的“不把鸡蛋放在同一个篮子”策略。
但是,如果篮子里的资产具有相关性,那么,不管资产配置是多么分散,它都不能起到分散风险的作用。如果一个市场整体处于下跌通道,且市场中的绝大多数资产具有相关性,你的资产配置越分散,即意味着越稳定的资产损失。这个时候,反而不如赌徒式的孤注一掷,把所有资金配置在一个与多数资产不具相关性或具反相关性的资产之上。
如果这些资产的相关性是个未知数,那么按最大熵原理 (注1),应该假设这些资产拥有最大随机性。对于区块链来说,就应该假设这些节点都有绝对的自由决策权,而不应赋予开发者或一部分人更高的权力,授信或委托他们来记账。正如普林斯顿比特币公开课所指出的:“比特币的共识算法十分依赖随机化。它摒弃了发生共识的特定的开始时间和结束时间,取而代之的是随着时间的推进,你认为的某些区块将被共识的几率会越来越高,观点分歧的几率则会以指数级下降。这些模型中的区别正是比特币能够绕过传统的对于分布式共识算法的不可能结果的关键所在。”
人人都能用个人电脑挖矿貌似更分散,但事实上,如果这些个人电脑感染了僵尸病毒,那么它们行为表现的相关性将为1。这些节点数量不管多么庞大,它们都将被视为同一个节点。又如Bitfinex交易所虽然使用了多重签名,但由于Bitgo所保管的那把私钥,对所有来自Bitfinex服务器的请求都自动签名,两把私钥实际上仅相当于一把私钥。不管是使用多少把私钥的多重签名,不管这些私钥的保管是多么分散,只要这些私钥的行为模式具有一致性,那么这个多重签名方案就是不安全的。
相反,在挖矿激励机制下,虽然造成了表面上的算力中心化局面(实质上也是分散的,只不过少数人拥有的算力远远大于其他人),但并没有人可以阻止你去参与挖矿,研发矿机,这完全是个自由竞争的去中心化过程。这就好比选举投票,人人拥有选票的民主制度虽然也会选出小布什,表面上看是家族“世袭”,但选举过程是去中心化的,那么这些选举就是合法的。
可见,去中心化并不是什么新词,它其实就是亚当•斯密的那只看不见的手:市场的自由竞争。在竞争机制下,算力的集中并不是什么可怕的问题,一方面,由于高昂的计算力成本,矿池、矿工发起51%攻击不符合理性经济人的前提;另一方面,即使存在不可理喻的疯子,比如拥有大量算力份额的矿池,他们的攻击也不可持续,因为矿池的算力并不真正属于他们自己,且随时面临新加入的算力、新玩家的挑战。算力集中本身就是市场的结果,任何一个开放系统在自由竞争下,都会形成专业化分工,这就好比生物有机体的组织分化。专业化的矿工,专业化的支付钱包,专业化的区块链数据服务商……这正是区块链去中心化的结果,而不是我们处心积虑要避免的后果。