「我們可以透過自己熟悉的程式語言來開發比特錢包,每個錢包位址都是由密碼學計算得出」
一般來說,比特錢包分為以下三種
- 單簽錢包,錢包位址1開頭
- 多簽錢包,錢包位址3開頭
- 隔離見証錢包,錢包位址bc開頭
單簽錢包
- 透過SHA256產生私鑰
- 私鑰經過橢圓曲線secp256k1生成公鑰
- 公鑰經過BASE58Check Encode生成錢包位址
多簽錢包
- 助記詞加上鹽值(“mnemonic” + (optional) passphrase)進行PBKDF2計算
- 將PBKDF2的值再經過HMAC-SHA512計算產生512bit字節密鑰
- 將512bit字節從左到右取256bit成主私鑰,從右到左取256bit成主鏈碼
- 主私鑰經過橢圓曲線secp256k1生成主公鑰
- 最後由主公鑰加上鏈碼與索引數(0x00 到 0x7fffffff)經過HMAC-SHA512產生512bit字節
- 將512bit字節從左到右取256bit成子私鑰,從右到左取256bit成子鏈碼
- 子私鑰採用與主私鑰產生公鑰的方式生成子公鑰
- 多筆子公鑰經過HASH160生成160bit字節
- 最後160字節經過BASE58Check Encode生成錢包位址
隔離見証錢包
- 一樣透過私鑰生成公鑰
- 公鑰經過witness PublicKey Hash生成Script
- Script經過HASH160生成160bit字節
- 最後160字節經過BASE58Check Encode生成錢包位址