Addresses
地址是公鑰的雜湊值,還是壓縮的公鑰?
我知道在比特幣中,地址是散列的公鑰。但是,我也聽說壓縮的公鑰與雜湊一樣短,同時保持它們的 1:1 關係。
乙太坊是否對地址使用散列公鑰或壓縮公鑰?
公鑰使用 SHA-3 進行散列以產生 256 位輸出。高 96 位被丟棄,低 160 位成為地址。
因此,地址似乎並未保留公鑰中的所有資訊。
乙太坊使用散列公鑰。它不使用壓縮的公鑰。
重要說明是乙太坊使用 Keccak-256而不是 SHA-3 標準。
def privtoaddr(x): if len(x) > 32: x = decode_hex(x) return sha3(bitcoin.privtopub(x)[1:])[12:] # sha3 here is Keccak-256
- 公鑰是從私鑰計算出來的
- 公鑰使用 Keccak-256 進行散列
- Keccak-256 輸出的高 12 字節(96 位)被丟棄。