요약: 블록체인의 ‘최종성(finality)’이란 거래가 영구적으로 확정되어 더 이상 되돌리거나 변경할 수 없으며, 원장에서도 삭제될 수 없는 시점을 말합니다. 각 블록체인은 몇 초에서 몇 분에 이르는 다양한 속도로, 저마다의 방식으로 최종성에 도달합니다. 확정된 거래의 시점이 사용자 경험, 보안, 자금에 영향을 미치기 때문에 개발자들은 최종성을 이해해야 합니다.
간단한 설명
블록체인 거래는 “보내기”를 클릭하는 순간 즉시 확정되는 것이 아닙니다. 거래는 네트워크에 전송되고, 검증자나 채굴자가 이를 수신하여 블록에 포함시킵니다. 그 후에도 네트워크가 재구성되는 경우( ‘리오그’라고 하는 현상)에는 일반적으로 거래가 되돌려질 수 있는 시간이 존재합니다. 최종 확정(finality)이란 바로 그 시간이 끝나는 순간을 말합니다.
이것을 수표를 우편으로 보내는 것과 비슷하다고 생각해보세요:
우편함에 넣는 것은 마치 거래 내역을 공개하는 것과 같습니다.
우체국에서 이를 수거하는 것은 거래가 멥풀에 등록되는 것과 같습니다.
은행에 도착하는 수표는 블록에 포함되는 것과 같습니다.
은행이 결제를 처리하고 자금이 최종적으로 이체될 때까지는 결제가 확정된 것이 아닙니다. 블록체인의 ‘확정성’이란 바로 그 마지막 단계를 말하며, 이 시점부터는 거래의 취소가 실질적으로나 수학적으로 불가능해집니다.
각 블록체인은 이를 서로 다르게 정의합니다:
Bitcoin 확률적 최종성(probabilistic finality)을 사용합니다. 거래 위에 새로운 블록이 하나씩 쌓일수록 거래 내역을 되돌리기는 기하급수적으로 어려워집니다. 6회 확인(약 60분)이 완료되면, 비트코인( Bitcoin ) 거래는 대부분의 용도에서 안전한 것으로 간주됩니다.
Ethereum 이 네트워크는 지분 증명(Proof of Stake) 방식으로 전환한 이후로 Casper FFG를 사용해 왔습니다. 검증자 위원회는 약 12~13분마다 체크포인트를 확정하기 위해 투표를 진행합니다. 확정된 거래를 되돌리려면 공격자가 스테이킹된 전체 ETH의 최소 3분의 1을 소각해야 하는데, 이는 경제적으로 재앙적인 결과를 초래할 것입니다.
Solana Proof of History와 Proof of Stake를 결합하여 약 400밀리초 만에 싱글 슬롯 최종성을 달성합니다. 곧 진행될 Alpenglow 업그레이드는 이 시간을 150밀리초 미만으로 단축하는 것을 목표로 합니다.
최종성은 어떻게 달성되는가?
블록체인의 합의 메커니즘은 최종성을 보장합니다.
작업 증명(Proof of Work)에서 최종성은 확률적입니다. 채굴자들은 가장 긴 체인을 연장하며, 새로운 블록이 생성될 때마다 이전 블록들을 되돌리는 데 드는 비용은 기하급수적으로 증가합니다.
지분 증명(Proof of Stake) 및 비잔틴 결함 내성(BFT) 시스템에서, 검증자들은 블록에 대해 투표합니다. 과반수(일반적으로 스테이킹된 가치의 3분의 2)가 동의하면 블록은 확정됩니다. 이를 되돌리려면 막대한 양의 스테이크가 손실될 것입니다.
컨센서스 설계에 따라 체인이 확률적, 결정론적, 또는 경제적 최종성을 제공하는지, 그리고 그 속도가 어느 정도인지가 결정됩니다.
종결의 유형
개발자는 여러 가지 유형의 최종성을 파악해야 합니다.
확률적 최종성(Probabilistic finality) 이란, 트랜잭션 위에 새로운 블록이 하나씩 쌓일 때마다 그 트랜잭션의 안전성이 높아지지만, 거래가 되돌려질 미미한 가능성은 항상 존재한다는 것을 의미합니다. 비트코인( Bitcoin ) 및 기타 작업 증명(Proof of Work) 기반 블록체인은 이 모델을 사용합니다. 거래가 되돌려질 확률은 확인 횟수가 늘어날수록 기하급수적으로 줄어들지만, 결코 0이 되지는 않습니다.
결정론적(또는 절대적) 최종성이란, 최종 확정된 트랜잭션은 합의 프로토콜 자체를 훼손하지 않는 한 되돌릴 수 없음을 의미합니다. ‘ Ethereum ’(머지 이후)와 같은 지분 증명(PoS) 체인 및 많은 BFT 기반 체인이 이러한 방식으로 작동합니다. 충분한 수의 검증자가 블록을 인증하고 해당 블록이 최종성 체크포인트에 도달하면, 그 블록은 영구적으로 확정됩니다.
경제적 최종성은 이와 밀접한 관련이 있습니다. 결정론적 최종성을 갖는 블록체인에서도 진정한 보장은 경제적 측면에 있습니다. 최종 확정된 거래를 되돌리면 스테이킹된 자산의 가치가 너무 크게 손실되므로, 합리적인 행위자라면 누구도 이를 시도하지 않을 것입니다. Ethereum 에 따르면, 이는 최종 확정된 블록 하나를 되돌리려면 1,100만 ETH 이상(전체 스테이킹된 ETH의 3분의 1)을 소각해야 함을 의미합니다.
즉각적인 최종 확정성은 일부 최신 블록체인과 레이어 2 네트워크의 목표입니다. 예를 들어, Avalanche 에서는 검증자들이 합의에 도달할 때까지 서로의 선호도를 반복적으로 샘플링하며, 이 과정은 몇 초 만에 완료됩니다. 일부 레이어 2 롤업은 시퀀서로부터 near- 즉시 "소프트" 최종 확정성을 제공합니다. 하지만 진정한 최종 확정성은 롤업의 증명이나 데이터가 레이어 1에서 언제 확정되는지에 달려 있습니다.
확률적 종결성과 결정론적 종결성
최종성 모델은 크게 두 가지 유형으로 나뉩니다. 확률적 최종성은 새로운 블록이 생성될 때마다 확률이 높아지지만, 결코 완전한 확실성에 도달하지는 않습니다. 반면 결정론적 최종성은 합의가 완료되는 순간 해당 블록이 되돌려질 수 없음을 보장합니다. 아래 표는 이 두 가지 모델을 비교한 것입니다.
확률적 최종성
결정론적 최종성
합의
작업 증명
지분 증명(Proof of Stake) 또는 BFT
반전 위험
기하급수적으로 감소하지만, 0이 되는 일은 결코 없다
일단 확정되면 수학적으로 불가능해진다
확인
여러 블록이 처리될 때까지 기다립니다.
단일 최종화 체크포인트
예시 체인
Bitcoin, Litecoin, Dogecoin
Ethereum, Avalanche, BNB Smart Chain
상충 관계
단순하고, 더 느리지만 확실한 것
더 빠른 확신, 더 복잡한 합의
‘최종 확정까지 소요 시간(TTF)’이란 무엇인가요?
‘최종 확정 시간(TTF)’은 사용자가 거래를 제출한 시점부터 네트워크가 해당 거래가 되돌려질 수 없음을 보장할 때까지의 총 소요 시간을 의미합니다. 이는 서명 및 전송 시점부터 거래를 영구적으로 확정하는 합의 체크포인트에 이르기까지의 기간을 말합니다.
TTF는 개발자들이 실제로 중요하게 여기는 수치입니다. 이는 판매자, 거래소 또는 브릿지가 거래를 ‘정산된’ 것으로 간주하기까지 얼마나 기다려야 하는지를 알려줍니다. TTF가 낮을수록 앱의 처리 속도가 빨라지고 반응성이 높아집니다. 얼마나 기다려야 하는지는 거래되는 금액의 규모에 따라 달라집니다.
주요 블록체인 간의 최종성
각 체인은 서로 다른 합의 방식을 통해 최종 확정을 달성하며, 그 속도도 매우 다양합니다. 아래 표는 가장 널리 사용되는 네트워크들이 거래를 어떻게 처리하는지 보여줍니다.
블록체인
합의
종결성 유형
최종 결정까지 소요될 것으로 예상되는 기간
Bitcoin
작업 증명
확률론적
약 60분 (6회 확인)
Ethereum
지분 증명(Casper FFG)
결정론적이며 경제적
약 12~13분 (2 에포크)
Solana
이력 증명(Proof of History)과 지분 증명(Proof of Stake)
낙관적, 단일 슬롯
오늘은 알펜글로우를 사용해 약 150ms를 목표로 초 단위 측정
Avalanche
‘Snowman’과 ‘ Avalanche ’의 합의
결정론적
약 1~2초
BNB Smart Chain
빠른 확정성을 갖춘 스테이킹 권한 증명
결정론적
약 2~3초
이 수치는 대략적인 것이며 프로토콜 업그레이드에 따라 변경될 수 있습니다. 실제 운영 환경에서 이를 활용하기 전에 각 네트워크의 공식 문서를 확인하여 최신 최종성 보장 수준을 확인하시기 바랍니다.
Quicknode 저지연 RPC를 통해 최신 및 확정된 블록 데이터를 모두 제공하며 Ethereum, Solana, BNB Smart Chain, 및 기타 여러 네트워크를 통해 최신 블록 데이터와 확정된 블록 데이터를 모두 제공합니다. 확정된 데이터를 사용하여 빌드하는 방법에 대한 단계별 튜토리얼은' Quicknode 빌더 가이드'를 참조하십시오.
최종성 대 불변성
‘최종성(finality)’과 ‘불변성(immutability)’은 종종 같은 의미인 것처럼 사용되지만, 실제로는 다릅니다. 불변성이란 원장에 기록된 데이터를 수정할 수 없음을 의미합니다. 반면 최종성이란 네트워크가 해당 거래가 영구적이며 체인에서 재구성(reorganization)을 통해 제거되지 않을 것임을 합의했음을 의미합니다. 블록의 내용은 고정될 수 있지만(immutable), 최종성이 확정되기 전에 재구성을 통해 블록이 고아 블록(orphaned block)이 될 경우 여전히 거래가 되돌려질 수 있습니다. 확정성은 바로 그 가능성을 차단해 주는 보증입니다.
개발자에게 ‘최종성’이 중요한 이유
최종성은 앱을 구축하는 방식을 결정합니다.
분산형 거래소는 잔액을 업데이트하기 전에 거래가 실제로 언제 청산되었는지 파악해야 합니다.
두 체인을 연결하는 브릿지가 최종 확정(finality)을 너무 일찍 가정할 경우, 이중 지출 공격에 노출될 수 있습니다. 사용자는 원본 체인에서 입금이 실제로 확정되기 전에 대상 체인에서 자금을 인출할 수 있습니다.
이는 다른 유형의 앱에서도 마찬가지로 중요합니다:
결제: 결제의 확정성은 판매자가 구매를 확정하기까지 기다려야 하는 기간을 결정합니다.
DeFi: 이는 청산 시점, 오라클 업데이트의 신뢰성, 그리고 MEV (최대 추출 가능 가치) 전략에 영향을 미칩니다.
NFT 마켓플레이스: 소유권 이전이 안전하게 표시될 수 있는 시점을 결정합니다.
크로스체인 브리지: 송신 체인과 수신 체인 간의 최종성 불일치는 브리지 해킹 사고의 주요 원인 중 하나입니다.
블록 재구성(reorg)은 약한 최종성이 실제로 어떻게 나타나는지를 보여주는 사례입니다. 재구성은 네트워크가 최근 블록을 다른 블록으로 대체할 때 발생합니다. 대개 두 명의 검증자가 거의 동시에 경쟁 관계에 있는 블록을 생성했고, 네트워크는 그중 하나를 선택해야 했기 때문입니다. 대체된 블록에 포함된 트랜잭션은 삭제되거나 순서가 바뀔 수 있습니다. 재구성을 고려하지 않은 앱에서는 나중에 사라지는 ‘팬텀 트랜잭션’이 나타날 수 있으며, 이는 사용자를 혼란스럽게 하고 실질적인 손실을 초래할 위험이 있습니다.
Quicknode 의 최종성 처리 방식
Quicknode이 인프라스트럭처는 최종성을 염두에 두고 구축되었습니다. Quicknode Streams 는 내장된 재구성(reorg) 처리 기능을 통해 블록체인 데이터를 최종성 순서대로 전달하므로, 네트워크가 재구성되더라도 앱은 일관된 데이터를 얻을 수 있습니다. 확인 횟수를 수동으로 조회하거나 재구성을 직접 추적할 필요가 없습니다. Streams 는 최종 확정된 블록, 영수증 및 추적 기록의 ‘정확히 한 번(exactly-once)’ 전달을 보장합니다. 덕분에 낙관적인 가정 대신 확정된 상태를 기반으로 하는 앱을 훨씬 쉽게 구축할 수 있습니다.
Quicknode's Core API는 지원되는 모든 네트워크에 걸쳐 최신 블록 데이터와 확정된 블록 데이터를 모두 제공하므로, 사용 사례에 필요한 확인 수준을 선택할 수 있습니다. 반응성이 뛰어난 UI를 구현하려면 최신 블록 데이터를 사용하고, 거래를 정산할 때는 확정된 데이터를 사용하세요.
이벤트 주도형 애플리케이션의 경우, Quicknode Webhooks 새로운 블록이 확정되거나 재구성(reorg)이 발생하는 즉시 백엔드에 알릴 수 있으므로, 지속적인 폴링 없이도 확정된 상태에 대응할 수 있습니다.
Avalanche 및 Solana 과 같은 체인의 경우 1초 미만인 반면, Ethereum 에서는 완전한 최종 확정에 약 12~13분이 소요되며, Bitcoin 에서는 6회 확인을 통한 보안 확보에 약 1시간이 걸립니다. 기다려야 할 적절한 시간은 거래의 가치에 따라 달라집니다.
블록체인의 최종성은 불변성과 같은 것인가?
아닙니다. 불변성(immutability)은 데이터가 일단 기록되면 수정할 수 없음을 의미하는 반면, 최종성(finality)은 네트워크가 해당 거래가 되돌려지거나 체인 밖으로 재구성되지 않을 것을 보장함을 의미합니다. 블록은 불변 상태( immutable )일지라도 최종성에 도달하기 전까지는 여전히 되돌릴 수 있습니다.
어떤 블록체인의 최종 확정 속도가 가장 빠를까요?
주요 네트워크 중에서는 Avalanche, BNB Smart Chain, Solana 가 몇 초 이내에 거래를 확정합니다. Solana 의 향후 ‘Alpenglow’ 업그레이드는 약 150밀리초 이내의 거래 확정 시간을 목표로 하고 있습니다.
리오그(reorg)란 무엇이며, 이는 최종성(finality)과 어떤 관련이 있나요?
재구성(reorg)이란 네트워크가 최근 추가된 블록을 경쟁 블록으로 대체하는 현상을 말합니다. 최종 확정(finality)은 재구성이 더 이상 거래에 영향을 미칠 수 없게 되는 시점을 의미하며, 따라서 애플리케이션은 자금이 정산된 것으로 간주하기 전에 최종 확정이 이루어질 때까지 기다려야 합니다.
개발자에게는 왜 최종성이 중요한가요?
최종성(Finality)은 잔액, 거래, 브리지 이체 및 소유권 변경을 안전하게 처리할 수 있는 시점을 결정합니다. 이를 잘못 판단하는 것은 크로스체인 브리지 악용 및 이중 지출 공격의 주요 원인이므로, 안전한 애플리케이션을 구축하기 위해서는 각 체인의 최종성 보장을 이해하는 것이 필수적입니다.