Math Show #008 – 公链的 DeFi 进阶之路

7月16日晚7点,麦子钱包举办了 Math Show 的第8期,有幸邀请了 Kava 全球业务发展副总裁 Aaron 和 Nervos 基金会联合发起人 吕国宁,特邀主持人链闻研究总监 潘致雄,带大家了解“公链的 DeFi 进阶之路”,以下是当晚的精彩撰录。

Aaron:

我是从 2016 年开始进入区块链行业,当时在比特币中国担任国际交易所的副总裁,后来去了另一个小交易所 GJ.com 担任 CEO。我个人其实从 2012 年就开始玩比特币,接触 DeFi 这一块也比较早,目前是担任 Kava 的全球业务副总裁。

简单来说 Kava 是 一个 cosmos 上的跨链 DeFi 协议 是提供去中心化的借款平台,也有自己生产的稳定币叫 USDX。

今年关于 DeFi 的话题已经很火了,我先从我个人的角度讲讲 DeFi 的发展。我在加入 Kava 之前,其实已经是以太坊上的一些 DeFi 应用的深度用户,一直觉得这个领域会有很大的发展空间。因为区块链的核心就是去中心化,所以我觉得行业的产品形态最终也会往去中心化的方向去走。

DeFi 最大的优势就是公开透明,拥有无缝地互操作性,不需要许可也没有进入门槛就能使用到金融服务。虽然目前整个行业的产品还是会面临一些用户学习门槛以及产品体验的问题,但整个方向在向前发展,从去年到今年,我们看到流动性方面有一个爆发式的增长。我记得去年,整个 DeFi 平台锁定的资产量从3亿美金增长到12月底的7亿美金左右。今年由于流动性挖矿的兴起,增长变得更快。现在有超过25亿美金的资产被锁定在 DeFi 中,这是因为协议和 Dapp 提供了大量的激励措施,使 DeFi 中锁定资产得到价值增长。

DeFi 目前的主要应用是三块:借贷、稳定币和 DEX。而 Kava 占据了其中的两块,不仅提供主流数字货币的借贷服务,还由系统根据抵押资产的价值自动发行我们的去中心化稳定币 USDX。所以我们的平台是有两套代币模式,Kava 是权益管理型代币,只用于保证网络安全及治理投票,也会作为 CDP 的手续费结算代币。USDX 就是 CDP 系统的价值输出型货币,与美元1:1锚定。

因为 Kava 的网络架构是建立在 Cosmos SDK 上,这意味着天然能够支持跨链互操作性,所以可以接受多种类型的加密资产作为抵押品。

Kava 拥有自己的主链,上个月10号刚对主网进行了 kava-3 的升级,正式支持 CDP 借贷平台的运行。最近在推动由社区治理投票来开启 USDX 的铸币奖励计划,这个也是由社区发起的一项代币通胀提案,目的是通过奖励刺激来提高早期的产品使用率。有380万左右的 KAVA 会在52周内奖励给在 Kava CDP 上抵押 BNB 铸造 USDX 的用户,换算下来每周会奖励74,000 KAVA 给用户。最新的15号提案已经开始投票,如果通过的话奖励会在29号开始启动。

因为 Kava CDP 支持的第一个抵押品是 BNB,而由于 BNB 跨链桥的限制,目前系统的抵押还存在一个上限,最近两次都是额度开放几分钟就触顶,团队也正在积极解决这个问题。目前 CDP 平台已经抵押了380多万美元的 BNB,贷出了100万 USDX。

不过 Kava 目前在做的不仅仅是借贷,也在积极参与一些公链的生态建设。目前 Kava 正在开发自己的公链,后期可以灵活地为治理和奖励等功能建立更好的支持。拥有自己的公链也意味着依靠自己的验证者网络来保证交易的安全性和可靠验证。与以太坊相比,这是一个很大的优势。在以太坊中,你必须依靠他们的网络来验证你的交易,当链上有很多其他应用和用户时,可能会面临堵塞。虽然建立自己的公链有成本,比如建立验证者网络,这需要时间和精力来积累一个规模庞大的群体来开始,但我们非常感谢在早期的时候,我们的主链就得到了验证者社区很多的支持。随着自身产品和稳定币的发展,我们将专注于为开发者提供区块链工具,让他们在我们的网络之上构建,并直接获取 USDX 的使用价值。我相信未来 Kava 会成为 DeFi 行业内一个不可或缺的存在。

随着区块链之间桥梁的增多,Kava 可以通过自身的跨链互操作性优势,为其他 DeFi 应用以及 DEX 提供具体的服务,比如提供稳定币、市场数据和贷款,为在区块链领域建立一系列新的金融产品和应用奠定基础。

吕国宁:

我 2014 年初就进入了这个行业,做过很多不同的事情,曾经做过交易所,做过钱包,维护过矿池,现在是 Nervos 基金会的联合发起人兼 COO,同时我也是 Nervos 和火币公链的合作项目的负责人。

Nervos Network 是面向下一代加密经济的底层基础设施,我们的特点是分层架构,Nervos 底层的 Layer1 是一条 public permissionless 的公链,叫做 CKB(Common Knowledge Base),用于清算和验证以及多资产价值存储。在上层,我们支持类型丰富的 Layer 2 生态,为应用提供无限的扩展能力。Nervos CKB 是一条通用公链,但是对 DeFi 的观察,思考和更好的支持是我们发展 Nervos CKB 的一个重要目标。

我今天分享的主题是 Nervos 在 DeFi 上的思考、努力、以及成绩。

先分享我们的观察和思考:

第一个思考:公链作为底层支撑平台,跟上层丰富的 DeFi 生态之间的关系。

观察最近大半年各种 DeFi 生态产品和资产规模爆发,并且催生了 Yield Farming 这种流动性即挖矿模式。目前主流的 DeFi 生态主要是基于 Ethereum 平台,不知道大家注意到没有,蓬勃发展的 DeFi 生态并没有对 Ethereum 的平台价值产生直接影响。这种情况如果长期持续下去,可能会导致长期发展的不平衡,这种不平衡产生的问题容易积累并最终产生更大的危机。

第二个思考:智能合约可组合性的安全问题。

智能合约本身并没有问题,但是智能合约的可组合性像是打开了一个潘多拉魔盒,催生出一系列的创新产品和服务的同时,也带来了安全层面的更多不确定性。

关于合约的可组合性,你无法确保通过合约组合产生的新产品是否有漏洞,或者安全问题。这是由于当前这一代智能合约平台,这个问题是由链上计算的编程范式决定了的。

第三个思考:关于原生去中心化资产的地位。

DeFi 的生态中,原生资产(wbtc, eth…)在 DeFi 各个项目的的 Collateral 占比越来越低。而 Stablecoin(USDT)的占比越来越高,包括 USDT 的高速增发让其市值稳稳占据市场第三。最大部分的 USDT 发行在 Ethereum 平台上,所以 Ethereum 作为底层公链,已经成为事实上的 stablecoin transfer chain,无论从交易数量还是价值传输总量来看,stable coin 都占据了主导。

Ethereum 底层平台提供的交易带宽是非常有限的,而整个 DeFi 生态跟 stablecoin 争夺有限的交易带宽,导致交易手续费 ( gas )长期高居不下,交易摩擦越来越高,从更长远来看,这个发展趋势对 DeFi 生态是非常不利的。

第四个思考:技术总是不断迭代和发展,并走向成熟,这一规律不会改变。

我们不难设想,随着时间推移,DeFi 的产品,服务背后的技术一定也会越来越复杂多样。但是站在用户端,复杂的产品背后的细节一定会被抽象,然后很好的隐藏掉。举个例子,我们现有了支付宝,之后又了微信支付。一开始,我们要针对不同的二维码选择不同的支付方式,但是现在有了很多 Agent 整合各种支付取代,然后给用户一个统一的支付二维码,于是用户看到二维码就掏出手机,不管是用微信还是支付宝,扫一下就都能完成支付。当有了统一支付,越来越多的用户就不爱继续用那些排它的支付方式了。DeFi 生态也一样,一定会产生很多新的聚合的机会,帮助用户把不同平台,各具特色的 DeFi 产品整合起来。随便举个例子,用户用 stable coin,他不关心是 USDT 还是 USDC,不用关心是在 Ethereum 平台上,还是 Nervos 平台上,钱包客户端,DApp 都会帮用户抽象并隐藏掉。所以越是能朝着这个方向发展的公链,在将来就越有竞争力,这就对公链的跨链和协作能力提出新的要求。

下面我分享一下基于以上四点,Nervos 所做的努力。

首先,在考量长期的发展下,我们需要关注的是底层基础设施和上层业务层同步发展,避免发展失衡,这里核心是如何让上层的 DeFi 在蓬勃发展的同时,下层的底层公链也能够捕获到价值,这是我们在思考我们的经济模型的时候意识到的重要问题。关键是协议的设计能平衡好不同层发展的同时,还要做到公平的利益分配,这就好比蛋糕(生态)能做的多大,其实取决于蛋糕怎么分。在 Nervos 的经济模型里,我们追求的是公平和利益对齐,你的收获一定跟你的付出对等。

在此之外,我们的机制设计有一个重要的核心是让上层的业务对底层的稀缺资源产生依赖,而这个稀缺资源就是状态计算/储存资源。持有多少 CKB 就能存储多少底层状态数据,业务发展越繁荣,对底层状态存储的需求越多,对 CKB 的需求也就越多。所以 CKB 很像土地,上层的 DeFi 你可以想象成商业中心,商业中心越繁荣,土地就越值钱。这个机制很好的解决了应用生态和底层公链作为支撑平台,互相促进发展的问题。

在合约可组合安全性方面,我们有自己的思考。首先公链开放的生态环境和链上计算模型,决定了当前合约可组合性的风险只能通过开发者这边通过第三方安全审计,以及一系列安全制度和工具来尽量避免。这些都做完之后,剩下的风险由用户来直接承担。这是当下主流的链上计算模型范式决定了的。从根本上解决这个问题,需要从编程范式入手。而在 Nervos 这边,我们采用的是链下计算,链上验证这一套全新的编程范式。合约的可组合性,以及最终的状态结果,是在链下,也就是链外计算的,当计算完成得到结果后,辅以密码学证据,提交到链上,由链上的密码学函数来验证结果状态和状态的密码学证据,如果通过验证后,状态才能上链。也就是说,无论合约,或者业务的可组合性由多复杂,都可以通过密码学来确保验证的结果准确性,一致性,从而避免了链上的计算带来的一系列不确定性风险。

这种新的编程范式,将把 DeFi 生态的安全性带到一个更新的高度。关于如何扩展带宽的问题,我们意识到,真正的应用产品的带宽需求,只会随着上层的应用生长越多而成长的越快,各种应用面对的新用户越多,对于 tps 的需求也会逐渐的增加。这个时候,只有*分层才是解决扩容问题的最好方式*。并不是所有的交易都需要在底层完成,把交易更多的推向链外,推到上层 Layer 2 系统中去完成,然后只需要关注 Layer 2 到 Layer 1 的清算,这样同时可以确保上层的应用不直接和底层的原生资产进行带宽的竞争,也能够让在 CKB 上的应用的使用摩擦成本(手续费和交易速度)降到最低,才能解决当下的 Layer 1 公链高摩擦成本(高昂的手续费和交易延迟)的痛点。

最后一个点是 Nervos 正在为接近互联网体验的 DeFi 应用产品做基础设施的准备。

CKB 的虚拟机有长远的考量,并且足够的灵活,他可以接受各种的密码学原语和各种编程语言,因此你不会听到 Nervos 基金会为开发者设计了哪些 CKB 上专用的开发语言,大家要来 CKB 上开发,用自己常用的开发语言就好,这对于广大的互联网开发者而言是一个比其他公链都更容易进入的开发环境。

同时,因为各种密码学原语在 CKB-VM 都可以被验证,因此 CKB 的 DeFi 开发者可以把他的产品设计的非常抽象简单,这在使用体验层面是对其他公链的降维打击。试着想想,当用户在其他公链使用 Dapp 时,还要重新记一组新的助记词和地址,但 CKB 上的 DeFi 用户,却可以让区块链上的主流用户直接用他常用的以太坊地址就能够对 CKB 的交易做签名,甚至使用目前互联网用户常用的 WebAuthn 技术做为签名方式,这和其他的区块链平台相比会是多么的不一样。

最后,未来的跨链的资产交易和协作也一定成为一种新的趋势,那么要整合跨链资源,一个重点是底层的基础设施够不够灵活,可不可以对于异构的跨链进行解析和验证,是个重要的点,而可以验证各种密码学原语的底层公链是做到这一切的核心。

最后再用一点时间谈一下成绩。

如果今天有人想要来 CKB 上开发一款 DeFi 产品,我们可以看到已经有许多的基础设施可以支援他,首先,他并不需要像在其他公链上一样,为了在 CKB 上开发而学一套新的编程语言,CKB-VM 足够的灵活可以支持各种的语言。同时,目前 CKB 的核心开发团队也致力于开发各种语言的 SDK ,让各种语言的开发者可以很轻松的用自己喜欢的语言在 CKB 上做开发,像是目前已经有完善的 SDK 来支持 Rust 和 JavaScript 这两种受广大的开发者欢迎的语言,未来还会有更多语言的 SDK。

因为 Nervos 可以做到足够的抽象,因此在 CKB 底层的编程模型上在建立一个和以太坊一样的账户模型环境,不但是可能,而且还是目前 CKB 开发团队正在进行的工作。这象征着已经习惯以太坊的编程模型的开发者,甚至可以在不更动主要的代码逻辑的情况下,直接在 CKB 上进行项目开发。

除了 Nervos 核心的开发团队以外,Nervos 生态中的 Grants 团队的各种基础设施也逐渐的在满足 DeFi 的开发者的各种需求,首先,像是图形化界面的开发集成环境 CKB Studio 已经全面开源,开发者可以将许多平常需要自己敲代码才能完成的步骤,直接在 CKB Studio 上点击几下按钮就轻易的完成。如果需要签署交易,我们不仅有 CKB 的 Chrome 钱包 Synapes 可以使用,还有利用 CKB 可以验证各种签名的特性而产生的 PW—SDK,可以让用户连上以太坊的 Metamask 直接做签章,未来甚至可以提供指纹等等生物辨识的签章功能,这时候用户的体验会更为丝滑,当然,如果是安全至上的用户,也别担心,因为世界上最主流的硬体钱包 Ledger 也即将支持 CKB。

除了提供给 DeFi 开发的基础设施之外,CKB 上的用户自定义的代币规范 sUDT 的代码,也在最后的代码审计阶段,离部署到主网也不远了,sUDT 的协议规范了非常简单的代币逻辑,提供了非常大的治理空间,例如在 sUDT 中,并不含有代币名称、Symbol 等等的规范,这样的好处是可以避免最近在去中心化交易所上频繁出现的诈骗以及假币问题,也给予 CKB 链上的 DeFi 项目有更多的治理空间和弹性。

最后,提到去中心化交易所,有我们的 Grants 所开发的 DEX,UDTswap 近期也即将完工,现在可以看到他们的产品原型的 UI/UX 以及代码和使用文档。在稳定币方面,比特派和我们合作的 CKB 版 USDT 也在路上了,甚至还有其他社区的团队在申请类似 Dai 的智能合约稳定币。我们可以很清楚的看到,CKB 上通往 DeFi 应用的道路正在一条一条的开通中,离 DeFi 应用的距离近在咫尺。

潘致雄:

USDX 的优势是什么,也支持三种协议吗?

Aaron:

USDX 在我们协议上的交易只需要一个区块确认就好,每块只需要大概7秒,因为底层协议用的共识是 tendermint BFT 有 fast finality,没有回滚的问题,USDX 也自动包含的收益率,把利息分给持有 USDX ,每块都会到地址里。我们对 Kava 的期望很大,希望能够跨更多的链。

潘致雄:

Nervos 除了技术方面改良之后,公链上的 DeFi 应用产品相比有何特色?对未来 DeFi 生态的一个展望和挑战看法有哪些?

吕国宁:

除了技术方面之外, 对于 DeFi 生态而言,Nervos 最大的一个特色,就是在底层的经济模型所能带来的价值捕获。

目前最大的 DeFi 平台毋庸置疑的就是以太坊,DeFi 目前的 TVL 已经来到了 25 亿美元,大半都是在以太坊。同时 DeFi 生态上最大的稳定币 USDT 在以太坊上也发行了超过六十亿的美元 USDT,这些锁定的资产其实是以太坊的 DeFi 生态最强大的 Backup。但是,总市值目前大约 260 亿美元的以太坊,在 DeFi 发展的过程中,以太坊所扮演的角色是底层的运算平台,但其实除了支付手续费 gas 的时候上层的生态对于以太坊会有需求之外,其余的时候我们并没办法看到以太坊的原生资产能够怎么去捕获上层的价值。这样的情形也会对底层的矿工带来不良的影响,像是上层的资产价值不断的在增加,但底层的原生代币却没有联动的影响,逐渐的可能造成价值成长过程的收益不均,甚至增加作恶所得大于挖矿/验证奖励。

在价值捕获的层面,Nervos 的经济模型可以更加的确保上层价值能够与原生代币挂钩,因为任何上层 Dapp 的状态存储,都会需要用到原生资产 Ckbytes 作为存储空间。这也能够真正的为 DeFi 上层的 TVL 的安全性作为保证,让 DeFi 资产不会因为缺乏价值捕获的环节暴露在风险之中,同时底层的矿工也能够继续的贡献算力来保证整个 POW 生态的安全。这也是长期以来,DeFi 生态能够长期发展的基石。

因为总锁定资产规模的规模越大,就代表着底层能够负担安全的能力要越强,安全的能力强弱,取决于从底层公链的模型设计的第一天开始,是否就能够去思考「蛋糕怎么分」的问题,因为这是「蛋糕能做多大」的关键。

潘致雄:

目前拥有最多金融服务的平台是以太坊。以太坊2.0也受到了很多期待。如何将以太坊行业内的 DeFi 团队迁移到 Kava 或者 Nervos 中呢?

Aaron:

我们会用基金会的 Grants 帮助一些开发团队来到 Kava 的生态建设中,例如 Compound 之类的应用,我们会提供足够的技术支持,还有开发的工具和跨链的技术也是我们重点支持的对象,它会帮助在研发人员减少工作量,让 Kava 的生态建设更加容易,这样更多的应用也会因此选择迁移到 Kava 生态中。

吕国宁:

我的观点跟 Aaron 是一致的。

技术上来说,最好的迁移方式,是打造出一个让开发者能够用接近零摩擦成本的方式进入生态,但是要做到让以太坊的生态零成本的迁移其实关键在于,这个公链是不是已经打造了这么一个灵活的开发环境,这是 Nervos 一直致力在做的事情。

近期我们自己的 Grants 项目,以及我们内部开发的基础设施上,也会逐渐看到在这方面的努力。同时,我们必须看到除了迁移以外,还有很大一批优秀的开发者活跃于互联网领域,能够吸引到他们,可能甚至是比迁移圈内的 DeFi 团队还更重要的事情。要让开发者能够拥有最低的成本进行开发,重点就是可以让他们使用自己熟悉的开发语言来开发。Nervos 最初的设计就是考量到这一点,所以采用工业级的通用指令集 RISC-V 去实现 CKB-VM,于是我们对成熟的编译器比如 GCC/LLVM 支持的任何编程语言,都可以用来在 Nervos 上编写智能合约。试想今天全世界的主流语言,top 50 范围内随便挑一个,群体数量一定比 Solidity 还要多上几十倍。

目前我们的开发者 SDK 也逐渐的在完善,例如专门为 JavaScript 开发者设计的 Lumos,以及为 Rust 开发者所设计的 Capsule ,都是能够让这些开发者可以直接使用他们原生的编程语言就能够在 CKB 上进行开发的工具,这些工具都已经是可用状态,并且还在不断完善。

另外,因为安全等等核心问题的考量,我们的底层账本数据结构跟以太坊的账户聚合模型不同。以太坊的 DeFi 的单一种 DeFi 资产都必须集中存在特定的单一合约中,而在 Nervos CKB 上,用户的资产并不是集中存储在合约端的,相反是跟合约分离解耦合的,用户的资产存储在用户自己的状态空间中。

我们知道以太坊的这种聚合模型从开发角度相对更方便,因此通过一个额外的子项目,帮助开发者能用面对通用账户模型的编程方式在基于 Cell 结构的底层模型上编写应用,这个项目叫 PolyJuice。注意我们说的是「通用」的账户模型,也就是说,今天不管这个账户模型是以太坊的,还是其他使用账户模型的公链的开发者,都可以轻易的在这个通用的账户模型下编写自己的应用。

https://github.com/nervosnetwork/ckb-simple-account-layer

潘致雄:

DeFi 目前面临的最大问题之一是在像类312黑天鹅事件发生的时候非常脆弱。很大一部分是由于预言机的问题。在预言机和治理机制上,你们会做怎样的创新?

Aaron:

在 oracle 那边,我们跟 chainlink 搭建了合作,也会打开 Cosmos oracle 的生态,我们认为这个生态会越来越好,会有更多的节点和数据来源。Kava 治理方式也有一些优化,通过治理投票,我们有个 security committee,这会给小组有一些特别权利,特殊情况可以执行一些 changes,这样不需要等两周时间。但并不是开放很多权利,只是一些很详细的部分,比如说 CDP 里的 collaterilization rate 这些时间相关的,就不能等两周才更新,并且 security committee 有哪些权限也是通过治理投票来决定的。

吕国宁:

关于 312 黑天鹅事件和预言机的问题,我们或许要先去辨析,是底层的带宽不足的问题,还是预言机本身的问题。如果找错了出问题的点,那么就出现了底层感冒,预言机吃药的情况了。

如果是底层带宽不足,Nervos 的分层架构的设计,会比以太坊具有更高带宽和吞吐量,以及近乎无限的扩展能力,但在预言机上喂价的问题上,或许仍还是一个全部区块链行业都还在摸索的问题。

目前有看到的主流预言机有几种,一种是 Chainlink 透过特定的节点传送较可信的数据,或者像是 Coinbase 这种主流的预言机提供了带签名的链下 API 供 DeFi 使用,当然近期也还有 NEST 这种对于去中心化预言机的新尝试。在这个层面上,我会认为,哪个方案较为成熟,还需要市场的验证。

但是。这些方案中,有哪个方案是比较成熟的,我们能不能在预言机的项目方不为我们做任何开发的情况下,我们就把他们提供给以太坊的链外数据,直接拿到 CKB 上来使用?

这完全是可能的。

Nervos CKB 是一条可以接受任何密码学原语的底层公链,因此,任何一个公链的签名,要在 CKB 上进行验证都是可行的,那么,预言机的本质,就是一笔一笔带签名的交易数据,如果验证了他们的签名,我们就能确认这些数据确实是谁发出的。基于这个机制的预言机项目,相信很快的会在 CKB 上出现。

而我也觉得是底层带宽不足,以太坊的机制导致的公共资源被滥用的公地悲剧问题,以及在特殊时刻治理的缺失联合导致的。

潘致雄:

非常感谢参与今晚 Math Show #008活动的“show”友们, 也感谢两位嘉宾带来的分享。

此外,你也可以参与 Math Show 发起的“你想见到的那个他/她”活动,推荐并且助力你想在“Math Show”见到的嘉宾,有机会成为惊喜MC与你想要见到的嘉宾面对面对话哦,
链接:http://mathshow.mikecrm.com/2QEz163

至此,本期 Math Show #008的“show”友会就结束了,再次感谢大家的时间和聆听,我们下一期不见不散,大家晚安~