Vitalik最新提案EIP-7702详解:可替代EIP-3074

时间:2024-09-25 编辑: 浏览:(676)

作者:Vitalik,以太坊创始人;翻译:xiaozou@

1、概述

添加一个新的交易类型(transaction type),该交易类型添加一个contract_code字段和一个签名,并在该交易期间将签名帐户(不一定与txt .origin相同)转换为智能合约钱包,目标是提供与EIP-3074类似的功能。

2、动机

为EOA添加短期功能改进,增加应用的可用性,并在某些情况下支持安全性改进,很多人都对此非常感兴趣。三个特定应用如下:

批处理:允许同一用户在一个原子交易中执行多个操作。一个常见的例子就是ERC-20获批准之后被再次花费,这在如今要求两笔交易的去中心化交易所中是一个常见的workflow(工作流程)。批处理的高级用例偶尔还会涉及到依赖关系:第一个操作的输出是第二个操作的输入的一部分。

赞助:账户X代表账户Y支付交易费。账户X可以通过其他ERC-20支付此项服务,或者它还可以是一个应用程序运营商,免费包含其用户的交易。

特权降级:用户可以签署子密钥,并赋予它们特定权限,这些特定权限要比帐户全局访问权限弱得多。例如,你可以设想一下这个权限是使用ERC-20代币支付而非ETH,或者每天支出总余额1%,再或者是仅与特定应用程序交互。

EIP-3074解决了所有这些用例挑战,但是存在者未来兼容性的顾虑:

它引入了AUTH和AUTHCALL两个操作码,这在最终所有用户都使用智能合约钱包的“账户抽象终局”的世界里毫无用处(似乎最终必将是这样一个世界,最起码因为最终量子计算机将终止EOA使用的ECDSA)。

它将导致“invoker contract(调用者合约)”生态系统的发展,该生态系统将独立于“智能合约钱包”生态系统,从而导致付出的努力处于分散状态,形不成合力。

该EIP的目标是在不存在这两个问题的情况下启用EIP-3074的所有用例。

3、规范

本文档中的关键字“MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY”和“OPTIONAL”的解释与RFC 2119中描述的一致。

参数:

FORK_BLKNUM = TBD

TX_TYPE = TBD

MAGIC = TBD

PER_CONTRACT_CODE_BASE_COST = 5000

自FORK_BLOCK_NUMBER开始,引入了一个新的EIP-2718交易,TransactionType = TX_TYPE(TBD)。

该交易的EIP-2718 TransactionPayload为:

rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, data, access_list, [[contract_code, y_parity, r, s], ...], signature_y_parity, signature_r, signature_s])

新交易的固有成本继承自EIP-2930,具体为:21000 + 16 * non-zero calldata bytes + 4 * zero calldata bytes + 1900 * access list storage key count + 2400 * access list address count

此外,我们在每个contract_code上添加了16 * non-zero calldata bytes + 4 * zero calldata bytes,再加上PER_CONTRACT_CODE_BASE_COST乘以contract_code数组的长度。

在交易执行一开始时,对于各[contract_code, y_parity, r, s]元组:

设置signer = ecrecover(keccak(MAGIC + contract_code), y_parity, r, s]

验证signer的合约代码为空

设置signer的合约代码为contract_code

在交易结束时,将每个signer的contract_code重设为空。

注意,任何contract_code签名的singer和交易的txt .origin都可以不相同。

4、基本原理

(1)EIP-3074用例的转换

在该设计中,无需作大量工作就可以转换现有的EIP-3074工作流程。具体来说,AUTH和AUTHCALL将被该EOA的调用所取代。一种方法是,contract_code将是一个用户钱包(为了节省gas,可以是一个DELEGATECALL转发器),并将暴露两个函数,verify和execute。

AUTH将被一个verify代码取代,该代码将使用TSTORE在本地设置authorized[msg.sender, ...] = True

AUTHCALL将被一个execute调用所取代,该调用将使用TLOAD来验证authorized[msg.sender, ...],然后从那里开始执行。

因此,从“现有的EIP-3074工作流程”转换为这个新方案下的工作流程非常简单。

(2)向前兼容未来的帐户抽象

该EIP被设计为具有非常高度的对帐户抽象未来的向前兼容性,不会过度保存ERC-4337或RIP-7560的任何详细信息。

具体如下:

用户需要签署的合约代码可以是现有的ERC-4337钱包代码。

所使用的“code pathways”是在许多情况下(尽管可能并非全部)在纯智能合约钱包领域里继续“行得通”的代码路径。

因此,它避免了“创建两个独立的代码生态”的问题,因为在很大程度上它们将是同一个生态系统。在这个解决方案下,可能会有一些需要组合的工作流程,在“账户抽象终局”下的各种“更加原生的”环境中可能会做得更好,但这只是相对较小的一部分。

它不需要添加任何操作码,将在后EOA世界变得无用。

它允许EOA以一种与现有EntryPoint兼容的方式,将自己临时转换为合约,以包含在ERC-4337交易包中。

一旦部署完成,EIP-5003将“只有一行代码”:只需添加一个flag,在交易结束时不将代码设置为空。

5、向后兼容性

该EIP打破了账户余额只能因源自该账户的交易而减少的定式。这对内存池设计和其他EIP(如包含列表)都有影响。然而,这些问题对于任何提供类似功能的提案都是常见的,包括EIP-3074。

6、安全顾虑

关于EIP-3074的许多安全顾虑都是共通的。尤其是,用户钱包在签署contract_code时要格外谨慎。

最新 更多 >
  • 1 美国国会预算办公室警告称,不断上升的债务将减少美国人的收入,美国国债创历史新高3466.60亿美元

    美国国债刚刚创下34.667万亿美元的历史新高。 财政部债务到便士系统的新数据显示,该国的国债在5月31日星期五达到了这一里程碑。 这比2024年初增加了6770亿美元,当时国家债务为33990万亿美元。 创下历史新高之际,国会预算办公室(CBO)的一份报告警告称,国家债务越大,美国人赚的钱就越少。 “目前的法律债务轨迹将在未来三十年内使收入增长率下降12%,到2049财年每年下降13%。 快速增

  • 2 这轮牛市为什么看不到大量的出圈效应了?也没有大批新韭菜进场了

    这轮牛市:1. 涨的慢,没有展现出过往牛市那样的赚钱效应;2. 流动性差,除BTC以外的大部分高市值山寨均没有走出新高;3. 缺乏流量,社交媒体关注度远低于过往牛市;判断这轮牛市涨的快还是慢?这是一个技术层面的问题,对于价格上涨的动能,并不是单纯看其变动的速度,而是要看其持续性;举个例子,假设一轮牛市需要1年的时间走完,那么如果这路牛市在这一年的前11个月都在低位震荡,却在最后一个月走出了300%

  • 3 NYAG就10亿美元欺诈对两家加密货币公司提起诉讼

    纽约州总检察长Letitia James已对加密货币交易公司NovaTechFx和数字资产开采公司AWS Mining提起诉讼。 该诉讼指控他们参与了非法传销,诈骗了11000多人和数十万投资者,导致加密货币损失超过10亿美元。 10亿美元欺诈计划 根据6月6日的新闻稿,这起诉讼的目标是NovaTechFx、其创始人Cynthia和Eddy Petion,以及AWS Mining组织非法传销,以承

  • 4 这次将是行情的最后一跌吗?把握住抄底机会 希望你不要拍大腿

    这一次的暴跌将是最后一跌吗?消息面:万众瞩目的大非农就业数据,新增了27万+非农业人口,强劲的就业数据让美联储维持高利率的想法大大增加。各大机构对9月份美联储降息的信心遭受沉重的打击,于是纷纷割肉砸盘,最后造成多头踩踏集体崩盘。情绪面:经过数据检测,自BTC从57000美元上涨到72000美元后,这一个月又重新唤起了很多韭菜散户的信心。他们总是在行情低迷可以抄底的时候骂市场是骗局(不敢买),最终涨

  • 5 新冠肺炎疫情加剧了儿童保育危机,使美国企业损失数十亿美元

    Vadym Buinov |时刻|盖蒂图片社 新冠肺炎疫情暴露了美国经济的裂痕和韧性,随着日托机构关闭、学校停课以及家长试图让孩子兼顾工作,儿童保育成为中心。根据劳工统计局的最新数据,尽管儿童保育部门的就业已恢复到疫情后的基线水平,但一些地区的工人短缺和儿童可用名额的短缺正在给该部门带来压力。家庭的成本也在上升。美国银行2月份的一份报告显示,2023年第四季度,家庭平均育儿费用同比增长15%至近

  • 6 2024年区块链与AI投融资动态:各领域全面崛起

    2024年,区块链和人工智能(AI)领域的投融资活动依旧活跃,各个赛道纷纷吸引了大量资本投入。以下是今年上半年各领域的重要投融资事件综述。DeFi领域的重大投融资事件去中心化金融(DeFi)继续显示出强劲的增长势头。其中,AI驱动的DeFi平台Aperture Finance完成了A轮融资,总融资额达到1200万美元。Aperture Finance利用人工智能优化去中心化金融的各个方面,包括流动

  • 7 “其他”加密货币主导市场清算,损失1亿美元

    加密货币市场在过去24小时内从交易头寸中清算了3.45亿美元。令人惊讶的是,1亿美元来自市值前50名之外的“其他”加密货币。 Finbold于6月8日从CoinGlass检索到了这一信息,此前投机者认为这是在宏观经济数据公布后发生的大规模崩盘。 特别是,暴露于“其他”加密货币的多头交易员损失了绝大多数,清算金额为1.0382亿美元。这些低上限硬币的卖空者在24小时内仅损失609万美元,总计损失10

  • 8 随着历史模式的重演,XRP有望迎来传奇性的上行

    在过去的24小时里,XRP经历了近几个月来最大的跌幅之一,突破了关键的0.50美元支撑区。 将价格维持在0.50美元以上被广泛认为是代币摆脱0.60美元以下长期盘整的关键。 在这种悲观情绪中,加密货币分析师Egrag Crypto在6月7日发布在X(前身为推特)上的分析中表示,XRP有望实现他所说的“传奇”上行潜力。 根据分析,XRP可能上涨41%。深入研究代币的图表,可以看到一种被描述为“疯狂看

  • 9 俄罗斯和中国发展“独立支付系统”以抛弃美元,避免“外部干涉”:弗拉基米尔·普京

    一组经济结盟的国家表示,他们正在建立一个“独立的支付系统”,以摆脱美元。 在圣彼得堡举行的SPIEF 2024会议上,俄罗斯总统弗拉基米尔·普京表示,旨在维护国家货币主权的系统正在进行中。 “在金砖国家内部,我们正在努力建立一个独立的支付系统,不受政治压力、滥用和外部制裁干涉。” 普京发表声明之前,有初步报道称,中国和俄罗斯领导的金砖国家将使用区块链技术为支付系统提供动力。金砖国家还包括巴西、印度

  • 10 比特币周末低流动性震荡后 将迎来暴涨?

    兄弟们今天端午节,祝大家端午安康,牛市中多挣钱,早日A7。回到盘面复盘一下我的操作:71500空到69300后,69300的多单被甩下车,然后做空被损,做多又被损,做空也又被损了。一天损了4次损麻了。周末不该频繁开单,少看趋势线,多看fib和1-4小时图。现在我短线强烈看涨。是上次低流动性震荡,那个时候我们也是多单被甩下车后起飞的,图形和这次几乎是一模一样。同样是参考前两个低点画一条趋势线,震荡的