分享
我希望看到的钱包功能
输入“/”快速插入内容
我希望看到的钱包功能
飞书用户2634
2024年12月4日修改
原文作者
:Vitalik Buterin
发布时间
:2024 年 12 月 3 日
特别鸣谢
:Liraz Siri、Yoav Weiss,以及来自 ImToken、Metamask 和 OKX 的开发者们的反馈和审阅。
以太坊基础设施中一个至关重要但往往被核心 L1 研究人员和开发者低估的层是
钱包
。钱包是用户与以太坊世界之间的窗口,用户只能通过钱包的去中心化、抗审查能力、安全性和隐私性来真正受益于以太坊及其应用所提供的这些特性。
最近,关于以太坊钱包的用户体验、安全性和功能性取得了显著进展。这篇文章的目标是分享我对理想以太坊钱包应具备的一些特性的看法。这并非一份完整的清单,而是基于我的加密朋克(cypherpunk)倾向,重点关注安全和隐私问题,并可能在用户体验方面有所不足。然而,我认为,与其通过愿望清单来优化用户体验,不如通过部署实际产品并根据反馈进行迭代。因此,我更倾向于将重点放在安全和隐私特性上。
跨 Layer 2 交易的用户体验
目前,我们已逐步明确了改进跨 L2 用户体验的路线图,其中包含短期和长期计划。以下将讨论短期计划,这些方案在理论上是可以立即实现的。
核心想法
:
1.
内置跨 L2 转账功能
2.
链特定的地址和支付请求
钱包应能够提供类似以下格式的地址(参考该
ERC 草案
):
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045@optimism.eth
当某人(或某应用)提供这样的地址时,用户应能将其粘贴到钱包的“收件人”字段并点击“发送”。钱包应根据实际情况自动处理发送请求:
•
如果用户在目标链上已有足够的目标币种余额,直接发送;
•
如果余额在其他链上,使用协议(如 ERC-7683,类似跨链 DEX)完成转账;
•
如果用户仅持有其他币种余额,钱包应通过去中心化交易所兑换后完成转账(需用户明确授权)。
钱包界面可能的设计示例
钱包界面可支持链特定地址和支付请求的功能。例如,在某 dapp 请求用户存款时(例如
Polymarket 示例
),理想流程是扩展 web3 API 以支持链特定的支付请求。钱包可通过多种方式满足此类请求,例如标准化
getAvailableBalance
查询,并根据安全性和易用性默认选择链存储用户资产。
账户安全
理想的钱包需同时做到:
1.
保护用户免受钱包开发者被黑客入侵或恶意行为的影响;
2.
防范用户自身失误。
解决方案
:
社会恢复和多签钱包,以及分级访问控制。
一个账户应具有两层密钥:
•
主密钥
:用于低价值和非金融操作。
•
N 名监护人密钥
:用于高价值操作或密钥更改,需多数(如 5 人中的 3 人)批准。
监护人可包括朋友、机构、个人设备(手机、硬件钱包)或 ZK 包装的集中式身份等。
监护人的类型
•
熟悉加密货币的社区
:适合由朋友和家人作为监护人。
•
机构监护人
:机构通过确认码或视频通话验证用户身份来批准交易。
•
设备组合
:通过多台个人设备(如手机和硬件钱包)管理账户,适合新手。
•
ZK-SNARKs 中央化身份认证
:基于零知识证明的 zk-email 等工具,为用户提供去中心化的链上身份认证方式。
隐私功能
随着 ZK-SNARK 技术的成熟,现在是以太坊钱包严肃对待隐私的时候了。
1.
隐私池
:
◦
用户的部分资产存储在隐私池中,用于转账时自动提取。
◦
通过隐私池生成隐匿地址接收资金。
2.
多账户隐私方案
:
◦
每个应用生成一个独立地址,将存款从隐私池转出,提款也返回隐私池。
隐私优势
:
这不仅适用于资产转移,也可用于隐私身份。例如,链上身份(Gitcoin Grants、Ethereum Follow Protocol 等)生态也需隐私保护,钱包是唯一能全局查看用户身份的实体。
数据钱包
有效的隐私解决方案需要用户存储链下数据,例如: