金融超市网
金融您的位置:首页 >财经 >

Nervos Q4路线图公布:推进 DeFi、基础设施、ayer 2、开发者体验以及研究等方向

发布时间:2020-09-16 12:48:56 来源:金色财经

9 月 15 日上午 10 点,Nervos 举办了面向社区的首届 Town Hall Meeting。在会议中,首席架构师 Jan 介绍了今年接下来的主要规划,并和 Kevin 共同回答了来自社区的提问。四季度,我们将在 DeFi、基础设施和 Layer 2、开发者体验以及研究方面投入更多精力。越来越多的工具将在第 4 季度出现在 Nervos 的生态之中,我们会构建一个开放、繁荣的生态系统,和社区共同推动生态持续进步。

以下是我们为 Nervos 中文社区小伙伴们编译的首届 Town Hall Meeting 实录,欢迎大家查阅。

DeFi

9O1NpIqCgpxBApaD8b2CJbf6U3UxxgAsV7dgK7I0.png

DeFi 层级图

DeFi 是我们下一阶段的重点工作之一。
在 DeFi 层级图中,底层是 Token 标准,比如 ERC 20、ERC 721 等 Token 标准,只有依赖这些 Token 标准,我们才能建立上层的应用层。第二层是稳定币和资产,比如 USDT、USDC。再上层是去中心化交易所,借贷协议等。另外一部分是预言机,它提供的数据服务对上层去中心化应用非常重要。我们的路线图将围绕这个 DeFi 层级图展开。

关于用户自定义 Token(UDT)

E7P7ZQlnYkt0bP52b1wGTkxwF0vX4UM4i22ohgXT.png

UDT 类似于以太坊上的 ERC Token。当用户自定义 Token 标准确定之后,任何人都可以在 CKB 上发行 Token,而这些 Token 完全可以被整合进各种 DeFi 应用中。第一个 UDT 标准是 SUDT(Simple UDT),它是一个极度简单的 Token 标准,和所有的 lock script 兼容:

https://docs.ckb.dev/docs/rfcs/0025-simple-udt/0025-simple-udt

第二个 UDT 标准是 Anyone Can pay,它是一个 lock script,允许用户以以太坊或 EOS 账户模型的方式收发任意数量的 UDT:

https://docs.ckb.dev/docs/rfcs/0026-anyone-can-pay/0026-anyone-can-pay

CKB 上的 Cell 模型是一种极度抽象和灵活的编程模型,我们可以在 CKB 上实现 UTXO 或者账户模型。在 CKB 合约里,UDT 标准不仅是接口,我们还会提供库(Library)来实现这些 UDT 标准。而这些库都会由我们的合作伙伴,Trail of Bits、派盾等安全机构进行代码审计。这些库可以供许多项目反复使用,这意味着开发者在开发时,不必反复地部署和实现同样的 UDT 合约,而是能直接调用库里的代码进行使用。当然,开发者也可以把库和自己的代码整合在一起,以获得更多不一样的功能。第三个 UDT 标准是 NFT(Non-Fungible Token),非同质化Token。现在仍处于草案阶段,非常欢迎大家加入讨论,分享想法和意见:

https://talk.nervos.org/t/rfc-ckb-nft-draft-spec/4779

关于资产发行

有两种方式可以在 CKB 上创建资产。其中包括在 CKB 上发行的原生资产,以及从其它区块链项目跨链到 CKB 上的资产,目前我们会把更多的精力放在后者。
toCKB 就是这样的一个资产跨链系统,它由一系列协议、CKB 合约和链下模块组成,是 CKB 和其他区块链之间资产跨链的桥梁。

nXMSKL9Gc6ZXeBNHcHB6AhvGNo1V5GvdHqvQASDn.png

在今年第 4 季度,我们将发布 toCKB 的第一个版本,届时大家可以通过抵押一定数量的 CKB Token 成为签名者,从而将其他区块链上的资产迁移到 CKB 上来。更多细节可以访问:

https://talk.nervos.org/t/tockb-an-asset-cross-chain-system/4945

CKB 可以非常灵活的支持各种密码学原语,这也让 CKB 在跨链方面有着很大的优势。因为跨链的核心就是对其他区块链上的交易进行验证,而负责验证的智能合约需要支持各种密码学原语,从而验证交易。
举个例子,如果一个区块链想要验证在以太坊上的交易,它必须支持 Keccak 哈希算法,如果想要验证在 Zcash 的交易,则需要支持 blake2b 哈希算法。所以,如果想要连接更多的区块链项目,那就必须得支持更多的密码学原语,因为各个项目之间使用的哈希算法并不相同。而对密码学原语的灵活支持,是 CKB 相比其他区块链更有优势的地方,所以在 CKB 上建立一个通用的跨链框架是完全可能的。目前 toCKB 项目代码已经开源,正在快速开发和迭代当中,大家可以访问 GitHub 查看相关代码:

https://github.com/nervosnetwork/toCKB

关于去中心化交易所(DEX)

层级图的最上层是去中心化交易所(DEX)。我们目前聚焦在两个 DEX 协议中。

EeS9vfRZk5CnXESfXOpQU0ZCT1BVIg2bcBe8IBJJ.png

CKB 是一个验证平台,而不是计算平台,这样的特点让许多交易只能在链下进行。这样的设计方式,让一些 DEX,比如 EtherDelta 在 CKB 上实现起来比较困难,而对于 0x 这样的 DEX 设计,在 CKB 上实现会非常容易。同时由于这样的设计特点,CKB 上的 DEX 性能会更好。图中所提到的 2 个 DEX 协议——自动化做市商(AMM) & 订单簿(Order Book) ,都会聚焦于链下(包括 Layer 2)的实现。我们的目标是在今年第 4 季度,发布这两款 DEX 产品,免费供所有人使用,任何人都可以用这个 DEX 模板构造 DEX,或者基于此模板给 DEX 添加更多的新功能。我们希望这两个 DEX 产品,能减少未来开发者开发可能遇到的障碍,让 CKB 上生态更好地发展。

关于预言机(Oracle)

我们也在和一些伙伴合作,在 CKB 上构建预言机。

WJhYAWQ28K6VdQBkrK1Gw3n5bz2nuPM9ZsqxZbmy.png

我们目前正在做的一部分工作是基于 Coinbase 价格预言机,利用 Coinbase API 获取数据,然后通过验证签名,来确认数据来自 Coinbase。此外,我们还将和 Chainlink 和 Band Protocol 合作,将现实世界的数据和 API 聚合并连接到智能合约中,方便开发者更好地构建 dApp。

OgreRmABoOzqKMeSXL5v4K3AlGreNcjdFtR8ZY69.png

总的来说,我们将在这五个方面同步发力,大家在今年年底前就可以看到这些产品陆续发布。这些产品对开发者在 CKB 上构建更多更繁荣的 DeFi 应用非常重要。长期来看,核心团队要做的事情就是构建一个开放、繁荣的生态系统,并给开发者提供更好的工具,共同推动生态持续进步。

基础设施

硬件钱包支持

目前,Neuron 团队正在致力于推进与 Ledger 等硬件钱包的整合,在今年第 4 季度,将能够使用硬件钱包存储 CKB 。

WqFNmzDTkArh1mnUU70mFKD0w6Fzl84LFEBxsvvG.png

开发者工具

我们一直在致力于为开发者提供更好的开发工具。第 4 季度将会有更多的功能被添加到 CKB Studio IDE 当中,其中包括开发工具 Lumos & Capsule 的整合等。另一个很重要的开发者工具是 Polyjuice。以太坊目前有着最大的区块链开发者社区,即使 Solidity 相对 Rust 或 TypeScript 有很多不完善的地方,但大家都已经习惯了使用 EVM 和 Solidity 进行开发。而通过 Polyjuice,Nervos CKB 之上的一个 Ethereum 兼容层 ,以太坊上的 dApp 可以部署在 Polyjuice 上运行。值得一提的是,我们并没有构建一个只为 Ethereum 量身定做的账户层,我们从 Polyjuice 中提取了核心账户层,有了这个通用库,开发者可以自由地集成任何想集成的账户层。目前我们已经成功迁移了 ENS(Ethereum Name Service)到 Polyjuice 上,这部分的相关代码大家可以在 GitHub 上查看:

https://github.com/TheWaWaR/ens-polyjuice

第 4 季度我们将完成剩余的测试,让 DeFi 应用更容易地迁移到 CKB 上。

hz0WsAFEEgC3VTYLu13znbwGAzfF3WZtfn1GTU6v.png

开发者体验

我们会为开发者提供 Nervos dApp 示例应用程序方便开发者学习。此外,也会提供开发者学习路线图和学习计划,以帮助新开发者一步步在 Nervos 上构建 dApp。同时,我们将持续完善开发文档。

fHZzsCitt3jI7zrIrqbpHSagkYGSrNxn9r3Tg6g4.png

轻客户端

CKB 轻客户端几乎可以完成所有 CKB 全节点能做的工作,而且无须消耗很多的硬件和带宽资源。轻客户端是区块链项目可用性非常关键的一步,CKB 轻客户端对用户非常友好,能让 Nervos 能被更多人使用。目前用户需要用去信任的方式运行一个 CKB 全节点,但在未来,用户可以通过浏览器里的扩展程序、手机应用程序、甚至是 IOT 设备,使用 Nervos 的 dApp。另外,轻客户端也是 CKB 和其他区块链跨链协议很重要的一环。在今年第 4 季度,我们将发布一个轻客户端原型 ,其中包含手机和电脑端的 Demo。

zJO9m5nosleEfwU4gqoLwYhEAhzuu1elHeEVhQd2.png

Layer 2

大家都知道,Nervos 是分层架构,CKB 是 Layer 1 区块链,也是上层生态的基础。目前市面上有很多 Layer 2 协议,有些协议只停留在学术研究讨论的阶段,而有些协议更具实操性和应用性。我们目前主要在研究的是两类 Layer 2 协议,支付通道和 Rollup。几个月以前,我在 Talk 论坛上发布了一篇通用支付通道方案的文章,之后我和几个研究者进行了讨论,觉得可以把它实现出来:《适用于 CKB 上任意一种资产的通用支付通道方案》。于是之后我们组织了研究员和开发者实现一个通用支付通道设计的原型,目前进展很顺利,预计将在今年第 4 季度发布产品原型。通过这个原型,我们可以测试各种不同的产品想法,举个例子,可以结合稳定币组成一个稳定币通道来实现支付功能。另一个项目是 CKB 上的 Rollup 框架:Godwoken。Rollup 是一个使用 Layer 1 作为数据有效性引擎的 Layer 2 协议,它在保证安全性的情况下,很好地提升了性能,是目前非常具有可操作性的一个 Layer 2 方案。Optimistic Rollup 和 Zk Rollup 是 Rollup 框架里两个不同的协议,Godwoken 在未来都将会支持。不过在第 4 季度,我们将主要聚焦在 Optimistic Rollup 的实现,届时会发布一个 Optimistic Rollup 的模板。

WjF2wgRbcrBKC3NAFNoXQp8moA1tFmpfVBqVntTv.png

研究

以下是 Nervos 正在进行的研究项目:
Flyclient 是 CKB 上为轻客户端设计的一个快速同步协议,它可以帮助轻客户端更快的同步数据。https://talk.nervos.org/t/minimum-viable-light-client-via-flyclient-style-checkpointing/4774
为 CKB-VM 添加 RISC-V 的 B 模块和 V 模块扩展,这将让 CKB 能更好的对密码学原语进行支持。
专门为 CKB 编程模型设计的智能合约编程语言可能性的探索。研究工作刚刚开始,这是一个长期的研究项目,我觉得我们能在 2021 年看到一些结果。
和 Grin 社区合作,在 CKB 上实现 MimbleWimble。它将给 CKB 提供隐私的功能,可以实现用户在使用 CKB 或任何其他发行在 CKB 上的 Token 交易时的隐私性和匿名性。在今年第 4 季度,我觉得我们就能看到一个在 CKB 上实现 MimbleWimble 的 Proposal。
和安比团队合作实现 ZK Rollup。
为 Nervos 这个分层网络,设计一个统一编程模型(Unified Programming Model )。这个最终的目标是想在 Layer 1 和 Layer 2 上都使用相同的编程模型。举个例子,基于此编程模型设计的智能合约,能在不同的地方运行,无论是在 CKB 上,在 Godwoken Rollup 上,还是在 CKB 的侧链 Axon 上都可以运行。一个调用智能合约的交易能被分层网络的各个协议所接受,用户可以自行决定要把交易发送到哪里,无论是 Layer 1 还是 Layer 2。以通用支付通道为例子,以 TypeScript 写的合约可以在 Layer 1 和 Layer 2 通用支付通道中运行,而统一编程模型(Unified Programming Model )比这还更进了一步。这部分的研究工作尚处于早期,我们仍然在探索各种不同的可能性。

BMcM76QqWSP3g6gLorElbsSxfAQotZr6AYXTn52P.png

互操作性 2.0

wQXed0xwjxRePdCeeuvgTtjzbbc26bg8DJazgGfE.png

最后我想和大家聊聊互操作性 2.0。我们已经看到区块链能够如何和彼此交互,也可以看到信任节点的方案或者无需信任的方案。许多区块链项目也致力于互操作性,或者所谓的跨链,然而大家都是从开发者的角度出发,忽略了用户体验。举例来说,如果一个用户想将他的比特币移转到以太坊上,并且将它抵押在以太坊的 DeFi 上,用户需要使用两个完全不同的钱包,一个是比特币钱包,另一个是以太坊钱包,你必须学习两种完全不同区块链协议的知识。如果我们拿互联网来做类比,互联网有两个传输协议,一个是 TCP, 一个是 UDT 传输协议,如此一来,就会被分成两个不同的类型。每次用户要使用网页时,他必须找到并下载许多适配两种不同协议的浏览器,并且在这两个平行世界之间来来回回。这样的用户体验肯定会很槽糕,但很显然我们现在的互联网世界并不是这个样子。为什么会这样呢?关键的原因是因为互联网采用的是分层架构,我们也相信区块链应该要像互联网一样发展。在我们看来,用户根本不需要知道他们具体使用的是什么协议。当我们打开网页收 Email 时,他们不需要知道他们用的是 TCP、IMAP。互联网上所有的技术细节是可以折叠起来,无需让用户感知的,只要开发者知道就好。所以同理,为什么我们要让用户知道他现在使用了什么区块链协议呢?他们不需要知道,他们只需要关心自己的资产。这也是 Nervos 做得更好的地方。

gXGMpPTRjHNJb7BfhFyINLNsrPBGyFxMHm3DHHQd.png

在先前的介绍里面有说到,会有越来越多的工具在第 4 季度出现在 Nervos 的生态之中。目前有社区 Grants 在做的 PW-SDK, 他们实现了让 lock script 可以兼容其他区块链。通过 PW-SDK ,用户可以将他的资产,以比特币或以太坊甚至其他公链的地址的形式存放在 Nervos 上,并且以以太坊或者比特币的钱包控制它,这简直太不可思议了!而其它开发者也可以用这套工具,打造出兼容以太坊、比特币、EOS 等多链钱包的 dApp。另外还有 UDT 和 toCKB,一个是 Token 协议,另外一个是通用资产跨链到 CKB 的桥梁。Bitcoin 和 Ethereum 上面的资产可以直接迁移到 CKB 上。而 Polyjuice 是以太坊 EVM 的兼容层,以太坊上的 dApp 一样可以迁移到 CKB 上。这四块拼图,如果放在一起,会有什么事情发生呢?我们可以看看这张图,互操作性 2.0(跨链 2.0)。

i0SArqoq1XsrPgF6R6yP5Ub6tZJcsQTVwDxV1Z96.png

这张图上面有各种不同的区块链网络,包括比特币、以太坊和 EOS。每个区块链上有各自的用户和钱包,在底部是不同的区块链,所有的区块链资产都在不同的区块链上面发行。拿比特币来举例,通过 toCKB ,我们可以将 BTC 从比特币跨到 CKB 的链上,这个过程用户可以直接用比特币原生的钱包完成,而不需要用 Nervos 的钱包。在资产转移到 CKB 上之后,这个迁移过来的 Wrap BTC 一样可以用比特币地址和钱包去控制。但是它存储在 CKB 链上,此时用户已经可以用他的 Wrap BTC 去玩各种 DeFi 了,而且这些操作一样可以透过 BTC 钱包完成。这样的流程在 Ethereum 和 EOS 的案例上也是一样的,用户一样只要用一个自己的钱包和地址就可以完成这些跨链的资产应用。这就是互联网运作的方式,也是互联网之所以为互联网的原因。今天区块链上的钱包对 Nervos 来说就像是互联网的浏览器一样,不管他们用什么区块链钱包,他们都能接入到区块链的网络中。这当中并没有迁移成本,很多的技术细节也是隐藏在其中的。
这就是我所谓的互操作性 2.0,也就是 Nervos 为何能够整合所有的区块链在 Nervos 上。而最酷的地方是终端的用户什么都不用做,就能享受到这些服务。

以下是我们为 Nervos 中文社区小伙伴们编译的首届 Town Hall Meeting 实录,欢迎大家查阅Q&A

Q1:在上个月有看到 Nervos 整合 Coinbase 的 Rosetta ,这算是你们和 Coinbase 的合作吗?如果是,路线图大概是怎样?

Kevin:我想最简单的回答就是 Yes,目前关于这个合作有两个节点已经快要完成,会再和大家同步。可以查阅相关信息:

https://www.chainnews.com/zh-hant/articles/317840666445.htm

Q2:目前在哪里可以找到关于 Rollup 的最新信息?

Jan:我们有个 GitHub 的 Repo ,在那里可以找到关于 Rollup 的进展:

https://github.com/nervosnetwork/godwoken

Q3:Nervos 有正在实现 ERC20 对币安智能链的跨链吗?

Jan:没有。我们的跨链方案 toCKB 是通用的跨链方案,toCKB 基本上可以实现 CKB 和其他任何链的跨链。也就是说,让 CKB 和币安链进行资产跨链是完全可行的。我们目前正在尝试对于各种链的跨链支持。

Q4:CKB 上的 AMM 如何做到比以太坊更好?

Jan:在功能上都是一样的,但是在设计和架构上并不一样。AMM 在 CKB 上最好的实现方式,是结合链上的智能合约和链下的协议。因为我们在 AMM 上是可以共享状态的,所以可能在设计上 CKB 的 AMM 会更复杂,但是也更方便扩容。但这些都是对开发者而言的差异,对于用户而言都是一样的。Kevin:我想就这点展开一下,不只是 AMM ,任何 dApp 在 CKB 上都可以善用分层架构,例如 State Channel、Side Chain 以及和其他链的桥接等等,这些都是 AMM 或其他的 dApp 可以利用的基础设施。Layer 2 可以为这些 dApp 提供更好的性能和更低廉的手续费。

Q5:在 Nervos 上会有哪一种稳定币?是现有稳定币到 Nervos 上开发,还是会有新的稳定币解决方案?

Kevin :这两种都会有,比如像 DAI 这种抵押型的稳定币,或者基于法币抵押的稳定币,如 USDT、USDC,甚至最近还会有一些新的稳定币解决方案,我们希望在稳定币上也能够有多样性。

Q6:Layer 2 的支付通道如何做到?和其他区块链的 Layer 2 实现会有何不同?

Jan:我们在支付通道上可以做很多事情,最近在做的是两个用户之间的支付通道,未来我们还会将许多的支付通道连接变成支付通道网络。如此一来,这个网络上的任意两个人就可以互相连接,而且是可以无限扩容的。如果你稍微想象一下,当我们在这个世界上想要连接数十亿的 IOT 装置,在那个时候区块链上的唯一解决方案就是支付通道网络,因为当数十亿笔交易同时在一个网络上发起时,一万 TPS 可能也是不够的,反观支付通道网络,它就是一个可以在未来被验证的解决方案。除此之外,支付通道网络也是互联网的补完,因为在互联网上并没有价值传输层,如果想要订阅一个 YouTube,需要先注册并且在看这些视频前,先支付给 YouTube 费用。但如果有了支付通道网络,我们就可以在看的同时自动付款给 YouTube,甚至不需要在 YouTube 上创建账户。也就是说,如果你和 YouTube 建立了通道,当你开始看 YouTube 的 Primmer 视频的时候,你是可以同时透过支付通道去自动付费的,这和我们目前世界上所看到的支付方式完全不同,这也是为什么我说支付通道可以让现在的互联网世界更美好的原因。

Q7:如何看待「未来将只会剩下两到三条公链」这种论述,如果同意的话,那 Nervos 有机会成为其中之一吗?

Jan:首先,我不同意这个说法,我认为在未来会有很多的公链,因为有价值的资产在当前的世界就是散落各地的,所以我认为未来一样会有很多的公链可以发行资产,但只会有两三个公链可以做资产的价值存储。就像我在互操作性那张图说的一样,所有的用户可以透过某一条有价值储存能力的公链提供的服务去操作各个链上发行的资产。

Q8:目前似乎很少听到 Nervos 在 DeFi 领域的声音,你们如何看待 DeFi ?会觉得现在开始发展 DeFi 为时已晚吗? 

Jan:DeFi 是一个长期的发展方向,永远不会太晚。

Kevin:这也是我很有感受的一个点,我们是非常前沿的区块链开发团队,对于区块链的技术发展也有十足的信念。我们希望看到这个技术为世界带来巨大的正向变革,就像互联网一样。我们知道,在区块链的世界里瞬息万变的价格,会让大家觉得区块链似乎发展的很快,但这容易让我们忽略了整个区块链大的发展脉络。

如果放到整个周期来看,甚至现在投入互联网也不会太晚,因为互联网也还很年轻,所以回到区块链,我相信这是一个新一代的长达数十年的范式转移,因此我们必须具备长期的视野,去考虑未来 DeFi 需要的区块链基础设施该是什么样子。

Jan:对的,互联网依旧很年轻,仍然在等待通用支付通道网络~ :)

Q9:我们在选择 Godwoken、Open Tx、GPC(通用支付通道)等扩容方案时需要有什么样的权衡吗?

Jan :这是一个好问题,这些 Layer 2 有不一样的特性和功能。

比如支付通道,具有低延迟的特性,这对打游戏来说很棒,但它有个缺点,就是需要先抵押资产才能建立通道,这是不友善的地方;你也可以用 Rollup,Rollup 是一个折衷的实用方案,但是性能上是有限制的;当然你也可以用侧链,但需要假设不会超过 1/3 的侧链验证者作恶。如果是目前的情况,我会推荐你先使用 Rollup,如果 Rollup 不能满足的你的场景,你可以再去探索侧链和支付通道。

Q10:将 MimbleWimble 变成一个 sUDT 交易过程的通用协议是你们的目标吗?

Jan:sUDT 是简易的 UDT (用户自定义Token)协议,没有太多额外的功能,MimbleWimble 在 CKB 上的目标是让隐私层可以兼容 sUDT ,让在 sUDT 上的资产可以具有 MimbleWinble 的隐私性。

故事才刚刚开始,我们还有很多的工作要做。以上很多都是基于 Nervos CKB 的独特架构才能做到的事情,我相信实现这些只是时间早晚的问题,因为我们有非常棒的开发和研究团队。

热点推荐
随机文章