“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 为哑合约提供类似于 EVM 的环境,使哑合约功能能够与智能合约的功能并行,说白了就是ESC-VM基本上就可以认为是EVM。
在这个过程中,因为绕过了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 understand this is to consider the two notions of consensus that exist on Ethereum:
(1)Consensus over what transactions are included in each block and in what order.关于哪些交易被包含在每个区块中以及以什么顺序的共识。
(2)Consensus 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的目标是将去中心化和安全性与接近EVM功能的功能相结合。
存在的问题
目前来看,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