- tags: blockchain
- date: 2023-04-04
- 每个账号都有一个对应的余额和nonce状态记录
- EVM上硬编码了账号私钥验证和执行tx的逻辑
- 需要一个地址;意味着账号(Account)和Signer(私钥持有者)是同一个概念
账号的概念用作保管资产,Signer 作为账号上资产转移权的一个验证方式。所以在账户抽象的场景下每个账户的能力可能是不同的,而传统的账号管理方式每个账户都是一样的。
解偶后可以简单的实现包含不限于以下功能
- 多签
- multicall
- 由用户选择加密曲线,而并不强制 secp256k1
- 社交恢复(MPC)
- 可以使用Token支付gasfee,项目方可以为账户支付gasfee
每个 starknet 网络的账户都是一个合约,并且必须制止下面 3 个函数:
__validate__
__validate_declare__
__execute__
当账户收到tx请求是会优先调用 __validate__
,如果结果合法,将会调用 __execute__
。同时 sequencer 也能够根据validate的结果决定是否收手续费。
系统依然为每个合约账户维护了一个nonce字段,所以具有相同 hash 的 tx 可以被重复执行