医疗反腐,风向带偏了

回顾柴静的经历,跟丁仲礼的对话,以及她最新的纪录片和各界反响!

“史上最严反腐”背后, 中国医界究竟病在何处?|文化纵横

丑闻接二连三,湘雅医院到底隐藏了多少黑幕?

7月经济数据全面恶化,发出了新一轮经济下跌的危险信号

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

一文看懂 CKB、Godwoken 以及侧链 Axon(一)

字节君 字节元 CKB 2022-06-09


大家好,我是字节君!


前段时间,Nervos 在第 5,414 epoch 到来的时候正式启动主网升级,而 Nervos 上的 Layer 2,新版本的 Godwoken 已经上线测试网了,如果一切运行顺利,将在不久后上线主网。主打性能的侧链 Axon 也在紧锣密鼓的开发当中。

估计有不少小伙伴心中会充满疑惑,对 Nervos 主网、Godwoken 以及侧链 Axon,至今都没有一个清晰的概念。这次,字节君将带大家从 Layer 1、Layer 2 以及侧链的视角对 Nervos 主网、Godwoken 以及 Axon 做一次全面的详细介绍,让大家理解它们对 Nervos 生态的意义以及在未来将要承担的角色。

首先,需要说明的是,Layer1、Layer2,并非单指某个区块链网络(比如以太坊网络、Nervos 网络),也并非区块链行业首创,而是行业借鉴计算机网络通信体系架构的
OSI 模型进行参考。




严格意义上来讲,目前行业将整个区块链逻辑架构根据 OSI 模型被划分为三层:Layer 0、Layer 1、Layer 2。

Layer 0 ,也就是区块链最底层的协议,它对应 OSI 模型的 1-4 层,它包含物理层、数据链路、网络以及传输层。无论是以太坊网络还是 Nervos 网络的运转,都离不开这些底层协议,你可以这么理解,它就好比一个国家的基础建设,是整个国家运转的最最基础的东西。我们不必要花时间理解 Layer 0,需要注意的是,主打跨链的 Polkadot 与 Cosmos 以及近期出现的 Layer Zero,这些协议虽然在宣传上自称为 Layer 0,但从严格意义上来讲,他们并不属于 Layer 0 这一层面。



Layer 1:Nervos CKB

在简单理解了 Layer 0 后,我们再来看看 Layer 1,它对应 OSI 模型的第 5-7 层,包含数据层、网络层共识层,像公链的 PoW、PoS 共识机制、挖矿奖励机制以及数据的传输以及状态记录。

Layer 1 主要是承担整个网络的安全以及去中心化,并解决信任的问题,从而使得整个网络达到一种共识。

我们就拿 Nervos、比特币以及以太坊三条公链进行对比而言,这三条公链的不同主要是集中体现在 Layer 1 层面上的不同。




在共识层面,比特币、以太坊目前采用的是 PoW(在以太坊 2.0 升级合并后会转向 PoS),Nervos CKB 采用的则是 NC-Max(PoW)。

在数据层面,比特币采用的数据模型是 UTXO 模型,以太坊采用的是 Account 模型(账户),而 Nervos CKB 则是 Cell 模型(改良版的 UTXO 模型)。

也正因为是共识层跟数据层面设计的不同,这三条公链在可扩展性、去中心化、安全性以及性能方面,会有所不同。

比如,在数据结构上采用 UTXO 模型的比特币,只能作为数字货币,满足基本的转账支付功能,很难像采用 Account 模型的以太坊那样进行编程计算,很难诞生出大量的应用。Nervos CKB 的 Cell 模型,在继承了UTXO 模型的基础上,也吸收了以太坊可编程的特点。

(推荐阅读:https://talk.nervos.org/t/ckb-cell/1562/15)


又比如采用 PoW 共识的公链,虽然保证了去中心化以及安全性,但牺牲了一定程度上的性能跟可扩展性,而采用 PoS 共识机制的公链,虽然提升了可扩展性,但相比 PoW 牺牲了一定程度上的去中心化。

而 Nervos 所采用的 NC-Max 共识则是在采用 PoW 的基础上,使其性能跟安全上都得到了优化(
NC-Max 是一个经过科学的研究方法评议并在 CKB 主网实践中得到验证的共识算法,已被信息安全界的四大顶会之一 NDSS 接受认可)。

即使如此,在未来随着 Nervos 生态的繁荣,越来越多的用户,即使是性能跟安全上都已经得到了优化的 Layer 1——Nervos CKB,目前也很难彻底解决区块链行业中最著名的难题——“不可能三角”难题。

所以,Nervos CKB 更多的是承担整个 Nervos 网络的安全以及去中心化的角色,以此构建一个让大家足够信任的网络,保证大家的资金安全,这也是为什么 Nervos CKB 一直坚持采用 PoW 而非 PoS 共识机制。

既然追求安全跟去中心化,那就放弃可扩展性跟性能了吗?

并非如此,
Nervos 从一开始就设计了分层架构,Layer 1 即 Nervos CKB,更多注重资产的安全以及去中心化,而性能扩展性问题则是放在第二层进行解决,也就是接下来要聊到的 Layer 2。



Layer 2 主流方案比较


简单来说,Layer 2 的解决方案要做的一件事就是尝试将原来在 Layer 1 上处理的这些交易 Layer 2 进行,最后再把这些交易信息统一汇总回 Layer 1,以此降低 Layer 1 上的负载,同时也降低交易的费用。

这个概
念自从 2016 年提出至今,就有很多方案,而目前比较主流的方案有以下:


  • 状态通道(State Channel)

  • PLASMA

  • Optimistic Rollup

  • ZKRollup

  • Validium 


下面,我会一一跟大家介绍。


状态通道与 PLASMA


相对较早提出来的是状态通道与 PLASMA,这两者有相似之处,都尝试将 Layer 1 上的数据和运算搬到链下去处理,而后再汇总回 Layer 1 进行验证。但这两者又有不同之处。

首先来讲讲状态通道。我们可以想象一个场景,A 是一家奶茶店, B 是一个会经常去 A 买奶茶的顾客,想象一下,假如 B 每天都会去 A 买两杯奶茶喝,如果这个场景的交易行为发生在以太坊公链上,那这个交易行为的手续费成本是不是非常高?因为 B 每次买一杯奶茶就要付出一笔昂贵的手续费,这对于 B 来讲,手续费的钱都足够买好几杯咖啡了。

于是这个时候,有人就提出了用「状态通道」来解决这个问题。比如 B 他根据自己过往的消费习惯,预估未来的消费次数以及消费金额,在未来 1 个月内,他预估会在 B 店那里消费 1000 元,那么 B 则可以提前将这 1000 元放在 Layer 1 的智能合约里,B 之后再去 A 店里每次消费买奶茶的时候,他每消费一次就写一张支票给 A 店,等 A 店收集到了一定数量的支票的时候,再将这些支票汇总一起,通过「状态通道」来兑付这些钱。如果兑换的总费用少于当时 B 预存的 1000 元,那么多余的就会退回给 B,如果 A 店老板因为忙碌没来得及去状态通道兑付,超过了兑付的时间,B 也可以去发起一个为期 7 天的挑战,即如果这 7 天内,A 店依旧没有去兑换这些钱,那么状态通道这个规则允许顾客 B 去将这笔钱取出来。

我们可以从上述的场景明显感觉到,
「状态通道」其主要的优势就在于它适合这种高频小额的交易,比如适合一些散户理财 DeFi 项目,散户手中的资金比较小,如果去主网上玩 DeFi 理财项目,是非常不划算的。如果这个时候有一个项目统一将大家闲散的资金集中起来,再去进行集中理财,从而将单笔的手续费分摊到每个人身上,这个数额就非常小了。

但状态通道的缺点则是,这种资金的流转,只能在状态通道的成员 A 与 B 店之间去做流转,同时,也无法操作非常复杂的业务,因为毕竟需要提前将资金存入到智能合约中,会非常占用资金。

在熟悉了「状态通道」之后,我们再来看看 PLASMA。

我们还是想象刚刚那个场景,顾客 B 还是去 A 店买奶茶,在 PLASMA 这个二层网络中,顾客 B 无需提前将资金存入到 Layer1 合约里,而是直接支付给 PLASMA 的运营商,运营商会同时收集来A店消费的信息进行统计,在一个固定时间的周期,比如 1 小时左右,运营者就会将所有收集到的信息都统一打包到 Layer 1上,运营者也会给 A 店一个类似支票的收款证明。A 店可以在任何时间点,在 PlASMA 上发布兑现这个支票,同时 PLASMA 会开启一个为期 7 天的欺诈雅正挑挑战期,如果 7 天内,没有人对这些支票提出疑问,那 A 店就可以在 7 天之后取出这些款项。

其优势对比状态通道来讲,PLASMA 可以将这些收款证明发送给任何人,这些人只要通过了为期 7 天的欺诈验证挑战期后,就可以将资金取出,另外转账金额不受限制,也无需提前预支费用进行锁定。

其劣势是支付交易不是实时的,交易速度是根据运营商的周期而定的,另外提现需要 7 天的挑战期。


Optimistic Rollup 与 ZKRollup 


状态通道与 PLASMA 都是将数据和运算搬到链下去处理,而 Optimistic Rollup 、ZKRollup 则是把运算带到链下,而数据这一层,依旧是保留在 Layer 1 公链上。可以看出,Optimistic Rollup 、ZKRollup 相比较于状态通道与 PLASMA,会更加安全。


我们先了解下 Rollup 技术是什么。简单来说,就是尝试将 Layer1 的运算进行剥离带来 Layer 2 上进行运算,而后将 Layer 2 上产生的这些运算的数据,再同步到 Layer 1 上进行更新。

打个比方,我们拿市民中心办理业务举例,假如此时市民中心前台只有 3 个工作人员办理业务,而这个时候,后面还有很多人在排队,如果按排队进度来看,在下班前都没办法处理完,这个时候工作人员让维持秩序的保安引导后面排队的人去机器上先去提交材料进行验证,验证通过后,会给一张加盖了印章的单子,保安将这些单子统一收集给到工作人员,让工作人员进行同步。

这个过程就像 Rollup 的一个运作方式。


Optimistic Rollup 跟 ZKRollup 的区别,就在于维持秩序的那个保安。Optimistic Rollup 的保安呢,可能比较懒散,只是引导人群机器上提交材料,而不在现场指导他们怎么使用机器,尽管最终将所有的单子都收集上来了,但没办法保证,这些材料就不会出错,所以 Optimistic Rollup 就沿用了我们提到的 PLASMA 提到的欺诈验证的机制,需要 7 天的验证期。

而 ZKRollup 的保安呢,可能更负责一点,他会在现场认证的指导每个排队市民操作机器提交材料,并且进行验证,这个验证过程,它用了一套叫「Zero Knowledge」的零知识证明的算法进行验证,来确保从一开始就可以验证用户提交材料的正确性。所以它的优势也比较明显,就是会比较快。

通过上面那个例子,我们也能对 Optimistic Rollup 与 ZKRollup 之间的优劣势进行对比。

Optimistic Rollup 在业务处理上相对更灵活些,保安容易招募到(技术能更广泛的普及),所以保安的费用也会比较低,但需要一个周期进行验证;ZKRollup 处理业务水平高些,速度会更快,但同时其费用也会相对 Optimistic Rollup 高一些。

可以看出,Optimistic Rollup在短期内普及得更广一点,而ZKRollup 在技术上难度更大,安全性更好。


Vialidium


最后来聊聊 Vialidium。


Vialidium 这个技术方向是在 2020 年提出的,它在一定程度上结合了「状态通道」跟「PLASMA」 的这种特点,将数据和运算同样都搬 Layer 1 主网之外,使得 Vialidium 在短时间内能处理大量计算,同时又结合了「零知识证明」这么一个验证技术,相对于「PLASMA」靠中间服务商验证,用算法进行验证,不但会加快验证的速度,也能提高去中心化,降低这个过程中作恶的概率。

也正是因为使用了「零知识证明」这么一个有难度的验证技术,所以在应用上还是有一定的局限性,目前应用相对较少。



我们可以从上面数据,能明显感受到,在 Layer 2 上无论是转账还是交易的费用,都比 Layer 1 的费用低得多。


Nervos Layer 2:Godwoken


在我们了解了 Layer 2 的各种方案后,我们再来看看 Nervos 的 Layer 2——Godwoken。

用过 Yokaiswap 的小伙伴会发现,我们从 Yokaiswap 交易所中将里面的资金从 L2 提到 L1 上去,会有一个为期 3 天左右的一个验证挑战时间,这是因为
Godwoken 采用的是 Optimistic Rollup 的技术方案在使用 Yokaiwap 交易挖矿的时候,也基本上感受不到交易费用的存在,使用感受上相对 Layer 1 会丝滑很多,

Godwoken 的安全性由 Nervos Layer 1 来保障,同时保持交易的可扩展性、快速确认和低成本。

我们在上面 OSI 模型图中也可以看到,Layer 2 主要对应应用层跟智能合约层。

虽然开发者可以在 Nervos CKB 上开发应用,对于 Godwoken 来讲,其可扩展性、交易的快速确认和低成本这些优势就能立马体现出来,也得益于对以太坊 EVM 的支持,开发人员可通过 Godwoken 来部署以太坊智能合约,将以太坊的 dApp 快速移植过来。

这也是为什么大家都在期待 Godwoken V1 的正式上线,因为它能给
Nervos 吸引更多的应用,促进 Nervos 生态的繁荣。


(未完待续)


   



END



Nervos 网址:https://www.nervos.org/ 

中文电报群:https://t.me/NervosNetworkcn

中文推特:https://twitter.com/CKBMeta 

中文Discord:https://discord.gg/f2qa52tJnz 

《Nervos 入门手册》:ckborg.bit.host


文章有问题?点此查看未经处理的缓存