Address
超過 127 的十進製版本的密鑰值
在查看 wiki 上的地址前綴頁面後,我注意到在比特幣和其他山寨幣中,密鑰/轉儲的私鑰標頭始終是十進製版本 + 128。因此,如果十進製版本為 0,您將獲得一個正常比特幣地址從 1 開始,加上 128,您可以找到以 5 / L / K 開頭的私鑰,具體取決於壓縮狀態。
進一步的例子是萊特幣的十進製版本是 48,而密鑰版本是 48 + 128 (176)。
所以問題是:128 到 255 之間的十進製版本呢?我可以看到這是兩種方式之一。
- 不是加 128,而是減去 128。所以對於十進製版本 128,你最終會得到一個 0 的密鑰。
- 在 128 及以上的所有情況下,您四捨五入到 255。
我查看了 wiki,但找不到為什麼密鑰標頭比公鑰標頭大 128 的原因。與我上面的兩點相矛盾的一個例子是Unobtanium Coin,其公鑰標頭為130,而密鑰為224(相差 94)。
密鑰和公鑰頭相距如此之遠有什麼意義嗎?還是一開始就讓標題不同就可以了,不一定相距128?
原因是歷史的。
“版本”字節最初實際上只是一個版本號。中本聰可能打算在地址中引入更多類型的標準腳本。程式碼中有關於將地址從一個版本升級到新版本的註釋。
在那個願景中,為了不限制未來版本的選項,我選擇讓私鑰只設置最高位,留下 127 個可能的未來版本。
只引入了一個新版本(P2SH),並且由於它非常強大(它可以間接編碼任何腳本),因此從未出現過其他版本。
所以簡短的回答是:這根本不重要。