Cointime

扫码下载App
iOS & Android

Uniswap移动钱包的技术概述

项目方

原文链接:https://blog.uniswap.org/uniswap-mobile-wallet-dev

本文作者:Uniswap Labs;编译:Cointime Freya

Uniswap移动钱包是一款简单、安全且易于使用的自我托管钱包。现在它已经问世了。我们想向你介绍我们的设计原则、我们开源它的原因,以及我们对安全与隐私的看法。

开源

我们开放Uniswap移动钱包的原因如下::

  • 开源与用户一致:用户有权选择最适合他们的产品。用户应该能够通过直接查看源代码来验证这些声明,而不是相信我们关于安全性、隐私性和数据保留的声明。开源产品允许用户在最大程度上评估他们的选择。
  • 开源建立信任:Uniswap移动钱包已经经过了包括Trail of Bits在内的多方审查。这些安全审查建立了对我们产品安全性的信任。开源在这方面更进一步。通过向公共论坛公开我们的代码库,安全审查人员可以进一步审查我们的钱包。
  • 开源是协作性的:当我们开始开发钱包时,并没有很多开源钱包可供学习。通过公布我们的代码,Uniswap移动钱包将成为其他开发者的参考。

我们已经开放了整个钱包的源代码,包括涉及私钥、种子短语和链上数据的代码。你可以查看我们的repo,但有一些值得注意的代码包括:密钥管理、iCloud备份、使用WalletConnect的任意交易签名、多个链上的代币互换、查看NFT和各种UI组件。

安全性

我们的移动钱包的设计原则有两个目标:

  1. 通过安全存储和访问种子短语来保护用户的钱包不被耗尽;
  2. 使用备份选项保护用户不丢失钱包的访问权。

1. 种子短语存储

存储在本地设备上的种子短语和私钥使用iOS Keychain和Secure Enclave的组合,最大限度地提高安全性。

苹果将iOS Keychain构建为一个SQLite数据库,可以安全地存储密码、证书和私钥。Keychain的一些独特属性包括:

  • 项目使用两个AES-256-GCM密钥进行加密: 一个表密钥和每行密钥;
  • 项目永远不会离开你的设备;
  • 项目不能在应用程序之间共享;
  • 项目不会同步到iCloud钥匙链上。

Keychain项目使用存储在苹果Secure Enclave中的256位密钥进行加密,这是一个与主处理器隔离的基于硬件的专用密钥管理器。

在Keychain内解密数据需要通过Secure Enclave进行往返,这增加了额外的安全层。如果iOS钥匙链或应用程序处理器遭到破坏,Uniswap移动钱包的钥匙链项目仍然能够保持加密状态,因为加密密钥保存在与主处理器分离的加固硬件模块中。iOS Keychain和Secure Enclave是苹果实现的,并不专门针对我们的钱包。

2. 访问私钥和种子短语

Uniswap移动钱包访问种子短语和私钥是为了:

  1. 在屏幕上显示种子短语;
  2. 创建签名。

为了在屏幕上显示项目,我们使用一个用Swift编写的本地UI组件,从安全的iOS Keychain中获取并显示种子短语。

创建签名的流程更为广泛。当钱包有消息或交易需要签名时,它会从React Native发送至Swift。钱包的私钥是从iOS钥匙链中安全地获取的,而用Rust编写的ethers-rs-mobile库则生成了签名。有效的签名会通过Swift和Javascript传递回来,以执行交易。

为了进一步保护这些敏感的用户流,你可以通过Face ID或Touch ID启用生物识别身份验证。每当你试图查看你的种子短语或签署交易时,你将会被提示完成生物识别身份验证。

我们将用Rust编写的ethers-rs库编译成与iOS兼容的C++版本,即ethers-rs-mobile,通过密钥派生和签名功能为我们提供性能和安全方面的好处。虽然React Native非常适合移动应用程序的开发,但Javascript很容易受到上游依赖关系的供应链攻击。ethers-rs-mobile库确保钱包种子短语和私钥永远不会接触到Javascript代码。

3.备份

所有自我托管的钱包都有手动备份,鼓励用户写下他们的种子短语,以便以后恢复。但如果用户在没有手动备份的情况下丢失了手机,他们将无法访问他们的钱包。这就是Uniswap移动钱包提供两种恢复方法的原因:

  1. 手动种子短语
  2. iCloud备份

用户可以手动备份他们的种子短语,或者在通过身份验证检查后在应用程序中显示种子短语。我们鼓励他们将其写下来。我们强烈推荐Face ID作为最强的身份验证方式。

iCloud的恢复是可选的,但我们强烈建议刚接触加密货币的人使用。当用户选择iCloud备份时,我们需要用户密码来加密种子短语,然后再将其存储在iCloud中。这样一来,即使用户的iCloud账户遭到泄露,他们的钱包仍然受到保护。

种子短语使用苹果的AES.GCM密码套件进行本地加密,使用Argon2密钥派生函数从用户密码派生密钥。即使在这个流程中,像加密密钥这样的敏感数据也不会触及Javascript。

要从iCloud备份中恢复钱包,用户必须登录到他们的iCloud帐户,并输入他们用来加密种子短语的密码。

这种额外的加密机制最大限度地提高了安全性,同时仍然支持直观且熟悉的备份体验。

隐私

Uniswap Labs不保留任何可以识别个人身份的信息。 我们不会在我们的任何产品(包括我们的手机钱包)中存储名字、姓氏、街道地址、出生日期、电子邮件地址或IP地址。

我们保留的任何东西都仅限于链上数据和非常有限的链下数据,如设备类型和浏览器版本,这使我们能够排除错误并为我们的用户改进产品。这些数据都是不可识别的。

Uniswap移动钱包使用Infura、OpenSea、Covalent、TRM等API。其中有许多API帮助我们向用户提供数据,如代币价格、NFT数据和链上活动。发送到这些API的大多数请求都是通过Uniswap Labs服务器进行代理的,该服务器可以移除IP地址。少数发送到Infura的API调用是直接的,其中包括IP。我们正致力于混淆非代理API调用。

*本文由CoinTime整理编译,转载请注明来源。

评论

所有评论

推荐阅读

  • 欧洲央行管委维勒鲁瓦:欧洲央行已成功地使政策正常化

    欧洲央行管委维勒鲁瓦:欧洲央行已成功地使政策正常化,政策和通胀目前处于有利区间,处于有利区间并不意味着欧洲央行将保持不变,我们将根据数据流继续务实地推进利率问题,并在必要时保持灵活。

  • 英国利率期货定价2025年剩余时间内英国央行将降息46个基点

    英国利率期货定价2025年剩余时间内英国央行将降息46个基点,而劳动力市场数据公布前的预期为39个基点。

  • 通信平台Towns Protocol完成330万美元额外融资,Coinbase Ventures和echo领投

    6 月 10 日消息,据官方消息,通信平台 Towns Protocol 完成 330 万美元额外融资,此轮融资由 Coinbase Ventures 和 echo 领投,融资已于今年 4 月完成。 今年 4 月,Towns Protocol 宣布完成 1000 万美元 B 轮融资,本轮融资由 a16z crypto 领投,Coinbase Ventures、Benchmark 等参投。 Towns Protocol 基于 Base 网络构建,旨在推动 Web3 社交与协作工具的发展。Towns 希望通过去中心化和 Web3 创建一个数字城镇广场,成员可以在其中定义边界、制定规则并建立他们想要的世界,用户将成为数字城镇广场的主人。

  • 福布斯富豪榜:赵长鹏超张一鸣再成华人首富,资产达 657 亿美元

    据福布斯富豪榜最新数据币安创始人赵长鹏(CZ)再度成为华人首富,资产达 657 亿美元,不过,《福布斯》将赵长鹏的国籍列为加拿大,他目前位列第24位。

  • 摩根士丹利:预计到2026年底 人民币对美元的升值幅度将相对温和 可能达到7.05

    今日上午,MSCI中国指数上涨,较4月低点涨幅扩大至20%。从目前的情况来看,中国股市的多头趋势的确在增强。摩根士丹利表示,投资者尤其关注中国市场中的新技术和新商业模式,特别是新消费主题以及人工智能/科技相关主题。对于中国在全球技术竞争中能力的提升,例如在人工智能领域的突破以及电动车、电池、人形机器人等领域的进展,投资者也给予了更多认可,并开始重新思考在多极世界中同时投资中美市场的策略。汇率方面,摩根士丹利已将人民币兑美元的观点从贬值转为升值。这一转变反映了其对美元走弱的预期,预计到2026年底,美元指数可能跌至89。同时,欧元兑美元预计也将升值超过10%。不过,摩根士丹利预计到2026年底,人民币对美元的升值幅度将相对温和,可能达到7.05。

  • 美国现货比特币ETF昨日净流出3.8547亿美元

    据TraderT监测,美国现货比特币ETF昨日净流出3.8547亿美元。

  • 6月9日晚间重要动态一览

    12:00-21:00关键词:Turnkey、美国加州、Strategy、Tether 1.Tether在Tron网络铸造10亿枚USDT 2.加密钱包Turnkey完成3000万美元B轮融资 3.美国加州州长纽森:将对特朗普政府提起诉讼 4.Strategy上周耗资1.1亿美元购入1045枚比特币 5.中美经贸磋商机制首次会议在英国伦敦开始举行 6.Tether计划第四季度开源比特币矿机操作系统MOS 7.CoinShares:上周数字资产投资产品净流入2.86亿美元 8.The Blockchain Group联合TOBAM启动3亿欧元比特币增资计划

  • Paradigm研究员:Uniswap推迟“UNI质押和委托奖励”投票是因为某家VC在施压

    针对“Uniswap 推迟原定于周五进的 UNI 质押和委托奖励投票”一事,Paradigm 研究员 Dan Robinson 于 X 发文表示:“令人失望的是,某家大型 VC 试图在最后一刻操纵代币治理流程并推迟社区提案,以推进他们自己的‘宠物’项目。”Dan Robinson 并未明确指出具体是哪家 VC。此前消息,Uniswap 基金会推迟了原定于周五进行的 UNI 质押和委托奖励投票,原因是某个利害相关者与基金会讨论了一些需要被关注的问题,需要额外的尽职调查来全面审查,由于提案升级的不可变性和敏感性,故决定推迟投票。

  • Uniswap基金会推迟代币质押和委托奖励投票

    Uniswap基金会推迟了原定于周五进行的UNI代币质押和委托奖励投票,原因是一个利益相关者提出了需要更多关注的问题。基金会在社交媒体平台X上表示,由于提案升级的不可变性和敏感性,他们决定推迟投票。这一消息导致UNI价格下跌8.7%,目前交易价格为10.20美元。该提案旨在补偿为高质量参与而投入的Uniswap质押者和委托者,原定于5月31日进行投票。基金会表示会随时向社区通报任何重大变化,并在对未来时间表有更明确的把握后更新。

  • Uniswap基金会本月底拟启动链上投票,拟奖励已质押和委托代币的UNI持有者

    Uniswap基金会在X平台宣布,将于5月31日启动链上投票来升级协议,以便其费用机制可以奖励已质押和委托其代币的UNI代币持有者,参与此提案进行投票的用户必须在投票开始前将UNI委托给自己或第三方。 据悉,如果持有UNI但没有及时委托,将无法投票,如果投票通过,将提议进一步简化费用设定过程,提高效率,减少治理负担,保持中立性。此外,合约已通过三次审计,未发现重大问题,代码库覆盖100万美元漏洞赏金计划。