EOA账户、助记词、私钥、公钥

用metamask生成新钱包时,MetaMask 随机生成 12 个助记词,然后推导出EOA账户地址。

  • 助记词 (Mnemonic):是这棵树的“根”。它本质上是把一串随机的二进制数字转换成 12 或 24 个易记的单词。拥有助记词就拥有了所有权限。

  • 私钥:它是具体的“钥匙”。每一把钥匙控制一个具体的账户。

  • 公钥:它是你的“指纹”。私钥可以推导出公钥,但公钥无法反推私钥(单向加密)。

  • EOA 账户 (Externally Owned Account):银行账号,由公钥经过哈希运算(如以太坊的 Keccak-256)并截取后生成的。它由私钥直接控制,不包含任何代码。

理解派生路径

1
m / 44' / 60' / 0' / 0 / 0

  • m (Master) 代表根节点。对应 12 或 24 个助记词生成的“主种子”。所有的分支都是从这个 m 延伸出来的。

  • 44’ (Purpose) 代表用途。44’ 是一个固定值,意味着这个路径遵循 BIP44 标准(多币种层次确定性钱包标准)。看到 44,钱包就知道后面会跟着币种、账户等信息。

    注:末尾的 ’ 号代表“硬化派生”(Hardened),通俗点说就是增加了一道防火墙,即使分支私钥泄露,也不会倒推威胁到主种子的安全。

  • 60’ (Coin Type) 代表币种编号,不同的链有不同的编号:

    60’:以太坊 (ETH) 以及兼容链(Base, Starknet, BNB Chain 等)。这就解释了为什么钱包里有些链的EOA地址是一样的!

    0’:比特币 (BTC)。

    501’:Solana (SOL)。

    784’:Sui (SUI)。

  • 0’ (Account) 代表逻辑账户索引。可以把它理解为“主钱包”、“次钱包”。

    一般用户默认都是 0’。如果你是一个高级玩家,想把资产完全隔离,你可以手动指定 1’ 或 2’。它们在链上看起来完全无关。

  • 0 (Change) 代表找零路径。

    0:外部链(接收地址),用于生成你收钱的地址。

    1:内部链(找零地址),这在比特币(UTXO 模型)中常用,但在以太坊(账户模型)中几乎永远是 0。

  • 0 (Address Index) 代表具体的地址序号。这就是你在 MetaMask 里点“创建新账户”时改变的数字:

    第一个账户:m/44’/60’/0’/0/0

    第二个账户:m/44’/60’/0’/0/1

    第三个账户:m/44’/60’/0’/0/2

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计