The Way
비트코인 증발 - 비트코인의 총량 감소 본문
비트코인의 채굴량은 정확히 정해져 있다.
0~209999번 블록까지는 50 BTC,
210000~419999번 블록까지는 25 BTC,
420000~629999번 블록까지는 12.5 BTC (현재)이다.
이후에도 21만 블록마다 (수가 작아지니 사토시로 쓰겠다)
625000000, 312500000, ..., 18, 9, 4, 2, 1 사토시로 차례로 작아져
최종적으로 693만번 블록에서부터는 수수료를 제외한 채굴 보상이 없어진다.
약 4년마다 반감기가 찾아오니, 물론 100년도 더 뒤의 일일 것이다. 실질적으로 99%의 비트코인이 채굴되는 120만번 블록은 약 12년 뒤면 채굴될 것으로 예상된다.
따라서 비트코인의 총 채굴량은 최종적으로 2100만 BTC, 더 정확히는 20999999.9769 BTC로 정해진다.
만약 비트코인이 그때까지 살아남는다면.. 0.003비트코인만 가지고 있어도 인류 평균은 넘을 수 있을 것이다.
(참고로 0.003 BTC의 가격은 현재 기준으로 3만원 정도 한다)
비트코인의 총 채굴량이 제한되어 있다는 것은 비트코인의 큰 장점 중 하나이기도 하다.
그런데 사실 비트코인의 총 채굴량은 위에서 계산한 이론값인 20999999.9769 BTC보다 더 적다.
그 이유는 비트코인이 사라지는, 일명 증발하는 과정이 발생하기 때문인데 그 이유는 크게 5가지가 있다.
1) 채굴자가 충분한 양의 보상을 가져가지 않는 경우 (진짜로 소멸)
2) 사실상 소멸
2-1) 사용할 수 없는 UTXO
2-2) Bitcoin Eater Address
2-3) 사용할 의지가 없어보이는 주소
2-4) 지갑 키 분실
2-2~2-4번에 해당하는 것은 예시를 들 수는 있지만, 블록만을 보고 판단할 수는 없다.
대략 근사적으로, 5년간 사용되지 않았으면 그 지갑의 비트코인은 소멸되었다고 생각할 수 있을 것이다.
(물론 항상 예외는 있듯, 5년 넘게 존버중인 사람이 있을 수도 있긴 하다)
이 글에서는 위 5가지 이유에 대해 예시를 들어가며 간단하게 설명해보도록 하겠다.
1) 채굴자가 충분한 양의 보상을 가져가지 않는 경우
비트코인 채굴의 보상은 '정해진 양의 보상 + 수수료'만큼으로 정해져 있다.
가령 160001번 블록을 보면 블록 보상 50 BTC, 3개의 거래가 수수료로 지불한 0.041 BTC를 합쳐 '최대' 50.041 BTC를 가져갈 수 있는 것이다.
여기서 '최대'를 붙인 이유는, 그 미만을 가져가는 경우가 가능하고, 또 실제로 발생하기 때문이다.
최대로 가져갈 수 있는 양보다 적게 가져간, 첫 번째 사건은 124724번 블록에서 발생하였다.
정상적이라면 50 BTC + 수수료 0.01 BTC를 가져갔어야 했는데, 채굴자는 채굴 보상으로 49.99999999 BTC만을 가져간 것을 확인할 수 있을 것이다.
이 경우, 0.01000001 BTC는 영구적으로 사라지게 된다.
이후로도 이런 일은 약 1000회 이상 발생하였다.
50000~100000 사토시 정도가 증발한 일이 가장 빈번한데, 그 액수가 큰 것도 몇 번 있다.
그 액수가 큰 것으로는
1.75780069 BTC가 증발한 164243번 블록
0.91455943 BTC가 증발한 164441번 블록 등이 있다.
비교적 최근의 일인 501726번 블록에서는 채굴자가 아무 거래도 안 넣고, 아무 보상도 가져가지 않은 상남자의 기질을 보여주었다.
이 경우 12.5BTC가 증발하게 된다. 당시 시세로는 1억 6800만 원 정도. 아직 다 확인해보지는 않았지만, 아마 최대 규모일 것이다.
이렇게 증발한 비트코인의 총 양은, 2015.10.7 기준으로 10.19768818 BTC에 달한다.
총 채굴량인 2100만 BTC에 비한다면 0.0000476% 정도로, 사실 티도 안나는 수준이다.
2) 사실상 소멸
실제로 소멸되진 않았지만, 소멸된 것으로 보아도 무방한 것들이다.
물론 천문학적인 확률을 뚫는다거나 한다면 살리는 것이 가능할 수도 있다.
2-1) 사용할 수 없는 UTXO
비트코인이 사용하는 Script라는 언어에 대한 이해가 약간 필요한데,
대충 설명하면 코인을 사용하기 위해서는
기존 거래(자신이 받은)의 Output과, 하려는 거래(자신이 보내는)의 Input을 합쳐서 계산하였을 때 True라는 값이 반환되어야 하는 것이다.
Output은 한 번만 사용할 수 있는데, 이 중 사용되지 않은 것을 UTXO라 한다.
UTXO가 평범하게 잘 있다면 개인키를 가지고 있는 사람이 그 UTXO를 사용할 수 있겠지만, 세상에는 꼭 이상한 짓을 하는 사람들이 있다.
대체로 이상한 조건을 걸어놓은 것이 많은데, 한가지만 예시를 들겠다.
거래 03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386의 Output Script를 보자.
두 번째 것을 위와 비교해보면 PUSHDATA자리에 0이 들어가는 것을 확인할 수 있다.
원래 저 Output을 사용하려면 'OP_HASH160을 거쳤을 때 PUSHDATA(20)에 있는 값이 나오는 것', 바로 공개키를 넣어주어야 한다.
하지만 두 번째 것은?
OP_HASH160을 했을 때 0이 나오는 공개키가 무엇인지 아는가?
OP_HASH160의 설명을 보면
The input is hashed twice: first with SHA-256 and then with RIPEMD-160
라고 적혀있다.
즉, 위 거래의 두 번째 Output은 SHA-256 -> RIPEMD-160을 거쳤을 때 0이 되는 공개키를 찾는 문제와 같다.
해시 결과가 랜덤하게, 균등하게 나온다고 가정했을 때 1/16^40의 확률로 0이 되는 공개키를 찾아낼 수 있을 것이다.
현재 1개의 블록을 채굴하는 것보다 16^22배는 더 어려운 작업이다.
여기에 걸려있는 비트코인은 497 BTC, 현 시세로 50억 원 정도이다.
이 거래 뿐 아니라,
aa62bdd690de061a6fbbd88420f7a7aa574ba86da4fe82edc27e2263f8743988 (367.7 BTC)
2d00ef4895f20904d7d4c0bada17a8e9d47d6c049cd2e5002f8914bfa7f1d27b (200 BTC)
aebe39a99114f1b46fc5a67289545e54cbfec92d08fc8ffc92dc9df4a15ea05a (143.6 BTC)
9edab6e7fadf1d6006315ff9394c08a7bf42e19cf61502200a1f73994f8da94b (100 BTC)
835d4dcc52e160c23173658de0b747082f1937d1184e8e1838e9394bc62c0392 (100 BTC)
81f591582b436c5b129f347fe7e681afd6811417973c4a4f83b18e92a9d130fd (100 BTC)
6a86e6a5e8d5f9e9492114dafe5056c5618222f5042408ad867d3c1888855a31 (100 BTC)
5bd88ab32b50e4a691dcfd1fff9396f512e003d7275bb5c1b816ab071beca5ba (100 BTC)
3ab5f53978850413a273920bfc86f4278d9c418272accddade736990d60bdd53 (100 BTC)
등에도 같은 것이 걸려있으니, 총 2,000 BTC 정도는 가뿐히 얻어낼 수 있을 것이다. 부자 되는 것은 한순간이다.
이러한 UTXO의 종류는 추후 다른 글에서 더 자세히 다루어보겠다.
2-2) Bitcoin Eater Address
Bitcoin 주소의 경우 뒤 Checksum 부분만 잘 계산해주면 되기 때문에, 공개키를 몰라도 쉽게 만들어낼 수 있다.
이 때문에 만들 수는 있어도, 받은 비트코인을 사용하지는 못하는 상황이 발생하게 되는 것이다.
때문에 비트코인을 받기만 하는, 일명 Bitcoin Eater Address가 많이 생겨나게 되었다.
이 역시도 어떻게 공개키를 잘 찾으면 사용은 가능하겠지만, 마찬가지로 확률은 극악이다.
대표적으로 알려진 Bitcoin Eater Address는 다음과 같다.
1BitcoinEaterAddressDontSendf59kuE (13.19 BTC)
1111111111111111111114oLvT2 (66.25 BTC)
1CounterpartyXXXXXXXXXXXXXXXUWLpVr (2130.87 BTC)
옛날에 이런 주소에 장난삼아 비트코인을 전송한 사람들은 지금쯤 땅을 치며 후회하고 있을 것이다... 흐흐흐
2-3) 사용할 의지가 없어보이는 주소
랜섬웨어라던지, 약간의 불법적인 일을 저지른 집단들의 경우나
자신의 거래 내역을 공개하기 싫은 경우, 심심한 사람들의 경우 흔히 '믹싱'이라고 불리는 자금 세탁 방법을 사용한다.
간단히 말하면 자신의 비트코인을 여러 주소로 분산해 전송하는 과정을 반복하며 뺑뺑이를 돌려 추적이 어렵도록 만드는 것이다.
이런 일을 하며 1사토시씩 질질 흘리고 다니는 경우도 있는데,
대표적으로 거래 7e62faee74ddffd6149fab9d0f550a80fe4df1f283eca767ae671079dc0c301b이 있다.
1002개의 UTXO 중 1개만 진짜고, 나머지 1001개는 1사토시짜리이다.
1사토시는 약 0.1원 정도밖에 하지 않기 때문에 전혀 부담이 없다.
이러한 이유 때문에 비트코인이 10사토시 이하가 담겨져 방치된 지갑 수십 만 개가 생겨나게 되었다.
개인키를 알고 있을지 모르고 있을지 확신할 수는 없지만, 넓게 보면 2-2번과 크게 다르지는 않다.
2-4) 지갑 키 분실
대표적으로 이 분이 계실 것이다. 애도...
지갑 키가 분실된 양도 상당할 것으로 보인다. 사토시 나카모토도 키를 분실한 것인지, 도통 소식이 없다.
'잡정보' 카테고리의 다른 글
헷갈리는 음식물 쓰레기 (0) | 2018.11.24 |
---|---|
메르센 소수, GIMPS (0) | 2018.10.14 |
Elo Rating System (엘로 평점 시스템) (4) | 2018.05.31 |
Introduction to Algorithms 3rd edition 답지 (0) | 2017.10.30 |
음원 스트리밍 수익 분배 (3) | 2017.10.21 |