A sleek black device with a screen and buttons

什么是加密钱包:密钥、签名,以及谁可以移动你的币

By AI News Crypto Editorial Team阅读 8 分钟

加密钱包是一种交易授权设备:它管理加密密钥,为接收资金生成钱包地址,并签署交易以移动记录在区块链上的资产。你的加密货币并不“在”钱包中,所有权是操作性的,因为能够生成有效签名的私钥控制着资金。

关键要点

加密钱包作为密钥和地址

初学者需要删除的第一件事是将钱包视为容器的心理形象。链上账本已经记录了谁拥有什么。加密货币钱包是让用户指向该记录并授权更改的接口层。屏幕上有两个对象完成大部分工作。钱包地址是粘贴到提款表单中或与对手共享以便资金可以发送的内容。在后台,该地址是从钱包的公钥材料派生的,这就是它被设计为可分享的原因。支出部分是私钥,接收时永远不需要向任何人展示,也不应该展示。这就是为什么“我的加密货币在我的钱包中”的说法会导致如此多的无意错误。如果钱包应用消失,链不会消失。如果手机坏了,链也不会消失。重要的是能够授权支出的凭证是否仍然存在,并且仍由正确的人控制。

这种框架也解释了为什么钱包用户体验的差异可能会误导人。一个应用可能在干净的仪表板中显示余额、NFT和交易历史,而另一个看起来像开发者工具。这些是展示选择。控制层仍然是同一个问题:谁能生成网络将接受的有效签名。

钱包如何授权加密交易

钱包在签署时赚取其价值。当用户点击“发送”时,钱包软件构建一条交易消息,实际上是“将资产X从地址A移动到地址B”。网络不关心应用的品牌。它关心消息是否附带有效的加密签名。

该签名是用私钥生成的。公钥是网络用来验证签名是否与发送者地址匹配的对应物。设计目标是非对称的:公钥可以广泛分享,但从公钥反推私钥应该是不可行的。Blocktrade明确将其框架视为非对称加密的一种单向特性,发展于1970年代,并指出从公钥推导私钥是不可能的。

在机械上,流程看起来是这样的:

1. 输入:目标钱包地址、金额和钱包连接的网络上下文。2. 过程:钱包使用私钥签署交易,生成证明发送地址控制权的签名。3. 输出:签署的交易被广播,区块链在接受后记录它。

结果是明确的。如果攻击者能够签名,攻击者就可以支出。如果用户无法签名,用户就无法移动资金,即使余额在应用中可见。这就是为什么“加密钱包如何工作”更关乎授权而非存储。

托管与非托管钱包控制

保管模型回答了桌面交易者的问题:如果所有者在睡觉,谁能移动硬币。MoonPay和Crypto.com都将托管与非托管钱包简化为同一决定性差异,即谁控制私钥。

托管钱包意味着第三方,通常是交易所,持有并管理私钥。用户体验往往看起来像一个普通账户:登录、密码重置和客户支持。MoonPay的框架是恢复是卖点。如果访问丢失,保管人通常可以恢复,因为保管人仍然控制密钥材料。权衡是集中风险。集中式密钥存储创建了一个单一目标,MoonPay指出Liquid交易所黑客事件,约9000万美元被盗,作为密钥在规模上持有时可能发生的例子。

非托管钱包意味着用户直接控制私钥。这可以是手机或浏览器扩展上的热钱包,或离线签署的冷钱包设备。MoonPay的指南还将非托管与Web3可用性联系起来,指出非托管钱包与去中心化应用、DeFi协议和DEX兼容,而托管钱包通常不兼容。

合规性和入职也不同。MoonPay指出,托管钱包通常需要KYC/AML检查,而非托管钱包通常不需要KYC/AML来创建和使用。这个差异不是道德徽章。这是一个操作约束,影响账户打开的速度和存在的恢复政策。

安全性和恢复与种子短语

自我保管安全归结为一个工件:种子短语。Coinpaper将种子短语,也称为恢复短语或助记短语,描述为在创建钱包时通常生成的12或24个单词。它通常使用BIP-39标准构建,并从2048个单词的固定列表中提取。将该短语输入兼容钱包可以重建基础私钥并恢复控制。

该设计创建了两个初学者常常低估的失败模式:

1. 丢失:如果种子短语消失且设备消失,通常没有恢复路径。MoonPay和Coinpaper都警告说,在非托管设置中丢失对私钥或种子短语的访问可能意味着永久丢失。2. 泄露:如果其他人知道种子短语,他们可以重建钱包并移动资金,而无需手机、硬件钱包或应用密码。Coinpaper明确表示,种子短语就足够了。

Coinpaper的威胁模型主要是以人为中心和端点驱动的,而不是加密的。该短语不是从区块链“黑客”出来的。它是通过网络钓鱼和社会工程、恶意软件和键盘记录器,或像截图、云驱动器和电子邮件这样的草率数字存储被盗。

在移动大小之前,一个简单的预飞行检查清单是无聊而有效的:验证正确的网络,逐字符验证钱包地址,并进行小额测试发送。钱包签署它们被告知要签署的内容。当错误的目的地最终确定时,它们不会提供客户服务。

根据你的需求选择钱包

决策框架与品牌名称关系不大,而更多的是将保管与工作匹配。MoonPay的例子使菜单具体化,托管钱包包括交易所和保管产品,非托管钱包包括像MetaMask这样的软件钱包和像Ledger和Trezor这样的硬件钱包。

选择的一个有用方法是将每个选项映射到三个问题:

1. 恢复政策:账户恢复是由客户支持处理,还是种子短语是唯一的主密钥。托管设置通常提供恢复,因为提供者控制私钥。非托管设置通常不提供。2. 攻击面:签名环境是始终在线的,比如热钱包,还是隔离的,比如可以离线签名的冷钱包。MoonPay的观点是,离线硬件钱包减少了暴露,因为密钥可以保持在未连接互联网的设备上。3. 工作流程要求:钱包是否将与dApps、DeFi协议和DEX一起使用。MoonPay的指南清晰地指出,非托管钱包与这些Web3应用程序兼容,而托管钱包通常不兼容。

初学者在比较“交易所钱包”和“DeFi钱包”时也会遇到类别错误,仿佛它们可以互换。它们是不同的工具。托管交易所账户优化了登录、合规性和支持驱动的恢复。非托管钱包则优化了直接签名和Web3连接,种子短语作为主备份。

寻找下一步的读者应将这些视为独立任务:加密钱包类型的解释涉及托管和连接,如何选择加密钱包则是将这些特征与预期工作流程匹配,而如何设置您的第一个加密钱包则是生成和保护种子短语,以便在任何有意义的资金接触钱包之前。

总结

我看到初学者把钱包当作一个“放置”硬币的文件夹来对待,然后在唯一重要的是谁可以签名时感到震惊。清晰的心理模型是残酷但解放的:区块链跟踪所有权,而钱包是授权设备。如果私钥或种子短语被其他人控制,那么那个人可以移动资金。如果因为丢失而没有人控制它,那么资金就好像不存在一样。

昂贵的误解是认为恢复像Web2一样工作。在托管场所,支持通常可以解决登录问题,因为场所持有密钥。在非托管钱包中,种子短语就是整个账户。我见过人们将其保存在截图和笔记应用中,然后被钓鱼并被盗取,而攻击者从未触碰过手机。设备从来不是保险库。签名才是。

来源

MoonPay

Blocktrade

  • Coinpaper
  • [@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop
  • [@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

常见问题

钱包地址、公共密钥和私钥之间有什么区别?

钱包地址是您分享以接收资金的内容。它源自您密钥材料的公共部分,旨在可分享。私钥是用于签署交易的秘密,控制它的人可以移动资金。

当您发送加密货币时,加密钱包是如何工作的?

钱包构建交易并使用私钥创建加密签名。网络使用相应的公共密钥信息验证该签名。如果签名通过检查,交易可以被接受并记录在链上。

什么是种子短语,它为什么如此重要?

种子短语是在创建自托管钱包时生成的恢复短语,通常由12或24个单词组成。将其输入兼容钱包可以重建私钥并恢复访问。任何获得该短语的人都可以重建钱包并提取资金。

托管钱包比非托管钱包安全吗?

它们的失败方式不同。托管钱包可以提供更简单的恢复,因为提供者管理私钥,但集中式密钥存储可能会受到大规模攻击,正如MoonPay提到的Liquid交易所黑客事件所示。非托管钱包减少了对托管方的依赖,但丢失种子短语或私钥可能是不可逆的。

我可以将交易所钱包用于DeFi应用和DEX吗?

一般来说,不可以。MoonPay指出,托管钱包通常与去中心化应用不兼容,而非托管钱包则与dApp、DeFi协议和DEX兼容。如果DeFi访问是一个要求,钱包选择通常需要支持直接签名。