减法协议中的函数和资产

减法理论 给我们带来了区块链认知上的极大提升,如果说智能合约是给 比特币做加法,那么 铭文空间 就是给 比特币做减法。对交易做排序和共识是所有区块链的必备功课,所以 减法理论 可以适用于所有公链,铭文空间天然具有跨链的特性。

当我们开始思考 减法协议,它给我们带来了极大的设计空间,也让我们有机会重新思考 EVM CALLDATA 的不足以及安全隐患。首先,铭文,比如 BRC20,实际上是“明文”,而 CALLDATA 的可阅读性则差了很多。铭文协议的设计应该遵循这一原则,从协议层面让用户知道自己在做什么

明文 vs CALLDATA
明文 vs CALLDATA

我们思考的第二点,是智能合约的范式。智能合约让每个区块链应用,拥有自己的一亩三分地,用来定义数据和代码。用户资产就是数据,代码可以操作数据,比如转账,mint 和 approve。对于那些常用的合约,比如 USDT,实际上代码经过了长时间以及无数双眼睛的验证。然而区块链上有上千种资产,即使大部分资产都遵循 ERC20 标准,但是标准实现并不是强制的。早期,很多合约因为重大安全问题直接报废。随着工程师们经验的增长,重大安全问题越来越少见,但是用户依然不可能靠自己的力量审计所有智能合约。思考这一现象背后的本质,实际上是因为智能合约允许发布者自定义合约的所有代码,很少直接重用现有代码(复用也是通过复制粘贴),造成了链上安全实际上的黑暗森林。

减法协议的设计,尝试修复这一点,我们把编程语言中的基本元素,函数 function,和区块链中的基本元素 资产 asset 概念独立出来。在智能合约中,合约代码处理合约资产,而在减法协议中,函数具有操作某个资产的权限。比如 transfer 具有操作所有资产的权限,这使得人们无需为每个资产重新编写所有代码。对于 mint 方法,则需要更高的定义自由,meme 资产的mint 逻辑与 USDT 资产的方式逻辑必然不同,需要编写特定的 [asset]_mint 函数。

另外,函数还有一个 require 属性,更加静态的指定了函数依赖的其他函数,并且在调用过程中,对调用函数可以操作的资产类型做更细致的限定,以提升安全性。

第三点,我们一直很喜欢 ERC6551 的思路,但是由于 6551 的出现晚于 ERC20,所以所有的 ERC20 都无法让资产绑定在一个 NFT 上,只能由以太坊地址来持有。地址就像公钥,和私钥是一对一绑定的。假设我怀疑自己的私钥已经不安全了,当尝试更换私钥,就意味着必须同时更换地址(用户名)。在以太坊上更换地址,用户需要将所有资产转移到新地址,这需要花费一笔不小的 gas 费用。所以我们认为,用户更换私钥的安全代价会很高。

在减法协议中,我们可以从协议设计上改进,我们允许资产被一个“名字”持有,“名字”可以绑定地址。所以,更换私钥无需更换“名字”,以降低经常更换私钥的成本。

我们正在设计和实现 减法协议,它是一个在 减法理论 指导下的跨链铭文空间。我们的进度非常乐观,从 Minus Theory 到 Minus Protocol demo 运行只花了一周时间。

近期有望在测试完运行!敬请期待。

Subscribe to 0xKJ
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.