若是抛开区块链的概念,就字面意思理解“世界计算机”,那应该是一台全世界用户能够共同使用的计算机。在世界计算机中,咱们应该能够搭建和部署本身的应用,由世界计算机帮咱们执行;咱们能够在世界计算机上保存各自的数据;不只如此,应用之间还可以完美的协做,共同完成咱们交待的任务。我很喜欢这个想法。算法
其实在区块链出现以前,咱们已经拥有了这样的世界计算机,咱们称呼它为“云计算”。云计算提供的服务能够被全世界的用户访问,经过这些服务咱们能够搭建和部署本身的应用,保存应用数据;应用可使用诸如 HTTP 这样的通信协议和公开的 API 接口进行协做,共同完成某一个任务。这些年,云计算也没有中止进化的脚步,从 IaaS 到 PaaS 再到 FaaS,抽象层次愈来愈高,能力愈来愈强大,使用愈来愈方便。设计模式
若是要看成世界计算机来用,不得不说,区块链与云计算平台相比劣势明显:云计算平台能够支撑无限的吞吐量,能够提供完美的用户间隐私保护。可是咱们知道,区块链之因此会有这些劣势,并非因为设计的疏漏。偏偏相反,中本聪想请楚了 Ta 想要的是什么,在 Ta 看来,为了那个目标放弃一些东西是值得的。浏览器
世界计算机不该该是区块链的目标,设计者不该该被这个错误的目标误导,设计者必须有本身的权衡。安全
若是跳出区块链的深井来观察,咱们提出的问题不该该是“如何打造一台世界计算机”,也不该该是”如何解决区块链面临的性能和隐私两大难题“。区块链只是一种技术工具。咱们能够清楚看到的是,人们想要的不是区块链,而是加密经济。做为 Nervos 的设计者,咱们试图回答的是这样一个问题:网络
如何为将来的加密经济设计基础设施?架构
问题的答案能够是区块链,也能够不是区块链,但不管如何,它必须支持自我保障协议,这是加密经济的基础,同时也必须解决它在今天遇到的问题,好比交易性能,以及交易隐私 - 没错,咱们依然要解决性能和隐私的问题,但问题的主体是加密经济,不是区块链这把在咱们的工具箱中闪闪发亮的扳手。编辑器
加密经济(Cryptoeconomics)是区块链发展多年之后造成的全新经济体。这个经济体与其余的虚拟经济相比较时显得鹤立鸡群,由于她是咱们迄今为止创造出的最活跃的市场:她与互联网通常大,跨越不一样的国家和地区,吸引了成千上万来自不一样国家的市场参与者;她将我的创造和交易数字资产(Cryptoassets)的成本降到极低,正如当年博客与微博将传播的成本降到极低而后汇聚了史无前例的注意力同样,她也汇聚了史无前例的流动性;她永不停转,7*24小时不间断的为用户提供服务。工具
维护这样一个跨越地域的自发市场运行的,不多是受到地缘限制的传统制度,只能是在任什么时候间、任何空间都可以成立的广泛规律:数学、理性、博弈,等等。加密经济的大厦正是创建在密码学和博弈论之上,经过精心设计的自运行制度激励用户共同保障市场中各类协议(即合约)的执行,进而保证市场参与者的资产全部权和交易执行,维护市场的稳定运行。因为加密经济中的协议是由一种去中心化的机制,而非参与者之外的第三方来保证明施,我把它称为自我保障协议(Self Enforced Protocol)。性能
自我保障协议是加密经济的基础,也是一种前所未见的新物种。“古典”互联网所依赖的网络协议是一种乐观的协议,设计者老是假设参与方会遵循协议的规定,按照协议规定的步骤行动。而现实与理想截然相反,互联网协议的参与方每每无心甚至有意的不按照步骤行动,其后果就是协议的执行被任意的破坏和停止,遵循协议的参与者只能重试或是更换协做者。这一类协议打造的互联网是一个充满了不肯定的网络,一个没法为数字经济提供原生支持的网络。学习
《The Economist》 在 2015 年给区块链取过一个十分恰当的名字,“The Trust Machine”。我喜欢把这个名字翻译为“创造信任的机器”,正如 Candy Machine是制造糖果的机器。做为一个喜欢动手创造软 (shi) 件 (jie) 的开发者,“创造信任”是我能想到的最酷炫的一个目标了(因而我司的 Slogan 是 We Build Trust)。有趣的是三年过去后的今天,区块链真的变成了能够凭空变出”糖果”的 Candy Machine,一系列五花八门的功能被注入区块链,也不在意“古典”技术方案会不会是更恰当的选择。
从架构的观点来看,将一个系统的总体功能分层或分解,交给不一样的功能层或是功能组件去处理,是一种优于将全部功能都耦合在一个单体中的设计模式。咱们甚至能够说解耦是全部复杂系统设计的核心。UNIX 的管道设计,在传统桌面软件和互联网服务都有应用的 Model/View/Controller 模式,插件架构的编辑器VIM都是很好的例子。互联网一样经过不一样的网络协议实现数据传输、邮件递送等不一样的功能,在这一组协议中也包括由 PKI(Public Key Infrastructure)和 TLS(Transport Layer Security)等与身份和加密有关的协议,它们共同构建了互联网的信任体系。
PKI 体系负责创造、管理、分配、使用、存储以及撤销数字证书,解决数字身份与物理身份对应的问题。数字证书颁发机构 (CA) 负责管理和发放数字证书,将用户/企业的身份与公开密钥连接在一块儿。数字证书颁发机构能够给其它数字证书中介机构颁发证书,造成层层相连的证书链。基于数字证书,互联网上的网站与网站之间,用户与网站之间,以及用户与用户之间能够创建安全保密的信息交换通道。好比说,当用户访问电商或者银行网站时,就是经过数字证书以及 HTTPS(HTTP over TLS)协议来创建安全连接。
这是一个分工协做的系统:PKI 只关心身份和数字证书的管理,数据的加密传输由 HTTPS 来完成。PKI 自己又是一个分层的架构,处于系统最底层的是根证书颁发机构,是整个信任链的起点,根证书颁发机构自己的数字证书被默认内置在浏览器等软件中,受到全部互联网用户的信任,这种信任经过证书链被层层传递上去,最终被注入这个体系中全部的互联网服务。根证书颁发机构只作证书管理这一件事情,它们不关心电商、游戏或是其余任何具体场景的业务逻辑,这些场景中发生的数据交互也不须要通过根证书颁发机构。根证书颁发机构为互联网创造信任,它们是整个互联网信任体系的“引擎”。之因此“引擎”两个字要加引号,是由于根证书颁发机构终究仍是人来管理的企业而不是机器。
互联网创建了一个很是成功的信任网络,并且运转良好,没有遇到性能或是隐私的麻烦。究其缘由,是由于互联网采用了一个分层和解耦的架构。这个古典信任网络惟一的问题,在于其可信等级还不够高,由于咱们须要相信根证书颁发机构的实力和人品(根证书颁发机构发生的安全事故并很多);在于它缺少对自我保障协议的内在支持,咱们没法在其中定制和实现可以自我保障执行的协议。咱们须要解决这些问题。所以, 咱们理想中的加密经济网络基础设施,一样应该是分层和解耦的架构,经过一组协议而不只仅是一个协议来定义,对自我保障协议提供原生支持,而且有一个无需依赖任何第三方的信任链的根。
是时候让闪闪发亮的扳手登场了。
区块链是创造信任的机器,是一个不依赖任何第三方的由算法和经济激励维护的的网络。区块链恰好是咱们想要的那个无需依赖任何第三方的信任链的根。
咱们为 Nervos 网络打造的信任引擎叫作 CKB(Common Knowledge Base),共同知识库。这个名字源于咱们对区块链的认识,在 CKB 白皮书的附录中有详细描述,这里再也不赘述。CKB 位于 Nervos 网络的最底层(咱们称为 Layer1),是一个全新设计的公有链协议,是 Nervos 网络信任链的根,是整个 Nervos 网络的安全之锚。在 CKB 以外,Nervos 还要定义 Layer1 与 Layer2 之间的信任传递协议,将 CKB 创建的信任传递到上层,保障 Layer2 DApp 的执行,保障整个 Nervos 加密经济的运行。这是一个相似 PKI 体系的分层信任网络,绝大部分的计算、存储、网络传输发生在 Layer2,只有在 Layer2 的运营节点做恶,产生信任问题时,用户才须要与 Layer1 交互,提交密码学证据给 CKB,CKB 根据证据和事先肯定的规则进行仲裁,由此保障 Layer2 上协议的执行。Layer1 的目标是安全,Layer2 的目标是计算。
CKB 自身使用 PoW 共识,经过 PoW 将 CKB 与现实世界中的能量锚定。选择 PoW 是由于这是目前已知的最为可靠的开放网络共识协议。Nervos 网络由此造成一个树状的信任传递网络:
须要特别指出的是,这样的分层架构对 Layer1 会产生彻底不一样的要求,咱们没有看到能知足这样要求的公有链设计。这样的目标和现状要求咱们必须从新设计 Layer1。所以,CKB 与其余的公有链有着彻底不一样的设计目标,具体来讲:咱们但愿尽量的最小化 CKB 的职责,专一于安全的共识,为上层建筑创造信任,而不是最大化 CKB,让它可以支持各类通用的业务场景。正如 PKI 体系中的根证书颁发公司无需关心具体的应用场景。优美的设计产生于简单和平衡而不是叠加。
所以 CKB 只须要保留两个功能:一是简单安全的共识算法,二是支持 Layer1 与 Layer2 之间的信任传递协议。
咱们的研究与工程团队正在设计和实现一个新的 PoW 共识,目标是在保证安全的前提下,尽量的挖掘 PoW 的潜力,提升 CKB 的吞吐量,缩短交易确认时间。因为 Nervos 网络中的大部分交易将发生在 Layer2,我相信经过新的 PoW算法和对并行计算友好的 Cell 模型(见 Nervos 白皮书)所实现的性能能够支撑 Nervos 网络前期的需求。
为了支持 Layer1 与 Layer2 之间的信任传递,CKB 选择了以状态为中心的设计,提出了 Cell 模型这样一个不一样于帐户模型和 UTXO 模型的新状态模型。 Cell 模型是 UTXO 模型的最小天然扩展,将只关心数字的 UTXO 扩展为能够保存任意数据类型的 Cell。Cell 是实现 Layer1 和 Layer2 之间的信任传递协议的基础,由于咱们必须有方法来保存状态,同时这个保存状态的方法应该是一个恰到好处的程度,很少很多(e.g. 咱们不须要一个 KV 或是 SQL DB)。咱们须要一个作状态验证的虚拟机,这个虚拟机不须要支持太多的场景,最好也是刚恰好。状态在 Layer2 上生成,在 Layer1 上记录和验证。
因为不只仅要考虑自身的安全,还须要考虑如何支持信任传递协议和 Layer2,CKB 的经济机制也面临着更大的挑战。CKB 代币将是 Layer2 的抵押物,是Nervos 网络默认的价值存储手段(SoV)。这方面咱们须要更多的研究,幸运的是咱们有很棒的经济学家在帮助咱们。
能够看到,Nervos 从总体出发的设计思路,使 CKB 在设计初始就以 Layer2 的需求为优先。在多个方面。这将使得在 Nervos 网络中实现 Layer2 方案会更容易。这是 Nervos 独特的方法论。
加密经济网络是互联网发展到成熟的阶段的天然延伸。互联网经历了本身的 1.0和 2.0,成就了 GAFA(谷歌/苹果/脸书/亚马逊) 与 BATX(百度/阿里/腾讯/小米),也颠覆了咱们的生活。发展到今天,互联网平台已经渡过了须要吸引用户和第三方合做伙伴的成长期,行业的增加天花板就在眼前,平台与平台参与者之间的关系从非零和博弈转向零和博弈,平台必须与第三方争抢用户和利润,即便全部人都知道,抑制了第三方的参与积极性也就抑制了创新。这是互联网模式的困境。
在这样没法创新的困境下,区块链和加密经济的出现也就成为了一种必然,咱们正处于互联网下一次蜕变的起点。让咱们仔细的思考加密经济须要什么,虚心的向古典互联网学习,创造咱们所向往的美好世界。
内容来源 : NervosNetwork
做者:Jan
谢晗剑,秘猿科技首席执行官&联合创始人。长期从事区块链技术研究与开发,区块链专业社区 Ethfans 联合创始人。以太坊网络核心开发团队惟一中国成员,以太坊下一代共识算法 Casper 核心研发者。 Petiao 核心架构师,DEVCON2 、DEVCON3 大会演讲嘉宾。
点击“阅读原文”便可报名