计算机编程中的抽象和数据抽象指的是隐藏除了「对象」相关数据以外的所有数据的过程,目的是减少复杂性并提高有效性。它通过省略不必要细节的方式来表示对象。抽象是面向对象编程的三大原理之一,它与封装和数据隐藏有关。这篇文章将为以下方面提供概览:
以太坊账户抽象
·外部账户/用户账户
·合约
为账户抽象提议的EIP
·EIP-86:事务来源和签名的抽象
·EIP-2938:账户抽象
·EIP-4337:通过入口点合约(EntryPointContract)实现的账户抽象
用例
·钱包
·赞助交易
·混币
·DeFi协议
账户抽象
以太坊的账户抽象以创建单一账户类型为目标,这种账户将包含所有相关方面,而且没有任何无关的方面,让开发人员的工作更加轻松。
以太坊账户类型
目前,在以太坊区块链上有两种类型的账户:
用户账户
用户账户是给一般人使用的。
·这些账户由对应公共地址的私钥所控制,比如用户的钱包账户。
·这些账户又称为外部账户(EOA),不需要ETH余额就可以在区块链上创建一个外部账户。但是,两个外部账户之间可以用ETH进行交易,也可以用ERC支持的其他Token。
·外部账户(钱包)用于加密货币的发送和接受功能存在于以太坊虚拟机的外部。
合约
合约是一组由代码控制的指令。
·因为使用了网络储存,所以创建一份合约通常会产生相关成本。
·用户可以操作多种功能,比如接收来自外部账户和合约账户的事务,以及向它们发送事务。
以太坊客户端Hyperledger Besu发布热修复版本v22.7.6:10月8日消息,企业级以太坊客户端Hyperledger Besu发布热修复版本v22.7.6,解决了链重组的错误,建议所有以太坊主网用户升级。[2022/10/8 12:49:40]
·它还可以启动一个执行多种活动的代码,包括兑换Token或是创建一个新合约。
·合约账户是存在于EVM的「智能合约」。
如果你发送1个ETH到由代码合约控制的账户,那就没有人可以再控制这个ETH了。唯一可以转移这个ETH的是合约的执行,即代码本身。
两种账户类型都具有接收、保留和发送ETH和?Token?的潜能,还有与部署在网络上的其他智能合约进行通信的潜能。
账户抽象提案
以太坊账户抽象(AA)是对这两种账户形式的加强,让它们更具有可比性,还使外部账户的管理逻辑像合约账户一样通用。
它的目的是将合约账户的两种形式减为一种形式。单个账户形式的用途包括铸币和合约转账。开发者和用户将不再需要区别账户类型,因为事务将完全转移到EVM上并脱离区块链协议。
以太坊开发者一直在寻找实现的方法,但一直没有达到?Final?状态的提案。在以下部分,我们将概述迄今为止提议账户抽象的三个以太坊改进提案(EIP)。
账户抽象提案的时间线
2016:
·VitalikButerin为Metropolis提出最初的抽象变化想法。
·其目的是准备一种账户安全抽象。在传统的模型中,ECDSA和默认的nonce方案是保护账户的唯一途径。在此模型中,所有账户都是合约账户,它可以支付gas,且用户可以自由定义他们的安全模型。
2017:
·VitalikButerin提出了用于事务来源和签名的抽象的EIP-86。
以太坊Gas均价降至年内新低:据 EtherScan 数据显示,当前以太坊 Gas 均价为 12Gwei,降至年内最低位。[2021/6/6 23:15:51]
·其目的是抽象出签名验证和nonce检查机制,允许用户建立账户合约来执行任意所需签名或nonce检查,而不是依赖于传统的方法。
2020:
·VitalikButerin、AnsgarDietrichs、MattGarnett、WillVillanueva和SamWilson提议了用于账户抽象的EIP-2938。
·目的在于允许合约成为可以支付费用和执行事务的「顶级」账户类型。
2021:
·VitalikButerin、YoavWeiss、KristofGazso、NamraPatel以及DrorTirosh提议了通过入口点合约规范进行账户抽象的EIP-4337。
·其目的在于避免共识层协议变更,而是依靠更高层次基础设施。
EIP-86:事务来源和签名的抽象
根据其「摘要」,EIP-86提议实现一系列改变,这些改变服务于「抽象出」签名验证和nonce检查的综合目的,允许用户创建用于执行任意所需签名/nonce检查的「账户合约」,而不是依赖于使用目前这种硬编码到事务处理的机制。
传统模型:ECDSA和默认的nonce方案是保护账户的唯一方式。
新模型:所有账户都是合约账户,它可以支付gas,且用户可以自由定义他们的安全模型。
以forwardingcontract为例,作者VitalikButerin解释道,这种合约会验证签名,如果签名是有效,它开始向矿工发起付款,然后使用给定的值和数据向指定地址发送调用指令。
这个提案的主要优势如下:
多签钱包
·传统方法:多签钱包中的每一笔交易都必须由所有的参与者进行同意。我们可以通过将所有参与者签名结合为单一批准事务对此进行简化,但这种方法还是会增加复杂性,因为所有参与者的账户都必须持有ETH。
以太坊期权交易量在上月创下历史新高:据The Block Research 数据,2020年12月 以太坊期权交易量创历史新高。11月的期权价值为18.3亿美元,而12月的期权价值为22.4亿美元,增长22.4%。
据悉,Deribit 拥有以太坊期权交易量的83.4%。其次是OKEx,占交易量的13.9%,位居第三的是bit.com,为1.72%。
2020年 12月创下各种历史新高,包括稳定币的总发行量和现货交易所的合法交易量。[2021/1/10 15:47:24]
·新方法:在这个EIP的帮助下,现在的合约可以持有ETH,直接提交包含所有签名的事务至合约上,合约将会支付这笔费用。
自定义密码学
·传统方法:用户必须遵循ECDSA,这是一种使用椭圆曲线的密码学。
·新方法:用户可以升级至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?之前的状态变更无法被逆转。
谷歌趋势:以太坊搜索量或超过2017年的水平:随着ETH重回1100美元上方,来自美国谷歌趋势的数据显示,以太坊的搜索量正在飙升,人们对以太坊的兴趣激增,甚至预计将超过2017年的水平。2017年,ETH价格从元旦当天的8美元左右飙升9600%,最终达到775美元,两周后又升至1400美元的历史高点。管理顾问和以太坊投资者“DCinvestor.eth”评论说,这是以太坊走向主流的周期,就像2017、2018年的比特币一样。(CryptoPotato)[2021/1/6 16:32:44]
SamWilson是这个提案的作者之一,它在这里解释了AA事务与其他传统事务的不同之处。
在AA事务中,不会有gas价格或是gas上限、没有发送的值和签名字段,并用??target?代替?to?。在多签合约中,这些字段在calldata中进行传递,并用合约进行处理。
如果一笔事务到达节点,事务的有效性会被检查。但是传统事务和AA事务进行检查的方式不同。
·在传统事务中:节点检查:他们的nonce与账户的下一个nonce匹配、账户余额足以支付他们的价值以及最高的gas费用,并且他们的签名与账户的地址匹配。
·在AA事务中:节点检查:他们的nonce与合约的下一个nonce完全匹配、合约的字节码以标准的前缀开始、验证逻辑在达到验证gas上限之前调用?PAYGAS?、没有禁止的操作码在?PAYGAS?之前被调用,以及合约余额足够支付?PAYGAS?设定的gas费。
区块广播时间是一个新区块到达网络大多数节点所需平均时间。
当具有AA事务的区块到来时,同一账户的所有待处理事务都将被删除。另一方面,传统事务会被重新验证并可能在收到新区块时发布。
EIP-4337:通过入口点合约实现的账户抽象
这是VitalikButerin和社区提出的最新议案。它作为一项ERC提议出来,而这个提案包括了避免共识层协议的变更,而依靠于更高层的基础设施。
动态 | 以太坊扩容解决方案Fuel正式发布 未来或使ETH交易速度达到百万TPS:据Decrypt消息,由少数以太坊程序员组成的非营利组织Fuel Labs昨日在博客中发布了以太坊的替代性扩容解决方案Fuel。该项目预计将很快通过安全性审核,以确保其安全性,并在主网上上线。在过去的两个月中,Fuel Labs一直在开发Fuel,这个方案主要是基于ConsenSys研究人员John Adler的研究论文得出的。该团队声称,Fuel可以使以太坊交易成本便宜五倍。Fuel估计可以将以太坊每秒可以处理的事务数量从大约10增加到50。未来,Fuel可以使交易速度增加到每秒2000个TPS,甚至可以达到一百万TPS。[2019/10/25]
它旨在完成下列目标:
·账户抽象:允许用户使用包含随机验证逻辑的智能合约钱包作为他们的主要账户,而不是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并减少了打包上链的垃圾交易数量。这将会增加区块链的可扩展性和市场效率,因为套利交易者更能做到纠正跨链交易在价格上的差异。
套利交易员指的是利用两个或更多市场之间的差价,由此同时低价购入并高价卖出的交易员。
来源:金色财经
讲多了以太坊合并,那么今天就来论一论,以太坊合并会怎么影响加密项目? 合并后实际会发生什么? 发行率下降和通缩压力:合并后最直接的影响可能是ETH代币发行率的显着下降.
上周所有交易所持有的比特币总量急剧下降,根据过去的表现,这一发展被认为对比特币市场有利,但也与BTC触底的可能性有关,最有可能在第四季度触底.
What?is?the?difference?between?cryptocurrencies?and?stocks?Cryptocurrencies?and?stocks?-?which?is.
卡尔达诺(ADA)鲸鱼和鲨鱼的活动本周大幅增加,甚至鲸鱼已经看涨至1美元。在即将到来的Vasil硬分叉之前,鲸鱼和股票累积了近1.38亿美元的ADA,钱包总数超过350万.
周报概要: 1、上周NFT市场成交量稳中有降,较上周下降约7.6%;其中X2Y2周成交额持续位居榜首,份额占比50.4%.
导演第749篇原创每日行情分析2022.07.19 一、市场情绪:? 二、图表结构: 1、大饼:? 大饼1H的结构:目前大饼1H的依然还是处于上升的阶段,整体的走势已经走的非常的明显了.