摘要:有些人因为其底层技术而对区块链感兴趣, 另外一些人对它的商业可能性着迷, 还有一些人关心它的社会和政治影响。 理性的人可能不同意后面两类人的观点。 区块链在技术上是有深度的、 创新的、 有趣的, 而且是建立在坚实理论上的。 我们才刚刚开始开拓比特币之外令人炫目的各种区块链项目, 其中的某些公链也许有一天甚至超越比特币。区块链行业近期的主要发展趋势将会是底层链技术的创新。我们一直在关注技术上如何实现去中心化。 现在, 我们要深入研究去中心化的动机。 这些问题跟技术无关, 却同样难以回答:去中心化一定是有益的吗? 经济上合适吗? 去中心化的社会影响是什么?本文将简要探讨去中心化的尺度问题,即在现实世界里,什么时候真正需要去中心化。
【去中心化的意义】
“去中心化”是加密经济学领域最高频词汇之一,通常被认为是区块链的整体存在理由,但它也是被定义得最不佳的词之一。花费数千小时的研究,价值数十亿美元的哈希算力,唯一目的在于试图达成去中心化,并加以保护和改善,当讨论变得富有敌对性,对于一个协议或协议延伸的去中心化性质下结论时,去中心化仁波切一个极为常见的宣称是,此协议的相反提案是“中心化”的,代表着低级和不可描述的落后,以此作为最终压倒性论点。
但是,对于这个词的真正含义,人们常常会感到困惑。比如下面这张大家讨论区块链去中心化时常见但是又完全没有帮助的图:
现实生活里,任何形式的系统实际上最终表现的都是2或者3,而不存在一个完全处理一切,垄断一切的有如图一的中心节点——因为这在性能上是不可实现的。
以太坊创始人Vtalik认为当人们在讨论软件的去中心化时,他们实际上在讨论的,是三个独立的中心化/去中心化的轴。在某些情况下很难看的清如何在没有另一个的情况下,能判定现在的这个是中心化还是去中心化的。一般来说,中心化和去中心化是互相独立的,这三个轴如下:
a.架构上的(去)中心化—这个系统是由多少个计算机组成的?这个系统可以容忍多少台计算机在任意一个时间崩溃后还能继续运行?
b.政治上的(去)中心化—有多少的个人和组织能最终控制组成这个系统的电脑?
c.逻辑上的(去)中心化—系统呈现和维护的接口和数据库结构像是一个单一的整体呢?还是非结构群体?
一个简单的启发是:如果你把这个系统的使用方和提供方一分为二,他们还能作为完全独立的单元进行运行吗?
显然在任何一个维度上,我们都无法定义究竟节点(决策者)小于多少就是“中心化”的,或者节点(决策者)大于多少,系统就是完善“去中心化”的。
遵从维基的钦定,中心化和去中心化的唯一界定就是有没有中心机构(central authority),不少人讨论去中心化时其实是在论证集中式和分布式的区别(主要在于有没有单点失效)。中心化和去中心化没有明显的界限,例如微信,从服务器的角度看来是去中心化的分布式系统(消息传递的过程中没有中心机构,也没有单点失效),但是从用户的角度看来就是中心化的集中式系统(腾讯就是中心机构)。电子邮件和 XMPP 的 federated server 模式一般来说属于去中心化的集中式系统,因为对一个用户来说,为他提供服务的实体存在单点失效的问题,但是从整个网络来看,每个服务器都管不着其他服务器,用户也可以随时切换服务提供者。
即使是完全分布式系统也分为几种,有的系统是结构化系统,每个节点承担专门的角色,重新分配可能需要特殊的选举过程,例如所有的 DDBMS 都依赖于 Paxos 之类的结构化算法, Gnutella 一类的网络属于半结构化网络(比特币在这里是个特例,网络本身是无结构的,但是又极度依赖于矿工这个角色),节点之间存在角色差异,但是每个节点可以决定自己的角色。比特信(Bitmessage)网络则是无结构网络,每个节点能做的事情完全相同,就是(当然不一定只是)转发消息。
互联网本身其实就是一个实际的去中心化系统。 但在早期, 互联网是在与美国在线(AOL) 以及CompuServe等围墙花园式信息服务体系的竞争中, 逐步变得越来越风行。 电子邮件的简单邮件传输协议(Simple Mail Transfer Protocol, 简称SMTP)的去中心化系统,就是一个去中心化的协议,任何人都可以在认可这个协议的基础上建立自己的邮箱。 尽管电子邮件也受到像脸书(Facebook) 、 领英(LinkedIn) 这些中心化私有信息系统邮箱服务体系的挑战, 但电子邮件仍然是人与人之间进行通信的一种被默认的选择。 其实, 我们已经不能简单将像即时短信或者短信等通信手段归类为是中心化, 或者是去中心化模式, 这些通信方式往往是一种混合模式。 在社交网络中, 尽管有很多爱好者、 技术开发人员, 甚至还有企业者也在尝试用去中心化的方式来替代像脸书、 领英这样的中心化系统, 但目前这些中心化系统仍具统治地位。 事实上, 中心化与去中心化的竞争在数字时代之前就已经存在, 在电话、 无线电、 电视及电影的发展史上, 我们都曾看到过这两种模式的竞争。
【区块链一定要去中心化吗】
民主不意味着无政府,去中心化也不意味着不要中心,而是多个中心,一个中心下又有多个小中心。诚然,企业规模化和品牌化不可逆,互联网领域寡头化也非常明显,但这些中心化的平台也越来越注重完善自己的商业生态圈,从另一个角度分析,这些寡头企业发展大方向更趋于“生态网络”而不仅适用“一个中心”来定义,这些更大的生态网络因为用户需求的扩大必然更需要与其他网络相连接,那么这个过程体现的恰恰是去中心化。
智能合约的设计是尝试用区块链来构建一个可以计算一切的分布式图灵完备机器,一个去中心化的应用平台,一个解决金融/财务纷争的预言机。早期的ETH在架构上为充分意识到scalability的重要性,全网资源共享,难以隔离。块链技术更加广泛的应用,线性处理压力正在面临超出其设计容量的风险。区块链产品的后端代码运行在去中心化的点对点网络。而传统app的后端代码运行在中心化的服务器上。Dapp有能够用任何编程语言写的前端代码,使得API调用后端。更进一步,它的前端能够运行在例如IPFS这样的去中心化存储上。然而,不得不承认的是,整个区块链行业还处于一个在初期完善基础架构的阶段,现阶段阻碍区块链大规模应用的最大障碍存在于技术上。Ethereum的机制以及运行效率,目前还很难支持一个庞大的去中心化商业应用生态。
互联网打破了时间和空间、民族和国度的限制,让世界一端的个体可以联系到另一端的个体,而且连接有了无限的可能。互联网让信息变得更加对称,让资源整合变得更加高效,马太效应下的互联网企业往往体量提升迅速,平台级的中心也逐渐向生态级的中心演进。
在社会当中,民主制度也需要中心权力相互平衡,这个社会才不会出现民主泛滥或者专治集权;企业管理中,去中心化让团队更加扁平高效,同时也需要一个中心让大家力量集结而不溃散;互联网内容生产中,流量大的未必是好的,有价值的东西未必获得巨大的流量,去中心化让每个人都能创造内容但创造的未必都是优质内容,中心化做法便利于将优质内容提出给予流量支持;互联网产品中,去中心化思维的产品让用户自主性更强大,同时也需要中心化措施保证产品符合公司的价值,如此种种,皆体现中心化与去中心化相辅相成,缺一不可。
区块链仁波切也指出,因为他们不能够跟着自己的想法随意改变他们的规则,所以理论上区块链更加的安全。但是如果说软件和协议的开发者们都为同一家公司工作,或者说是一伙人坐在同一个屋子里,那么上面这个安全也就不一定能保证了。总的来说,这些系统在任何情况下都不应该是被一方单独垄断的。因此,如果区块链项目的参与各方都不是利益共同的关联关系的话,你才可以确定,区块链能给你带来更多的安全感。
【效率与公平】
区块链是一个能够保证输出可信的系统。去中心化系统容量天生不如中心化系统,所以,需要高容量的应用,可以根据需求选取中心化程度较高去中心化程度较低的区块链系统,基本上,所有的所谓大容量高并行低延迟的区块链系统,其实都有某种程度上的中心化,中心化程度越高越快。同互联网一样,区块链提供的也不是完全的去中心化,而是,你可以用它在任何层面,进行任何程度的去中心化。所以,你对容量需求高,就需要少去中心化一点好了,至少在可靠性上,它可能会比完全中心化的系统强。
公链是区块链发展的前提基础,也是区块链行业未来发展的核心保障。而目前区块链的发展现状是,底层公链的性能尚未发展起来,在其上构建的各类DAPP严重受限于性能。因此,我们预计2018年区块链行业的发展,仍以底层公链为重心,各公链在性能、可扩展性和应用性上将继续角力的局面。底层公链是一切的基础,使用网络编程、链式或TAG数据结构、加密算法、数据存储等技术来构建区块网络,通过共识机制和分配机制,实现节点网络的正常运行。从过去到现在来看底层公链的发展,可以将之分为三个阶段:
a. 以比特币BTC为代表的区块链1.0时代,通过建立区块网络,开发钱包,实现基础数字货币的功能(转账、支付)。
b. 以以太坊ETH为代表的区块链2.0时代,通过智能合约的方式,承载部分商用(如ICO)开发和业务拓展。
c. 以EOS为代表的区块链准3.0时代,通过高并发量、高性能、可拓展性,为区块链技术的商用及大规模推广构建了基础。
现在看来,区块链底层平台在效率与公平上还无法找到一个恰如其分的平衡点:
1. 处理效率低
2. 难以进行资源隔离
3. 主流共识机制在效率,公平,安全方面难以兼得
4. Dapp运行速度问题
在这样的情况下,我们判断,虽然以太坊极其成功地普及了链上智能合约的技术并建立了包含各类区块链应用和 ERC-20 代币的庞大生态,但它远未发展为能够满足现实商业需求的应用平台。限制它商业发展的阻碍存在于其技术机制。
那么如何找到一个效率与公平的拉格朗日点呢?有一种比较好的解决办法就是把Token链和DApp链分开。
在EKT中Token链是一个并行多链的结构,多链多共识,共享用户基础。作为一个DAPP开发者最关心的肯定是三件事:1 开发难度 2 用户体验 3 社区生态。那么Token链的设计就是针对不想自己重新开发一条公链,但想要发行token和链的开发人员。EKT主要面向的对象是开发者,所以在设计token链的时候最大的想法是设计一个可以吸引大家都来发币的平台(之所以大家过来发币是因为TPS高,手续费低,可以选择发链用自己的Token做交易费,还可以和其他的链共享用户),这样可以让在EKT上开发DAPP的开发者可以获得更多的用户资源。
EKT的中心思想是设计一个社区的机制,让开发者可以轻易的开发一个DAPP,其他的交给EKT来处理。 时至今日,底层公链依然处在非常薄弱的境地,尚且无法实现真正的安全、可靠和高效。到目前为止,对于目前整个数字货币领域而言,基本是遵循“底层公链 → 解决方案 → 项目应用”的发展逻辑。底层公链相当于区块链世界的基础设施,解决方案用来拓展底层公链的性能或为商业应用提供服务支撑。只有在底层公链扎实稳健高效运转的基础上,区块链商业应用才能发展和落地。公链在整个区块链领域的重要性和必要性,由此可见一斑。
虽然大多数公链项目都会提出高TPS,高可用性,高扩展性,跨链等标配指标,但在区块链底层框架世界,解决性能、去中心化程度、和安全度这个三角问题,还是一个需要跨越的巨大障碍。
参考阅读:
20160125 中心化与去中心化,我们谈论的是什么?
20180104 我眼中的价值币——公链
20180203 统计了一份国内公链的简表
20180208 Vitalik Buterin:去中心化的意义
Vitalik Buterin 《The Meaning of Decentralization》
《Ethereum whitepaper》
《EOS whitepaper》
《EKT whitepaper》