公链是加密经济时代最大的基础设施之一,有机会参与创造数万亿美元级别以上的大市场。它在开放金融、dApp以及价值存储方面都有捕获价值的机会。公链有别于中心化公司构建的平台,它是无须许可的设施,所有人都可以在它的设施上搭建应用和创造价值,这是前所未有的形态。这让公链有机会成为区块链领域最大的价值捕获者之一。
圣杯级别的大市场,决定了公链市场一直不会平静。蓝狐笔记一直非常关注公链领域的发展,而Nervos也是蓝狐笔记重点关注的项目。为什么Nervos值得关注?
Nervos要搅动公链市场格局
比特币开启了加密货币,而以太坊开启了智能合约。比特币诞生之后,为解决比特币交易延迟、费用高等问题,涌现了一大堆竞争币。以太坊出现之后,为解决交易吞吐量、费用高、延迟等问题,也涌现了不少公链。
蓝狐笔记关注过不少公链,Nervos的白皮书是为数不多的能把区块链的事情说得很清楚的白皮书,它直接地反映了团队的深厚功力,以及对区块链技术和加密经济模式的深入理解。基于这样的原因,蓝狐笔记很愿意看到Nervos项目在接下来的落地实践。目前通用公链市场,其实跨链项目本质上也算,已经有非常多的项目在推进。而Nervos能否在高手如云的公链市场中开拓出自己的一番天地,甚至取得更大突破?让我们看看未来会发生什么吧。
由于Nervos对区块链技术和加密经济的清晰理解,它有机会成为公链市场上的新鲶鱼,搅动公链市场的格局,以取得更大突破。那么,Nervos Network到底是什么?
Nervos Network的哲学:顺势而为中的坚守
从Nervos Network设计中可以看出它对整个公链所处阶段的理解,包括对比特币和以太坊的两大标志性公链的理解,在此基础上,Nervos提出了自己的发展路径。
公链本质是一个无须许可,任何人都可以参与的网络。它的核心在于去中心化和安全。这是区块链存在的最大意义。公链在这个方面不能妥协。只有去中心化和安全,才能让公链真正不可逆转,实现不依赖于任何第三方的信任。
基于对公链核心特性的深刻认知,Nervos Network没有考虑在其底层上进行妥协,所以,它没有采用dpos之类的共识协议来实现性能的提升。
Nervos Network的layer 1区块链是Nervos CKB(Common Knowledge Base),也就是公共知识库。Nervos所指的公共知识库可以理解为一种公开、透明、不可逆转的事实,通过去中心化的机制来记录和保存,是人人皆可读取的事实,由此称为公共知识,交易、状态、数据等都可包括在内。CKB采用PoW的共识机制,这使得它有抗审查和自运转的能力。它允许任何节点自由参与。
上面我们提到了公链的优点,不可篡改、可信、安全等,但由于它需要在所有节点之间达成共识,并且在所有节点中复制相同的记录,这意味着,在区块链上存入任何数据,其成本都是非常高的,且性能是存在瓶颈的。
也就是说,公链上的交易不仅很贵,而且很慢。但这就是区块链实现去中心化和安全所付出的代价。为了解决这个问题,当前有不同的路径,有分片,有layer 2,甚至对共识机制上进行优化等。行业中有很多不同妥协和改进,也有坚守。但能做到两全的很少。
此外,目前的公链项目对于共识和计算成本有很多考虑,但对于数据和状态的存储成本考虑较少。且加密货币价格波动大,加密货币价格上涨时,对于普通用户来说,在公链上的操作成本过于昂贵,这也阻碍了它向主流人群扩展的脚步。
Nervos Network承认了layer 1的特点,它把扩展问题放到了layer 2。Nervos认为layer 1要达成共识,要实现去中心化和安全,本身很贵,性能也有瓶颈,这是一种代价,是一种现实。它并不是试图改变这一点,而是顺应这一点,并把扩展的路径放到了layer 2。
Nervos把状态生成和验证分离,把计算放到了链下,满足性能的需求,顺应现有应用的规模,开发者可根据自己的业务特色,采用不同的共识机制,最终把状态托管到layer 1,这样在兼顾性能和安全上达到了一种均衡。
这是一种顺势而为的哲学,承认layer 1的根本特性和弱点,通过与layer 2结合,兼顾不同程度的安全和性能的需求,推动加密经济走向主流人群采用。
总结来说,Nervos Network的哲学是,坚守公链的根本特性,延续比特币和以太坊的精华,但在此基础上,顺势而为,通过分层架构的均衡设计,以实现公链潜力的最大化。除了顺势而为,Nervos Network的设计中,在可持续性上做了很多考虑,这也是值得关注的一个方面。
Nervos的架构:分层设计
有什么样的哲学,就有什么样的设计。Nervos对公链的理解,决定了它的设计方向。Nervos采用了分层的设计。具体来说,它的layer 1负责全球共识、负责安全,layer 2负责可扩展,承担大部分的应用工作,实现低延迟和高隐私。同时,layer 1和 layer 2紧密协作。Layer 1主要用于定义和存储状态,layer 2主要处理大部分交易以及生成新状态。也就是说,未来的大规模的网络活动会发生在layer 2,而layer 1服务于最终状态的存储,为layer 2的网络活动提供不可逆转的记录、共识和安全。
如此可见,Nervos通过分层设计,对状态和计算进行解藕,从而让layer 1和layer 2各司其职,各自发挥更大的作用。Layer 1提供最基础的全球共识,layer 2则具备灵活性和可扩展性。
有了Nervos layer 1的基础,Nervos layer 2的状态生成有了更多的灵活性。layer 2的状态生成可以来自于私有链,来自于无须许可的公链,也可以来自于状态通道,甚至还可以来自现有的网络服务(如互联网公司可以将关键数据上链)、以及客户端本地生成的状态。
比特币和以太坊的layer 2也可以发展,为什么还需要Nervos的 layer 2呢?比特币的闪电网络由于套利模型相对于以太坊的Defi并没有展示出更大的空间,在其前期快速发展一段时间之后,进入了瓶颈期,它需要找到更好的经济模型,且还受制于比特币的底层协议。以太坊的链下扩容方案受制于其经济模型,且以太坊是面向计算的设计,交易并发的执行较难,存在一定的扩容瓶颈。
作为公链,Nervos CKB有共识机制、有它的虚拟机、有它的加密经济机制、有它的点对点通信网络等。其中让人印象最深刻的是它的编程模型、加密经济机制以及共识机制。这也是理解Nervos特色的最重要的方面,其中的核心关键词包括CKB虚拟机、Cell模型、代币的二级发行。
1.对ASIC中性化的PoW机制
Nervos CKB的共识机制也是PoW机制,它基于比特币的中本聪共识进行了不少优化。首先是尽可能让更多节点参与进来挖矿。
既然是基于工作量的挖矿证明,任何节点都可以自由进入和退出,无须许可,但与此同时,也带来了用户为什么要参与挖矿以及如何实现在节点不可信的情况下最终结果可信的问题?比特币通过挖矿的代币奖励机制、非对称加密、拜占庭容错等来解决这一问题。
Nervos Layer 1的CKB共识也是无须许可挖矿,每个节点自由进入和退出,节点可以参与挖矿生产新区块,也可以验证区块有效性参与共识。为了实现去中心化,让更多的节点能参与进来,CKB 采用的是对ASIC中立的PoW算法,可以避免挖矿走向中心化。
此外CKB共识机制在保留中本聪共识优点的同时,还针对中本聪共识的一些不足(如性能低和自私挖矿等)进行了优化。它可以减少区块传播延迟,缩短区块产生的时间间隔,同时增大对自私挖矿的阻力,让自私挖矿无利可图。
CKB共识协议通过将中本聪共识的交易确认分解为提案和提交两个步骤来消除区块传播的瓶颈。交易如果将其txid发布到区块或叔块,则打包到提案区,如果交易在提案后的几个周期中出现在提交区,则打包该交易。由于新块中的已提交交易已被所有节点接收并在提交时验证,两步确认规则可消除传播瓶颈。此外CKB共识协议将所有孤块看作为叔块,并据此预估区块传播延迟,动态调整区块间隔,以缩短延迟提高吞吐量。
Nervos提出其挖矿机制要实现最终一致性、可用性和公平性,包括所有节点看到完全相同的副本、在合理的时间内对请求进行响应,确保矿工的投入能够得到公平回报。
2. Cell模型与CKB虚拟机
CKB编程模型是带状态的图灵完备的编程模型,它基于自己的虚拟机和独有的Cell模型。CKB的编程模型主要包含状态生成、状态验证以及状态的存储。
在Nervos CKB的设计中,跟其他去中心化应用不同的是,基于CKB的去中心化应用,其状态的生成和验证是分离的。也就是说,状态的生成和验证在不同的地方执行,且可以采用不同的算法实现。将状态生成和验证解藕为系统的扩展性和应用的大规模采用奠定了逻辑的基础。
首先是状态在链下生成(例如本地客户端执行),新状态生成后会被打包到交易并广播到网络。CKB的节点在链上执行验证,输入相同的前置状态和用户输入,验证结果是否跟交易输出相同。客户端生成的新状态是交易的输出,也是CKB中提到Cell。Cell是CKB中最基本的状态存储单元,这在下文的Cell模型会提及。
CKB的状态生成和验证分离的设计有几个好处:由于交易输入的是链下生成的新状态(也就是结果),它无须在链上进行计算生成新状态(这跟多数公链不同),这样对应用来说,新状态是确定的,在链上进行的交易只是验证。此外,它还可以实现并行处理、实现更高效的资源利用(因为应用的逻辑被分离,且在不同地方执行)、更灵活的状态生成等。
接下来重点介绍Cell模型,这是Nervos独有的设计。
Cell是Nervos CKB中最基本的状态存储单元,用户可以在其中包含任意的状态,也是用户拥有的资产。Cell由容量、数据、类型脚本、锁定脚本字段组成。容量代表Cell的大小限制。数据主要是状态数据在Cell中的存储,它的总字节数不能大于Cell的容量。类型脚本就是验证状态的脚本,锁定脚本则代表了Cell的所有权。
Cell存储的是状态,也是不可篡改的,每个Cell不能同时作为两个不同交易的输入,一旦用户提供包含新状态的Cell,存储旧状态的Cell会被标记为历史数据。也就是说,所有包含新状态的Cell代表了CKB的最新共同知识。
由于拥有类型脚本和锁定脚本,Cell模型跟比特币的UTXO模型和以太坊的账户模型相比,更加通用。UTXO模型使用锁定脚本定义资产所有权,账户模型则根据余额来定义资产所有权。Nervos CKB通过类型脚本和锁定脚本的设计,带来一些好处,例如可以方便创建M-N多签脚本,实现多重签名;可以把闲置Cell租借给其他人,同时还拥有对Cell的所有权等。
最后是Nervos CKB的虚拟机。虚拟机是通过软件模拟的拥有硬件系统功能的完整计算机系统,它运行在完全隔离的环境中。CKB虚拟机用于执行类型脚本和锁定脚本,它使用的是标准的RISC-V指令集。
Nervos CKB虚拟机有两个值得关注的特色:一是,它是一个跟密码学操作无关的虚拟机;二是,它是一个面向硬件的指令集架构。这有什么好处?
跟以太坊不同的是,CKB虚拟机没有将任何密码学指令写死在CKB虚拟机上。比特币和以太坊都将密码学原语写死在协议中,如果需要新增密码学原语,只能通过软分叉或硬分叉方式实施。Nervos的CKB虚拟机能像普通脚本一样部署和使用新密码学原语。这样就带来了灵活性,例如dApp开发者可以在Nervos上使用新的加密技术,例如Schnorr签名、BLS签名、zkSNARKs等。
CKB虚拟机使用标准RISC-V指令集,也有利于其获得更多的产业支持。此外,RISC-V是面向硬件设计的指令集,有稳定的特性,利于在无须硬分叉的情况下实现与生态系统的兼容性。
最后,来看看Nervos的交易过程。交易的本质是状态的变化。Nervos的每笔交易都会导致Cell的转移或更新。每笔交易的状态变化要么全部成功,要么全部失败。交易包括依赖、输入以及输出。依赖是指提供验证交易所需要的只读Cell。输入则包含了Cell引用和证明。Cell引用指向交易中要被转移或更新的Cell;证明主要用于验证交易创建者交易权限。输出就是状态发生变化所产生的新Cell。
Nervos CKB的二级发行:可持续发展之路
让人耳目一新的还有Nervos的代币经济学设计,它不仅要保证安全,还要实现长久的安全,也就是实现分布式网络的可持续性。
区块链代币经济机制的最核心目的是要实现其系统的安全。而激励是它实现目的的手段。它充分利用了博弈论,不同的主体做出贡献不仅利于自身利益最大化,也利于整体系统的发展。
随着时间的推移,比特币网络的btc逐渐形成了价值存储和交易媒介的功能。但如果考虑到它每四年区块奖励减半的发行模式,它的安全性如何实现可持续?比特币的安全来源于网络的价值,比特币价值越高,算力竞争越激励,攻击其网络的成本就越高。由于比特币每四年减半,2020年5月份中旬,区块奖励将其从12.5个btc减少到6.25个btc,相当于每天新发行的btc从1800个直接减少到900个,2024年还会继续减半。从目前的矿工收益来看,按照目前价格每天大约在2000多万美元,区块奖励占据矿工收益的绝大部分,而交易费占据比例很小。一旦代币奖励变小或者消失,那么,矿工只剩下交易手续费的收益。
与此同时,在比特币的设计中,它对区块大小进行了限制,它交易处理能力有天然的限制,这意味者手续费模式可能无法为矿工带来足够的激励。因为交易的规模不可能很大,而且很多持有者交易的次数并不频繁。以手续费维持矿工的收益水平可能无法持续。如果矿工的收益得不到保证,那么矿工有什么意愿来贡献算力?如果矿工得不到恰当的激励,那么比特币的网络就无法得到可持续的安全。这是比特币未来需要解决的问题。
CKB的代币经济模型希望激励用户、开发者和节点运营者持续为安全做贡献。跟多数区块链不同的是,CKB经济模型的核心对象不是计算,而是状态。它对利益相关者的奖励通过Cell容量和交易费。
目前Nervos CKB主要的成本来自于状态的验证和存储。全节点验证新状态需要付出计算成本,状态的存储需要全节点持续提供磁盘空间。CKB针对存储空间成本作了更合理的设计,使用Cell的用户,其付出的存储成本同时跟时间和空间相关。也就是占用容量越大、占用时间越长,用户要付出的成本越高。这样设计的好处是用户占用Cell容量,就要付出更多状态成本,这促使用户做出更理性的选择:尽可能少地产生Cell,提高存储效率,同时把闲置的Cell租借给其他人。
除了存储成本,对Cell状态的更新或转移都会产生交易费用。矿工设定交易的费率,由市场决定实际的交易费用。另外,Nervos的交易费采用了经济抽象,也就是矿工可以接收CKB的原生资产作为交易费用,也可以接收其他自定义的资产作为交易费用。这也是因为其原生资产的核心在于保护CKB共同知识的存储安全,而不是计算为中心。这样可以提供更好的用户体验。
Nervos的原生代币是CK Byte,代表了Cell的空间。比如一个人拥有100个CK Bytes,TA就可以创建空间大小为100 Bytes的一个或多个Cell。这个空间可以用来存储资产、应用状态或其他数据。
上面提到CKB的代币激励机制考虑了其长期的可持续性。为什么这么说?CKB有一个二级发行的机制。为什么叫二级发行?它是相对于基础发行来说的。比如比特币的区块奖励就是基础发行,每4年减半一次。而CKB除了跟比特币一样有减半的基础发行之外,还有额外的二级发行。
为什么会有二级发行?这不是产生通胀吗?这里首要考虑的是链的可持续的安全。它可以激励矿工持续为链提供贡献,同时,对于代币的持有人来说,通过同比发放代币,也不用担心稀释问题。
在Nervos的Layer 1,其原生代币代表的是对全局状态的占用。它是一种稀缺的资源,它会限制状态存储的增长。因此,它在市场上会因为其资源的稀缺性而变得有价值。
基础发行减半模式意味着两个事情:一是,原生代币的基础发行逐渐减少,由于原生代币代表了对全局状态的占用,随着对全局状态存储空间需求的增加,原生代币能够捕捉到Nervos整个生态增长的价值。二是,如果原生代币发行完毕,矿工的收益将有限,对系统的维持安全不利。
在这样的背景下,Nervos CKB二级发行的设计出现了。Nervos CKB考虑了存储状态的时间属性,不是采用一次性收费然后完结的方式。它通过二级发行,相当于对使用原生代币CK Byte存储状态的用户收取状态租金,也类似于通胀税。
而有些用户并没有使用原生代币CK Byte存储状态,因为有二级发行,他们也承担了通胀。这个时候怎么办?Nervos有一个NervosDAO,它允许用户将其原生代币CK Byte锁在一个自动合约NervosDAO中。所有将原生代币CK Byte锁入其中的用户,都能获得二级发行的相应比例代币。
举个例子,如果所有CK Byte的50%被用户用于存储状态,所有CK Byte的30%锁定于NervosDAO合约,剩余20%处于流动中。在这种状态下,二级发行怎么分配?二级发行的出块奖励中,50%会奖励给矿工,30%会按比例分配给在NervosDAO中锁定代币的用户,剩余20%的代币,通过社区的治理机制来处理,在达成治理共识之前,这部分代币会被烧毁。
这个二级发行机制根本目的是保持系统的可持续的安全。矿工在挖矿时,不仅可以获得基础发行的代币奖励和交易手续费,还可以根据状态存储占用获得一定比例的二级发行代币。将来基础发行完毕之后,矿工可以继续获得状态租赁收益,维持系统长期安全。同时,它的NervosDAO设计还兼顾了持币者的利益,不用担心代币稀释问题。
Nervos CKB原生代币CK Byte如何捕获价值?
CK Byte捕捉价值从两个方面来看,一个是对存储空间的需求规模。由于CK Byte代表了对全局状态空间占用。随着越来越多的应用将其最新状态(资产或数据等)存储在Nervos CKB上,那么对CK Byte的需求就会增加,原生代币的流通量减少,CK Byte的价值会提升。也就是说,CK Byte的价值跟Nervos CKB网络经济的总价值相关,最终CK Byte的价值有多高,取决于对Nervos CKB链上状态托管的需求规模有多大。
二是,由于CKB有二级发行机制,为了避免被稀释,代币持有人也有动力将其代币锁定在NervosDAO上,这有利减少流通量和降低流通的速率。
此外,Nervos CKB的代币价值提升能让所有参与者获益,存储资产用户的资产更加安全、矿工的收入更高、代币持有者的代币更有价值、开发者可以存储更大的价值。代币的价值越高,就越能激励更多人参与,从而提升系统的安全性和实现可持续。
如果将来原生代币CK Byte价格比较贵,早期的开发者可以采用租赁的形式来进行项目的启动,以较低的成本来完成产品的市场验证;此外,也可以将CKB上资产转移到Nervos网络中其他交易型的区块链,以降低成本。
结语
通过layer1和layer2的分层设计,Nervos CKB 让它们各自发挥自身的优势,从而兼顾安全和性能,为构建大规模人群采用的dApp准备了基础设施。此外,它的二级发行的代币激励机制使其解决了分布式系统长期可持续性发展的问题。Nervos在公链设计上有不少自身的特色,这让人期待它的落地和后续发展。
评论
查看更多