计算机编程中的抽象和数据抽象指的是隐藏除了「对象」相关数据以外的所有数据的过程,目的是减少复杂性并提高有效性。它通过省略不必要细节的方式来表示对象。抽象是面向对象编程的三大原理之一,它与封装和数据隐藏有关。这篇文章将为以下方面提供概览:
以太坊账户抽象
·外部账户/用户账户
·合约
为账户抽象提议的EIP
·EIP-86:事务来源和签名的抽象
·EIP-2938:账户抽象
·EIP-4337:通过入口点合约(EntryPointContract)实现的账户抽象
用例
·钱包
·赞助交易
·混币
·DeFi协议
账户抽象
以太坊的账户抽象以创建单一账户类型为目标,这种账户将包含所有相关方面,而且没有任何无关的方面,让开发人员的工作更加轻松。
以太坊账户类型
目前,在以太坊区块链上有两种类型的账户:
用户账户
用户账户是给一般人使用的。
·这些账户由对应公共地址的私钥所控制,比如用户的钱包账户。
·这些账户又称为外部账户(EOA),不需要ETH余额就可以在区块链上创建一个外部账户。但是,两个外部账户之间可以用ETH进行交易,也可以用ERC支持的其他Token。
·外部账户(钱包)用于加密货币的发送和接受功能存在于以太坊虚拟机的外部。
合约
Tether:希望CoinDesk抛开偏见,不要公开分享任何客户名称:金色财经报道,稳定币发行方Tether在官网发文称,在2021年达成和解后不久,CoinDesk要求根据纽约信息自由法公开披露与Tether第一份季度报告相关的材料。今天上午,纽约总检察长办公室向CoinDesk提供了回应文件。我们怀疑今天通过DeFi和中心化交易所对USDT的攻击发生在将材料移交给CoinDesk的那天。尽管如此,Tether没有什么可隐瞒的,我们对我们财务数据的准确性充满信心。
虽然我们对政府机构发布机密数据(至少与Tether的储备有关)的敏感性现在低于2021年,但我们仍对客户数据保持警惕。虽然我们不能指望CoinDesk的公平报道,它经常歪曲Tether在市场上的地位以支持其主要竞争对手,但我们呼吁他们抛开偏见,不要公开分享任何过去或现在的客户名称,不要因此将社区中的任何人置于物理或数字风险中。[2023/6/16 21:42:47]
合约是一组由代码控制的指令。
·因为使用了网络储存,所以创建一份合约通常会产生相关成本。
·用户可以操作多种功能,比如接收来自外部账户和合约账户的事务,以及向它们发送事务。
·它还可以启动一个执行多种活动的代码,包括兑换Token或是创建一个新合约。
·合约账户是存在于EVM的「智能合约」。
如果你发送1个ETH到由代码合约控制的账户,那就没有人可以再控制这个ETH了。唯一可以转移这个ETH的是合约的执行,即代码本身。
两种账户类型都具有接收、保留和发送ETH和?Token?的潜能,还有与部署在网络上的其他智能合约进行通信的潜能。
账户抽象提案
以太坊账户抽象(AA)是对这两种账户形式的加强,让它们更具有可比性,还使外部账户的管理逻辑像合约账户一样通用。
它的目的是将合约账户的两种形式减为一种形式。单个账户形式的用途包括铸币和合约转账。开发者和用户将不再需要区别账户类型,因为事务将完全转移到EVM上并脱离区块链协议。
以太坊开发者一直在寻找实现的方法,但一直没有达到?Final?状态的提案。在以下部分,我们将概述迄今为止提议账户抽象的三个以太坊改进提案(EIP)。
Mocaverse推出合作伙伴支持服务Mocana Odyssey:金色财经报道,Animoca Brands旗下NFT系列Mocaverse宣布推出合作伙伴支持服务Mocana Odyssey,参与项目或将涉及Animoca Brands旗下产品组合,而首个参与者将是区块链游戏平台GAMEE旗下Arc8。此外,Mocana Odyssey合作伙伴体验的用户将有机会获得Moca XP形式的奖励,Moca XP的发布日期和机制可能在本周晚些时候才会发布,但据称连续两个质押窗口“软质押”Mocaverse NFT的用户将有资格获得奖励。[2023/3/28 13:29:44]
账户抽象提案的时间线
2016:
·VitalikButerin为Metropolis提出最初的抽象变化想法。
·其目的是准备一种账户安全抽象。在传统的模型中,ECDSA和默认的nonce方案是保护账户的唯一途径。在此模型中,所有账户都是合约账户,它可以支付gas,且用户可以自由定义他们的安全模型。
2017:
·VitalikButerin提出了用于事务来源和签名的抽象的EIP-86。
·其目的是抽象出签名验证和nonce检查机制,允许用户建立账户合约来执行任意所需签名或nonce检查,而不是依赖于传统的方法。
2020:
·VitalikButerin、AnsgarDietrichs、MattGarnett、WillVillanueva和SamWilson提议了用于账户抽象的EIP-2938。
·目的在于允许合约成为可以支付费用和执行事务的「顶级」账户类型。
跨链桥Across Protocol代币ACX将于明日正式上线:11月27日消息,跨链桥 Across Protocol 代币 ACX 将于明日正式在 Layer 1 网络上线,Across 公布其代币在以太坊、Optimism、Arbitrum、Boba、Polygon 链上的地址,并表示社区已经协调了一个 ACX 流动性解决方案,将很快公布。[2022/11/28 21:05:31]
2021:
·VitalikButerin、YoavWeiss、KristofGazso、NamraPatel以及DrorTirosh提议了通过入口点合约规范进行账户抽象的EIP-4337。
·其目的在于避免共识层协议变更,而是依靠更高层次基础设施。
EIP-86:事务来源和签名的抽象
根据其「摘要」,EIP-86提议实现一系列改变,这些改变服务于「抽象出」签名验证和nonce检查的综合目的,允许用户创建用于执行任意所需签名/nonce检查的「账户合约」,而不是依赖于使用目前这种硬编码到事务处理的机制。
传统模型:ECDSA和默认的nonce方案是保护账户的唯一方式。
新模型:所有账户都是合约账户,它可以支付gas,且用户可以自由定义他们的安全模型。
以forwardingcontract为例,作者VitalikButerin解释道,这种合约会验证签名,如果签名是有效,它开始向矿工发起付款,然后使用给定的值和数据向指定地址发送调用指令。
这个提案的主要优势如下:
多签钱包
·传统方法:多签钱包中的每一笔交易都必须由所有的参与者进行同意。我们可以通过将所有参与者签名结合为单一批准事务对此进行简化,但这种方法还是会增加复杂性,因为所有参与者的账户都必须持有ETH。
·新方法:在这个EIP的帮助下,现在的合约可以持有ETH,直接提交包含所有签名的事务至合约上,合约将会支付这笔费用。
自定义密码学
·传统方法:用户必须遵循ECDSA,这是一种使用椭圆曲线的密码学。
报告:稳定币发行人持有的美国债务超过伯克希尔哈撒韦公司:8月22日消息,据投资银行摩根大通的一项研究表示,截至 2022年5月,Tether、Circle和其他稳定币公司持有价值800亿美元的美国短期政府债务,超过沃伦巴菲特的伯克希尔哈撒韦公司。
据了解,Tether和 Circle 等稳定币发行人在美国国债市场上积累了相当大的份额,占美国国库券总市场的 2%,表现优于主要的传统金融参与者。[2022/8/22 12:41:23]
·新方法:用户可以升级至ed25519签名或用户自己希望升级的任何方案;不要求用户采用ECDSA。
EIP-2938:账户抽象
根据EIP-2938的摘要,「账户抽象(AA)允许合约成为可以支付费用和执行事务的「顶级」账户。
·传统模型:事务的有效性直接由ECDSA签名、一个简单的nonce值以及账户余额进行定义。
·新模型:
1.账户抽象通过执行随机的EVM字节码来扩展事务的有效性条件。
2.为了表示有效性,引入了新的EVM操作码?PAYGAS,还设置了合约的gas价格和gas使用上限。
3.账户抽象现已分为两类:
单租户AA:这种类型旨在支持钱包或其他参与者很少的用例。
多租户AA:这种类型旨在赋能像Uniswap这种有很多用户的应用。
共识变更
·NONCE操作码:添加一个?NONCE?操作码,推送事务的nonce字段。
·PAYGAS操作码:添加一个?PAYGAS?操作码,创建一个不可逆的检查点,确保?PAYGAS?之前的状态变更无法被逆转。
SamWilson是这个提案的作者之一,它在这里解释了AA事务与其他传统事务的不同之处。
在AA事务中,不会有gas价格或是gas上限、没有发送的值和签名字段,并用??target?代替?to?。在多签合约中,这些字段在calldata中进行传递,并用合约进行处理。
如果一笔事务到达节点,事务的有效性会被检查。但是传统事务和AA事务进行检查的方式不同。
区块链API平台Transpose完成300万美元融资,MaC Venture Capital领投:金色财经报道,区块链API平台Transpose宣布完成300万美元融资,MaC Venture Capital领投,HOF Capital、Soma Ventures和Pareto Ventures 参投。该公司开发了四种不同的应用程序接口来满足Web3开发需求,包括支持查询访问链上数据(即区块和交易信息)、资产层数据(NFT和Token)、以及账户数据(完整钱包所有权和活动)。(alleywatch)[2022/5/27 3:45:02]
·在传统事务中:节点检查:他们的nonce与账户的下一个nonce匹配、账户余额足以支付他们的价值以及最高的gas费用,并且他们的签名与账户的地址匹配。
·在AA事务中:节点检查:他们的nonce与合约的下一个nonce完全匹配、合约的字节码以标准的前缀开始、验证逻辑在达到验证gas上限之前调用?PAYGAS?、没有禁止的操作码在?PAYGAS?之前被调用,以及合约余额足够支付?PAYGAS?设定的gas费。
区块广播时间是一个新区块到达网络大多数节点所需平均时间。
当具有AA事务的区块到来时,同一账户的所有待处理事务都将被删除。另一方面,传统事务会被重新验证并可能在收到新区块时发布。
EIP-4337:通过入口点合约实现的账户抽象
这是VitalikButerin和社区提出的最新议案。它作为一项ERC提议出来,而这个提案包括了避免共识层协议的变更,而依靠于更高层的基础设施。
它旨在完成下列目标:
·账户抽象:允许用户使用包含随机验证逻辑的智能合约钱包作为他们的主要账户,而不是EOA。
·去中心化:允许打包交易捆的人参与包含账户抽象用户活动的过程。用户不需要知道任意活动者的直接通信地址,就可以处理发生在整个公共内存池中的任意活动。
·无共识变更:为了更快的采用,这个提案避免了共识变更。
·交易费支付:用ERC-20标准的Token支付交易费,使得开发者为其用户支付费用,以及类似于EIP-3074这样的赞助的交易提案所支持的用例。
这项提案怎么运作?
图片来源:Infinitism
VitalikButerin在这里很好地解释了这项提案的运作。
这是账户抽象最新的提案,现在还是draft状态,等待被合并成为一项EIP。对比常规的以太坊事务内存池,这项设计增添、维护以及牺牲了一些功能。
关键亮点
没有中心化的活动者、移除了用户端钱包设置复杂性,完全支持EIP-1559、具有代替交费的能力,发送一个比旧UserOperation具有更高溢价的新UserOperation来替换操作或保留了让它更快被打包的功能。
有一些增添的新优势:
1.验证逻辑的灵活性
2.足以让执行层达到量子安全
3.钱包可升级性
4.执行逻辑灵活性
然而,尽管协议已经尽了最大的努力,它还是会略微增加DoS攻击的可能性,它还会增加gas开销,并且一次只执行一个事务。
账户抽象用例
钱包
EOA和合约钱包
·EOA钱包:由私钥保护的钱包。
·合约钱包:使用智能合约在链上实现的钱包。
·安全考虑:如果智能合约代码中存在bug,合约钱包将面临来自易受攻击的智能合约的安全风险。这种风险可以通过由钱包提供商完成的安全测试和审查进行最小化。然而,在EOA钱包中,风险会完全由钱包用户承担,就像用户不小心丢失了私钥也由他们自己承担。
Argent,Dapper,GnosisSafe和Monolith都是智能合约钱包的案例。
EOA的元交易
以太坊区块链用户需要一个持有gas的EOA与区块链网络进行连接,或依赖钱包供应商通过他们的中继或第三方中继网络促进元交易。前者依赖于(需要做KYC的)CEX购买的ETH,试图通过将消费者的责任转移给中继者来尽量减少用户体验摩擦,费用由链上/链下钱包供应商和/或链下用户支付。
元交易是一种包含了带有执行交易意愿者所签署的数据信息的交易。
基于中继者的架构有一些缺点:
1.可以将他们视作拥有抑制交易能力的中心化中介
2.由于中继交易需要额外的21,000基本gas收费,及其公司在gas费基础上盈利的需要,他们在技术上/经济上的效率低下。
3.对中继者专用协议权力的使用。
账户抽象允许智能合约钱包在不依赖中继网络的情况下,接受用户的无gas费的元交易并为他们支付gas费。在不失去以太坊去中心化保证的情况下,这种基础层的能力还会大大提升这种钱包的UX。
赞助交易(SponsoredTransactions)
SponsoredTransactions囊括在EIP-2711(状态为已撤销)中,这个EIP提议了一种机制:通过允许其他人代付gas费,可以让人们无需拥有任何ETH就可以进行交易。
一些用例:
1.允许应用开发者代表用户支付费用。
2.允许用户用ERC-20Token支付费用,合约则像中介收集ERC-20Token并以ETH的方式支付网络费用。
运作
这项提案可以通过出纳机制(paymastermechanism)来支持这些用例。
·对于用例1:Paymaster会验证赞助者的签名被纳入在?paymasterData?中,表明赞助已做好为?UserOperation?进行支付的准备。如果签名有效,Paymaster就会接受这项指令,并从赞助者的份额中扣除?UserOperation?的费用。
·对于用例2:Paymaster会检查?sender?的钱包是否有足够的ERC-20余额来支付这项?UserOperation。如果足够,Paymaster会接受这项指令,并在索要?postOp?里的ERC-20Token之前支付ETH费用。
混币
一起探讨TornadoCash混币机制的例子,以此理解我们如何在DeFi协议中使用AA。
传统的TornadoCash合约中的隐私问题
·当用户进行提款时,TornadoCash为其提供隐私保护。他们可以证明这笔款来自一笔独一无二的存款,但除了用户之外没人知道这笔存款来自哪里。
·用户通常不会在自己的提款地址里持有ETH,如果用户使用他们的存款地址来支付gas,这就会在存款地址和提款地址之间生成一条链上链接。
这个问题可以由第三方中继者解决,他们会验证ZK-Snark和nullifier仍然有效的状态,发布使用其ETH支付gas的交易,并从TornadoCash合约中收集用户的返款。
账户抽象提供的解决方案:用户可以提交一个针对TC合约的AA事务,在这之后执行ZK-SNARK验证和nullifier检查,并直接快速地调用?PAYGAS。这可以让提款者直接用发送到他们提款地址的Token中支付gas,无需中继者或连接其存款地址的链上链接。
DeFi协议
一起探讨DeFi协议Uniswap的案例,了解我们可以在DeFi协议中如何使用AA。
可以创建一种Uniswap的新版本,它允许直接进行针对Uniswap合约的交易。
目前,用户可以将Token提前存进Uniswap;Uniswap可以储存用户的余额和公钥,以便验证花费这些余额的事务。
AA的目标在于通过禁止不符合高级标准的事务被打包到链上,从而提高DeFi协议的gas效率。
在传统模型中:正常的交易员会将他们的Token储存在Uniswap的合约之外。
在新模型中:套利交易员会将他们的Token存在Uniswap上,在外部市场发生变化的情况下,他们还可以转移执行套利的交易。最终,另一个套利交易员如果首先执行这笔交易时,这些没有获利的交易不会被打包上链。这让套利交易员避免了支付gas并减少了打包上链的垃圾交易数量。这将会增加区块链的可扩展性和市场效率,因为套利交易者更能做到纠正跨链交易在价格上的差异。
套利交易员指的是利用两个或更多市场之间的差价,由此同时低价购入并高价卖出的交易员。
来源:金色财经
在比特币早期的1.0时代,人们获得比特币主要是通过矿机挖矿获得比特币或是直接从持币者手中购买比特币这两种方式。在比特币价格快速增长的情况下,收益也在不断的增加.
1900/1/1 0:00:00原文作者:A16zCrypto?加密批评者正在利用与美元挂钩的虚拟货币Terra的暴雷作为攻击稳定币和整个加密行业的弹药。然而,在谈话中迷失自己才是导致市场动荡的根本原因.
1900/1/1 0:00:00游戏+金融是GameFi最早时期在加密领域外的结合形式,当GameFi这个词来到加密领域,由于DEFI生态的成熟,它所指的已经不仅仅是Game+Finance,更是指“Game+DeFi”.
1900/1/1 0:00:00Solana社区成员提议创建可将Ed25519密钥对转换为Curve25519密钥对的加密标准:4月10日消息,Solana社区成员Valentin发起一项提案.
1900/1/1 0:00:00July2022,Mike数据来源:FootprintAnalyticsSHIB和DOGE这两种模因数字货币可能始于玩笑梗图,但它们依然是存在感十足,获投资最多的两种加密货币.
1900/1/1 0:00:008月11下午:以太坊强势拉升2000关口是否即将到来?在做投资的时候,应确立可容忍的亏损范围,善用止损投资,才能不致于出现巨额亏损.
1900/1/1 0:00:00