区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > 火必下载 > 正文

APP:以太坊区块链账户抽象概览_区块链dapp开发一个多少钱

作者:

时间:

计算机编程中的抽象和数据抽象指的是隐藏除了「对象」相关数据以外的所有数据的过程,目的是减少复杂性并提高有效性。它通过省略不必要细节的方式来表示对象。抽象是面向对象编程的三大原理之一,它与封装和数据隐藏有关。这篇文章将为以下方面提供概览:

以太坊账户抽象

·外部账户/用户账户

·合约

为账户抽象提议的EIP

·EIP-86:事务来源和签名的抽象

·EIP-2938:账户抽象

·EIP-4337:通过入口点合约(EntryPointContract)实现的账户抽象

用例

·钱包

·赞助交易

·混币

·DeFi协议

账户抽象

以太坊的账户抽象以创建单一账户类型为目标,这种账户将包含所有相关方面,而且没有任何无关的方面,让开发人员的工作更加轻松。

以太坊账户类型

目前,在以太坊区块链上有两种类型的账户:

用户账户

用户账户是给一般人使用的。

·这些账户由对应公共地址的私钥所控制,比如用户的钱包账户。

·这些账户又称为外部账户(EOA),不需要ETH余额就可以在区块链上创建一个外部账户。但是,两个外部账户之间可以用ETH进行交易,也可以用ERC支持的其他Token。

·外部账户(钱包)用于加密货币的发送和接受功能存在于以太坊虚拟机的外部。

合约

合约是一组由代码控制的指令。

·因为使用了网络储存,所以创建一份合约通常会产生相关成本。

·用户可以操作多种功能,比如接收来自外部账户和合约账户的事务,以及向它们发送事务。

以太坊L2网络总锁仓量为58.7亿美元:金色财经报道,L2BEAT数据显示,截至1月4日,以太坊Layer2上总锁仓量为58.7亿美元。其中锁仓量最高的为扩容方案Arbitrum,约26.5亿美元,占比45.19%;其次是dYdX,锁仓量为9.75亿美元,占比16.63%;第三为BobaNetwork,锁仓量为5.47亿美元,占比9.33%[2022/1/4 8:22:24]

·它还可以启动一个执行多种活动的代码,包括兑换Token或是创建一个新合约。

·合约账户是存在于EVM的「智能合约」。

如果你发送1个ETH到由代码合约控制的账户,那就没有人可以再控制这个ETH了。唯一可以转移这个ETH的是合约的执行,即代码本身。

两种账户类型都具有接收、保留和发送ETH和?Token?的潜能,还有与部署在网络上的其他智能合约进行通信的潜能。

账户抽象提案

以太坊账户抽象(AA)是对这两种账户形式的加强,让它们更具有可比性,还使外部账户的管理逻辑像合约账户一样通用。

它的目的是将合约账户的两种形式减为一种形式。单个账户形式的用途包括铸币和合约转账。开发者和用户将不再需要区别账户类型,因为事务将完全转移到EVM上并脱离区块链协议。

以太坊开发者一直在寻找实现的方法,但一直没有达到?Final?状态的提案。在以下部分,我们将概述迄今为止提议账户抽象的三个以太坊改进提案(EIP)。

账户抽象提案的时间线

2016:

·VitalikButerin为Metropolis提出最初的抽象变化想法。

·其目的是准备一种账户安全抽象。在传统的模型中,ECDSA和默认的nonce方案是保护账户的唯一途径。在此模型中,所有账户都是合约账户,它可以支付gas,且用户可以自由定义他们的安全模型。

MDX突破6美元关口 日内涨幅为18.72%:火币全球站数据显示,MDX短线上涨,突破6美元关口,现报6.01美元,日内涨幅达到18.72%,行情波动较大,请做好风险控制。[2021/2/20 17:31:47]

2017:

·VitalikButerin提出了用于事务来源和签名的抽象的EIP-86。

·其目的是抽象出签名验证和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解释道,这种合约会验证签名,如果签名是有效,它开始向矿工发起付款,然后使用给定的值和数据向指定地址发送调用指令。

现货黄金短线下挫逾6美元,现报1718.78美元/盎司:现货黄金短线下挫逾6美元,现报1718.78美元/盎司。(金十)[2020/4/15]

这个提案的主要优势如下:

多签钱包

·传统方法:多签钱包中的每一笔交易都必须由所有的参与者进行同意。我们可以通过将所有参与者签名结合为单一批准事务对此进行简化,但这种方法还是会增加复杂性,因为所有参与者的账户都必须持有ETH。

·新方法:在这个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?之前的状态变更无法被逆转。

Synthetix将于明日部署Spica升级 将对使用以太坊作为抵押资产进行二次测试:合成资产协议Synthetix将在北京时间7月30日8点部署“Spica”升级进行部分协议改进。该版本将包含以下内容:1.SIP-35和SCCP-27,对使用以太坊作为抵押资产进行第二次测试,其中,抵押率将从150%调整至125%。2.SIP-44,对结算过程进行部分修改;3.SIP-54,向Synth交易所添加了限价单功能等。部署升级后,系统将关闭几个小时。在此期间,用户可能无法与系统进行交互,包括使用Mintr或Synthetix.Exchange以及转移SNX或Synths。[2020/7/29]

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提议出来,而这个提案包括了避免共识层协议的变更,而依靠于更高层的基础设施。

分析 | 较巅峰时期,以太坊DApp活跃度已下滑69.8%:据DAppTotal.com 数据显示,截止目前,以太坊主网共有DApp 1,829个,近期(1月份),以太坊DApp活跃量(MAU>=10个)为703个,占比38.4%,沉默DApp量(没有任何交易)为1,172个,占比64%。整体而言,过去一月以太坊DApp新增2个,增量几近为0。且环比去年8月份(Fomo3D类游戏火热期),以太坊DApp 1月活跃用户量为88,843个,减少了69.8%,交易量为1,369,933笔,减少了47.3%,交易额为401,915个ETH,减少了24.2%。

DAppTotal数据分析师认为,以太坊DApp整体数据的下滑原因主要有三个关联因素:

1、不少开发者转移到了EOS、TRON等其他公链上;

2、以太坊自Fomo3D后暴露出游戏上存在性能瓶颈(不适宜高频交易);

3、以太坊公链的gas交易机制局限了其适合的游戏场景(适宜操作频次低的诸如养成类游戏)。此外,持续的币价下跌也重挫了用户参与DApp交互的热情,为DApp活跃度下滑的原罪。[2019/2/14]

它旨在完成下列目标:

·账户抽象:允许用户使用包含随机验证逻辑的智能合约钱包作为他们的主要账户,而不是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并减少了打包上链的垃圾交易数量。这将会增加区块链的可扩展性和市场效率,因为套利交易者更能做到纠正跨链交易在价格上的差异。

套利交易员指的是利用两个或更多市场之间的差价,由此同时低价购入并高价卖出的交易员。

来源:金色财经

标签:ONCDAPAPPKENMOONCAT Vault (NFTX)区块链dapp开发一个多少钱数字人民币app官方下载19KTN Token

火必下载热门资讯
AME:SBF 登上财富杂志封面:「下一个巴菲特?」_Kambria Yield Tuning Engine

?SBF认为比特币会逐渐从大清算中恢复过来,清算结束是一大利多。撰文:财富杂志 美国商业杂志《Fortune》于8月2日专访SBF,以「下一个巴菲特」当作专访标题,并将SBF放上了Fortune.

BIT:区块链动态2022年8月7日早参考_BEA

00:00-07:00 关键词:稳定币项目Beanstalk、萨尔瓦多总统、加密货币交易平台BitMEX1.8月7日消息,AfricaDAO已在BitDAO社区发起投票提案.

DEF:8.7多头上行受阻行情冲高回落 周线预计先下后上_defi币联合坐庄是局吗

币圈咨询 8月7日热点; 1.中非共和国总统:支持比特币在全国范围内使用2.马斯克要求与TwitterCEO进行公开辩论.

WEB3:Web3 一代鼓舞人心的领导者——他们是谁?_ugas币怎么找不到了

Web3看起来不再像科幻小说了。随着每一个新的DeFi、区块链或加密项目,我们离实现Web3越来越近。当然,到达那里需要的不仅仅是伟大的技术。它还涉及让优秀的人和整个组织致力于它.

EVO:REVA夏季NFT拍卖会蓄势待发?_VOL

作为全球首家开创高端NFT拍卖业务的REVA,长期以来,一直被各界投以密切的高度关注,不仅因为元宇宙与NFT风头正盛,甚至艺术、拍卖此类领域日前,传出REVA下半年首场主题NFT专场拍卖会.

MASTER:ERC4907 的到来 会给 NFT 带来哪些变革?_MASTER币

撰文:SumanthERC4907于七月上线,它为NFT租凭创造了便利。reNFT筹集了500万美元来构建用于NFT租赁的基础设施;Cardinal筹集了500万美元用于在Solana上构建NF.