注:原文作者是以太坊联合创始人VitalikButerin。
账户抽象允许我们使用智能合约逻辑来指定交易的效果,以及费用支付和验证逻辑。这带来了许多重要的安全好处,例如多重签名和智能恢复钱包,能够在不更换钱包的情况下更换密钥以及量子安全性。
许多帐户抽象的方法已在不同程度上被提出并得到了实施,参见:EIP-86、EIP-2938?,以及两年前的这篇文章?。今天,由于开发者们希望专注于合并与分片,这些EIP的开发陷入了僵局,而ERC-4337?这种不需要任何共识更改的替代方案已经取得了很大进展。
ERC-4337尝试通过额外的协议手段实现和EIP-2938相同的事情。用户需要发送称为用户操作的链外消息,这些消息由区块提议者或为区块提议者生成bundles的构建者批量收集并打包成单笔交易。提议者或构建者负责过滤操作以确保他们只接受支付费用的操作。用户操作有一个单独的mempool存储池,连接到这个存储池的节点会进行ERC-4337特定的验证,以确保用户操作在转发之前能够支付费用。
Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。
从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。
钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]
ERC-4337作为一个纯自愿的ERC可以做很多事情。然而,在一些关键领域,它比真正的协议内解决方案更弱:
Vitalik Buterin:支持萨尔瓦多总统可能是加密社区犯下错误行为的一个例子:金色财经报道,以太坊联合创始人Vitalik Buterin在最新媒体采访时表示,支持萨尔瓦多总统Nayib Bukele可能是加密社区犯下错误行为的一个例子,萨尔瓦多选择了“自上而下”采用比特币的方式,比特币社区“自然而然地喜欢所有支持比特币的、有钱有势的人”,这是愚蠢的,相比之下以太坊社区在选择推广和合作对象方面做得更好。(cryptoslate)[2022/11/21 22:11:31]
现有用户如果不将其所有资产和活动移动到新帐户,则无法升级;
额外的gas开销;
较少受益于协议内抗审查技术,它以交易为目标并会错过用户操作
而实现最佳效果的一条现实途径,是在短期内开始大力支持ERC-4337,然后随着时间的推移添加EIP来弥补其弱点。这并不一定需要大家专门承诺遵守ERC-4337。相反,可以将协议内支持设计为更通用,并支持ERC-4337及其替代方案和改进。
在这里,我将列出其中的一些EIP,并说明它们可以按什么顺序实施。
将EOA钱包转换为智能合约钱包
为了让现有的EOA钱包升级到ERC-4337钱包,我们可以制作一个EIP,允许EOA执行设置其合约代码的操作。一旦EOA做到了这一点,这种转变就不可逆转。从那时起,该帐户将仅用作智能合约钱包。幸运的是,由于ERC-4337帐户是DELEGATECALL代理,因此如果需要,以后可以将钱包转换为与其他ERC兼容的智能合约。
Vitalik 提出基于 Truebit 搭建 EVM Optimistic Rollup 的方案:5月2日,以太坊创始人 Vitalik Buterin 在以太坊研究论坛中提出,可基于交互式验证协议 Truebit 搭建以太坊二层扩容方案 Optimistic Rollup 以解决重复验证问题,并给出了基本方案。
Truebit 可以使智能合约以标准的程序语言安全地执行复杂的计算从而降低 gas 费用,该协议已于 4 月 21 日上线以太坊主网。[2021/5/2 21:17:41]
关于如何实施此升级过程有一些提案:
1、“replacecode”交易类型
这还没有作为正式的EIP引入,但方法很简单:添加一个新的EIP-2718?交易类型,只需将帐户码替换为calldata。
2、AUTH_USURP(EIP-5003)
EIP-5003?是EIP-3074?的扩展提案,它引入了新的AUTHUSURP操作码。如果使用EIP-3074机制,EOA地址A已授权另一个地址B代表它行事,则AUTHUSURP允许B设置A的代码。
这种方法比“replacecode”路线更复杂,只有当我们打算采用EIP-3074时,这才有意义。
GTX(GravitationX)即将上线TokenBetter:据TokenBetter官方公告,GTX(GravitationX)将于2020年5月3日15:00上线TokenBetter。
GTX(GravitationX)的目标是通过结合 CryptoNote 协议和智能合约等一些经过验证的最佳技术,创建一种独特的先进区块链技术,增强可靠性,隐私性,安全性,可用性和可移植性,从而实现创建私人智能合约。GTX(GravitationX)发行总量限定1亿,永不增发。GTX拥有首个POD毁灭证明机制,百分之九十六的GTX将被摧毁,最后只剩下 4,000,000枚GTX。[2020/5/2]
强制转换
在更长远的未来,我们可能希望进行强制转换,以简化协议,并使合约成为唯一的帐户类型,从协议中取消ECDSA。一种可能的方法是添加一个覆盖规则,从某个区块开始,没有code的账户被视为具有特定标准化“ERC-4337EOA钱包”code的账户。
这可以通过“poking”过程来完成,其中任何源自EOA的交易都将其转换,并且任何触及具有非零nonce的EOA交易都会将其转换。也可以一次性通过整个状态来完成。
问题
合约内ECRECOVER验证:一些智能合约依赖于这样的假设,即如果你向特定账户提供ECRECOVER的签名,你就拥有该账户。如果EOA转换为合约,然后更改其验证密钥,则原始密钥仍然能够在这些特定上下文中“代表”帐户。这可通过开始鼓励所有此类项目更改为使用EIP-1271验证,而不是在帐户有code的情况下使用ECRECOVER。
动态 | V神(Vitlalik Buterin)提出改善交易费市场建议 :在日前发表的一篇论文中,以太坊(Etalum)创始人VitalikButerin概述了现行制度的问题,即加密矿工的工作补偿,以及如何改进这一过程。[2018/7/4]
尚未检测到的账户:强制转换面临的一个挑战是拥有资产但尚未发送或接收任何交易的账户,因此协议无法可靠检测到这些账户。协议必须保留将此类账户永久转换为默认钱包的功能,或者需要有一个截止期,在此之后尚未转换的帐户将被烧毁。
EOA只检查不可转让性:一些应用程序实施合约内检查以仅允许EOA与其交互。这通常是为了强制执行不可转让性。从根本上来说,这是一个坏主意,并且与转向智能合约以提高安全性的目标不相容。因此,不应鼓励这种做法,而应鼓励应用依赖原所有者恢复程序来使转移无法执行。
降低Gas成本
ERC-4337钱包面临更高的gas成本,原因如下:
1、需要支付大量的单个存储读/写成本,在EOA的情况下,这些成本会捆绑到一笔21000gas的付款中:
编辑包含pubkey+nonce(~5000)的存储slot;
用户操作调用数据成本;
ECRECOVER(~3000);
首次访问钱包本身(~2600)
首次访问收款人账户(~2600)
将ETH转入收款人账户(~9000)
编辑存储以支付费用
访问包含代理(~2100)的存储slot,然后访问代理本身(~2600);
2、除了上述存储读/写成本之外,合约还需要执行“业务逻辑”
3、需要消耗gas来支付日志费用;
4、一次性合约创建成本
其中很多问题将在Verkle树witnessgascostEIP?以及writegascostreformEIP?中自动解决,以更精简的系统取代大量存储成本。例如,pubkey和nonce可以存储在slot0…63中,这将访问它们的成本降低到1000以下。用户在转移ETH和支付费用时支付的费用会更少,因为目标账户和接收账户只需要被首次访问一次。
还有更多的EIP可以帮助我们实现简化。例如:
禁止智能合约逻辑使用slot0的自愿ERC,将允许它用于存储代理,从而使其受益于更便宜的gas成本。
“codeaddress”字段可以使代理更轻松,消耗的gas更少。
“snappycompression”预编译可以更轻松地使用ABI对象,而无需为所有零字节支付calldatagas成本。
这是一个需要更多研究的领域。
crLists
这是一个长期的问题,因为只有启用了完全的协议提议者/构建者分离方案后,crLists才真正适用。挑战在于,我们希望提议者能够识别“值得”包含的用户操作,以便协议可以迫使它们被包含在下一个有空间的区块中。
这要求在协议中明确“验证”和“执行”的概念。对于用户操作,必须有一种已定义的方法来验证该操作,以及有一种已定义的方法来执行该操作,这样如果某个操作被验证,则执行该操作的尝试将是保证支付费用的,除非被读取的状态在验证期间被修改。这些操作可以通过嵌入ABI方法来实现,如果实现了EOFEIP,也可以通过添加专用的EOF部分来实现。
幸运的是,这不需要我们把ERC-4337当作一个最终标准,而是纳入ERC-4337所支持的一个较弱概念,其他在很大程度上不同的ERC也可以轻松支持它。
原因是,ERC-4337和EIP-2938的复杂性很大程度上与解决更强的DoS抗性问题有关:不可能使一个操作取消数百个其他操作,因为这将允许廉价地对mempool进行垃圾交易攻击。这需要对帐户验证可访问的内容施加限制。在这里,我们可以做一些更简单的事情:只记录在验证过程中触摸了哪些状态对象,如果这些状态对象中的任何一个被编辑,则不需要包含。
这使得个人账户可以在审查抵制和灵活性之间选择自己的权衡。在极端情况下,如果账户愿意,可以通过Uniswap在验证期间支付费用,但由于任何人都可以发送影响Uniswap状态的交易,因此此类账户实际上没有抗审查保证。
crList设计的大致轮廓如下:
提议可以包含一个crList,它指定要包含的操作列表,以及每个操作读取的状态对象(key,value)对的列表。接受crList的构建者必须检查所有操作是否通过validate检查。
执行crList中的每个操作都需要该区块,除非该区块没有足够的剩余gas,或者执行时的当前状态已经编辑了该操作读取的状态对象之一。
ERC-4337的剩余复杂性将仅用于mempool安全。原则上,可以有多个相互竞争的ERC以不同的方式实现该目标,只要它们都遵循相同的验证和执行标准。
这种方法的一个缺点是它与签名聚合不完全兼容:因为协议不“理解”聚合方案,它不能强制聚合,恶意构建者可能纳入未聚合的操作,并迫使发送者为其支付全部gas。但这种不便可以说是适度的。
可能的路线图
短期
将ERC-4337全面投入生产。理想情况下,可以使用签名聚合功能对其进行扩展,以实现rollup友好性。
应该有接入ERC-4337的易于使用的浏览器钱包。
考虑实现签名聚合和压缩,以使ERC-4337对L2更加友好;
在L2协议中引导ERC-4337生态,其中gas成本问题会较少;
中期
实施Verkle树,添加EIP以降低gas成本;
添加可选的EOA-to-ERC-4337转换;
在PBS推出的同时或不久之后添加crList逻辑;
长期
考虑强制转换;
可能的替代方案
考虑编写一个在协议层包含ERC-4337等效帐户和交易的EIP,并推动其在L2中的采用;
使用一种通过axuliary区块?工作的抗审查解决方案,消除用户操作对以太坊协议的可读的需要;
标签:GASVITVITAITAGASPGravityCoinHuobi Vitamin TokenDreamPad Capital
最新数据显示,比特币再次跌破2万美元的关键心理价格,目前价格维持在1.9万美元左右。与此同时,超过80%质押以太坊的投资者目前处于亏损状态,NFT月销售额在6月份降至8.49亿美元的11个月低点.
1900/1/1 0:00:00作者:小野昨天,我被朋友圈里铺天盖地的ERC-4907和DoubleProtocol刷屏了。作为一个从事NFT相关开发工作的以太坊社区开发者,笔者非常关注NFT生态相关的最新发展,因此在获取到该.
1900/1/1 0:00:00头条▌青浦区首次发出数字人民币人才奖励金色财经消息,近日,青浦区人社局探索开展了应用数字人民币方式兑付人才资金的试点工作.
1900/1/1 0:00:00Web2消费互联网卷不动了,Web3“阉割版NFT”数字藏品跟元宇宙营销被骂泡沫跟噱头,互联网人还能从哪儿找增量?好赚的钱赚完了,难迈的坎儿还得迈.
1900/1/1 0:00:00DeFi数据1.DeFi代币总市值:369.62亿美元 DeFi总市值数据来源:coingecko2.过去24小时去中心化交易所的交易量:38.
1900/1/1 0:00:00MetaPlatformsInc.的加密货币项目曾经令该公司创始人马克·扎克伯格在国会饱受攻击,现在,该项目的剩余部分也将正式关闭。Meta在Novi网站上表示,该项目试点将于9月1日停止服务.
1900/1/1 0:00:00