钱包授权一直是与DApp交互的必要流程,但我们在DeFi、GameFi中交互的过程中往往会需要在短时间内多次授权,这非常影响用户体验。Odaily星球日报最近关注的“会话密钥”技术,则允许用户对DApp仅授权一次就可以在后台默认签署后续交易并支付gas,实现类似Web2免密支付的功能,从而极大地优化用户体验。
会话密钥是如何工作的?
简单来讲,会话密钥允许用户在与应用交互之前签署一个token以提前批准特定的交易,用户可以自定义频率、gas最高价、每日限额等参数,当用户签署该token再与该应用交互的时候,符合之前参数条件的交易就会在后台被自动执行并支付gas。
但目前会话密钥并不支持所有的钱包,仅仅支持智能合约钱包,它是基于账户抽象的智能合约钱包的子技术。在进一步介绍会话密钥之前需要先介绍一下以太坊上的地址、智能合约账户以及账户抽象的发展情况。
关于地址、智能合约账户、账户抽象
目前以太坊上有两种地址:第一种地址就是通常的钱包地址,也称为外部拥有账户,具有发送与接收代币、支付gas、执行交易的功能;一种是智能合约地址,各种部署在以太坊上的dapp就是以智能合约的方式运行着。
但是这样的地址设计存在很多问题,许多以太坊开发者认为EOA?地址的设计阻碍了钱包在多签、隐私保护、gas优化等方面的发展,并且不利于交易的可编程。因此,V神、AnsgarDietrichs、MattGarnett,、WillVillanueva、SamWilson等人提出并完成了以太坊改进提案?EIP-2938?,并提出了“用户抽象”的概念。
关于账户抽象,简单来讲就是让智能合约地址可以支付gas和执行交易,使之具备钱包地址的所有功能。基于账户抽象的智能合约地址就是智能合约账户,也由此衍生出了智能合约钱包概念。
而会话密钥是基于账户抽象的智能合约钱包的子技术。
前面已经提到,支持会话密钥的钱包支持用户自定义免密支付的参数,但是这些参数的可选项完全取决于钱包开发商。且会话密钥并不支持所有DApp,所支持的DApp取决于你所使用的智能合约钱包是否允许调用该Dapp的合约,这个过程是中心化的。
总结一下,会话密钥就是Web3的免密支付,允许用户对DApp仅授权一次就可以在后台默认签署后续交易并支付gas。那么现在有哪些用例呢?
用例
StarkNet上的链游孵化器MatchBoxDAO在《HowtoMakeOn-ChainGamingCompetitive:‘SessionKeys’》中提出了会话密钥的一些用例,它们包括:
用户友好的且不间断的游戏;
设置多个DeFi仓位的能力;
填写包含许多输入项的表单时进行确认;
非托管和自我指导的IRA;
重新管理钱包/库存中的资产……
从工作原理来看,由于会话密钥可以允许用户提前批准一些交易,从而减少用户批准次数,因此所有有高频授权、交互的应用场景都会用得到它。我们可以据此推理,会话密钥可以解决Web3社交媒体这类需要高频链上交互影响用户体验的问题。
以Lenster为例,基于社交协议LensProtocol开发的链上社交媒体Lenster上的所有交互都需要授权并支付Matic,每次评论和转发都需要钱包授权,非常影响用户体验。
如果Lenster实现了会话密钥,这将让用户省去繁琐的多次授权,有更加顺滑的产品体验,极大缩小与Twitter这些Web2应用巨大的产品差距,我们也许可以期待在未来的某天可以用上一些产品体验媲美Web2产品,但架构却是Web3的去中心社交媒体。
参考链接
1.??ArgentX关于会话密钥的推文
2.?《HowtoMakeOn-ChainGamingCompetitive:‘SessionKeys’》?——MatchBoxDAO?
3.《FromSign-InwithEthereumtoSessionKeys》——WayneChang
4.《AnoverviewofAccountAbstractioninEthereumblockchain》——YashKamalChaturvedi
5.??EIP-86:Abstractionoftransactionoriginandsignature?
6.??EIP-2938:AccountAbstraction?
7.??EIP-4337:AccountAbstractionviaEntryPointContractspecification?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。