Address
比特幣地址與公鑰有什麼關係?
一個比特幣錢包可以處理多個私鑰。在 ECC 中,您可以擁有 2^256 個私鑰,而對於每個密鑰,您可以擁有 2^256 個公鑰。假設這是正確的(如果我錯了,請糾正我),您基本上通過使用 RIPEMD160 散列函式對公鑰進行散列來生成比特幣地址,該函式可以產生 2^160 個不同的地址。
比特幣地址和公鑰的關係是不是1:1(每個公鑰一個地址)?如果不是,如何將多個地址連接到單個公鑰,因為這種“連接”是通過散列函式進行的,並且除非您更改條目本身,否則一個條目(公鑰)的散列不會改變?
提前致謝。
您基本上通過使用 RIPEMD160 散列函式對公鑰進行散列來生成比特幣地址,
實際上,您使用的是 HASH160。HASH160 是 RIPEMD160(SHA256(x))。
這是學習如何將私鑰轉換為比特幣地址的好資源:https ://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
如何將多個地址連接到單個公鑰
地址散列到不同值的壓縮和未壓縮版本。這是同一個鍵可以散列到兩個不同值的一種方式。還有分層確定性錢包,允許您獲取單個密鑰,並從中派生許多不同的子密鑰,所有這些子密鑰都有不同的地址。
它也不是 1:1,因為理論上可以創建兩個散列到相同值的不同公鑰。