Vitalik:用于钱包和其他用例的跨L2读取
特别感谢Yoav Weiss、Dan Finlay、Martin Koppelmann以及Arbitrum、Optimism、Polygon、Scroll和SoulWallet团队的反馈和审查。
在《三个转变》一文中,我概述了一些关键原因,说明了将L1 + 跨L2支持、钱包安全和隐私作为生态系统堆栈的必要基本功能来思考的价值,而不是将这些功能作为可以由各个钱包单独设计的附加组件来构建。
本文将更直接地关注一个具体子问题的技术方面:如何更容易地从L2读取L1,从L1读取L2,或者从一个L2读取另一个L2。解决这个问题对于实施资产/密钥库分离架构至关重要,但它在其他领域也有宝贵的用途,尤其是优化可靠的跨L2调用,包括在L1和L2之间移动资产的用例。
推荐预先阅读的内容
Post on the Three Transitions
Ideas from the Safe team on holding assets across multiple chains
Why we need wide adoption of social recovery wallets
ZK-SNARKs, and some privacy applications
Dankrad on KZG commitments
Verkle trees
目录
目标是什么?
跨链证明是什么样子的?
我们可以使用哪些类型的证明方案?
- 默克尔证明
- ZK SNARKs
- 特殊目的的KZG证明
- Verkle树证明
- 聚合
- 直接读取状态
L2如何学习最近的Ethereum状态根?
不属于L2的链上的钱包
保护隐私
总结
目标是什么?
一旦L2成为主流,用户将在多个L2和可能的L1上拥有资产。一旦智能合约钱包(多签名、社交恢复或其他方式)成为主流,访问某个账户所需的密钥将会随时间改变,旧密钥将不再有效。一旦这两件事发生,用户将需要一种方式来更改具有访问许多不同地方的多个账户权限的密钥,而不需要进行极高数量的交易。
特别是,我们需要一种处理假设地址的方式:这些地址尚未在区块链上以任何方式“注册”,但仍然需要接收和安全保管资金。我们都依赖于假设地址:当您第一次使用以太坊时,您可以生成一个ETH地址,他人可以用来支付给您,而无需在区块链上“注册”该地址(这将需要支付交易费用,因此需要持有一些ETH)。
对于EOA(外部拥有的账户),所有地址都从假设地址开始。对于智能合约钱包,假设地址仍然是可能的,这在很大程度上要归功于CREATE2,它允许您拥有一个ETH地址,只能由具有与特定哈希匹配的代码的智能合约填充。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。