以太坊账户抽象的未来——EIP 4337_以太坊:AMA

当我们刚开始投身去中心化金融交易,首先需要的是一个钱包。而在操作链上钱包工具的过程中,大多数人可以感知到与我们习惯的用户体验并不相同——链上钱包可以实现完全托管数字资产,但缺乏账户安全保障。

EOA和CA账户执行时,外部账户的每笔链上交易都需要一个EOA来签署发起,用户通过一对密钥拥有一个EOA钱包,这个密钥被称作signer。由于钱包地址的公钥属性,使得EOA钱包既是账户又是signer,这将带来严重的资产安全问题。也就是说signer对账户有着完全控制权,我们可以试想有一天自己丢失了账户,而碰巧有人找到了自己的signer,那这个人就拥有了自己的账户以及名下的所有数字资产。

CZ:未来或不再使用BUSD作为主要交易货币:2月13日,Binance 创始人 CZ 就近期“SEC 调查稳定币发行商 Paxos”事件进行回应表示:在可预见的未来,币安将继续支持 BUSD。我们确实预见到用户会随着时间的推移迁移到其他稳定币。我们也会做相应的产品调整。例如,放弃使用 BUSD 作为主要交易货币,等等。[2023/2/13 12:04:28]

以太坊常见的链上自托管钱包EOA&CA对比

对此,诸多开发者探索了不同基于EOA和CA账户的技术优化方案。增加资产转移、合约私密控制、用户操控等组件,为防止用户资产丢失绞尽脑汁,但仍存在不少纰漏之处引来各方质疑。知名NFT项目BoredApeYachtClub就曾曝出数百个NFT被盗事件,给以太坊用户本就不好的钱包体验感“雪上加霜”。为此,我们将探寻把两种账户优势合二为一,又克服各自弊端的账户抽象方案,看其如何为Web3时代的钱包工具打造成功范式。

1账户抽象:全自动一体化支付

现有账户体系要求用户必须安全存储、保护私钥/助记词,否则就会产生丢失数字资产的风险。同时,安全缺失问题也让很多想投身加密数字交易的用户望而却步,甚至阻止链上应用的使用功能。那么解决账户钱包安全问题的方案是什么?是账户抽象,一种探索自动化可编程支付,支持自动提取资金的自托管钱包编写智能合约。

Polygon增加DefiLlama推出的LlamaNodes为其新的RPC供应商:金色财经报道,Polygon 宣布增加新的 RPC 供应商 LlamaNodes,以 Web3 中的低延迟性为 Polygon 生态系统提供免费的 RPC。LlamaNodes 由链上数据分析网站 DefiLlama 推出,根据其数据,LlamaNodes 目前每日在 Polygon 上处理超过 1 亿个请求。[2023/1/19 11:20:46]

帐户抽象可以为用户提供简化使用帐户的能力。就像我们开启一个网站邮箱账户,只需学会操作办法,而无需通晓工作原理。拥有账户抽象,我们可以摆脱助记词/私钥等束缚,还可以启用不同的签名选项,Gas费用由DApp赞助或通过Token支付等方式实现。

账户抽象的最大目标就是解耦signer和账户之间绑定的关系,防止signer对钱包资产的绝对控制权。简言之,账户抽象实现了交易验证、执行的一体化过程,转变为根据用户需求进行调整的模块化组件,将EOA和CA合二为一。

Alameda向Binance交易所转入297万枚MATIC:11月9日消息 ,据欧科云链OKLink多链浏览器显示,被标记为“Alameda”实体标签地址(0x350开头)于今日 11:05:47向 Binance 交易所转入 297万枚 MATIC,价值约 289 万美元。此前该地址曾于今日10:15:47陆续从OKX交易所分4笔转入297万枚MATIC。[2022/11/9 12:37:07]

2利用EIP4337释放账户抽象

明确了发展目标后,Vitalik和以太坊的核心开发成员不断起草“账户抽象”的解决方案。从最初的EIP86到如今的EIP4337,交易权利进一步释放到用户手中,安全风险被高度削弱优化,下一代钱包工具呼之欲出。

发展历程

EIP-86,引入智能合约作为“转发合约”,任何人都可以从入口地址发送交易。EIP-1014,预测部署合约地址,发挥智能合约钱包作用,确保合约地址在所有EVM链上相同。EIP-2938,创建全新的操作密码进行“账户抽象”交易,协议变更过大后续被放弃。EIP-3074,创建两个全新的操作码,一起使用时允许智能合约代表EOA发送交易,但面临安全风险未被实施。在以太坊合并路线完成后,更多开发者投身账户抽象解决方案的修改制定。2021年9月,Nethermind、Opengsn研究人员在Vitalik的帮助下,提出了EIP4337。这一版本的最大特点是:无需更改任何共识层协议,为以太坊带来“账户抽象”。

Watcher.Guru:Coinbase出现宕机问题:金色财经报道,Watcher.Guru在社交媒体上称,Coinbase的几种代币服务已经关闭。[2022/11/9 12:35:15]

运行原理

EIP4337不修改共识层本身的逻辑,将当前交易存储池的功能复制进更高level的系统中,这一提案创新地引入了“UserOperations”的概念,允许将自定义功能编码到智能合约钱包,用户操作可以把意图、签名、其他数据打包起来进行验证。EIP4337的运作流程包含以下三个步骤:

UserOperations:发起“用户操作”,通过自定义Mempool发送。Bundler打包:Bundler根据费用优先级选择包含UserOperation的对象,利用捆绑器调用EntryPoint合约进行验证运行交易:在上述过程行进中如果没有遇到任何错误,交易将包含在网络的下一个区块中实现。

美国财政部正调查Kraken是否允许伊朗用户买卖数字代币:金色财经报道,加密货币交易所Kraken正在接受美国财政部的调查,怀疑它允许伊朗用户违反联邦制裁使用该网站的服务。《纽约时报》称,美国财政部可能会对该交易所处以罚款,但并未提出执法行动的时间表。Kraken的一位发言人展示了Kraken首席法律官Marco Santori的一份声明,称该交易所不会就“与监管机构的具体讨论”发表评论。Santori称,Kraken制定了强有力的合规措施,并继续扩大其合规团队以适应其业务增长。Kraken密切监控对制裁法律的遵守情况,一般情况下,甚至会向监管机构报告潜在问题。[2022/7/27 2:39:51]

在EIP4337提案的设计思路中,EntryPoint发挥了验证账户的功能,确保遵循预先指定的规则并执行;Bundler作为EOA地址将所有交易提交到链上;还可以添加Paymaste扩展智能合约,实现辅助支持。相较之前几个版本的解决方案来说,EIP4337能够在进一步减少安全风险的同时,保障交易运行的有序性、稳定性,并不修改共识层相应内容,为开发者和用户都带来了操作上的便利和高效。

3探析EIP4337的优越表现

安全性能

EIP4337应用的首要保障就是过硬的安全性能。用户使用自定义签名方案的操作机制,允许在以太坊上为多个签名者提供原生支持,两个及以上用户就可以批准一笔交易,提高安全性。如若用户不知何故丢失了私人密钥/账户,只需联系自己的朋友、家人帮助恢复账户即可,这让EIP4337的安全性能相比之前几版草案有了质的飞跃。

操作自由

EIP4337的验证和交易过程虽被分离成两个智能合约,但如果钱包合约成功验证了一笔交易,入口点合约就会自动执行下一个步骤并提交到相应的区块,开发者和用户也可以自由地将想要的内容通过自定义功能编入钱包合约,克服了EOA仅限于ECDSA加密方案的局限性。

架构兼容

自由实现自定义功能编入的同时,需要多线程架构的兼容支撑才能达到额外的运行要求。对此,EIP4337引入了专门针对抽象账户的UserOperations,无论是用于UserOperations的Mempool,还是传递EntryPoint智能合约的Bundler,都能够实现同时并举,而不会产生高能耗、高费用等额外浪费。如果产生了共识层面改变和网络硬分叉挤兑现象,增加全新的Mempool也只需要更新以太坊节点客户端即可。

费用补贴

捆绑器不仅作为重要节点入驻EIP4337的工作流程,还成了“省钱好帮手”。将多个交易、操作捆绑在一起后,批准Token的支出、交易可作为单一执行节点,摈弃多线程交易的重复成本。此外,Paymaster功能允许第三方支付某些UserOperations的交易成本,为用户支付Gas费用补贴协议使用。无论是用户还是付款人的账户余额都将伴随执行循环不断更新,真正让“一次交费,多程运作”成为现实。

4破困前行,让EIP4337顺利打造下一代钱包

抓住以太坊路线合并的红利,EIP4337成了释放账户抽象可能性的“潜力股”。我们可以看到,EIP4337改变了旧有链上账户体验的不适,成为众多Web3应用给予用户自行保管资产的主要方式,并有更多机会推动项目方大规模采用这一解决方案。这不仅是智能合约钱包热潮中的关注焦点,也是区块链技术在互联网时代的重大革新。

然而,EIP4337拥有众多优势的同时,也需不断克服自身不足,焕发新的生命力。比如,在执行过程中增加的DoS漏洞带来了比单个ECDSA验证更为复杂的逻辑;账户不能排队将多个交易发送到Mempool,而只能一次进行一项交易;补贴Gas费用之余,本身运行的Gas费用却并不低廉……这些亟待优化的关键,值得更多开发人员深思并寻找解决路径,唯有不断优化草案细节、精进技术方案,才能让EIP4337成为实现账户抽象的不二之选。

期待2023以太坊开发者社区能够为EIP4337带来更多创新,打造下一代钱包,为用户呈上更为便捷、安全的支付工具。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

USDT如何从0到1开发到上线一个项目?_ELE:EST

首先确定了需求以后,为了快速实现,选择了Python+Django作为前期的技术栈,尽管Python有一些缺点。通过快速的开发和测试进行最原始的部署方式,进行前后端的联调.

[0:46ms0-1:343ms