본문으로 건너뛰기

평균 10분과 컨펌

비트코인에서 평균 10분은 전체장부에 새 블록 하나가 더해지는 평균 간격입니다. 블록이 정확히 10분마다 나오는 것은 아닙니다. 1분 만에 나올 때도 있고 30분 넘게 걸릴 때도 있습니다.

전 세계 장부가 맞춰지는 시간

비트코인 장부는 한 회사의 서버 한 곳에만 저장되지 않습니다. 전 세계의 수많은 컴퓨터가 같은 장부 사본을 나누어 가지고 있습니다. 새 블록이 만들어지면 이 사본들이 있는 컴퓨터로 전달되어야 합니다.

새 블록이 지구 반대편까지 전파되는 데도 시간이 걸립니다. 만약 블록이 1초마다 만들어진다면 이전 블록을 아직 받지 못한 컴퓨터가 다음 블록을 먼저 맞이할 수 있습니다. 컴퓨터마다 서로 다른 페이지를 들게 되면 하나여야 할 장부가 갈라지는 일이 잦아집니다.

여러 도시의 지점들이 하나의 장부를 함께 쓴다고 생각해 보겠습니다. 한 지점이 페이지를 다 쓰면 모든 지점에 복사본을 돌리고, 각 지점이 같은 페이지를 받았을 즈음 다음 페이지를 쓰는 방식입니다. 회람이 끝나기 전에 다음 페이지를 만들면 지점마다 다른 장부가 생길 수 있습니다.

비트코인의 블록 간격은 이 전파 시간보다 넉넉하게 잡혀 있습니다. 새 블록이 만들어지면 이웃 컴퓨터에 알려지고, 블록은 컴퓨터에서 컴퓨터로 전파되어 전 세계로 퍼집니다. 평균 10분이라는 간격에서는 전파에 걸리는 시간이 전체 간격의 작은 부분을 차지하므로, 대부분의 컴퓨터가 같은 최신 장부를 유지할 여유가 생깁니다.

빠르거나 느릴 때의 절충

블록 간격을 크게 줄이면 새 페이지가 모두 퍼지기 전에 다음 페이지가 나올 가능성이 커집니다. 장부가 두 쪽으로 갈라지는 일이 잦아지고, 버려지는 쪽에 들어간 계산은 헛수고가 될 수 있습니다.

반대로 블록 간격을 1시간으로 늘리면 장부가 갈라질 걱정은 줄어들 수 있지만, 거래가 블록에 담기기까지 기다리는 시간이 길어집니다. 평균 10분은 전파에 필요한 여유와 사용자가 감당해야 할 기다림 사이에서 고른 절충으로 이해할 수 있습니다.

블록 생성은 복권 추첨처럼 무작위로 일어납니다. 그래서 개별 블록의 간격은 일정하지 않습니다. 다만 네트워크에는 전체 평균이 10분에 머물도록 난도를 조정하는 규칙이 들어 있습니다.

컨펌이란 무엇인가

거래가 블록에 담긴 뒤에는 거래가 포함된 블록부터 현재 체인의 끝까지 블록이 몇 개 이어져 있는지를 셉니다. 이 숫자를 컨펌이라고 부릅니다. 따라서 거래가 처음 블록에 담기는 순간 컨펌은 1회입니다. 그 위에 새 블록이 하나 더 쌓이면 2회, 다시 하나가 쌓이면 3회가 됩니다.

블록이 쌓일수록 거래가 기록된 페이지를 바꾸기 어려워집니다. 거래를 바꾸려면 그 위에 쌓인 블록까지 다시 만들어야 하기 때문입니다.

여섯 컨펌이라는 관례

여섯 컨펌을 기다린다는 것은 거래가 포함된 블록 위에 다섯 블록이 더 쌓이기를 기다린다는 뜻입니다. 흔히 말하는 약 1시간은 첫 블록에 포함되기까지의 기다림도 합친 대략적인 시간이며, 처음 블록에 포함되는 일이 늦어지면 더 오래 걸립니다. 전통적으로 이 정도를 거래가 사실상 되돌리기 어려워진 상태로 보는 관례가 있습니다. 적은 금액은 한두 번의 컨펌으로 충분하다고 판단할 수 있고, 큰 금액은 여섯 번을 기다리는 식으로 상황에 따라 다르게 봅니다. (Bitcoin Developer Guide의 확인 횟수 설명)

다만 여섯 컨펌이 모든 상황에서 프로토콜이 강제하는 절대적인 확정선이라는 뜻은 아닙니다. 컨펌이 많아질수록 기록을 되돌리기 어려워진다는 의미로 이해하는 편이 정확합니다.

화면의 승인과 최종 정산

카드 결제는 몇 초 만에 승인 화면이 나타납니다. 하지만 가게에 돈이 실제로 도착하는 정산은 뒤에서 며칠에 걸쳐 이루어질 수 있습니다. 화면에 보이는 승인과 최종 정산이 서로 다른 단계인 셈입니다.

비트코인에서도 전송 표시와 거래 확인에는 차이가 있습니다. 거래가 블록에 담기기까지는 시간이 걸릴 수 있지만, 그 위에 충분한 블록이 쌓이면 기록을 되돌리기 어려운 상태에 가까워집니다. 따라서 속도를 비교할 때는 화면에 승인 표시가 뜨는 속도와 정산이 굳는 속도를 나누어 보아야 합니다.

정리하면, 평균 10분은 전 세계에 블록을 전파할 여유와 거래를 기다리는 시간 사이에서 선택된 간격입니다. 컨펌은 거래가 포함된 블록부터 현재 체인의 끝까지 이어진 블록의 수를 나타내며, 컨펌이 많아질수록 거래 기록은 더 깊이 장부에 묻힙니다.

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유