Addresses

地址是公鑰的雜湊值,還是壓縮的公鑰?

  • January 24, 2016

我知道在比特幣中,地址是散列的公鑰。但是,我也聽說壓縮的公鑰與雜湊一樣短,同時保持它們的 1:1 關係。

乙太坊是否對地址使用散列公鑰或壓縮公鑰?

公鑰使用 SHA-3 進行散列以產生 256 位輸出。高 96 位被丟棄,低 160 位成為地址。

來源

因此,地址似乎並未保留公鑰中的所有資訊。

乙太坊使用散列公鑰。它不使用壓縮的公鑰。

重要說明是乙太坊使用 Keccak-256而不是 SHA-3 標準。

範例 Python 程式碼:

def privtoaddr(x):
   if len(x) > 32:
       x = decode_hex(x)
   return sha3(bitcoin.privtopub(x)[1:])[12:]  # sha3 here is Keccak-256
  1. 公鑰是從私鑰計算出來的
  2. 公鑰使用 Keccak-256 進行散列
  3. Keccak-256 輸出的高 12 字節(96 位)被丟棄。

引用自:https://ethereum.stackexchange.com/questions/593