现今的区块链网络,都有着自身的手续费模型,然而,它们往往需要用户为自己的业务支付额外的费用,并且必须将系统自身代币作为交易的直接或间接手续费计价单位,这给想要进入区块链世界的用户制造了一个较大障碍。
那么,我们是否能够通过技术,设计出更加自由和灵活的手续费模型,以匹配更优的用户体验需求?Nervos CKB 给出了自己的解决方案。
和互联网不同,在区块链的世界里,所有活动都需要通过支付某种形式的手续费才能顺利进行。这部分手续费通常有以下两种作用:
· 作为吞吐量受限环境下交易执行的「插队」费用(手续费越高,交易越容易被打包);
· 作为补贴基础设施提供方(矿工)的「激励」费用。
虽然我们可以通过抵押获得交易执行权的方式,绕开第一类费用的收取,通过增发通胀的方式隐形收取第二类费用,但目前公链都无法绕开的是,必须将系统 NaTIve Token 作为交易的直接或间接手续费计价单位。
这种将交易费用与特定代币绑定的方式不利于应用的开发和推广。典型的困难有两个:首先,对于习惯了免费模式的互联网用户来说,他们可能无法接受在区块链上每玩一次游戏或者 *** 作一个 DApp 都需要支付费用;其次,用户必须持有系统代币才可以进行业务,这将大大提升用户的认知门槛和 *** 作难度。
于是,在设计 CKB 模型时,我们就思考是否能够通过灵活的账户模型,设计出一个允许用户不支付手续费的区块链网络;或者设计出支持任意代币作为支付手续费的付费模型?
CKB 允许用户免费使用区块链网络
CKB 采用类似 UXTO 的 Cell 模型实现交易,它允许一笔完整的交易由多方共同构造。举例来说,Alice 调用某游戏合约,需要支付约 10 CK Bytes 的手续费。她可以构造一个 Open TX(TransacTIon)发送给游戏的运营方,该 Open TX 包括了 Alice 关心的所有数据,比如调用人、合约信息、状态结果信息以及相关签名等等,但并不包括手续费的相关信息(也因此 Miner 会选择性忽略它)。
从吸引用户的角度出发,游戏运营方愿意补贴所有使用该游戏合约的用户。当它收到 Alice 发出的 Open TX 后,运营方可以马上将手续费(Input Cell)补充进去,合并成一个完整的 TX。在这个完整的 TX 中,既包含了 Alice 指定的 Input Cells 和 Output Cells,又包含了运营方补充的 Input Cell 作为手续费。这样当矿工收到这笔交易后就会将其打包,完成交易确认。
这种模式使得运营方可以让用户像互联网一样「免费」使用自己的服务,提高用户体验,降低用户门槛。
CKB 允许用任意代币支付手续费
相对与 DeFi,中心化金融服务有很多优势,优势之一就是它具有较为简单的手续费模型。假设用户在交易所持有 1000 个 DAI,他/她将资产提现到本地钱包,只需要支付以 DAI 计价的手续费即可,例如到账 995 DAI,手续费 5 DAI。但在 DeFi 中,任何的交易动作都需要支付 NaTIve Token,如果用户账户只有 1000 个 DAI,他/她是无法进行提现的,必须通过购买 NaTIve Token 才行。这个问题将是主流市场用户进入区块链世界的一个较大障碍。
Nervos CKB 通过技术设计允许用户使用任意矿工愿意接受的币种支付手续费。例如上面的例子,在 CKB 中用户可以直接将矿工费定为 5 DAI,然后发起 Open TX 交易。矿工在愿意接受 DAI 的前提下会接受该笔交易,并获得 5 DAI 手续费奖励。
这种模式的实现细节和运营方代付手续费类似,只不过用户创建的交易中包含了一个输入大于输出的 User Defined Token(与 ERC20 类似,例如 USDC)用来支付手续费,矿工通过对这个差额的收取来获得自定义币种的手续费。
灵活带来更优体验
Nervos CKB 的 Cell Model 使得手续费收取模型非常灵活,应用层开发者可以利用这种灵活性为终端用户带来更好的体验。需要指出的是,很多公链无法实现类似功能。这一方面是因为技术的限制,更多的则是经济模型的限制。
大部分公链将 Native Token 的价值锚定在瞬时的交易手续费上,一旦出现更灵活的手续费模型,这样的经济模型就会面临币价失去支撑的风险。
而 Nervos CKB 的 Native Token 价值是建构在全球共识状态空间之上,它是一个锚定长期资源的模型,与交易手续费耦合度并不高,因此可以安全地实现自由手续费模型。这点也是 CKB 和其他公链的本质区别之一。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)