账户抽象的动机、历史和分析。
账户抽象[AccountAbstraction]是以太网广场需要实现的技术方案,现阶段设计,实现账户抽象后,智能合同账户也可以自主开始交易,不需要依赖元交易的机制。
以太网坊的账户有外部账户和合同账户两种。外部地址是用户的公钥在哈希运算后取的20个字节,形成的。
0x76D8302F7D。
现在以太网坊的事务类型只有一种,必须从外部地址开始,合同地址不能自主开始事务。因此,任何合同本身状态的变化都必须依赖于外部地址开始的事务,无论是多个签名账户还是硬币混合器,或者任何智能合同的配置变更,至少需要外部账户触发。这样的设计不能完成以下两件事。
由于办公必须由外部账户发送和支付费用,该费用由以太(ETH)单位结算,因此外部地址必须持有以太。当然,这种说法并不严格。gasprice为0时,办公室不需要支付手续费。但是,这种情况非常极端,对于普通用户来说,这样的事务可能永远进不去。
由于办公必须从外部账户开始,所以每个办公的合法性检查是在验证办公是否提供了该账户对应的合法secp256k1签名。在验证中引入复杂的逻辑(例如多重签名和社交恢复),或者采用不同的验证算法(例如Edddsa、BLS、secp256r1签名算法,使用这些签名算法具有特殊的特性,对零知识证明友好,签名聚合减少带宽费用这也意味着这个认证至少要从一个外部账户开始,通过以太网坊的secp256k1签名认证。
以上两项约束使普通用户难以使用以太网。首先,无论使用以太网坊的任何应用程序,用户都必须有以太网(承担以太网价格变动的风险)。其次,用户需要处理复杂的收费逻辑,gasprice、gaslimit、事务堵塞,这些概念对用户来说太复杂了。许多块链钱包和应用程序试图通过产品优化提高用户体验,但效果很小。
如何解决上述两个问题?
核心思路是将验证股权的操作从共识层下放到合同层,也就是说,不检查办公的发送人是否与资产所有人一致,检查是否提供了合法的证明书。具体的做法是,用户在事务内容上签字,把签字交给第三者,这个第三者在下一篇文章中用职业生涯来代替。这种事务被称为元交易。根据设计理念,元交易方案大致分为两类
以账户为中心的方案目标是为用户创建基于智能合同管理的账户,用户可以使用该账户与块链上的任意合同进行交互。智能钱包的理念已经很久了,但近年来取得了很大进展。根据智能钱包趋势的统计(注:作者是本人,特此声明),目前智能钱包的运营商超过10家,总用户超过14万人。其中大部分智能钱包采用为用户支付链条手续费的运营战略,以其他方式向用户收取费用。
BTC合同多空持仓人数比为0.91,精英账户多空双方有分歧:分析师表示,截至7月3日10:30,OKEx交易大数据显示,BTC合同多空持仓人数比为0.91,市场多空持仓人数维持相对链锯状态,多数较弱,但季度合同基础仍维持在50美元以上,永续合同资金率为正值,交接和永续合同持仓总量在500万平台上小幅上升,市场多数实力仍不容忽视的BTC交接和永续合同精英持仓方面,多账户比为48.00%从期权合同数据来看,涨价/下跌自主购买量为0.59,自主购买期权人数相对不足,期权市场信心暂时较弱。[2020/7/3]
以账号为中心的方案本质上是块链账号系统,通用性强,可以提供包括账号恢复、大量审查、转账白名单等追加特性。智能钱包运营商协助用户创建和管理块链的可编程身份,并提供服务链服务。一般来说,智能钱包会为用户支付链上的gas费用,同时通过集中收费系统向用户收费。该模式与传统世界的账户服务相似,例如运营商支付基站、光纤等费用,用户只需充电就可以使用通信服务,不必在意基础复杂的逻辑。
智能钱包也有其障碍。一是安全问题,二是收费问题。
安全:如果账户合同有漏洞,所有用户的资产都会受到风险。专业的代码编写、安全审计和形式化验证,只能减少风险发生的可能性,不能保证发生-Argent。
费用:制作智能钱包的账户需要费用,转账和调用的合同比外部地址要多。这就导致智能钱包用户需要支付更高的办公费用,影响了他们的使用体验。
无气通证也存在其问题。从目前的使用情况来看,很少有人使用该特性(需要数据支持)。在智能钱包,不仅是元交易这篇文章中,我分析了可能的原因之一是无法建立有效的收费系统。
以资产为主的方案提高了资产的可用性。与智能钱包不同,需要创建智能合同账户,无气通证支持外部账户不使用以太太转账,反而智能合同账户需要兼容更多的规范(例如EIP-2126,合同可以识别不同类型的签字形式)
以资产为主的方案目标是创建允许第三方支付费用的资产,实现不需要gas通证。例如,DAI、USDC可以允许任何外部地址以元交易的方式发送资产。这些证书协议都使用EIP-712协议来验证所有者的合法性。
根据MattGarnett整理的账号抽象发展历程,从以太网坊2015年上线,账号抽象的讨论并未停止。本文将根据时间顺序简要介绍与账户抽象相关的EIP。需要说明的是,这段历史漏掉了EIP-208,我做了相应的补充。
HUSD审计报告书:管理账户储备超过1.17亿美元,累计发行14亿美元:根据美国独立审计公司的审计报告书,合规稳定货币HUSD到美东时间5月29日为止的流通量和管理在银行的美元储备1:1锚定,达到117、547、358.31美元。截至目前,HUSD累计发行量已超过14亿美元。
HUSD是StableUniversal基于以太网坊发行的合规稳定货币,与美元1:1锚定。目前在数字资产交易和支付等应用程序中落地,安全、合规性、便利性等性能成为受欢迎的新兴稳定货币。[2020/6/12]
EIP-101:货币和密码学抽象。
[November15th,2015]]
在这个EIP中,Vitalik讨论了Serenity中的账号系统设计。该方案的主要思想是每个账户都有自己的代码,即逻辑部分。由于该方案变更过大,与当前事务的兼容性差,会引起很多安全上的危险,该方案被搁置在片段后。
EIP-86:事务来源和签名抽象。
[February10th,2017]]
经过漫长的讨论,Vitalik提出了EIP-86。EIP-86是为账号抽象做技术准备,定义了的账号类型,允许用户创建基于智能合同的账号,该账号是代理合同,存储Ether,在入口点检查事务签名,将验证合法的事务转发到指定地址,并支付相应的费用。这种机制有助于实现多签名钱包、环签名混合货币、定制密码算法(如ed25519)等场景。
对EIP-86的讨论展开了很长时间,值得解释的是,Vitalik丰富了协议的细节,并提出了EIP-208。EIP-86/208计划在Metropolis阶段升级,但在第19届核心开发人员会议上,开发人员提出了许多问题,并决定在Metropolis中暂进,主要原因如下。
账户抽象带来新型事务,与传统事务必须有一个EOA作为发送者,这些事务没有发送者。这样的事务破坏了事务哈希的唯一性,虽然不会影响EVM的执行,但是基于唯一性假设的外部操作都会受到影响。例如,所有通过办公哈希定位办公的RPC接口。
另外,账户抽象的无气支付是优化,但需要性不足。其功能可以通过代理合同实现,唯一的问题是其费用比本地实现大。
矿工的采矿战略受到很大影响,在被广泛接受之前,这些新类型的事务可能马上播出。
这种新型事务仍保留nonce、gasprice、value字段,并设置为0。这很不优雅,希望将来不是引进技术债务,而是以新的事务类型解决。
声音|蚂蚁金融服务首席执行官:蚂蚁金融服务金融级块链网络已经支持10亿账户每天10亿交易量:金色财经报道,蚂蚁金融服务首席执行官井贤栋表示,蚂蚁金融服务已经进行多年块链研究,目前技术和专利领先,块链已经应用于跨境汇款、供应链、司法存款证、电票据等40多个场所。蚂蚁金服的金融级块链网络已经支持10亿账户每天10亿交易量。井贤栋同时表示,蚂蚁金融服务不会制造虚拟货币,不会参与炒作和以块链为名的伪科学欺诈和违法行为。[2019/11/9]
EIP-859:主网上账户抽象。
[January30th,2018]]
与前两个EIP不同,EIP-859不是形成确定性的草案,而是在讨论过程中没有定稿。该建议希望账户合同实现相对规范,即(1)检查签名(2)支付手续费(3)调用目的账户。
EIP-859实现后,可以抽象(1)签名算法(2)更复杂的逻辑,不会破坏事务哈希唯一的特性,但不允许使用ERC-20支付费用。
该建议在第34次和第40次核心开发者会议笔记中提到。根据会议笔记,第33届核心开发者会议决定放置这个提案,集中在Casper上。Vitalik在第34次会议上承认这个提案还不成熟,但是无论怎样分开都会实现。Hudson指出,君士坦丁堡升级包含的内容太多,不再考虑这个建议。在第40届核心开发者会议上,大家决定永久放置这个建议,没有人反对。
EIP-2938:账户抽象。
[September4th,2020]]
时间又过去了两年,ETH2.0的Phasebook已经开始,账户抽象也被提上了议程。出乎意料的是,该建议首先在ETH1.x实现。
简而言之,账户抽象的目标是使智能合同成为顶级账户类型,而不是受限制的必须从外部账户调用的账户,智能合同账户可以自主开始办公并支付手续费。这个目标和EIP-86已经有了很大的区别,当时的建议是想要彻底消除外账,或者把所有的外账都变成合同账,这个建议还是保留了外账的存在。
以太网坊现在的事务合法性,由于ECDSA签名、自我增加nonce和账户馀额,节点很容易判断事务的合法性。但是,这一定有很多限制。EIP-2938实现后,可以积极实现以下场景
(1)智能钱包使用ECDSA以外的算法验证签名;
(2)智能钱包的其他特性包括多个签名和社交恢复
(3)保护隐私的系统,如Tornado.cash;
动态|银行家对Robinhood推出的新储蓄账户表示担忧,并认为它具有性:据CCN消息,加密货币交易APPRobinhood上周推出了3%的支票和储蓄账户。该账户似乎与传统储蓄账户类似,但储蓄账户通常受美联储保险公司(FDIC)保护,Robinhood的账户受证券投资者保护公司(SIPC)保护。美国独立社区银行家协会(ICBA)的高级监督法律顾问Chris对Cole说,Robinhood对银行、支票和储蓄等术语的使用可能有欺诈性。这应该是中介账户,但他们把它变成了银行账户。SIPCCCEOStephenHarbeck提出了他的担忧,他说自己没有商量过,向美国政府提出了投诉。美国证券交易委员会(SEC)就此进行了调查。[2018/12/19]
(4)提高DeFi协议gas效率;
(5)用户不是ETH支付手续费,而是使用其他token。
目前,以上用户场景也可以间接实现。该建议认为这种方式在技术和经济上都不高效。
EIP-2938分为单租户和多租户两个阶段,顾名思义,账户所有者是单用户还是多用户。单租户阶段可以满足(1)、(2)、(5)场景的需求,有多租户阶段(3)、(4)才能实现。多租户阶段的技术方案尚未形成。更多关于EIP-2938的内容,可以参考Status发布,以太网爱好者翻译的文章。
毫无疑问,假设账户抽象成功部署,能够带来全新的功能特性,但也务必有取舍,不可以得到精彩纷呈,但不付出任何代价。过去五年的讨论给了我们足够的经验,其负面影响甚至因其复杂性而难以分析。尽管如此,本文试图系统讨论潜在的收获和成本,以便读者公平判断。账户抽象收获参考核心开发者Peep、aneIP文档。
账户抽象的收获。
(1)积极发送事务的智能合同账户。
智能合同账户不需要EOA触发,可以自主发送事务,减少了对职业者的依赖,gas的消少。
(2)提高混合硬币的隐私。
现阶段,用户从类似Tornado.cash的货币混合器中提款仍需依需依靠EOA账户发送事务。这个EOA账户是暴露隐私的脆弱环节。实现多租户账号抽象后,任何人提取代币时,都不需要额外支付费用,直接从提现金额中扣除。
(3)使用其他代币支付手续费。
现阶段,用户必须用ETH支付网络手续费,在账户抽象实现后,用户可以用其他token支付手续费。但是,这并不意味着在协议层矿工会接受非ETH作为手续费,而是通过与DEX交流交换ETH支付手续费。
声音|周延礼:大数据和块链驱动的银行账户支付结算方式不远:据中国财富网报道,12月5日以防止金融风险维持金融安全为主题的2018年北京金融安全论坛举行。全国政协委员、原中国保监会副主席周延礼表示,大数据和块链驱动的实时核保、简化流程、正确营销和银行账户支付结算方式已经不远了,对金融消费者非常方便,金融服务效率进入了新的阶段。[2018/12/5]
(4)减少链条无效套期保值交易,提高可扩展性。
现阶段,在链条上发现套期保值的机会时,多个套期保值者可能同时开始套期保值交易,但最初成功的套期保值交易使其馀交易的套期保值行为失效,但这些交易仍然被以太网广场包装(gasprice充足,不使用同样的nonce替换交易)实现账户抽象后,由于可以在账户权限验证阶段进行价格判断,套期保值者不需要支付失败的套期保值行为,链上也不包括失败的套期保值事务,可以有效提高链的可扩展性。
账户抽象的代价。
(1)增加存储池验证事务的有效费用。
现阶段,节点接到事务时,很容易判断其有效性,并将其载入存储池。节点只需要判断签名的有效性、nonce的合理性(帐户当前nonce加1或合理的数值)、帐户馀额,如果其中任何一个都不满足,节点就可以放弃这个事务。非法办公不交手续费,节点免费验证,验证ECDSA签名非常简单,费用极低,目前网络安全性不受挑战。
引进账户抽象后,判断事务的有效性变得困难,节点需要为无效事务的验证支出更多的计算资源,不能从中征收任何费用。关于DOS攻击,请参见。
(2)增加存储池确保事务的有效费用。
现阶段,节点验证某事务的有效性,除非该账户使用相同的nonce发送新事务并包装,否则该装载在存储池中的事务将永远有效,直到包装在某个块上(gasprice过低)。账户抽象后,判断事务的有效性变得困难,存储池的多项事务在包装前可以同时有效,但由于其有效性可能依赖于全局状态,其中某项事务执行后剩馀事务可能全部失效。因此,为了避免这种情况,有必要建立新的存储池规则。
(3)引进新的事务类型、收费方式、开采和广播战略。
首先,引进了新的办公类型。在EIP-86/208的讨论过程中,曾经有消灭EOA账户的倾向,或者将EOA账户包裹在智能合同账户中的倾向,链上的基本账户类型和事务类型只有一种。在本建议中,EOA账户有两种类型的账户-EOA和AA,也有两种类型的事务。同时,AA办公调用其他合同时,为了防止EOA账户发生AA账户状态的修正,影响办公有效性的判断,可能会带来兼容性的问题。
其次,收费方式发生了变化。现阶段,矿工不必在意事务的内容,只需确认事务的发起人的ETH馀额比gaslimit*gasprice大,就能保证收取手续费。账户抽象后,如何保证矿工收取手续费?本建议将一项事务分成两部分——验证阶段和执行阶段,用新的操作符PAYGAS间隔。在验证阶段,完成账号权限验证,这个阶段不允许调用外部数据或操作账号余额。与现阶段的方法一致,验证合格后支付手续费开始执行事务,即使事务在执行阶段滚动,也包括在块中支付费用,但如果验证不合格,就会抛弃违法事务。
此外,采矿和广播战略更加复杂。为了保护存储池和矿工的安全,推荐的采矿战略更加保守。每个账户的待处理事务只保留一个,不保留更高的nonce事务的验证阶段设定gas的容量上限的AA账户开始的事务包装进入块后,必须丢弃存储池的所有操作该账户的事务。
为了避免前两项成本带来的潜在影响,以太网坊协议层需要进行相应的技术变更。
评价账户抽象的必要性,首先请回顾收获。收获只分为两种类型。原来做不到,现在做得比原来做得好。
智能钱包可以做到这一点,这种收获是一种改进。事务的有效性取决于合格的签名(或其他证明书),而不是发送事务的EOA账户,**任何EOA账户**都可以提交事务,没有信赖和可靠的风险。不需要转发办公,所以更少的gas消耗是合理的收获,但能达到整体的最佳吗?换句话说,在引入如此复杂的技术改动后,针对同样的办公内容,计算机可以在同一时间内处理更多的AA办公还是EOA办公?
结论:需要技术验证的改进。
目前,Tornado.cash采用运营商模式,替代用户提交提款收据。与智能钱包的经营者不同,隐私经营者可能不稳定,也可能有人提交事务,但隐私场景下的经营者的可靠性低于通用场景,服务可能无法使用。但这需要在多租户阶段实现,目前多租户模式方案的可行性、安全性仍需验证。
结论:提高服务可用性。但是,我不知道能不能在线,什么时候能在线。
现在智能钱包正在做类似的事情。例如,Argent、MYKEY允许用户使用DAI支付手续费,但这个操作不是原子。使用稳定货币等资产通过DEX交换ETH支付手续费,乍一看解决了无法解决的问题,但实际需求不是技术完善,而是使用稳定货币对抗不稳定的手续费(ETH价格变动、gasprice价格变动、gas消费不确定)。使用链上办公直接替换手续费,每次使用手机联网之前,都有购买充值卡充电费的感觉,好像回到了投币电话的时代。此外,这项事务仍有巨大的失败风险,因为链条状态的变化可能会影响价格。当然,这并不意味着老虎电话没用。
结论:改善非ETH资产支付手续费的原子化。但是,不解决价格变动问题,真正的需求存在疑问,收费方式效率低下。
在研究过程中,关于减少链条上的无效事务可以提高链条的扩展性的论述,让我怀疑整个账户的抽象动机。在现有模式下,套利者追求套利机会,但由于策略公开,可能导致不同套利者竞争,提高网络费率,引进大量失败套利事务。但是,套期保值者理解这个道理,也评价套期保值失败的结果。否则,就会支付手续费的代价,这个成本使系统处于动态游戏中。竞争套期保值的行为不需要成本的情况下,尽管没有无效的链接事务,但整个系统容纳更多的套期保值行为,节点承担更多无法收费的计算任务,为什么要增加系统的可扩展性呢?
结论:不是改进,而是为了链条上的清洁固执。
综上所述,这些声称的改进大多只是对现有实现的优化,缺乏足够的验证,有些优化甚至经不起推敲。
本文总结了以太网坊账号抽象的背景,账号抽象主要是为了解决两个问题,一是不需要Ether发送办公,二是实现定制的验证逻辑和算法。为了解决这些问题,以太网坊历史上提出了很多建议,本文分析了这些建议的企图和最终未采用的原因。本文关键针对EIP-2938这一最新账号抽象分析,讨论了其收获和代价。账户抽象可以使现阶段需要引入信赖的功能更加可靠。例如,为混合货币提供更好的隐私,或者使用稳定货币等资产支付手续费,但技术结构的大变化是不可避免的。安全性也需要更完善的验证。引用阿剑的一段话:如果有技术,不增加人们选择的东西,牺牲人们实际选择的东西,就没有理由对这些技术有信心。
参考文章。
https://etherscan.io/tx/0x4f719da4e138da929f410e84d777376b37d1c635d263da99cb。
https://hackmd.io/@matt/r1neQ_B38。
https://github.com/ethereum/EIPs/issues/28。
https://github.com/ethereum/EIPs/pull/208#issuecoment-313872489。
https://github.com/ethereum/pm/blob/mater/AlllCor,Devsmetings/meeting34.md。
https://ethfans.org/posts/account-abstraction-eip-2938-why-and-what。
https://tinyurl.com/peep-an-eip-2938。
https://ethresear.ch/t/dos-vectors-in-acount-abstraction-aa-validation-a-case-in-geth/7937。
参考文章。
https://etherscan.io/tx/0x4f719da4e138da929f410e84d777376b37d1c635d263da99cb。
https://hackmd.io/@matt/r1neQ_B38。
https://github.com/ethereum/EIPs/issues/28。
https://github.com/ethereum/EIPs/pull/208#issuecoment-313872489。
https://github.com/ethereum/pm/blob/mater/AlllCor,Devsmetings/meeting34.md。
https://ethfans.org/posts/account-abstraction-eip-2938-why-and-what。
https://tinyurl.com/peep-an-eip-2938。
https://ethresear.ch/t/dos-vectors-in-acount-abstraction-aa-validation-a-case-in-geth/7937。
标签:
技术周刊|以太网广场扩张方案Optimism计划于1月15日开始主网软件。 本周的技术周刊包括以太网、波卡、Filecoin和BSN的技术新闻。 以太网坊2.0当铺地址馀额超过220万张。 欧科云链OKLink数据显示,目前以太网广场2.0存款合同地址已收到2200450.0首ETH,质量超过220万张。
2/1/2021 7:19:33 PMv神发文简单分析各种二层扩张方案,Optimististic,rollupvs。ZKrollup? 原文标题:Vitalik:Rollups不完全指南。 Rollups解决方案在以太网坊社区很受欢迎,将来有望成为以太网坊的重要扩张解决方案。但是,这个技术到底是怎样的呢?它能给我们带来什么?如何使用这种技术?本文将尽量回答一些关键问题。
2/1/2021 7:19:08 PM捕捉以太网广场黑暗森林中的通用抢劫机器人。 以太网广场的黑暗森林中野兽横行,这不是耸人听闻。这些抢劫机器人通过分析合同的调用可以发现潜在的利益空间,这些调用和合同也是他们前所未有的,一无所知。 鉴于大多数人对抢劫机器人的认识不足,我们将深入分析这种情况,了解抢劫机器人的普遍性。我们成功地捕获了通用的交易机器人,分析了行为。
2/1/2021 7:18:21 PM账户抽象的动机、历史和分析。 账户抽象[AccountAbstraction]是以太网广场需要实现的技术方案,现阶段设计,实现账户抽象后,智能合同账户也可以自主开始交易,不需要依赖元交易的机制。 以太网坊的账户有外部账户和合同账户两种。外部地址是用户的公钥在哈希运算后取的20个字节,形成的。 0x76D8302F7D。
2/1/2021 7:17:32 PM基于Schnoor算法的多签名方案和钱包结构。 硬核警报建议有技术基础的学生使用。 最近,比特币的核心客户发表了新的大版本,这次发表主要带来了Schnor签名Taproot技术。Schnorrr优雅简洁,可以提高交易隐私,节省空间,实现多签名的签名算法。与传统ESDSA签名技术不同,技术和实现方式具有明显特点,目前广泛应用于不同公共链路的不同环节。
2/1/2021 7:16:56 PM比特币算法进化为Schnorr签名算法是进步吗? 历史车轮不断前进,技术进步从未停止过,具有里程碑意义的特币协定开始了技术升级。其协议中的技术升级,Schnor,Signature(施诺尔签名)和Taproot(树itcoin,Core0.21.0版本。 比特币的未来似乎面临着前所未有的光明,现在不仅有其容量,还有机会通过其功能超越其他块链。
2/1/2021 7:16:37 PM比特币RBF假冒风险分析。 前面的话。 加密钱包ZenGo在Ledger、BRD、UDEdge等主流加密货币钱包中发现了漏洞。该漏洞可能将未确认的交易计入用户的总馀额,此时攻击者可在交易确认前取消交易。攻击者利用比特币协议的费用代替了Replace-by-Fee功能。该功能可以通过支付更高的手续费来更换以前的交易。
2/1/2021 7:15:50 PM