Bitcoin-Core

為什麼存在有限數量的比特幣地址以及如何確定可能的地址範圍

  • February 12, 2019

我的第一個問題是,確切的邏輯/理論原因是只有固定數量的可能比特幣地址。其次,我可以使用 address(sha256(“Passphrase”)) 生成一個比特幣地址。如果甚至可以確定,為了計算第一個和最後一個可能的地址,“密碼”是什麼?例如 address(sha256(0)) 是第一個地址嗎?

我試圖了解可能地址的“範圍”是如何工作的或它是如何界定的。

我的第一個問題是,確切的邏輯/理論原因是只有固定數量的可能比特幣地址。

因為物理學不允許我們做任何無限的事情。

但是,即使地址的數量是有限的,可能的地址數量也是如此之大,以至於它可能是無限的。我們不可能用盡所有可能的地址;他們太多了。

其次,我可以使用 address(sha256(“Passphrase”)) 生成一個比特幣地址。如果甚至可以確定,為了計算第一個和最後一個可能的地址,“密碼”是什麼?

這不是地址的工作方式。它不是一個有序列表,並且地址不是按任何順序生成的。地址不是通過散列密碼生成的;他們也不會被該密碼訂購。

地址是通過使用 SHA256 對公鑰進行散列,然後使用 RIPEMD160 進行散列來生成的。然後使用 Base58 Check 編碼對生成的雜湊進行編碼。這些雜湊函式是不可逆的,因此給定它們的輸出,您無法找到它們的輸入。所以不,僅給定地址就不可能找出地址的雜湊值是什麼公鑰。

如果你真的想訂購地址,那麼第一個地址是 Base58 校驗編碼,0000000000000000000000000000000000000000最後一個地址是 Base58 校驗編碼ffffffffffffffffffffffffffffffffffffffff。可能的地址範圍就是所有可能的 160 位(20 字節)值的範圍。那是因為那是 RIPEMD160 可以輸出的所有可能值的範圍。

引用自:https://bitcoin.stackexchange.com/questions/84471