Nervos公链的Layer2生态和CKB经济模型全面解析 | 链茶访

链茶馆 view 37101 2020-6-19 10:28
share to
Scan QR code with WeChat

Nervos被彭博社评为2019年最值得关注的三大公链项目之一,CKB挖矿项目也备受全球矿工瞩目。Nervos是一套可扩展和可互操作的协议,Layer2生态以及特殊的CKB经济模型是该公链最大的特点。

本期链茶访链茶馆请到了Nervos公链联合创始人吕国宁,他将从项目的定位,Layer2生态的搭建原理、目前现状以及CKB经济模型等方面对整个公链生态进行诠释,以下来本次专访的问答实录。

什么是Nervos,为什么需要Nervos?

Q:Nervos团队是什么时候开始组建的,公链从开发到主网上线用了多久,团队具有哪些技术优势,团队成员之前有过哪些经验?

吕:Nervos 的项目立项是在 2018 年初,那个时候我们发布了第一版的技术白皮书,并开始组建团队进行研发。从 2018 年初的项目立项到主网上线我们用了将近两年的时间,这 500 多个日夜,我们从头开始完整地设计了一条公有链 CKB。

Nervos CKB 有很多不同于其它区块链的设计理念。比如说,CKB 有着非常灵活的 Cell Model,能够验证和存储任何类型的数据;CKB-VM 采用底层 CPU 指令集架构 RISC-V 开发,提供更高的开发弹性与运行的稳定性;CKB 共识协议使用两步提交,提升了可扩展性;设计了一套全新的,兼顾简单和安全性的哈希算法 Eaglesong;以及一个能够实现价值存储和价值捕获功能的经济模型等。

我跟 Nervos 的几个核心创始人,在十多年前是通过社区互相认识的,并且一直在一起。在进入区块链和数字货币领域之前,我们就是好友、同事,在一起共事好多年。Nervos 团队成员也在区块链领域积累了大量的经验。

架构师 Jan 曾是以太坊的核心研究团队成员,并在很长一段时间内,是以太坊核心开发团队中唯一的中国人。

我们不仅是以太坊在中国最早的布道者和生态建设者,以太坊上最早的交易所还有最大的以太坊钱包和最大的以太坊矿池也在用我们的核心技术,我本身也是全球知名的百万用户级的以太坊钱包 imToken 项目联合创始人兼 CTO,也参与过早期的星火矿池。

我们的核心工程团队有很多出色的工程师,团队中甚至还有七位曾经做过 CTO 的同事,每个人都有自己擅长并可以独当一面的领域,例如雪洁是全世界第一个用 RISC-V 打造区块链虚拟机的专家;Ash 从比特币钱包开始,长期深度参与了钱包的开发。

团队还有专门研究密码学小组、加密经济学小组、以及共识算法和安全性等不同领域的研究员跟我们一起合作,我们也发表过多篇该领域顶会的论文。像张韧长期专注于区块链共识协议、安全和隐私研究。他还被 Blockstream 邀请与 Pieter Wuillie 和 Gregory Maxwell 共同做研究。他写的研究论文在今年三月也被顶级会议 IEEE S&P 收录。Nervos CKB 哈希算法 Eaglesong 设计者 Alan 与斯坦福大学和 Findora 研究员 Benedikt Bünz 和 Ben Fisch 共同撰写完成的《Transparent SNARKs from DARK Compilers》,在今年也被国际密码学顶会欧密会收录。

有非常多有才华的工程师在我们团队中,但这些还是不够的。我在这里也做一个广告,如果有任何优秀的人才欢迎大家推荐,邮箱是:daniel@nervos.org。

据吕国宁在采访中反馈,Nervos项目启动之初面对了三个难点。难点之一缺少PoW 冷启动的经验,开发团队在 2019 年 5 月 18 日发布了 CKB 测试链,当时为了测试链能顺利发布,在发布前夕开发团队密集的对将要发布的测试链进行了几个月的各种压测,经过内部三十多次迭代后,才觉得各项细节处理日臻完善,达到了可以发布的状态。

难点之二在于如何能跟矿工更好地协作,让矿工能尽可能容易地参与 CKB 挖矿。测试链发布后到主网络上线之间,开发团队用了六个月的时间持续迭代和改进。为了在测试链期间激励矿工参与进来,帮我们测试网络,我们开展了一系列的测试网挖矿活动。每一轮比赛持续半个月,新一轮比赛奖励要比上一轮高一倍。这样的比赛一共进行了五轮,最后一轮比赛结束跟主网络上线是衔接在一起的。整个测试期间,我们的测试过程经历了从 CPU 到 GPU,挖矿算法从 Cuckoo Cycle 切换到主网络使用的 Eaglesong,从一开始矿工 solo 参与挖矿,到后期通过矿池参与进来。整个过程矿工社区给了我们充分的支持,帮助我们改进和完善了很多问题,这些最后都成为了主网络上线能顺利的基础。

难点之三在于主网络启动时我们需要避免大算力涌入导致共识问题。从经济模型设计角度来看,主网络启动的一瞬间,如果延续了最后一轮测试链的算力水平,那么主网络的初始算力是较低的。在第一次难度调整到来之前,对矿工而言,从经济角度会有巨大的动力引入巨大的算力进来并获得较高的收益。而主网启动的瞬间如果算力波动较大,对共识会带来巨大的挑战,甚至有一定概率产生分叉,这也是 PoW 网络最脆弱容易受到攻击的危险时刻。所以我们从参数设置上,让主网络启动的默认难度要远大于测试链的平均难度,这样会保证主网启动时不会因为大量算力涌入带来共识问题。但是同时也会导致出块时间变长,矿工的收益会很低,甚至亏本挖矿的情况。

这时,唯有取得矿工社区的信任和支持,帮助主网络维持一定的算力直到经过几次算力难度调整后,出块时间和算力规模才能平衡和稳定下来。最后是国内几矿池和矿工的鼎力支持,才让主网络平稳达到了算力难度平衡,主网络发布闯关成功。

Nervos打造的Layer2生态是什么样的?

Q:为什么会将Nervos定位于满足去中心化经济需求的分层网络,团队为什么认为分层是更好的方式,而不是打造一个强大性能的单层呢?

吕:在设计之初,我们一直在思考什么样的公链能够支持未来的加密经济,可以选择的解决方案有很多。例如,通过牺牲去中心化要求来提升性能等。鉴于在工程实践中的积累,我们对于分层架构十分有信心。

我们在许可链方面的工作解决了扩展性问题,但是这也让我们看到「扩展之后(post-scalability)」的新问题:假设我们真的解决了 Layer 1 的可扩展性问题,这之后会遇到什么新问题?一个例子是状态爆炸,每个节点将需要传输和保存大量的数据。随着 Layer 1 扩展性研究的深入,我们会看到越来越多的新问题。所以,我们认为 Layer 2 会是更好的扩展性方案,Layer 1 应该注重的是去中心化和安全。

Nervos 的方法论是从全局考虑,思考适合 Layer 1 的区块链应该是什么样子。我们意识到 Layer 1 是缓慢而昂贵的。如果 Layer 1 能提供的处理能力有限, 那么就应该把有限的资源用在最需要的地方,用最高效方式去使用有限的信任。

最高效的使用 Layer 1 的方式是利用 Layer 1 来保证 Layer 2 的协议,确保 Layer 2 上发生的恶意行为总是得到处罚。这样 Layer 2 的理性参与者就会遵守规则,在参与者遵守规则的情况下大量操作将不需要 Layer 1 处理。只有当纠纷产生时,才有少数交易需要 Layer 1 裁决。这样就能最大化 Layer 1 的职能。

购物、日常支付、看电影… 各种正常的交易不需要在 Layer 1 上处理,Layer 1 只需要处理异常操作。如果一切顺利,在最理想的情况下,没有任何异常交易需要 Layer 1 来处理,我们就能最小化 Layer 1 的工作量,这样会大幅提升整个网络吞吐量。你可以想象如果在 Layer 1 上没有任何事情发生,Layer 2 实际上就实现了无上限的扩容。

Q:Nervos的Layer2目前布局了哪些解决方案,主要可以解决哪些现存的问题?

吕:Nervos 采用的是分层设计的架构,我们可以看到目前在 Nervos 生态上的 Layer 2 ,是多方在进展的:首先的重点项目是 Muta ,Muta 是一个区块链的框架,他在做的工作有点像是 Cosmos 或者 Polkadot 的 SDK ,但是特性是 Muta 是真正意义上的区块链框架,可以帮助人格想要做链的第三方团队,可以用非常少的工作就搭出一条自己的侧链,并且可以很轻易的和利用同样的虚拟机技术—Rics-V 的 Nervos 进行 L2 与 L1 的交互。

Muta 的技术目前已经有实际的案例出现,就是 Huobi Chain ,在以 Muta 的技术为火币深度定制公链以后, Muta 能够在具有实操经验的前提下,给更多的第三方机构提供服务。另外一个重头戏是团队目前正在研究通用的支付通道(Generic Payment Channel),这和过去比特币上的支付通道,或者以太坊上的状态通道有所不同。

他是采用 eltoo 的概念,省去了挑战以及惩罚机制,而是单纯的以支付通道的开关等状态等切换去进行,并且可以达到如互联网版的即时传输,因为除了进入与结束外,其余的交易都可以在链下进行,而且因为 CKB 和 UDT 都是一等公民的缘故,因此在 CKB 上的支付通道还更具有可组合性,可以让原生代币以外的其他资产一样可以在 Layer2 上进行传输,大大的提升了许多应用场景的可能,例如流支付等,因为在链下不但能确保速度,也降低支付过程中所付出的成本。

最后,我们在生态伙伴上也持续的在为 Layer2 发力,可以看到我们的 grants 中不断的有关于 L2 解决方案的 Proposal 前来申请,申请人来自世界各地;同时像已经通过的 Grants 中,也有安比实验室这种正在为零知识证明的密码学库做努力的团队,在未来这样的基础设施会成为 zk-Rollup 等等新兴的扩容方案不可或缺的元素。

CKB经济模型到底是什么?

吕:事实上,我们拥有了 CKB,就意味着我们同时拥有了对应的存储空间和支付权益。CKB 是 Nervos Network 的 Layer 1 层的原生 Token 的名称。对于 CKB 这个缩写,目前主要有两种同样合理的释义:

第一种,CKB 是(Common Knowledge Base 共同知识库)的缩写,所谓的共同知识就是每个人都能知道,也知道其他人几乎都知道的知识。在区块链世界里,共同知识指的是经过全球共识验证并且网络中的所有人接受的「状态」。

第二种,CKB 是(Common Knowledge Byte 共同知识字节)的缩写,前面的「共同知识」同第一种解释是一样的,而最后的 Base 被替换成为了 Byte 字节(字节:是计算机内用于计量存储容量的一种计量单位),Byte 赋予了 CKB 实际的物理意义,演变成为了 CKByte,CKByte 是所有人用来存储共同知识的物理空间,所以 1 CKB = 1 Byte。

Nervos CKB 是 Layer 1 的区块链,储存所有类型的共同知识,而不像比特币一样只局限于货币,CKB 还可以存储有价值的密码学证明,为更上层(Layer 2)的协议提供安全性。在 Nervos 系统中,Layer 1 负责的是状态共识,即存储功能,Layer 2 负责的是状态生成,即计算功能。

Nervos 这种在系统上的设计特色,决定了其经济模型可以更容易解决「价值存储」和「交易媒介」两种功能难以共存的困境。更关键的是,这样的设计,还可以让 Nervos 避免很多智能合约平台会面临的「经济抽象」的麻烦。所谓的经济抽象,指的是网络用户与矿工自行安排使用协议之外的代币支付交易手续费,这对一般的智能合约平台来说是一种威胁,因为如果平台的原生代币纯粹是为了促进交易,将剥夺整个系统的内在价值。

而在 Nervos 的设计中,因为原生代币 CKB 对应的是全网状态的存储空间,即便用户自由地发行其他代币用来支付交易费用,但是这些资产本身也占用一定的存储空间,所以,每个拥有资产的人都必须拥有 Nervos 的原生代币。又因为存储空间的总量既定,所以 CKB 有着独特的稀缺性,这让 Nervos 底层网络,具有了捕捉整体生态价值的可能性。

Q:持有CKB能带来哪些收益?

吕:目前 Nervos 生态正在迅猛的发展当中,这里我重点说一下 CKB 上的第一个 DeFi 应用:Nervos DAO。CKB 的持有者可以将 CKB 锁入 Nervos DAO 获取锁币补贴。

Nervos DAO 是一个智能合约,就像 CKB 上其他的智能合约一样,用户可以与之交互。Nervos DAO 的功能之一就是为 CKByte 持币者提供一种抗稀释的功能。通过将 CKByte 存入 Nervos DAO 中,持有者可以获得一定比例的二级发行,在存款和取款之间的这段时间内,他们的持有比例只会受到创世块和基础发行的影响,就像和有硬顶的比特币一样。

持有者可以随时将他们的 CKByte 存入 Nervos DAO 中。Nervos DAO 是一种定期存款,存在一个最短存款期限(会按照区块计算),持有者只能在一个完整的存款期之后进行取款。如果持有者在存款期结束时没有取款,这些 CKByte 将自动进入新的存款周期,这样可以尽量减少持币人的操作次数。

再说回到 CKB 本身,CKB 经济模型的设计让 CKB 真正地成为了一条多资产价值存储型公链,旨在成为一个可持续的,以价值存储为中心的智能合约平台。

CKB 原生代币旨在代表持续时间内占用该状态存储空间的权益。它的实用性主要类似于作为存储平台的土地,同时也具备货币(转移价值)和燃料(支付计算)的功能。我们拥有了 CKB,就等于拥有了这个存储空间的使用权和所有权,我们可以用它来存储数据,搭建应用,存储进 Nervos DAO,也可以将其用于租赁,丰富更大的 CKB 生态,或是仅用于确保流动性。一个城市不论繁荣与否,都首先需要占用土地,而在后期土地上的上层建筑繁荣之后,也会反哺到土地本身的价值。CKB 的价值发展逻辑和土地非常相似。

Q:CKB改良的NC共识是如何提高吞吐量,并减少自私挖矿攻击的?

吕:首先必须先说,我们依旧认为 NC 是最好也最最安全的共识,他的共识模型十分的简洁,并且在比特币上已经经过了十年的验证,仍然安全无虞。但吞吐量的问题确实 NC 最大的痛点,我们可以从过去的其他项目看到,到增加 NC 的吞吐量有两个方式,一是加大区块的大小;二是降低区块的间隔。加大区块的大小会造成节点的负担;而降低区块间隔是以太坊所选择的道路,但会出现的问题,是区块的确认时间变长,产生更多的叔块率,也导致自私挖矿的成本降低。

Nervos 的 NC-Max,是透过两步骤验证,也就是被打包的交易,必须先进入交易提交( Propose )阶段,再进入交易确认 ( Commit ) 的过程,在进入交易确认区的交易才会被打包。在正常情况下,NC-Max 的区块传播过程是这样的:矿工 A 挖出区块后,立即广播致密交易,矿工 B收到致密交易后,确认老交易都已经同步过了,可以立即开始挖下一个区块。因此,在确认老交易已经同步才能挖一个区块的过程,其实就确保了孤块率达降低。同时也因为孤块率的降低,而让出块的安全性能更确定,也因此而提升了吞吐量。另外,动态调整区块间隔和区块奖励不但可以用来更好的提升带宽利用率,同时因为在难度调整的时候考虑周期中的所有区块,也抵御自私挖矿攻击,因为孤块信息被写在了区块链中,我们在挖矿难度调整算法中利用这个信息,从而让自私挖矿无利可图。

Q:Nervos公链是如何保证主网稳定性和安全性的?

吕:POW 的公链有个特性,就是在安全的门槛非常非常的高,但安全也仰赖着矿工,所以如何吸引矿工在 CKB 上贡算力就是一个重点,因此我们重新打磨了一套挖矿算法:Eaglesong,他既创新、简单而且非常安全,创新意味着这是一套前所未有的算法。

但我们也了解,酒香还怕巷子深,因此我们在冷启动上也花了很大的精力在推广上,包括在上线前我们投入无数的时间和精力和资金来进行测试网的挖矿大赛,以确保足够的矿工注意到我们,并且透过无缝接轨的方式将测试网的算力在约定好的区块高度切换到主网。不论从设计到主网上线前到运营其实都是我们创新所在。因此我们可以看到,在主网上线后六个月,算力基本上已经上升了超过一百倍,也有 3~4 家都 ASICs 厂商自发的投入 CKB ASICs 矿机的研发,并且已经有了矿机问世,这可能是所有 POW 算法中最快有 ASICs 支持的哈希算法,同时全球还有超过 14 个矿池支持 CKB 挖矿。最后引述核心架构师 Jan 的话:「POW 公链并不是生来就是安全,只有在成功的引导下才能能安全,而我们目前已经做到了」。

Grants 计划:3000万美元的开发者资助基金

吕国宁表示,Nervos今年推出了 Grants 计划,并且设立了 3000万美元的 Grants Program 基金,用于资助开发者在 Nervos 上的开发。该基金将直接通过现金的形式支付给开发者,而不是股权或代币,并且所有的项目将公开以征询社区的反馈。目前已经有 24 个团队发起 Grants 申请,其中有 8 个团队的 9 个项目已获得 Grants 资助,其中的一个团队获得了二轮的资助。我们也希望有更多的高质量的团队可以来申请 Grants Program 参与到 Nervos 的生态建设中。

随着 Grants 计划的顺利进行,我们也推出了 CK Labs 计划,进一步构建生机、繁荣的 Nervos 生态。CK Labs 计划旨在支持有激情、有想法的团队在 Nervos 上发展以用户为中心的项目。CK Labs 计划初期设立了 500 万美元的基金来帮助区块链初创公司孵化构建 dApp,同时,我们会帮助项目团队,将产品介绍给主流加密领域投资者,助力将其产品推向市场。我们会给与三个方面的帮助:

1、无股权的资金支持:团队最高可获得 10 万美元的初始资金,且不附带任何限制。这些资金将用于团队的开发和 GTM费用。

2、来自 Nervos 核心团队的支持:Nervos 提倡有利于开展工作的多元化思想,因此我们将提供专业的跨职能支持,以帮助团队达成目标。

3、助力其接入 Nervos 投资者和合作伙伴网络:我们会帮助团队与区块链行业的一些顶级投资者建立联系,帮助团队拓展合作相关的生态合作伙伴。

CK Labs 计划是开放的,任何以用户为中心的基于 CKB 构建的现有项目和具有 MVP 的新项目都可以申请,项目申请范围包括但不限于 DeFi、游戏、oracle、社交和存储等。我们也希望能有更多的项目带着富有创意的想法来申请 CK Labs 计划。

Nervos未来将如何发展?

目前 Nervos 的工作重心还是在基础设施和生态,而且在这两大面向上都已经慢慢的成型。如上述的 Grants 和还有我们针对各种开发专用的 SDK 等基础设施,其实都和生态的发展呈现正向的循环反馈:当有越来越多的基础设施和底层协议(如 UDT 标准)完善的同时,开发者要在 Nervos CKB 上层进行开发也就越容易,也会有更多的应用和加入 CKlabs 的生态成员。

在未来,区块链要吸引的开发者,绝对不单单只是现有区块链圈子的开发者,要吸引的用户也不会只是现在区块链圈子的用户,我们势必要做的,是将生态往互联网的边界去蔓延、去探索,Nervos CKB 很可能是最有能力去会做这件事情的公链,在 Nervos 上,任何的语言都可以是编程语言,因此开发者要到 CKB 上进行开发,可以直接用自己熟悉的语言就好,省去了许多不必要的进入成本;用户也是一样(如果这里我们说的是享受 Dapp 产品的用户),在 Nervos CKB 上不仅在 Risc-V 的架构下开发者可以用任何语言进行开发,更可以自由的部署任何密码学原语。

未来还会有跟更多更为灵活的基础设施问世,Nervos 也会在世界各地做更广泛的推广,让更多人知道在基础设施完善的 Nervos 上开发是多么滑顺的体验,同时我们也在这个过程中持续的将 Muta/ 支付通道等基础设施建设完备,当越来越多人使用的时候,也会刚好是 Layer2 建设成熟,并且可以派上用场的时候。

总体而言,有更多的开发者、使用者、并且有弹性可以容纳更多的想法的价值存储平台是我们正在前进的方向,并且还透过上述的 Grant / Cklabs,以及海外的投资人、社区、合作伙伴以及更多有实际合作的伙伴一起推广 Nervos 也是我们持续大力推行的事情。当基础设施逐渐的完善,更多的群体进入了 Nervos 生态,一个能够提供开发者互联网般的使用体验,并且享有区块链特质的多资产价值平台就会走到更多的传统用户的眼前。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 比特币ETF申请又来了?屡败屡战后,依然将屡战屡败 Next: 曾通过ICO诈骗融资超2500万美元的Centra Tech创始人认罪

Related