复制成功

分享至

主页 > 数字货币 >

产品革新还是金融炒作?技术解读以太坊铭文ETHS

2023.12.18

原文来源:雾月,极客 Web3

导语

目前的以太坊铭文本质还是 Ordinals 的新瓶装旧酒,没有真正意义的新范式。ETHS 仍然存在安全风险,虽然它的确比 Rollup 去中心化,但其提款流程还是依赖于第三方公证人/管理者,有被盗风险。显然 ETHS 当下还是以金融炒作居多,而不是说它能带来以太坊 Layer 2 带不来的革新。

产品革新还是金融炒作?技术解读以太坊铭文ETHS

近期 BTC 生态铭文的火热,带动了其他链的开发者搭建类似的系统。不同链上的铭文系统的实现方式和可实现的功能略有不同,但有一些共同点:

1.铭文都利用了转账时附加的文本信息来表达想要完成的操作,如,在信息内写入「向 XXX 转 1 个币」。注意,这些信息是纯文本的,不会涉及链上的智能合约执行等操作。

2.开发者会设计一系列规范和标准,来将所有的文本信息规范化。

3.开发者提供一套 Indexer 索引器,用于将链上所有铭文的文本信息归集后,计算铭文系统的内的状态。Indexer 是个链下的开源组件,任何人都可以运行。

BTC 铭文 Ordinals 在 BTC 上建立了一套发行 NFT、代币的机制,也引出了对 BTC L2 的大规模思考,在这个意义上我们可以认为 Ordinals 具有一定的前沿和探索性质。不过,Ordinals 在技术和产品体验上受到了 BTC 本身架构的限制,同时也因为粉尘污染和数据占用等原因,遭到了 BTC 社区 OG 的非议。

那么,在以太坊上复刻铭文,是否有意义呢?毕竟以太坊本身具有复杂的智能合约,ERC 20、NFT 也是以太坊上本身就有的内容;这些铭文项目又会对以太坊生态产生怎样的影响,会出现在 BTC 上上的争议和风波吗?

Ethscriptions 的技术实现方式

我们先来看一下 Ethscriptions 的实现方式,它是以太坊上著名的铭文项目,主要利用 Calldata 来实现运转。

Calldata 是以太坊交易中传输的原始输入数据。一般用于传输智能合约交互时需要的参数,但也可以用于向 EOA 地址发送文本消息(留言,铭文刻字,转账备注等任何用途)。图中 Input Data 即 calldata。

产品革新还是金融炒作?技术解读以太坊铭文ETHS

如果你想使用 Ethscriptions 在交易中铭刻」Hello world」,则需要构建一条包含如下 calldata 的交易:

产品革新还是金融炒作?技术解读以太坊铭文ETHS

链下的 Indexer 监听到这笔交易后,就会更新数据库并通知用户:一条新的铭文产生了,铭刻的内容是 Hello world。铭文里也可以放更复杂的内容,如代表图片信息的 base 64 等。

Ethscriptions 目前通过了 6 个 ESIP(Proposals for improvement to the Ethscriptions protocol),类似 EIP 的提案,来定义不同场景下铭文的使用。但这些仅仅是比较基础的铭文规范,比如从 EOA 发起的铭文交易的格式,合约 emit 事件等等。

Ethscriptions 由于是在以太坊上的项目,也可以利用以太坊的智能合约实现一定程度上的逻辑。需要注意的是,直接与智能合约进行交互并不是 Ethscriptions 推荐的方式。

虽然官方的 NFT 市场等也是直接用智能合约实现的。根据官方文档的说法,Ethscriptions 想要为用户提供的是「去中心化且价格合理的运算服务」:将运算剥离至链下,将显著降低以太坊的使用成本。

我们来具体探究一下调用智能合约的成本,可以分为三部分:

·基本交易成本:任何以太坊交易都需要支付,目前为 21000 gas。

·数据传输成本(calldata):calldata 一般用于提交与智能合约交互的数据和参数。EIP-2028 调整后,calldata 数据每个字节一般消耗 16 gas(若是数据为 0 的字节 消耗 4 gas)。

·合约执行成本:如果交易调用了智能合约中的函数,那么根据函数执行的复杂度,还需要支付计算成本。例如,如果涉及状态更新(比如在 ERC-20 合约中更新余额信息),调用 SSTORE 会消耗高达 5000 ~ 20000 gas。

我们以一个非常简单的 USDT 转账的交易为例,该交易总共耗费了 63197 gas,calldata 为:

产品革新还是金融炒作?技术解读以太坊铭文ETHS

我们解析下该 calldata,以及它会花费多少 gas:

·以太坊 calldata 为十六进制格式,也即每两位为一个字节 ( 16 ^ 2 = 2 ^ 8)。开头的 0x 代表数据采用 16 进制。

·开头 0x 后面的 a 9059 cbb 是函数选择子,占用 4 个非零字节。

·之后的 32 字节为地址,前面有 12 字节的零(因为以太坊地址是 20 字节,这里左补了零到 32 字节),以及 20 字节的非零地址数据。

·最后 32 字节代表金额,左补了大量的零,末尾有 3 b 9 aca 00 非零数据, 4 字节非零。

·所以,非零字节 28 个,零字节 40 个

因此,calldataGas = 28 * 16 + 40 * 4 = 608 gas。

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier