Nervos AppChain 官网:http://appchain.nervos.org/#/
“区块链就是白皮书加大佬站台,做真东西的人太少。”
“区块链技术很好,但是性能太差,根本不实用。”
“区块链学习门槛太高,只能是极客的玩具,无法普及。”
作为一个专注区块链底层技术团队,我们一直受到类似疑问的困扰。这些疑问不仅仅来自于区块链技术爱好者、投资人,也来自我们自己。从四年前研发开源交易所 Peatio,三年前创建 Ethfans,两年前开发高性能区块链内核 CITA 和星火矿池,到参与 imToken 第一版的核心开发和 Ethereum 下一代共识机制 Casper 的开发,我们一直专注于区块链最基础最核心的协议或者基础设施的构建。这些年来区块链领域本身从技术到理念再到市场也都在飞速进步。然而时至今日我们发现,区块链技术距离真正普及仍然还有相当大的一个鸿沟。这个鸿沟当然有法律和监管滞后的因素,但更关键的是区块链技术仍然高冷,不仅性能低下,而且对开发者、用户门槛都太高,没有一套既快又方便的区块链解决方案方便大家基于其上快速构建自己的应用服务生态。这样区块链的普及也就无从谈起。
在这样的大背景下,我们在建构 Nervos 公链项目的时候把能够满足真实商业的需求放在了首位,进而将 Nervos 公链扩展成了 Nervos Network。它将包含为商业应用构建的任意多条应用公链 AppChain 和为这些商业应用提供跨链和安全服务的基础公链 CKB。Nervos AppChain 强调的商业可实现性,因此突出了性能。Nervos CKB 则强调仲裁的公平性,因此突出了去中心化安全。这里我们主要介绍 Nervos AppChain 的产品逻辑与架构。
1.高性能应用公链
整个 2017 年可以说是基础区块链团队集体浮夸的一年。最开始战战兢兢的几百 tps,到数千 tps,再到 EOS 声称 10 万+,再到某高校 33 亿 tps 的超级链众人哗然。一时间不到 10 万+的链连白皮书都不好意思发布。对比以太坊可怜巴巴不到 20 的 tps,简直就是虐杀。然而整整一年过去了,吹到天上的牛还是没有落地。
Talk is cheap, show me the code.
Nervos AppChain 是一套完整的应用公链解决方案,所有接入 Nervos Network的应用公链也统称为 AppChain。Nervos AppChain 的核心组件是采用微服务架构的底层区块链核心 CITA。作为区块链核心,它可以配置成联盟链也可以配置成公有链(开放许可链)。前者作为成熟产品在过去两年中成功地支撑了多家银行和金融机构的区块链创新业务。后者则专门针对各类商业应用做了改进,包括支持灵活的激励机制(原生代币经济模型)和治理机制(通过智能合约进行记账节点配置、权重分配等)。公有链模式下的 CITA 由强力节点作为记账节点,其他节点作为同步节点共同维护一个高性能的区块链生态。
CITA 将一个区块链节点的共识、网络、计算、RPC 等功能进行了微服务化拆分,每一个微服务又可以有多个实例,最终这些实例共同完成一个节点的记账功能。这样,我们将区块链性能的扩展问题转化成了节点的扩展问题,当性能不足时,插入一台服务器,分担节点的工作压力即可。同时,我们将共识机制、底层逻辑进行了深度优化,例如采用Rust语言架构所有代码等。最终实现了目前开源可实证区块链系统的顶级性能。这是一组实测数据:由 4 核 8G 云主机构成的 AppChain 的性能可达到每秒 2900 笔简单交易;32 核 64G 云主机组成的 AppChain 的性能则超过了每秒 1.5w 笔简单交易。而采用集群构建节点的 AppChain 性能则更高。这样的性能已经足以应付绝大多数应用场景。
2.完整的基础设施
过去几年中,我们在区块链商业落地领域的合作经验告诉我们,基础设施对于开发者和用户来讲至关重要。如果新进入一个领域的每个人都需要重复造轮子,那么这个领域是很难得到快速发展的。我们为 Nervos AppChain 准备了必备的基础设施以方便运营方、开发者以及终端用户能够快速应用起来。
(1)开源 DApp 钱包 Neuron
Neuron 是 Nervos AppChain 产品中的一个核心组件。它提供了现实世界的用户访问区块链世界的入口。Neuron 一方面是 Nervos Network(也兼容以太坊)上用户私钥和各类数字资产、私有产权和私有数据的管理工具,更重要的,它作为一个 DApp 的运行平台,可以允许各种区块链应用以小程序的方式在用户终端直接运行。
设想一个 AppChain 上的区块链游戏开发者,他只需要完成智能合约的核心开发和 DApp 的访问网站开发即可,复杂的私钥管理和数字资产管理业务都由开源的 Neuron 接管。用户只需要输入 DApp 的 URL 甚至扫码即可访问 DApp 并完成游戏操作。开发者也可以利用流行的支付服务整合到操作页面中,例如使用微信充值购买区块链上的游戏道具。而第三方开发者也可以制作新的 DApp(游戏副本等)与原 DApp 在智能合约层面交互、实现去中心化协作,共同为用户创造价值。
AppChain 的运营者或者 DApp 开发者也可以选择重构开源的 Neuron 代码,为用户提供更加专业和针对性的服务。相信这将大大降低开发者的门槛,也降低用户的学习曲线。
(2)开源区块链数据浏览器 Microscope
Microscope 的目标是打造一个类似etherscan的区块链数据访问平台。它提供对区块数据、交易数据、账号地址数据以及智能合约的访问等必备功能。Microscope 支持多链访问,只要给出对应 AppChain 的 RPC 服务地址,即可接入这条区块链并提供数据浏览服务。AppChain 运营方可以部署一个自己的专用浏览器,也可以将访问接口提供给其他浏览器。
未来,Microscope 将加入数字资产访问、结构化数据展示等功能。对应地,我们将提供一个链上 KV 数据自动转换为本地关系型数据的中间件,以方便 DApp 的开发。开发者可以通过中间件快速索引业务数据,为用户提供更加友好的服务。
(3)多平台 SDK
考虑到签名、报文拼装,abi 调用等复杂操作,区块链操作对于绝大多数开发者来说都有不小的难度。为此,我们提供了多平台 SDK 进一步降低开发门槛。目前正在维护的开源 SDK 包括 JavaScript、Java、Ruby、rust、objective-c 等多个版本,方便开发者使用。
以 JavaScript 版本的 nervos-web3.js 为例,DApp 前端在 Neuron 中运行可以自动获得区块链访问接口,并透过该接口请求用户对区块链交易进行数字签名。SDK 提供完整的环境检测、区块信息查询、交易信息查询等接口,开发者只需要调用交易接口,其余工作完全由 SDK 来处理,大大简化开发流程。用户也可以同时使用以太坊的 web3 SDK,使得同一个 DApp 前端同时支持以太坊网络和 Nervos 网络的业务操作。
(4)灵活部署
AppChain 是完全免费和开放的,任何开发者或运营者都可以下载源代码自己部署一条链,并在自己的链上构建完整的应用生态。开发者和运营方再构建自己的生态时,可以设计并实现自己的经济生态,且不需要购买或提前获得 Nervos AppChain 的基础的代币才能运营 AppChain。因此,AppChain 的发布和运行完全是由开发者自主主导的。
作为开源产品,开发者可以随时从 github 下载最新版本的 Nervos AppChain 源代码自行编译部署。为了方便开发者更加简单地部署,我们除了提供 docker 这种开发者友好的部署方案之外,还将与华为云等多家云服务商合作,提供一键部署服务。开发者在这些云服务商的网站上选择一键部署 Nervos AppChain 服务,接着输入节点数、原生代币信息等几个必备的参数即可生成一条应用公链。考虑到区块链的去中心化特性,后续加入的节点可以不受限于同一个云服务商的主机。
我们还将与万云等多家 BaaS 服务商合作,提供 Nervos AppChain 的环境实例,开发者可以直接在万云运维的一条 AppChain 上免费部署 DApp 并向用户发布。这将进一步降低开发者的门槛。
3.多链协议
区块链的根本价值在于其形成的链上共识。显然,并不是所有的共识都需要在全球范围内达成一致。例如一个玩家社区、一个供应链金融服务以及一个校友会,他们内部的互动是不需要在全球范围内达成共识的。如果强行要求所有的区块链应用都在同一个环境下达成共识,其结果一定就是 cryptokitties 这种只有少数人使用的服务会时不时地将以太坊这种定位在全球共识的基础设施的服务搞垮。由此可以得出一个非常自然的结论:既然共识是有范围的,区块链本身也应该是有层级和范围的。Nervos AppChain 专注于提供特定范围内的应用公链服务,任何应用或行业都可以搭建自己的 AppChain 并构建自己的生态。
在我们的愿景中,未来将会有数百条甚至数万条 AppChain 在并行运行。透过一个开放的多链协议,用户的 DApp 钱包可以访问任何一条链上的任何 DApp,并同时管理各条链上的资产。对于终端用户来讲,多链之间的切换完全是透明的,其信息交互完全由 Neuron 处理。不论用户使用哪条链,他的地址都是一致的。因此,用户在自己的账户(区块链地址)下可以统一管理各条 AppChain 上的资产,甚至无需知道这个资产在哪条链上。
在这样的设计理念下,不论是 DApp 开发者还是终端用户,他可以不用关心具体的链信息,而是将所有的 AppChain 统一看作一个虚拟的 Nervos Network。用户打开 DApp 的操作界面,基础设施会自动将其定位到 Nervos Network 上的某个具体的 AppChain 访问智能合约并发送交易。这也意味 AppChain 将单一区块链的性能大幅提升后,多链协议将 Nervos Network 作为整体,使得区块链的性能和吞吐率获得了矩阵式的提升。
4.安全与跨链
熟悉区块链技术走向的开发者可能马上会提出疑问:Nervos AppChain 这样的多链架构是否会带来记账节点作恶的风险,以及如何实现跨链资产流转等功能。如前所述,Nervos Network 中除了 Nervos AppChain 多链外,还包含一个重要的基础公链,Nervos CKB(Common Knowledge Base)。CKB 将为所有的 AppChain 提供跨链价值流转与安全性保障。
具体来说,作为应用公链,使用者往往对运营方存在着一定的信任。例如某游戏公司运营一条 AppChain 并将自己的游戏业务逻辑以智能合约的形式在链上执行,或者某核心企业运营一条 AppChain 并将应收账款、商业票据的金融资产数字化上链交易。这些链的使用者对运营方是天然信任的。但即便如此,作为信任基石的区块链仍然需要有“最终仲裁人”,以便在作恶行为出现时能够对作恶者做出惩罚。CKB 就是 Nervos Network 中最终仲裁人的角色,一旦 AppChain 的记账人出现作恶行为,例如双花、错误交易打包、忽略出块等等,用户就可以提交相应的数学证明到 CKB 上,罚没这些记账节点在 CKB 上的押金。而 CKB 本身作为全球基础公链,其安全性由开放竞争的共识协议和全球节点共同保障。当然,作为一个开放的生态,CKB 的监督完全是可选的。如果 AppChain 的用户对运营方足够信任,也可以选择由链外机制进行仲裁。我们还将提供跨链交易功能,用户在不同的 AppChain 上锁定资产,透过第三条 AppChain 或者 CKB 进行去中心化资产交换。
5.期待区块链应用爆发
在过去的十年间,互联网的高速发展使得人们生活越来越便利的同时,也使得巨头的垄断越来越严重,中小开发者的生存空间不断被挤压,用户隐私甚至成为一种奢望。然而,我们深信区块链将不可逆转地改变现状。这种信仰即源自我们对技术和人的理解,也源自我们对更加自由的未来的憧憬。用技术创造一个 Trustware 网络,并通过这个网络提供最有价值的解决方案是我们的使命。我们相信我们手中的技术将使这个世界变得更加美好。
区块链技术自诞生以来一直受到各种质疑、误解和技术与现实的限制。我们作为区块链精神的信仰者,过去和未来所做的每一件事都是要加速区块链的应用与普及。我们认为 Nervos AppChain 是区块链向真实应用普及的一块重要拼图。在 Nervos AppChain 框架下,区块链技术广受诟病的性能和吞吐率已不再是一个问题,开发者和用户的门槛也大幅降低。当扫除了区块链普及的一切障碍之后,区块链应用相对于古典互联网应用将是降维攻击,其应用爆发也只是时间问题,让我们拭目以待。
附录*
Nervos 官网↓↓↓
https://www.nervos.org
Nervos 白皮书↓↓↓
http://nervos.org/#/pdf/nervos-ckb-zh
电报群↓↓↓
https://t.me/NervosNetworkcn
Nervos 唯一官方公众号:
P.S:Nervos 由 Nervos 基金会发起并维护的一个全新公有链项目,战略合作伙伴包括技术咨询方秘猿科技(Cryptape)和招商银行。
网友评论