티스토리 뷰
일반적으로 우리가 어떤 온라인 서비스를 이용할 때는 회원가입과 승인이라는 절차를 거친다.
하지만 비트코인 네트워크에서 계좌를 생성하는 절차에는 회원가입이나 인증의 절차 따위가 필요없다. 단지 임의의 2^256 보다 작은 임의의 한 숫자를 비밀번호(비밀키)로서 선택하고 해당 비밀번호에 대응하는 계좌번호(지갑주소)를 얻으면 그만이다.
비트코인은 탈중앙화되어있기 때문에 나의 회원가입을 도와주거나 승인해 주는 주체가 처음부터 없었기 때문에 어쩌면 이건 자연스런 방법이다.
비트코인 비밀키는 256자리의 이진수로 표현할 수 있는 임의의 수다
아래는 정확히 256비트의 한 이진수이다
10101101010101010101010101111101
01010101110101011101010101110101
01010101010101010101010110101010
111010111110101010101010110101101
010101010101000010101111101010101
0111010101110101010111010101010
10101010101010101011010101011101
0110101010101010101011010101010
이를 16진수로 표현하면 아래와 같다.
ad55557d55d5d575555555aaebeaaad6aaa857d55d5d575555555aaeb55556aa
사람에게 익숙한 10진수로 표현하면 이와 같다.
78400894832883569372172979329806992777528068618691595593450344477370155193687
그리고 비트코인 주소는 이렇게 임의로 선택된 값으로부터 계산되어져 나온다.
16ft5M2mCPUcxBY6Nca5EK7i5xuB2T2fZe
이는 결국 사용 가능한 비트코인 지갑의 개수가 2^256 가지임을 의미한다.
너무나 심플하고 단순하다.
그래서 우리는 정말 이런 걱정이 들지도 모르겠다.
내가 선택한 비밀키를 다른 누군가가 동일하게 선택하면 어떻게 되는거지?
혹시라도 누군가가 정말 나와 동일한 수를 선택하기라도 한다면, 곧 바로 그 둘은 하나의 비트코인 주소를 공유하게 되는 것이다. 아마도 해당 주소에 비트코인이 들어 있기라도 하면 두번째로 선택한 사람은 그 비트코인을 바로 출금해 버릴 지도 모른다.
하지만 현실적으로 이런 일은 일어나지 않는다.
왜냐면 2^256 란 수가 충분히 큰 수이기 때문이다.
이 부분에서 일반적으로 많은 사람들이 조금 당황해 한다. 아무래도 좀 찜찜한데.. 라는 생각이 들 수 있다.
비트코인의 사용자 비밀키 보안은 오직 2^256 이란 수의 크기에 의존한다. 이 부분에 대한 충분한 공감과 동의가 없다면 비트코인 시스템을 신뢰할 수 없을 것이다.
그렇기에 나는 비트코인의 보안을 신뢰하려면 먼저 2^256 의 비밀을 이해하고 감각적으로 경험하는 것이 매우 중요하다고 생각한다.
그렇다면 2^256 이란 수는 도대체 얼마나 큰 수일까.
어떤 수가 지나치게 크거나 작을 경우 인간은 그 크기를 잘 상상하지 못한다.
그래서 이해를 돕기 위해 시각적인 예를 들어보자.
지구의 모든 모래 알갱이 수와 비교
지구상의 모든 해변과 사막의 모든 모래 알갱이를 합친 개수는 대략 10^22개 정도 된다고 한다. 10의 22제곱이란 말은 1 뒤에 숫자 0이 22개 따라오는 숫자다.
그리고 우주의 모든 별들의 개수는 이보다 7배 많다고 한다.
그렇다면 우주의 모든 별들의 개수는 7 x 10^22 가 된다.
그렇다면 비트코인의 개수를 10의 제곱으로 표현하면 얼마나 될까
위 숫자는 1 뒤에 0 이 77개 따라오는 숫자다. 우주의 모든 별들의 개수와도 비교조차 안 된다.
로또 당첨확률과 비교
로또로 비교를 해보자. 로또 1등의 확률은 1/8,145,060 으로 알려져 있다.
랜덤으로 선택한 비밀키가 다른 누군가와 충돌될 확률은 11번 연속으로 로또 1등할 확률 보다 낮다.
비트코인 채굴 해시 파워와 비교
- 최대 채굴 해시 파워: 230m(TH/s) - 230,000,000,000,000,000,000
- 전세계인구: 80억 - 8,000,000,000
- 1만년 60 x 60 x 24 x 365 x 10000: 315,360,000,000
- 1,2,3 의 곱
- 전 세계 인구가 모두 현재 비트코인의 전체 채굴 파워를 가지고 쉬지 않고 1만년 동안 검증한다고 할 때, 확인 가능한 해시 개수
- 580,262,400 x 10^33 => 0.5802624e42
즉,
전세계 모든 사람이 개인당 지금의 비트코인 전체 채굴파워를 소유하고 1만년동안 쉬지않고 채굴기를 돌려도,
그 결과가 충돌날 확률은,
위 4번을 2^256 으로 나눈 결과로서
0.000000000000000000000000000000000005%
이 된다.
또 다른 영상
아래 영상은 2^256 개의 비트코인 주소를 모두 확인하는데, 예상되는 시간에 대하여 설명한다. 이를 통해서도 2^256 이 얼마나 큰 수 인지 느껴보기 바란다.
https://www.youtube.com/watch?v=S9JGmA5_unY
참고자료
https://www.youtube.com/watch?v=FnCE7qkTSDY
'비트코인 공부' 카테고리의 다른 글
Nodejs 를 이용한 비밀키와 WIF 간 변환 (0) | 2022.09.03 |
---|---|
인터넷 연결없이 안전하게 개인지갑의 비트코인을 출금하는 방법 (3) | 2022.09.01 |
파이썬으로 개인지갑에서 비트코인 옮기기 (22) | 2022.08.30 |
비트코인 해킹 가능할까 (2) | 2022.08.30 |
니모닉월렛과 브레인월렛 비교 (0) | 2022.08.29 |