作者:Arrow 杂谈 ,Sleipnir Research
「 Ethscriptions 是一种协议,其目的是允许用户以更低的成本在以太坊 L1 上共享信息并执行计算,它绕过了使用智能合约存储和执行来实现这一点,将确定性协议规则应用于以太坊调用数据来计算状态。」
我第一次了解到 eths 是今年八月中,那时这已经不是一个新兴的概念了,各种铭文满天飞,很多人只是将其当作 BRC -20 的仿盘。
而且当时的推特上绝对没有现在对此概念的热情,直到今天看到各位老师来聊 eths 是不是 Layer2 才有了兴趣。
晚上在各个媒体上找了找,好像也没有对 Ethscriptions Virtual Machine ( ESC - VM ) 概念的科普,所以就写一篇文章来看看这是个什么东西,尽量不涉及技术,简单明了的把事儿说明白。
Layer2
简单的几句话先过一下 Layer2 ,这个概念大家应该比较清楚,之前有一段时间我也系列的写了 OP Rollup 、 ZK Rollup 等主流的 Layer2 扩容解决方案, OP Stack 作为发链 Chain SaaS 工具的主题文章。在这里很多基础问题我们都不再赘述。
Layer2 核心要解决的问题就是扩容、降低交易成本。
因为链上超额的节点要争抢有限的区块空间。随着以太坊生态的高速发展,就需要完成更多的执行和计算,导致链上交易非常拥堵, Gas 费动辄炒到天上。
想要实现 L2 的方案有很多,也在不断更新。早期的状态通道、 Plasma 、 Validium 、现在流行的 Optimistic - Rollup 、 Zk - Rollup 等。
Rollup 方案是在链下进行交易计算和具体状态变更,在链上处理交易和交易批处理后的最终状态摘要并进行验证,这样就能有效缓解以太坊上面的拥堵了。
但当时我们还没有将 eths 作为一种 Layer2 方案,甚至没有作为预备方案来讨论,这是因为 eths 在当时只是被当作一种以太坊的铭文协议,并没有什么非常特别之处。
而在之后的更新升级中,一个改进 Ethscriptions 协议的建议: ESIP -4: The Ethscriptions Virtual Machine 从根本上改变了很多。
Ethscriptions ( ETHS )
Ethscriptions 是一种协议,其目的是允许用户以更低的成本在以太坊 L1 上共享信息并执行计算。
它绕过了使用智能合约存储和执行来实现这一点,将确定性协议规则应用于以太坊调用数据来计算状态。
这种方式更便宜,这是因为其使用以太坊交易调用数据,而不是智能合约在链上存储数据,自然而然的降低了成本,同时也省去了类似 OP 的乐观证明机制、 ZK 的有效证明机制验证成本。
当然, Ethscriptions 的内容已经很多了,我们重点来聊 The Ethscriptions Virtual Machine 。
ESIP -4: The Ethscriptions Virtual Machine
Ethscriptions 虚拟机,这是一个改进 eths 的草案 ESIP -4 的核心内容,也正是该提案对 ETHS 的功能性拓展,才让其脱离了铭文炒作的概念,在炒作价值之外具有了功能实用性。
我们按照白皮书中的一句话可以明确其发开的目的:
ESC - VM 的目标不是取代智能合约或 L2 ,而是在去中心化时首要考虑如何提供低成本的计算能力。
在 ESIP -4 的草案中,引入了 Ethscriptions 虚拟机( ESC - VM )的概念,这是一个建立在 Ethscriptions 之上的新协议。
ESC - VM 使 ethscriptions 能够作为一种计算机指令,增强了 Ethscriptions 协议的功能,这些计算机指令允许用户与称为 Dumb Contracts (哑合约)的特殊程序进行交互。
在之前的 ETHS 铭文中,对各种图片的「刻录」是利用了以太坊「调用数据」,即「 Calldata 」功能。
Calldata 指在对智能合约的调用中提供的数据。这也是比使用合约存储更便宜的核心点。
而在 ESIP -4 的哑合约中,可以执行命令:部署(创建新合约)、调用(调用现有合约的状态更改函数),这个过程也是通过铭文方式存储,交易以 calldata 字段存储在链上,从而绕过了 EVM 执行和存储成本。
ESC - VM 为哑合约提供类似于 E VM 的环境,使哑合约功能能够与智能合约的功能并行,说白了就是 ESC - VM 基本上就可以认为是 E VM 。
在这个过程中,因为绕过了 EVM 执行和存储成本,所以哑合约比智能合约便宜得多,可以很大程度降低成本,这不就把 Layer2 的核心目的给解决了吗。
但是区别肯定还是很大的,我们再来看一看 ESC - VM 和现有 Layer2 的区别。
ESC - VM 和现有 Layer2 的区别( Is the ESC - VM an L2 ?)
在 ESIP -4 的白皮书当中,其实很明确的就提到了这一点,并且给出了理由。
The ESC VM is not an L2 . One way to underst an d th is is to c on sider the two not i on s of c on sensus that ex is t on E the reum:
(1) Consensus over what transactions are in cluded in each block and in what order .关于哪些交易被包含在每个区块中以及以什么顺序的共识。
(2) C on sensus over the aggregate impact (1) has on the state of the EVM .关于(1)对 EVM 状态的总体影响的共识。
Ethscriptions 的主要思想是:
通过专注于(1)来构建一个完全去中心化的系统,因为区块链的状态明确且确定地指定了 EVM 的状态。仅凭区块链本身,任何人都可以独立并确切地验证 EVM 的状态。
另一方面,验证(1)的「真实性」是不可能的,因为这是一个非确定性的过程,没有「正确答案」。将(1)和(2)结合在以太坊协议中是理想的。
然而,对于大多数应用程序来说,这种组合过于昂贵。 Ethscriptions 牺牲了以太坊协议的一部分(2),并构建了工具以使确定性状态的计算变得方便。
相比之下, L2 采取了相反的方法。由于 L2 状态是在区块链的上下文中管理的,因此比 Ethscriptions 生态系统的状态更方便进行验证。
然而, L2 的验证是有条件的。它说给定 X 交易包含在一个排序为 Y 的区块中,我们就可以推断区块链的状态应该更改为 Z 。但是在 L2 系统中,没有办法验证 X 和 Y 是否正确。
在一般情况下,只有当使它们公平与运营 L2 的组织的目标相一致时, X 和 Y 才会公正。运营 L2 的公司承担着对股东利益高于 L2 用户利益的信托责任。在极端情况下,如果 L2 不再符合公司的利益, L2 将会被关闭。
Ethscriptions 代表的理念是:
在非确定性问题(如区块包含和交易排序)上没有形成去中心化共识的情况下,区块链永远无法被认为是安全的。使用 ESC - VM 的目标是将去中心化和安全性与接近 E VM 功能的功能相结合。
存在的问题
目前来看, Dumb Contract 是有一些问题亟待解决。
①哑合约功能不能直接支付,需要桥接;
② ESIP -4 不允许任意创建哑合约。哑合约可以在不信任的情况下部署和执行,但代码本身与 ESIP 流程中的其余 Ethscriptions 协议规则一起定义;
③ 0x8699 老师提到的一个非常重要的问题: eths 极度依赖 indexer ,但机制里没有给 indexer 足够的重视,鉴于这个问题可以单独深度的写一篇文章,就不再在这里多聊。
参考:
①ESIP-4: The Ethscriptions Virtual Machine:https
//docs.ethscriptions.com/esips/esip-4-the-ethscriptions-virtual-machine…
②@ethan0x8699
https://twitter.com/ethan0x8699/status/1717421307619688501…
③@cryptocupid_eth
https://twitter.com/cryptocupid_eth/status/1717191327543443633…
④@0xNing0x
https://twitter.com/0xNing0x/status/1717186567130030476…
⑤@wangfeng_0128
https://twitter.com/wangfeng_0128/status/1717188580471406858…
⑥世链财经:
https://panewslab.com/zh/articledetails/3x3fi5984w57.html…
⑦Arunkumar Krishnakumar
https://cointelegraph.com/authors/arunkumar-krishnakumar…
⑧Arrow 关于 Layer2 的以往文章精选:
https://twitter.com/ArrowCrypto_eth/highlights