IT_잡담2023. 12. 26. 08:39

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/599756 (2017.6.12)

비트코인의 블럭 크기 제한과 거래용량 확장 문제는 꽤 오래전부터 논의되어 왔으나, 일본에서 지난 4월부터 비트코인을 합법적인 결제수단으로 인정하고 이후 인지도 상승과 시세폭등이 이어지면서 이제는 꽤나 시급한 문제가 된 듯하다. 나름 흥미로운 부분도 좀 있고 해서 여기에 정리해 보기로.

비트코인의 거래내역은 블록체인(blockchain)이라고 불리며 인터넷에 공유되어 있다. 이 블록체인을 생성하고 유지하는 대가로 비트코인을 받는 것이 채굴(mining)이다. 아무튼, 이름이 블록체인인 이유는 비트코인 거래내역이 블록(block) 여러개가 줄줄이 이어져 있는 형태로(chain) 생성되기 때문이다.

블록은 평균 10분에 하나씩 생성되고, 한 블록의 크기는 최대 1MB다. 블록 크기가 1MB를 초과할 수 없기 때문에 특정 시간에 거래가 몰리면 거래승인 시간이 길어지거나 아예 승인이 안 될 가능성도 존재하게 된다. 통상 10분내에 승인되어야 할 거래가 30분이 넘어도 승인되지 않는다거나 아예 승인이 되지 않고 거부되거나 하는 문제가 생길 수 있다.

그렇다면, 현재 비트코인의 블록 크기는 대략 얼마 정도인가? 이 정보는 blockchain.info에서 볼 수 있다. 여기로.

 


그래프를 보면 최근의 평균 블록 크기가 거의 1MB 근처까지 올라왔음을 알 수 있다. 블록체인에서 수용 가능한 한계치에 이미 근접해 있다는 뜻이다. 만약 이 상태로 그냥 방치된다면 문제가 될 소지가 크다.

처음에 비트코인이 설계되면서 블록 크기가 1MB로 제한된 이유는, 이 정도까지 많은 거래가 있을 것이라고 예상하지 못한 측면도 있겠지만 한편으로는 블록체인을 보호하기 위한 목적도 있다. 만약 블록 크기에 제한이 없으면 악의적인 사용자들이 거래를 미친 듯이 부풀려서 - 예를 들어 1BTC 송금을 0.00001BTC로 쪼개서 10만개의 거래를 만든다던가 하는 식으로 - 블록체인의 크기를 마구 늘어나게 하면 비트코인 네트워크와 채굴 노드에 과부하가 생겨 일종의 서비스 거부(DoS) 공격이 될 수도 있을 것이기 때문이다.

비트코인이 처음 나올 당시(2009년)에는 GPU나 ASIC을 이용한 채굴도 없었고 CPU를 이용해서 채굴을 했던데다가 성능도 지금 같지 않았으니 블록 크기 1MB 이내라는 제약은 그 당시로서는 충분히 합리적이었다고 생각된다.  

그렇게 블록 크기 제한을 했음에도 현재 블록체인의 총 용량은 급속도로 증가했다. 블록체인 용량 증가 동향은 여기에서 볼 수 있다.



그래프를 보면 알 수 있듯이 2017년 6월 현재 용량이 무려 120GB에 육박하고 있다. 지금 비트코인 클라이언트를 받아서 설치하고 네트워크와 동기화하려면 120GB 정도를 다운로드해야 되는 상황이다.

시간은 늦었고 글은 생각 보다 길어지고 있어서, 다음에 이어서 써야겠다. 일단 여기까지.

728x90
Posted by 반달가면