Nervos CKB 应用层优势4:可追踪代币

NervosNetwork·热度: 11432
可追踪代币将代币的持有人或应用领域划分出子集,在子集内由管理方进行监管,通过这种方式满足特殊的业务需求。

背景

区块链上的资产几乎是不可追踪的,当然你可以通过追溯历史的方式查询一笔余额可能来自于哪些源头,但你无法区分余额里面的哪一部分与源头有关。例如源头的 100 个 BTC 其中 10 个转给地址 A,A 接收其他来源的 20 个 BTC,然后对外支付 25 个 BTC,剩余 5 个,这时,我们很难判断这 5 个 BTC 和源头 100 个 BTC 的关联度。

不可追踪性是数字资产非常重要的属性,它保障了匿名性和不可审查性,由于链上资产公开了所有交易历史,他们其实并不能完全保障不可追踪性。但并不是所有的业务场景都要求资产不可追踪性,很多场景下我们需要一种可追踪的数字资产用来限制资产的流转符合来源方的意愿。例如,资助方希望自己的提供的资金用在特定领域,因此需要对分发的资金进行追踪或限制;交易所希望自己交易的资金提现后具有一定时间内的可追踪性,以防止黑客利用漏洞挖空交易所。可追踪代币将代币的持有人或应用领域划分出子集,在子集内由管理方进行监管,通过这种方式满足特殊的业务需求

应用场景

例如 MakerDAO 或其他抵押借贷类 DeFi 服务中,我们可以将用户抵押的 CKB 打上追踪标记,这样用户可以在抵押借贷的同时使用这些 CKB 进行拆分、合并或者部署合约、存储数据。除非用户违约,否则这些 CKB 仍然可以正常使用。此外,交易所可以对自己提现的代币进行限时可追踪处理,例如在 1 小时内,无论提现的代币如何拆分,都可以精确地定位他们,一旦发现这些提现是黑客行为,交易所可以对他们进行回收。

技术实现

Nervos CKB 可以实现代币的可追踪性的原因是 Cell 模型的 lock script 设计。每一个 CKB 链上资产都是由 Cell 来承载的,每个 Cell 都有一个 lock script 来标识所属权。lock script 可以定义用户使用(转账)这个 Cell 的时候需要执行的动作。一个典型的 lock script 是这样写的(伪代码)

if lock_script.recover(signature, hash(m)) == lock_script.pk then
     pass Transaction

而通过简单的变化即可将这个 Cell 进行可追踪处理:

find all cells in output that use the same lock script code hash, 
make sure that their capacity equals to input cells that use the 
same lock script code hash.

&&

if lock_script.recover(signature, hash(m)) == lock_script.pk then
     pass Transaction

通过这样的 lock script 设计,可以保证一个类 UTXO 交易输入的带标记代币的数量和输出的带标记代币数量一致。进一步地,我们可以用 lock script 对这些代币的持有人、完全解锁时间等特性进行设置。

结论

可追踪代币将 fungible token 做了扩展,它们隶属于 fungible token,但变成了同类 token 的一个子集。子集内的代币是 fungible 的,但它们与外部的同类 token 又有着区别。这种特殊性质可以让可追踪代币实现标准 fungible token 无法实现的业务功能。

声明:本文为入驻“火星号”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。 未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。
语音技术由科大讯飞提供
关键字:  Nervos可追踪代币
最近更新
本文来源:
原文标题:
您可能感兴趣的内容
暂无内容

评论0