본문으로 건너뛰기
buybitcoinsmart

용어집 / 트랜잭션과 수수료

컨펌

별칭은 Confirmation, Confirmations, 컨펌된 트랜잭션, 미컨펌 트랜잭션입니다.

컨펌이란 무엇입니까?
컨펌은 해당 트랜잭션이 포함된 블록 위에 작업 증명 블록이 1개 쌓이는 것을 말하며, 따라서 가장 최근 블록에 포함된 결제의 컨펌 수는 정확히 1입니다.

확인 수는 결제를 되돌리는 데 드는 비용을 측정하며, 그 결제가 얼마나 오래 존재해 왔는지를 측정하지 않습니다. 블록은 평균적으로 약 10분마다 도착하므로, 블록 6개면 보통 1시간 정도가 걸립니다. 거래소는 이 수를 입금 반영 규칙으로 삼으며, 그래서 입금이 온체인에서는 보이지만 계좌에서는 아직 사용할 수 없는 경우가 생깁니다.

작동 방식

확인 수 세기는 블록 높이에 대한 단순한 산수입니다. 체인 끝의 높이를 구하고, 해당 트랜잭션을 담은 블록의 높이를 빼고, 1을 더하면 그것이 확인 수입니다. 아직 멤풀에서 대기 중인 트랜잭션의 확인 수는 0이며, 채굴업자가 그 위에 블록을 쌓을수록 이 수는 저절로 올라갑니다.

이 수는 사실상 비용 추정치입니다. 역사를 다시 쓰려면 해당 블록과 그 위의 모든 블록에서 작업 증명을 다시 해야 하며, 그것도 네트워크의 나머지가 정직한 체인을 연장하는 속도보다 빨리 해내야 합니다. 비트코인 백서의 11절은 그 확률을 계산하고 실패 확률이 0.1% 미만이 되는 조건을 풀어 놓았습니다. 해시레이트의 10%를 가진 공격자에게는 블록 5개면 충분하고, 30%를 가진 공격자에게는 블록 24개, 45%를 가진 공격자에게는 블록 340개면 충분합니다. 익숙한 6은 특정 위협 모델에 대한 올림한 답일 뿐, 법칙이 아닙니다.

얕은 되돌림은 드물지만 실제로 일어납니다. 2013년 3월에는 구형 소프트웨어가 처리하지 못하는 블록이 네트워크를 둘로 갈랐고, 해시 파워의 약 60%를 가진 그 갈래는 두 대형 풀이 단일 체인을 복원하기 위해 노드를 구 버전으로 되돌리면서 의도적으로 폐기되었습니다. BIP50은 사후 분석 문서로, 분열이 이어지는 동안 거래소들이 입금을 중단했다는 점과 그 기간에 이중 지불 1건이 발생했다는 점을 기록하고 있습니다. 유효한 블록을 몇 초 차이로 발행한 채굴업자들 사이의 경쟁은 훨씬 흔하며 몇 분 안에 해소됩니다.

프로토콜은 한 곳에서 자신의 입장을 밝히고 있습니다. 코인베이스 출력은 그 위에 블록 100개가 쌓이기 전까지 사용할 수 없으며, 이는 약 16시간 40분으로, 새로 만들어진 자금을 이동하기에 어떤 깊이가 안전한지에 대한 네트워크 자체의 내장된 답입니다.

블록 사이의 시간은 일정표가 아니라 평균입니다. 채굴은 무작위 탐색이므로 블록이 몇 초 간격으로 나올 수도 있고 1시간 동안 아무 블록도 나오지 않을 수도 있으며, 2,016블록마다 이루어지는 난이도 조정이 장기 평균을 10분 쪽으로 되돌리는 역할을 합니다.

비트코인을 구매할 때 이것이 중요한 이유

입금 규칙은 플랫폼마다 정해져 있으며, 입금 반영이 되지 않은 것은 거래할 수 없습니다. Kraken, Coinbase, Binance는 각각 비트코인 입금이 거래 가능한 잔액이 되기 전에 요구하는 확인 수를 공개하고 있으며, 이 대기는 트랜잭션이 멤풀에서 보낸 시간에 더해집니다. 움직이는 시장에 매도할 계획이라면, 행동하려는 시점이 아니라 그 전에 코인을 거래소로 옮겨 두어야 합니다.

같은 지연은 출금에도 반대 방향으로 적용되어 사람들을 최악의 순간에 당황하게 합니다. 수수료가 급등하는 시점에 요청한 출금은 몇 시간 동안 미확인 상태로 남을 수 있으며, 이것이 Strike와 Kraken이 라이트닝 결제를 지원하는 이유 중 하나입니다. 라이트닝에서는 정산이 즉시 이루어지고 확인 수는 흐름의 일부가 아닙니다.

대면 거래와 개인 간 거래(P2P)는 확인 수가 실제로 중요한 곳입니다. Paxful 같은 마켓플레이스에서 에스크로는 구매자를 보호할 뿐, 직접 현금이나 물품, 계좌 이체를 건네는 사람인 본인을 보호하지는 않습니다. 본인이 지급하는 쪽이라면 식별자를 확인한 직후가 아니라 확인 수가 쌓인 뒤에 지급해야 합니다. 비트코인 ATM은 의도적으로 반대의 선택을 하며, 확인 수 0에서 지급하고 그 위험을 흔히 몇 퍼센트에 달하는 스프레드에 가격으로 반영합니다.

보유는 쉬운 경우입니다. 이미 본인 지갑에 있는 코인은 지켜볼 필요가 없습니다. 깊이는 쌓이기만 하기 때문입니다. Bitpanda나 Relai에서 한 구매가 도착하여 블록 몇 개를 넘기고 나면, 그 뒤로 추가로 할 일은 없습니다.

컨펌 6개가 실제로 주는 것

본인 지갑으로 정산되는 20,000 달러 구매를 가정해 보겠습니다. 확인 수 0에서는 그 결제가 멤풀에만 존재하고 보낸 사람이 바꿔치기할 수 있습니다. 현대의 Bitcoin Core에서는 전체 replace-by-fee가 기본 중계 정책이기 때문입니다. 확인 수 1이면 결제는 블록 안에 있고, 이를 되돌리려면 공격자가 블록 1개 뒤진 상태에서 네트워크 전체를 채굴로 앞질러야 합니다.

확인 수 6이면 백서 자체의 수치에 따르면 10% 공격자가 따라잡을 확률은 1,000분의 1보다 훨씬 낮으며, 이를 시도하는 비용은 1시간 동안 전 세계를 해시레이트로 앞지르는 데 필요한 전력과 하드웨어입니다. 개인 저축 이체라면 확인 1개로 이미 충분합니다. 기관 간 2,000만 달러 결제라면 공격자 모델이 더 크기 때문에 관행이 정확히 6입니다.

확인 수는 서두를 수도 없습니다. 수수료를 올리면 첫 확인은 빨라집니다. 채굴업자가 정렬하는 대기열에서 앞으로 나아가기 때문입니다. 두 번째 확인은 전혀 빨라지지 않습니다. 그 블록은 누가 무엇을 하든 약 10분이 걸리기 때문입니다.

컨펌 vs 블록 높이

블록 높이는 제네시스 블록부터 블록을 세므로 오직 증가하기만 하고 모든 사람에게 같은 수입니다. 확인 수는 상대적입니다. 하나의 트랜잭션과 현재 체인 끝 사이의 거리를 세므로, 결제는 확인 수를 계속 얻지만 그 블록 높이는 결코 변하지 않습니다. 탐색기에서 “블록 900,000”과 “확인 수 412”를 보여 준다면, 그것은 트랜잭션이 어디에 있는지와 얼마나 깊이 묻혀 있는지를 알려 주는 것입니다.

컨펌 vs 체인 재구성

확인 수는 방어이고, 체인 재구성은 그 방어가 막아서는 사건입니다. 두 채굴업자가 유효한 블록을 동시에 발행하면 한 갈래가 버려지고 그 안의 트랜잭션들은 멤풀로 돌아가므로, 확인 1개가 붙은 결제도 잠시 0으로 떨어질 수 있습니다. 이는 공격이 아니라 정상적인 네트워크 동작이며, 깊이가 중요한 이유가 바로 여기에 있습니다. 블록이 하나 더 붙을 때마다 본인의 결제를 담은 갈래를 버리기가 더 어려워집니다.

혼동하기 쉬운 용어

자주 묻는 질문

비트코인 결제에는 몇 번의 컨펌이 필요합니까?

일반적인 개인 금액에는 한 번이면 충분하고, 대규모 결제에는 여섯 번이 관례입니다. 백서 자체의 표에 따르면 해시레이트 10%를 가진 공격자가 5블록 깊이의 결제를 되돌릴 확률은 1,000분의 1 미만입니다.

컨펌된 것으로 표시되는 입금을 거래소가 아직 입금 처리하지 않은 이유는 무엇입니까?

플랫폼마다 자체 기준을 정하고 자체 노드에서 집계하기 때문입니다. 블록 탐색기에서는 컨펌 1회로 표시되는데 거래소는 3회나 4회를 기다리는 경우가 있으며, 일부 거래소는 온체인 집계에 더해 내부 검토 단계를 추가합니다.

컨펌된 트랜잭션을 되돌릴 수 있습니까?

이론적으로는 가능하지만 실제로는 거의 일어나지 않습니다. 두 채굴업자가 동시에 블록을 발표하면 자연스럽게 1블록 되돌림이 발생할 수 있지만, 여러 블록을 다시 쓰려면 전체 네트워크보다 많은 채굴을 해야 하며, 마지막으로 발생한 심각한 다중 블록 분열은 2013년 3월에 두 채굴 풀이 소프트웨어를 이전 버전으로 되돌리면서 수동으로 종결되었습니다.

컨펌을 앞당길 수 있습니까?

replace-by-fee나 자식이 부모를 대신 지불하는(child-pays-for-parent) 방식으로 더 높은 수수료율을 지불하면 첫 번째 컨펌은 앞당길 수 있습니다. 그 이후의 컨펌은 새 블록이 발견되어야 하므로 어떤 방법으로도 앞당길 수 없습니다.

다음에 읽을 글

관련 용어

트랜잭션과 수수료 분야의 다른 용어

이 페이지를 영어로 읽기