公鑰的格式
● 公鑰也可以用多種不同格式來表示迈窟,最重要的是它們分為非壓縮格式或壓縮格式公鑰這兩種形式。
● 前綴04是用來區(qū)分非壓縮格式公鑰采缚,壓縮格式公鑰是以02或者03開頭
● 壓縮格式公鑰對應著同樣的一個私鑰瓶竭,這意味它是由同樣的私鑰所生成督勺。但是壓縮格式公鑰和非壓縮格式公鑰差別很大。更重要的是斤贰,如果我們使用雙哈希函數(shù)(RIPEMD160(SHA256(K)))將壓縮格式公鑰轉化成比特幣地址智哀,得到的地址將會不同于由非壓縮格式公鑰產(chǎn)生的地址。這種結果會讓人迷惑荧恍,因為一個私鑰可以生成兩種不同格式的公鑰——壓縮格式和非壓縮格式瓷叫,而這兩種格式的公鑰可以生成兩個不同的比特幣地址。但是送巡,這兩個不同的比特幣地址的私鑰是一樣的摹菠。
●
壓縮格式私鑰
● 實際上“壓縮格式私鑰”是一種名稱上的誤導“壓縮的私鑰”實際上只是表示“用于生成壓縮格式公鑰的私鑰”,而“非壓縮格式私鑰”用來表明“用于生成非壓縮格式公鑰的私鑰”骗爆。為避免更多誤解次氨,應該只可以說導出格式是“WIF壓縮格式”或者“WIF”,而不能說這個私鑰是“壓縮”的摘投。
● 這些格式并不是可互換使用的煮寡。在較新的實現(xiàn)了壓縮格式公鑰的錢包中,私鑰只能且永遠被導出為WIF壓縮格式(以K或L為前綴)犀呼。對于較老的沒有實現(xiàn)壓縮格式公鑰的錢包洲押,私鑰將只能被導出為WIF格式(以5為前綴)導出。這樣做的目的就是為了給導入這些私鑰的錢包一個信號:到底是使用壓縮格式公鑰和比特幣地址去掃描區(qū)塊鏈圆凰,還是使用非壓縮格式公鑰和比特幣地址杈帐。
● 當從一個實現(xiàn)了壓縮格式公鑰的比特幣錢包導出私鑰時,錢包導入格式(WIF)將會被修改為WIF壓縮格式专钉,該格式將會在私鑰的后面附加一個字節(jié)大小的后綴01挑童。最終的Base58Check編碼格式的私鑰被稱作WIF(“壓縮”)私鑰,以字母“K”或“L”開頭跃须。而以“5”開頭的是從較老的錢包中以WIF(非壓縮)格式導出的私鑰站叼。