BIP44
介绍 BIP44 代币类型、它在跨链世界中的重要性、它如何影响跨链用户体验以及对现在和未来的影响。 该标准将“硬币类型”定义为变量之一。Cosmos 地址也使用相同的 BIP44 标准生成地址派生。 Satoshi Labs 的
SLIP-44 注册表列出了各种区块链的硬币类型,是当前分配硬币类型的行业标准。例如,比特币 (BTC) 是 0 型硬币,而 Atom (ATOM) 是 118 型硬币。地址派生的一大困惑来源是跨链中的硬币类型。
虽然硬币类型的存在有多种原因,但两个主要原因是:
- 为了防止“重放攻击”,在一个链上提交的签名交易被提交到另一个将其视为有效交易的区块链。
- 为了防止隐私问题,知道某人的比特币地址可以让你也知道他们的莱特币地址。 通过为每个区块链指定一种硬币类型,并在生成地址的过程中使用该数字作为变量,相同的助记符将在每个区块链上创建相同的地址(这会影响已签名的交易),但不会跨不同的区块链。(从技术上讲,它是“公钥”而不是“地址”。) 另一个需要注意的重要部分是 SLIP-44 注册是由社会共识强制执行的。
社会共识是加密货币中最具挑战性但最关键的机制之一。作为一种工具,标准化在简化我们混乱的、去中心化的加密生态系统方面大有帮助。 正如接受社会共识是选择加入一样,社会共识的执行也是如此。在加密货币中,钱包似乎是地址派生路径的主要“执法机构”。
例如,世界上最受欢迎的硬件钱包的生产商
Ledger通过确保区块链的 Ledger 应用程序具有指定的硬币类型来强制执行 BIP44 硬币类型。您无法启动同时支持 Cosmos Hub 的 118' 硬币类型和 Terra 的 330' 硬币类型的 Ledger 应用程序——即使从纯粹的技术角度来看这是可能的。
需要注意的是,目前 Keplr 仅支持 Cosmos Ledger 应用程序(币种 118),但用于助记词的各种币种都存储在用户设备本地。
强调两个词:主权和特定于应用程序_。因为与其他传统的单链生态系统相比,这两个特征使得 Cosmos 中的币种问题更加复杂。 在以太坊和 Solana 等生态系统中智能合约应用程序与基础层协议之间存在明显区别的地方,两者之间的区别在 Cosmos 中并不那么简单明了。 因为 BIP44 标准是在不存在跨链交互的时候创建的(注意:当时 1 BTC 是 400 美元)。
Keplr 如何处理硬币类型
如果 Keplr 只处理一个区块链生态系统,考虑硬币类型就没什么大不了的。但是,在考虑 IBC 和互操作性时,硬币类型可能会变得棘手。 Cosmos 生态系统中的一些区块链选择识别自己的币种——这完全没问题!只是用户和钱包需要知道这一切意味着什么。 目前,Keplr 派生通过在定义的 SLIP44 硬币类型(即 Cosmos Hub 118、Terra 330、Starname 234 等)中直接创建/导入助记词创建的所有地址。 但是,由于 Keplr 仅支持 Cosmos Ledger 应用程序,因此通过 Ledger 导入的地址始终使用 Cosmos Hub 的 118 派生。只要 Ledger 助记词不直接导入 Keplr,反之亦然,这不是主要问题 - 并且请不要这样做,因为这是非常糟糕的安全做法。
目前没有计划支持其他 Ledger 应用程序(有关更多背景信息,请查看在
Cosmoverse 2021上的演讲)。我们相信,在大多数情况下,Cosmos SDK 链之间有足够的共性,不需要单独的 Ledger 应用程序。 此外,考虑到 Ledger Nano S(任何用户可以获得的最实惠的即时安全升级)只能安装大约 3 个 Ledger 应用程序,如果每个 Cosmos 链在数百个区块链的世界中都需要自己的 Ledger 应用程序,跨链 UX 将变得不可持续。
未来的硬币类型
在考虑 Cosmos 的主权时,应用标准化总是很复杂——这是提供最佳用户体验和尽可能互操作性之间的平衡行为。像任何标准一样,一切都有其优点和缺点,Cosmos 保证的主权意味着每条链都可以根据自己的喜好选择他们想要的硬币类型。
区块链的标准化是一个漫长的过程,涉及多个利益相关者,涉及技术和用户体验。虽然 Keplr 建议连锁店使用 118' 硬币类型,但应该如何执行的问题是没有正确答案的问题。
IBC 以指数速度增长,随着时间的推移,这些类型的考虑只会变得更加重要。IBC 应采用哪些标准?谁应该设置它们,谁应该执行它们?在我们构建的过程中,Chainapsis 团队越来越频繁地遇到这些问题。如果在这些问题中有一个明确的答案,那就是期望普通用户理解这些细微差别是不现实的。建设者应该为用户标准化它。