Private-Key
主公鑰/私鑰和公鑰/私鑰之間的區別?
- 主公鑰(MPK)和公鑰有什麼區別?
- 主私鑰和私鑰有什麼區別?
- 生成地址或公鑰時應該使用主公鑰 (MPK) 嗎?
使用**“主公鑰”**,您可能指的是 bip32 之後的確定性密鑰派生。
正確的術語是**“主擴展私鑰”(首字母縮寫詞xpriv**)和**“主擴展公鑰”(首字母縮寫詞xpub**)。
首字母縮略詞是“xpriv”和“xpub”,因為 base58 檢查前綴會導致這 4 個字元用於主網擴展的 pub/priv 密鑰。
擴展公鑰和普通公鑰的區別在於它還包含有關 bip32 鏈(確定性鏈/層次結構)的資訊。
它包含了:
- 層次結構的深度(主節點為 1 字節 0x00,1 級派生密鑰為 0x01,……)
- 指紋(4 個字節,可能的標識符)
- 鏈碼(32 字節,= 用於層次結構的連結)
- 子索引(目前層次結構級別的鍵的“編號” )
- 私鑰或公鑰(私鑰 32 字節,公鑰 33 字節)
普通的私鑰或公鑰只包含最後一個元素(32/33byte [public|private]key)。
如何生成地址的(簡化)範例:
- 取擴展主私鑰 (
m/
)- 派生賬戶擴展私鑰 (
m/0'
)- 獲取該帳戶擴展私鑰 (
m/0'
) 並在下一層 ( ) 上派生第一個擴展私鑰m/0'/0
。- 使用(
m/0'/0
)的擴展私鑰生成擴展公鑰,取出“普通公鑰”(33字節),編碼出P2PKH地址(或P2WPKH、multisig等)。