币非凡 - 区块链|交易所导航 www.bifeifan.com
当前位置:网站首页 > 新闻 > 正文

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性

admin 2021-03-25 2023 浏览

Nervos DAO 是 CKB 上第一个链上 dApp,它可以有效消除二级发行所带来的增发影响。然而,存入 Nervos DAO 中的 CKB 至少要在 180 Epoch(约 30 天)之后,才能被取出并再次获得流动性

开发者们一直在尝试打破 Nervos DAO 的流动性限制,之前 CKB 开发者 JJY 提出了 dCKB 的概念;这一次,开发者 Retric 创建了 Demo「Liquidable DAO」,进一步地对释放 Nervos DAO 的流动性做了尝试,并通过视频,和大家讲解了在 CKB 上开发的整体流程,和过程中可以使用的开发工具。来自 Retric 的 Liquidable DAO Demo

在本文中,Williams 将带着大家一起探究 Liquidable DAO 的奥秘。

DAO 中的 CKB 也可以重获流动性?

Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性 CKB Liquidable DAO 重获 流动性 Pukao Global价格 Pukao Global Pukao Global合约交易平台哪个 新闻  第1张

上图是 Demo 中的 Liquidable DAO dApp 界面。从中我们可以看到,在这个示范 dApp 中,主要可以分成四个功能,除了我们熟知的 Deposit、Withdraw 外(Nervos DAO 的存入和取出功能),我们还可以看到有两个特殊的选项,那就是 Deposit With Special Lock和 Transfer DAO Cell。简单地说,我们可以将 CKB 透过 「Deposit With Special Lock 」,生成一个所有权能够转移的 Nervos DAO Cell,并且透过 Transfer DAO Cell,让我们的 Nervos DAO Cell 能在 180 Epoch 期满后,可以被其他拥有所有权的人开启使用。

如此一来,Nervos DAO 中的 CKB 就变成了一个可继续流动的资产,可以去用于借贷、抵押、收益聚合器等各种 DeFi 相关的合约或者协议中。在未来依旧可以让新的 Nervos DAO Cell 的所有者(如接收方、清算方)在到期日后兑换出其中的 CKB 使用。如此一来,不但能够让锁仓的状态持续,也不会让 Nervos DAO 中 CKB 的抵押者缺乏资产流动性。

Liquidable DAO 的原理和设计

接下来我们来探讨具体的设计。首先,如果我们要让 Nervos DAO 中的 CKbyte 具有流动性,那么就代表这个 Nervos DAO Cell 不但是可以交易的,同时它的新拥有者能够顺利地使用 Nervos DAO Cell。在 180 个 Epoch 期满后,可以用于兑换存在 Nervos DAO 中的 Cell,并且一并将二级发行奖励中的 CKB 一起拿走。

如果要让我们 Nervos DAO 中的 CKB 可以让别人领取、使用,那么在原先的 Nervos DAO Cell 中势必要做些改变,但是要如何在保持 Nervos DAO 的特性下,还可以对所有权进行移转呢?

我们知道 Nervos DAO 的脚本设置在 Cell 的 type script 中,因此我们确定了 type script 是不能修改的。这时候我们只能在另外一个 lock script 上做一些文章。我们只要能够将系统默认的 secp256k1,变成一个特殊的 Special lock 即可。

从下图中我们可以发现,当透过上述的「Deposit With Special Lock」将 CKB 存入 Nervos DAO 时,在 output 中除了会产生 Nervos DAO Cell 之外,还会有另一个普通的 Cell「Puppet Cell」产生。他相当于是 Nervos DAO Cell 的傀儡。因此,我们只要能够让 Nervos DAO Cell 和 Puppet Cell 产生某一个联系,那么就能透过这个关系,让 Nervos DAO Cell 的所有权随着 Puppet Cell 一起移转。
Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性 CKB Liquidable DAO 重获 流动性 Pukao Global价格 Pukao Global Pukao Global合约交易平台哪个 新闻  第2张
我们可以在此看到拥有 Special Lock 的 Nervos DAO Cell,它 Lock Script 中的 Code_Hash 已经是 special_lock_code_hash 的解锁逻辑,并将代表所有权的 args,传入 puppet cell 的 type script hash 作为独一无二的字符串。至于怎么产生一个独一无二的字符串呢?这时候 Nervos 中的 Type ID 就派上用场了。Type ID 能够保证某 Cell 之中的 type script hash 是独一无二的。因此这时候谁拥有了这个 Puppet Cell,就等于拥有了这个 Nervos DAO Cell 的所有权,进而可以在到期后对 Nervos DAO 合约进行 CKB 的提取。
Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性 CKB Liquidable DAO 重获 流动性 Pukao Global价格 Pukao Global Pukao Global合约交易平台哪个 新闻  第3张

合约编写流程

在这样的设计下,我们就能够确保 Nervos DAO Cell 的所有权会随着 Puppet Cell 的转移而成功移转。而 Puppet Cell 也可以成为一个基于 Nervos DAO 的衍生资产,因为任何收到 Puppet Cell 的人都会知道,其背后支撑的是正在 Nervos DAO 中存放的 CKB。

Liuidable DAO 的合约运作如下,主要的目的是要确认 Nervos DAO Cell 的 lock script 能不能被 Puppet Cell 的拥有者所开启:

  1. 把当前 Lock 的 args 都加载进来

  2. 把所有的 input cell 全部循环一遍,看看里面是不是存在一个 input cell,他的 type script hash 跟这个 args 是相等的,因此我们会把 args 露出,去寻找有没有存在对应关系的 input

  3. 如果没有找到对应的 input cell 或者找到的数量大于 1,那么返回错误,因为我们需要确定 Puppet Cell 和 Nervos DAO Cell 是一对一的绑定关系

  4. 如果只有一个 Cell 满足这个条件,则把这个 puppet cell 的 data 字段加载出来,作为目标用户的 public key hash

  5. 从这笔交易的签名中恢复出一个用于签名的公钥哈希,这样就有两把公钥

    1. 一是目标用户存在 puppet cell 里面的 data 字段的公钥

    2. 这笔交易签名用的公钥

  6. 检查两把公钥是否相等,若相等,则证明签名的和 cell 的拥有者是同一人,返回正确。

在返回正确以后,我们就确认了这个 Nervos DAO Cell 中的 CKB 可以被持有 Puppet Hash 的所有者使用。

可以使用的基础工具

最后,在 Demo 中,我们也可以看到许多 Nervos 上既有的基础设施,可以在合约编写中拿来使用,方便各种开发工作能够顺利进行。
在合约编写部分,Capsule 可以做为链上合约编写的开发工具,测试和部署等工作也可以直接在 Capsule 中完成,可以节省许多工作量,让开发者可以专注在自己的业务逻辑的编写和设计。在这个过程比较有趣的地方是在恢复公钥的部分,里面还会涉及到一个「动态加载(Dynamic Loading)」技术,把签名所需要用到的算法加载进来。
有了链上合约,我们还会需要一个前端界面,同时 Server 端会和区块链进行交互。例如往链上提数据,以及和前端的网页进行交互。下图是整体开发的架构。在前端,各类语言或者开发框架都可以在 Nervos 上进行开发;同样,在 Server 端任何语言也都可以使用。不过,我们推荐使用 Node.js,因为 Server 端和链进行交互时会有许多重复性的任务,这时候 Nervos 提供的工具 Lumos 就可以帮助开发者减轻许多的开发量。例如在 Nervos DAO 中的各种动作,如 Withdraw/Deposit 都是被 Lumos 封装,可以直接被使用。
Liquidable DAO:让 Nervos DAO 中的 CKB 重获流动性 CKB Liquidable DAO 重获 流动性 Pukao Global价格 Pukao Global Pukao Global合约交易平台哪个 新闻  第4张
如果你想要进一步地了解,可以参考以下链接:

  • 1. Liquidable DAO dApp repo:

    https://github.com/RetricSu/liquidable-dao-dapp

  • 2. Liquidable DAO 合约 repo:

    https://github.com/RetricSu/liquidable-nervos-dao-contract

  • 3. dApp server 开发工具 Lumos:

    https://github.com/nervosnetwork/lumos

  • 4. dApp 合约编写开发工具 Capsule:

    https://github.com/nervosnetwork/capsule

  • 5. Type ID:

    https://xuejie.space/2020_02_03_introduction_to_ckb_script_programming_type_id/

  • 6. Dynamic Load:

    https://docs.nervos.org/docs/labs/capsule-dynamic-loading-tutorial

相关推荐

呼图壁县煤矿事故后 比特币算力普降
呼图壁县煤矿事故后 比特币算力普降

据澎湃新闻消息,4月10日18时10分许,新疆昌吉回族自治州呼图壁县雀尔沟镇丰源煤矿矿井在技术改造过程中,突发透水事故,导致井下断电、通讯中断。而此次安全事故也...

6分钟前 admin

DAO 的设计再思考:信任与决策权、风险、剩余索取权的分配

原文标题:《DAOs的设计再思考:信任与决策权、风险、剩余索取权的分配》撰文:DeweiDAOs是一种新的物种还是公司治理的特殊形式?信任与所有权、控制权是最好的说明。但IT治理的最初提出者...

狗狗币鲸鱼一天内转移了120亿美元狗狗币,是ETH的2倍
狗狗币鲸鱼一天内转移了120亿美元狗狗币,是ETH的2倍

狗狗币(DOGE)的市值排名急剧上升,而在过去24小时内,随着区块链指标飙升至新高度,狗狗币鲸鱼也重新醒来。根据QKL123数据显示,狗狗币过去24小时最高触及...

2小时前 admin

对用户分级!透过手续费看出你在交易所眼中的地位
  • 对用户分级!透过手续费看出你在交易所眼中的地位
  • 对用户分级!透过手续费看出你在交易所眼中的地位
  • 对用户分级!透过手续费看出你在交易所眼中的地位
  • 对用户分级!透过手续费看出你在交易所眼中的地位
现在,你可以在以太坊 Layer 2 上做的 7 件事

...

案例评析:币圈OTC与帮助信息网络犯罪活动罪

案例评析币圈的朋友肯定会疑惑,虚拟货币OTC交易为何会与帮助信息网络犯罪活动罪扯上关系?团队小伙伴梳理了相关的裁判案例,通过“以案释法”的方式详细为大家解析了二者之间的关系,和司法实践中存在的争议!!...

一文读懂以太坊“柏林硬分叉”始末

...

Web3.0爆发前夜 这个赛道有哪些项目?
Web3.0爆发前夜 这个赛道有哪些项目?

关注区块链行业的人或多或少都听说过Web3.0这个名词,Web3.0旨在解决目前Web2.0的互联网世界中存在的种种问题。虽然Web2.0...

6小时前 admin

朱嘉明:算力产业正面临着一个十年的长周期
  • 朱嘉明:算力产业正面临着一个十年的长周期
  • 朱嘉明:算力产业正面临着一个十年的长周期
  • 朱嘉明:算力产业正面临着一个十年的长周期
  • 朱嘉明:算力产业正面临着一个十年的长周期
MEV赛道:矿工是最后的胜利者?

...

基于Web 3的去中心化API服务API3:连接区块链和数字世界的桥梁

...

“数据”在区块链网络中流动的三种范式
  • “数据”在区块链网络中流动的三种范式
  • “数据”在区块链网络中流动的三种范式
  • “数据”在区块链网络中流动的三种范式
  • “数据”在区块链网络中流动的三种范式
SubGame的波卡生态之路
  • SubGame的波卡生态之路
  • SubGame的波卡生态之路
  • SubGame的波卡生态之路
  • SubGame的波卡生态之路
狗狗币一夜暴涨200% 今年已狂飙100倍
  • 狗狗币一夜暴涨200% 今年已狂飙100倍
  • 狗狗币一夜暴涨200% 今年已狂飙100倍
  • 狗狗币一夜暴涨200% 今年已狂飙100倍
  • 狗狗币一夜暴涨200% 今年已狂飙100倍
以太坊客户端 OpenEthereum 发布新版本,修复柏林硬分叉后节点共识问题

...