比特币管理中的最大挑战:私钥和BIP39的作用

比特币的本质价值在于如何妥善管理私钥。若丢失了这个钥匙,就意味着失去了对比特币的访问权限。常说的“没有钥匙,就没有币”这句格言,象征着比特币的自主主权性。

比特币存在在哪里

对于不熟悉技术的人来说,难以理解的一点是,比特币“在哪里”存在。一般感觉,钱包就像一个存放资金的箱子。然而,实际上钱包并不持有比特币本身。它只持有私钥。

比特币的实质只是,所有网络参与者在区块链上存储的数据条目。使用比特币的行为,等同于向区块链提交更新数据的提议。私钥是用来证明,只有所有者才能批准这些数据的更新。

私钥的本体:极大的数字

私钥本质上,是由随机生成的256个由1和0组成的极大数字。以二进制形式表示如下:

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

这种极端的随机性,正是钱包安全的根本。比特币私钥的可能组合数,几乎与可观测宇宙中的原子数相当。因此,只要通过真正随机的过程生成,私钥本质上就是安全的。

私钥的多种表示形式

相同的私钥,可以用不同的编码方案表示。

十六进制: E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

钱包导入格式(WIF): 5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

WIF格式在比特币早期,用于交换私钥。当时,用户会生成一个私钥,然后导出对应的公钥。

公钥的生成机制

从私钥生成公钥的过程,基本上就是对一个极大数字进行乘法运算。比特币采用的椭圆曲线密码Secp256k1,有一个特殊点,称为“生成点”。这是Secp256k1曲线的基点,是密钥生成和签名不可或缺的元素。

生成点G如下: G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

通过将私钥与生成点相乘,在曲线上得到一个新点。这就是与私钥具有数学关联的公钥。

非压缩格式的公钥: 04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

为了数据效率,公钥也可以“压缩”存储。这只保留x坐标和y坐标符号的1字节。

交易签名的机制

用私钥对交易签名,也基本上是乘法操作。钱包会生成一个随机数(nonce),用私钥和交易哈希进行计算,生成签名(包括r和S两个值)。

通过这个签名,任何人都可以验证,签名是由正确的私钥产生的,而无需泄露私钥本身。比特币的使用权限,归根结底就是一系列大数乘法的数学操作。

BIP39:用户友好的解决方案

到目前为止的内容,对于不熟悉加密资产技术的人来说,极具挑战。二进制、十六进制、椭圆曲线坐标点——这些都需要一次理解。尤其是,如何安全备份私钥的实际操作,成为许多用户的难题。

为了解决这个问题,开发出了更直观、更安全的方法。助记词(mnemonic seed)就是答案。

BIP39助记词种子短语简介

助记词背后的问题,是将256位的1和0复制粘贴时的困难。即使只出错一位,备份也会完全失效:

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

如此复杂的数字串,亟需一种更便于人类操作的表达方式。

助记词示例: トラック 更新 怒り ロバ 思い出させる ラップトップ 改革 詳細 分割 悲しみ ため 脂肪

只需12个词,极大简化了操作。那么,如何将随机的1和0集合,转换成有意义的单词呢?

BIP39编码机制

与二进制和十六进制类似,采用编码方案。上述助记词中的每个单词,都是将特定的1和0字符串映射成单词的编码产物。

Bitcoin Improvement Proposal 39(BIP39)引入了标准化的编码方式。专门设计的词典中,每个单词按字母顺序对应从00000000001到11111111111的二进制数。

示例映射:

  • トラック: 11101001001
  • 更新: 10110110001
  • 怒り: 01011110011
  • ロバ: 01000001001
  • リマインド: 10110101110
  • ノートパソコン: 01111101000
  • 改革: 10110100010
  • 詳細: 00111100010
  • 分割: 11010010001
  • 悲しみ: 01100110100
  • 理由: 00010011110
  • 太字: 01010011011

二进制形式: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

2048个单词与11位体系

BIP39中,包含2048个单词,每个单词对应11位的二进制数。这是为了方便人们操作私钥。

私钥生成的随机数字,会被钱包分割成11位一组的块,然后映射到BIP39词典中。相同的大数字,就会以单词的形式被人类识别。人脑对长串1和0的字符,更偏好单词序列的表达。这种形式,大大降低了因误记导致的比特币资产丢失风险。

校验和机制

观察上述二进制编码,可以发现最后的“单词”,实际上只有8位。这是用来验证助记词有效性的校验和。

在生成私钥时,钱包会对原始数字进行哈希,取哈希值的前几位,附加到私钥末尾。这样,最后一个单词的映射所需的位数就会匹配。

通过这个校验和单词,可以用数学方法验证助记词是否正确。如果输入的助记词(12或24个单词)不符合校验规则,钱包会发出警告。每个助记词组合,都有多个有效的校验和单词,只有最后一个单词正确匹配,整个助记词才被视为有效。

相较于直接转写二进制数值,这种方法更直观,也具备数学上的安全性。

单词选择的技巧

BIP39词表中的2048个单词,经过精心挑选,确保前4个字母不相同。这是为了避免相似单词混淆,导致转写错误,从而损坏私钥备份。

从助记词到多个密钥对

从助记词生成多个私钥和公钥的过程,非常简洁。

助记词通过SHA512哈希,输出512个1和0的哈希值。前半部分作为实际私钥,后半部分作为索引编号,结合已有的私钥或公钥,输入到SHA512中,生成新的密钥对。反复执行此操作,可以从单一助记词导出无数个新的私钥和公钥。

BIP39带来的创新

这些机制,使私钥的管理尽可能简单、安全,同时也最大程度降低了因操作失误造成资产丢失的风险。这一切,都是通过数学实现的。

比特币被称为“用数学保护的钱”,原因也变得更加清晰。BIP39,将其数学上的坚固性,以用户友好的方式实现,是比特币生态系统中的一项重要发明。


来源:比特币杂志

BTC0.77%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)