비트코인 개인키는 숫자로 256비트로 표현되고 p보다 작은 숫자이다.
p = 2^256 - 2^32 - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 -1
그러므로 개인키 숫자는 대략적으로 십진수로 나타내면 256*log(2) = = 77이므로 10^77 정도된다.
공개키도 대략적으로 개인키에서 일대일 대응이므로 10^77개 정도된다고 볼 수 있다. 그런데 공개키에서 비트코인 주소로 변환하는 과정에서 경우의 수가 급격하게 줄어든다. sha256(pub_key) 과정에서는 256비트에서 256비트로 변환이므로 경우의 수 감소는 없다고 봐도 되고 ripemd160(sha256(pub_key)) 과정에서 256비트에서 160비트로 축소되는 과정에서 경우수가 줄어든다. 결과적으로 160*log(2) == 48 이므로 10^48개 정도로 축소된다. 이전글에서 같은 공개키에 대해서 비트코인 주소가 2가지로 나타나지만 10의 지수를 바꿀정도는 아니다.
개인키 10^77개
공개키 10^77개
주소수 10^48개
실질로 주소로 모든 거래,전송을 하므로 실질적인 경우의 수는 10^48 가지수 이라고 볼수 있다. 즉 개인키 10^29개 가 같은 주소로 매칭이 된다.글쓰는 현시점 채굴노드의 주소인 1CK6KHY6MHgYvmRQ4PAafKYDrg1ejbH1cE 비트코인 주소에 대해서 대응하는 개인키는 10^29 개 있다고 볼 수 있다. 공개키의 경우의 수가 더 많지만 사실상 대부분 주소패턴으로 거래가 이뤄지므로 비트코인 경우의 수는 주소갯수라 보는게 합리적이다.