為什麼使用 bx 從種子到助記符再返回時種子不同?
從文件中的範例:
$ bx seed | bx mnemonic-new | bx mnemonic-to-seed | bx hd-new
655a1ed2d4fef69bb314198c7327f23c grab special regret prepare urge evidence slush lobster midnight odor wish ketchup 57bae342ae8e69eb63f17ef993a90a59159e0f78114b602bf0ebabfec0e5d086e883c31975bf03f8a47a32853452623094d1303fd0549745db457145e5756582 xprv9s21ZrQH143K43CUCgNp5SmXzg2axQx2P4WupA2zEnKpFM19QfqfdqfpJR3yfzAXZnsHeUaQhWQMwyuqL8DbdeLeCbdMoKNn6pCY4RUn2pK
在 Mastering Bitcoin 中,這裡給出的例子表明它可以追溯到最初創建的種子;這是使用舊版本的 bx 完成的。有人可以解釋範例中第 1 行和第 3 行的種子是如何編碼/相關的嗎?
他們採用了 bip39,其中種子助記符通過密鑰派生函式執行以派生種子。這是不可逆轉的一步。
這裡的根本缺陷是“種子”一詞的多重含義,即使在僅討論 BIP39 時也是如此。
“熵”是 BIP39 起點的更好術語。那麼這個過程的終點應該是“BIP39 數字種子”。
“將熵轉換為 BIP39 助記符。使用該助記符加上(技術上可選但沒有)密碼作為輸入來生成 BIP39 數字種子。BIP39 結束。”
這就是我講故事的方式。
現在,從 *Mastering Bitcoin * 來看這個
可以使用 mnemonic-encode 命令對種子進行編碼:
$ bx hd-mnemonic < 種子 > 單詞 崇拜 重複 視覺 最糟糕 尤其 面紗 英寸 女人 演員 回憶 住 欣賞
然後可以使用 mnemonic-decode 命令對種子進行解碼:
$ bx 助記符解碼 < 單詞 eb68ee9f3df6bd4441a9feadec179ff1
Andreas Antonopoulos 在這裡清楚地使用“種子”來指代熵。所描述的過程不涉及散列或加密“編碼”,它只是表示形式的變化,例如從二進製到十六進制。
除了添加了 N/32 校驗和。
這意味著 256 位的輸入熵是完全可逆的,但最後 8 位達到 264(24 個字 x 11 位)是校驗和過程的結果。
這裡的其他答案所指的不是“熵種子”,而是輸出,即“BIP39 數字種子”,這確實是一種單向推導過程。
我相信該
bx mnemonic-decode
命令可能僅僅因為它沒用而被刪除,或者至少我想不出一個案例。我不認為它在向 BIP39 的過渡中停止工作。編輯許多工具將熵轉換為助記符“轉換” - 請參閱<https://iancoleman.app>