
Paperis 아티클
신뢰 없이 합의하기 — 서로 못 믿는 참여자들이 하나의 장부에 동의하는 법
관리자가 없는데 수천 대의 컴퓨터가 하나의 기록에 동의하는 원리 — 비잔틴 장군 문제와 FLP 불가능성이라는 두 고전적 한계에서 출발해, 작업증명·지분증명·BFT가 각각 무엇을 걸고 무엇을 내주는지, 그리고 '확정됐다'는 말이 계열마다 다른 뜻인 이유까지

Paperis 아티클
관리자가 없는데 수천 대의 컴퓨터가 하나의 기록에 동의하는 원리 — 비잔틴 장군 문제와 FLP 불가능성이라는 두 고전적 한계에서 출발해, 작업증명·지분증명·BFT가 각각 무엇을 걸고 무엇을 내주는지, 그리고 '확정됐다'는 말이 계열마다 다른 뜻인 이유까지
이 글은 AI가 연구 논문을 바탕으로 작성한 교육·정보 제공용 콘텐츠이며, 전문가의 조언을 대체하지 않습니다. 오류를 발견하셨나요? 알려주세요
© 2026 네오쿤스(Paperis) · 링크 공유는 환영합니다. 전문 전재·재배포는 사전 허가가 필요합니다.
이 글이 근거로 삼은 논문 중 ‘거인의 어깨’에 오른 초석 연구예요. 개념을 익혔다면 원전으로 가보세요.
최초로 실용 가능한 비잔틴 결함 허용(PBFT) 알고리즘을 제안하여 분산 합의 분야의 혁신을 이끌었습니다.
이 분야의 거인의 어깨 →비동기 분산 시스템에서 단 하나의 결함만으로도 합의가 불가능함을 증명한 분산 컴퓨팅의 최고 걸작입니다.
이 분야의 거인의 어깨 →내 은행 잔고가 얼마인지 우리는 어떻게 아는가. 은행이 그렇게 적어 두었기 때문이다. 장부가 하나뿐이고 그것을 지키는 관리자도 하나뿐이므로, "무엇이 진실인가"에는 언제나 답이 있다. 관리자에게 물어보면 된다.
그런데 관리자가 없다면 어떻게 될까. 수천 대의 컴퓨터가 각자 장부 사본을 들고 있고, 그중 누구도 다른 누구를 특별히 신뢰하지 않으며, 일부는 고의로 거짓을 말할 수도 있다면 — 이들은 "지금 장부에 무엇이 적혀 있는가"에 어떻게 동의할까. 이것이 합의(consensus) 문제다.
이 문제가 블록체인과 함께 태어났다고 생각하기 쉽지만 사실은 훨씬 오래됐다. 여러 서버에 데이터를 복제하는 분산 데이터베이스는 오래전부터 Paxos, Raft, 비잔틴 결함 허용 같은 합의 프로토콜로 일관성을 지켜 왔고, 어느 것을 고르느냐는 늘 성능·일관성·신뢰성 사이의 트레이드오프였다 (DOI: 10.36227/techrxiv.175606742.20986239/v1 — 동료심사 전 프리프린트). 은행 전산망도, 항공기 제어 시스템도, 우리가 매일 쓰는 클라우드 서비스도 이미 이 문제를 풀며 돌아가고 있다.
블록체인이 한 일은 이 오래된 문제에 조건을 하나 더 붙인 것이다. 아무나 참여할 수 있게 하는 것. 합의 알고리즘은 중앙 권위에 기대지 않고 탈중앙 시스템 안에서 신뢰와 무결성을 보장하는 장치이며, 그 설계는 하나의 정답으로 수렴하지 않는다 (DOI: 10.63345/sjaibt.v2.i4.102).
이 글의 목표는 하나다. 이 분야의 논문을 펼쳤을 때 첫 문단에서 길을 잃지 않을 만큼의 토대를 쌓는 것. 가격도, 투자도, 어느 코인이 옳은가도 여기서는 다루지 않는다. 오직 "서로 못 믿는 참여자들이 어떻게 하나의 기록에 동의하는가"라는 원리만 본다.
합의 프로토콜에 우리가 바라는 것은 크게 두 가지다.
고장에도 두 종류가 있다. 하나는 크래시 폴트(crash fault) — 참여자가 그냥 죽거나 응답을 멈추는 것이다. 다른 하나는 비잔틴 폴트(Byzantine fault) — 참여자가 아무 짓이나 할 수 있는 것이다. 거짓말을 하고, 사람마다 다른 말을 하고, 규칙을 어기고, 다른 악의적 참여자와 공모할 수도 있다. 소프트웨어 버그, 운영자 실수, 악의적 공격 모두 이런 임의적 행동을 낳을 수 있다 (DOI: 10.1145/571637.571640).
여기에 열린 네트워크만의 문제가 하나 더 붙는다. 아무나 참여할 수 있다면 한 사람이 신원을 수천 개 만들어 다수인 척할 수 있다. 이것을 시빌 공격(Sybil attack)이라 부른다 — 가짜 신원을 대량으로 내세워 비잔틴 고장을 유도하는 것이다. 공개·무허가 네트워크가 시빌에 견디는 리더 선출 전략을 반드시 요구하는 이유다 (DOI: 10.3390/a16010034).
기억해 둘 지도는 이것이다. 합의 = (안전성 + 활성) × (비잔틴 고장을 견디며) × (열린 네트워크라면 시빌까지 막으며). 앞으로 볼 모든 설계는 이 세 요구를 어떻게 나눠 지느냐의 차이일 뿐이다.
일부 참여자가 임의로 배신할 수 있을 때 나머지가 하나의 결정에 도달할 수 있는가. 이 물음은 고전적으로 비잔틴 장군 문제(Byzantine Generals Problem)라는 이름으로 정식화되었다. 여러 장군이 한 도시를 포위한 채 전령을 주고받아 '공격'이냐 '후퇴'냐를 정해야 하는데, 일부가 배신자라서 어떤 장군에게는 공격하자고, 다른 장군에게는 후퇴하자고 말할 수 있다는 설정이다.
이 정식화는 두 장군 문제를 일반화한 것으로, 이후 무수한 합의 알고리즘 연구가 이 문제에 답하려는 시도로 이어졌다 (DOI: 10.3390/s23052739). 초기의 비잔틴 결함 허용 알고리즘들은 이 문제를 풀긴 했으나 통신 부담이 불필요하게 커서 확장성이 제한되었다 (DOI: 10.55677/craj/03-2025-vol02i07).
여기서 '결함 허용'이라는 표현에 주의하자. 비잔틴 결함 허용(BFT)은 배신자를 찾아내는 기술이 아니라, 배신자가 섞여 있어도 결과가 흔들리지 않게 만드는 기술이다. 누가 거짓말쟁이인지 끝내 몰라도 상관없다. 다만 그 수가 일정 비율을 넘지만 않으면 된다.
그렇다면 배신자 수만 적으면 언제나 합의에 도달할 수 있을까. 여기서 이 분야에서 가장 유명한 한계가 등장한다.
1985년 『Journal of the ACM』에 실린 한 논문은 이렇게 증명했다. 비동기 시스템에서, 단 하나의 프로세스만 고장 나도 모든 합의 프로토콜은 끝내 종료하지 못할 가능성을 갖는다. 그 고장이 거짓말도 아닌 단순한 정지(크래시)일 때조차 그렇다. 대조적으로 동기 시스템에서는 — 그 유명한 '비잔틴 장군' 문제에서조차 — 해법이 알려져 있다 (DOI: 10.1145/3149.214121). 저자 세 사람(Fischer·Lynch·Paterson)의 머리글자를 따 흔히 FLP 불가능성이라 부른다 (arXiv:cs/0209014 — 동료심사 전 프리프린트).
'비동기'라는 말이 핵심이다. 여기서 비동기란 메시지가 언제 도착할지 아무 상한도 보장되지 않는 네트워크를 말한다. 이런 세계에서는 응답 없는 참여자를 보고 "죽었다"와 "그냥 느리다"를 원리적으로 구별할 수 없다. 이 구별 불가능성이 바로 벽의 정체다.
FLP는 "합의는 불가능하다"는 말이 아니다. "결정론적으로, 비동기에서, 항상 종료하는 합의는 불가능하다"는 말이다. 세 조건 중 하나만 놓으면 길이 열린다. 실제로 발표 이후 20년간의 연구는 네 가지 확장 모형으로 이 결과를 우회해 왔다. (a) 무작위성(randomization), (b) 추가적 타이밍 가정, (c) 실패 감지기(failure detector), (d) 기본 모형보다 강한 동기화 수단 (arXiv:cs/0209014 — 동료심사 전 프리프린트).
실패 감지기는 프로세스 크래시에 관한 (때로 부정확한) 정보를 주는 장치로, 충분히 강력하면 크래시 허용 합의를 풀 수 있다 (arXiv:1502.02538 — 동료심사 전 프리프린트). 타이밍 가정은 "메시지는 최대 Δ 안에 도착한다"고 못 박는 방식이다. 다만 이 가정에는 대가가 있다. 최장 사슬 프로토콜의 안전성 보장은 Δ가 커질수록 나빠지는데, 현실 네트워크의 지연은 이따금 평소보다 훨씬 커지므로 최악의 지연에 맞춘 보장은 지나치게 비관적일 수 있다. 그래서 지연을 확률분포로 다루는 모형이 제안되었고, 이 모형은 지연이 이따금 매우 커지는 네트워크에서 기존보다 더 나은 보안 보장을 도출했다 (DOI: 10.1287/stsy.2022.0031). 무작위성 쪽에서는, 적대자가 메시지 순서를 지정하는 대신 배달이 무작위 스케줄을 따른다고 가정하면 표준 비동기 모형에서는 불가능한 확률적 보장이 가능해진다는 결과가 있다 (arXiv:2502.09116 — 동료심사 전 프리프린트).
여기서 실무적 사실 하나를 정직하게 짚어 두자. 비동기 네트워크용 합의 프로토콜은 대체로 복잡하고 비효율적이며, 그래서 실제 시스템은 동기 프로토콜에 기대는 경우가 많다. 다만 같은 연구는 상위 계층이 마치 동기 네트워크 위에 있는 것처럼 동작하게 해 주는 추상화를 제안해, 비동기 합의를 Paxos 계열보다 단순하고 견고하게 만들 수 있다고 주장한다 (arXiv:1907.07010 — 동료심사 전 프리프린트). 이론적으로 더 강한 모형이 실무에서 늘 이기는 것은 아니다.
토대가 놓였으니, 열린 네트워크에서 이 문제를 푸는 세 갈래를 보자.
비트코인이 채택한 나카모토 합의는 작업증명(proof of work, PoW)을 투표 메커니즘으로 쓴다. 사슬을 지키는 데 해시 연산력을 기여하는 정직한 채굴자들은 자신이 아는 가장 긴 사슬을 이어 나가려 한다. 설계는 단순하지만, 어느 시점에든 연산력의 과반을 정직한 참여자가 쥐고 있다는 가정 아래 의미 있는 보안 보장을 얻는다. 전체 연산력이 시간에 따라 크게 요동쳐도 이 성질은 유지된다 (arXiv:2505.14891 — 동료심사 전 프리프린트).
PoW가 시빌 공격을 막는 이치는 이렇다. 신원은 공짜로 만들 수 있지만 연산은 공짜가 아니다. 투표권이 신원 수가 아니라 연산량에 비례하므로, 가짜 신원을 아무리 많이 만들어도 영향력은 늘지 않는다. 무허가 환경에서 강한 시빌 저항성을 갖는 것은 작업증명 아니면 지분증명의 원리를 채택한 몇 안 되는 패러다임뿐이며, 평판 시스템이나 현실 신원 연결에 기대는 방식은 저항성이 제한적이라는 것이 21,799편을 훑은 체계적 문헌 검토의 결론이다. 같은 검토는 다만, 공격면이 작은 시스템 시나리오라면 더 약한 보호로도 충분한 혁신적 기제가 다수 존재한다는 점도 함께 짚는다 (DOI: 10.3390/a16010034).
이 방식의 대가는 잘 알려져 있다. 에너지 소모, 확장성 병목, 채굴 풀로의 권력 집중이 대표적이다 (DOI: 10.63345/sjaibt.v2.i4.102). 그렇다면 자원만 바꾸면 될까. 저장 공간을 쓰는 '공간증명'이 지속 가능한 대체재로 제안되어 왔지만, 동적 가용성 아래서 안전한 최장 사슬 프로토콜을 공간증명으로 구성하는 법은 아직 알려져 있지 않다. 한 연구는 추가 가정 없이는 그런 프로토콜이 존재하지 않음을 증명하고, 이중지불에 필요한 분기 길이의 하한을 정량화했다 (arXiv:2505.14891 — 동료심사 전 프리프린트). 자원을 바꾸면 보안 성질도 함께 바뀐다.
지분증명(proof of stake, PoS)은 다른 답을 낸다. 시빌 공격은, 프로토콜 실행에서의 역할 배분을 장부 자체에 기록된 지분 분포에 근거해 정함으로써 막는다. 신원을 늘려도 지분 총량은 늘지 않으니 시빌은 무의미해진다. 다만 그 지분 분포는 완전히 최신일 수 없다 — 주요 PoS 제안들을 실증 조사한 연구는 프로토콜이 쓰는 분포와 현재 분포 사이에 며칠에 이르는 시차가 있음을 보였다 (arXiv:2001.04187 — 동료심사 전 프리프린트).
PoS의 경제적 성질을 처음으로 정식 모형화한 연구는, 충분히 절제된 보상 일정이 주어지면 가능한 한 빨리 합의에 이르는 균형이 존재하고 지속적 분기 균형이 배제된다는 것을 보였다. 그 이유가 중요하다. PoW와 달리 PoS는 검증자가 동시에 이해관계자(stakeholder)일 것을 요구하기 때문이다 (DOI: 10.1093/rfs/hhaa075). 사슬을 망가뜨리면 자기가 건 몫이 함께 망가진다는 뜻이다.
여기서 슬래싱(slashing)이 등장한다. 규칙을 어긴 검증자가 걸어 둔 지분을 몰수하는 처벌 장치다. 한 연구는 PoS 보안을 공격자가 치르는 비용(cost-of-corruption)과 공격자가 얻는 이익(profit-from-corruption)으로 나눠 분석하는 틀을 세우고, 몰수된 자금을 배분하는 보험 메커니즘을 제안했다. 목표는 정직한 거래자가 결코 돈을 잃지 않는다는 강한 암호경제적 안전성이다 (arXiv:2401.05797 — 동료심사 전 프리프린트).
지분이 곧 투표권이면 소액 보유자는 참여하기 어려우므로 지분을 모으는 '스테이크 풀'이 생긴다. 한 주체가 여러 풀을 만들어 지배하려는 시도 역시 시빌 공격의 한 형태다. 보상 분배를 잘 설계하면 목표한 수의 풀이 합리적 플레이의 내시 균형으로 형성될 수 있음을 보인 연구가 있는데, 흥미롭게도 겉보기에 더 '공정'해 보이는 단순한 보상이 오히려 중앙집중적 균형으로 수렴하기도 한다 (arXiv:1807.11218 — 동료심사 전 프리프린트).
실제 전환의 결과는 측정되어 있다. 이더리움이 2022년 9월 PoS로 전환한 전후를 분석한 연구는 에너지 소비가 99.98% 감소했고 연속된 블록 사이의 시간이 12초로 일정해졌다고 보고한다 (DOI: 10.3390/commodities2020006).
다만 PoS에도 고유한 취약점이 있다. 몰수로 처벌할 수 없는 장거리(long-range) 안전성 공격에 노출되고, 활성 저항력이 낮으며, 토큰 가치가 낮을 때 부트스트랩이 어렵다는 문제다. 한 연구는 이 문제들이 외부의 신뢰 근원이 없는 모든 PoS 사슬에 내재적이라고 주장하고, 외부 사슬에 체크포인트를 남겨 이를 해소하는 프로토콜을 제안했다 (arXiv:2207.08392 — 동료심사 전 프리프린트).
세 번째 갈래는 고전 분산시스템에서 곧장 이어진다. 정족수(quorum) — 결정을 확정하기에 충분하다고 미리 정해 둔 참여자 수 — 를 채우는 찬성 투표가 모이면 그 자리에서 확정하는 방식이다.
2002년에 정리된 대표적 알고리즘(PBFT)은 인터넷 같은 비동기 환경에서도 안전하며, 시스템 수명 전체에 걸쳐 임의 개수의 고장을 견딜 수 있다고 보고한다. 단, 취약 창(window of vulnerability) 안에서 고장 난 복제본이 전체의 1/3 미만이라는 조건 아래서다 (DOI: 10.1145/571637.571640). 부분 동기 시스템에서 f개의 고장 난 복제본을 견디려면 보통 3f + 1개의 노드가 필요하다 (arXiv:2205.08938 — 동료심사 전 프리프린트).
이 3분의 1이라는 숫자는 정족수의 성질에서 나온다. 서로 다른 두 결정이 각각 정족수의 동의를 받았다면 그 두 정족수는 반드시 겹쳐야 하고, 겹치는 영역에 정직한 참여자가 최소 한 명은 남아 있어야 모순이 드러난다. 이 요구를 만족시키려면 고장 비율에 상한이 생긴다.
BFT의 장점은 명확하다. 확정된 블록은 그 자리에서 확정이다. 대가도 명확하다. 통신량이다. 초기 알고리즘은 메시지가 노드 수의 제곱으로 늘어나 확장성이 제한되었고, 이를 완화하려 비동기 프로토콜을 비롯한 여러 구조가 제안되었는데, 이들은 낮은 지연을 견고성과 맞바꾼다 (DOI: 10.55677/craj/03-2025-vol02i07). 서베이는 이 계열의 개선 시도를 방법별로 분류해 정리한다 (DOI: 10.3390/electronics12183801). 실제로 PBFT는 사설·컨소시엄 블록체인에서는 잘 작동하지만 대규모 공개망에서는 확장성이 부족하다는 것이 비교 연구의 진단이다 (DOI: 10.63345/sjaibt.v2.i4.102).
최근 설계들은 이 벽을 여러 방향에서 밀어낸다. 명령 복제는 분산시키고 순서 결정만 중앙화하는 패러다임은 300개 복제본 배치에서 기존 대비 약 3배 처리량·약 50% 나은 지연을 보고했다 (DOI: 10.14778/3538598.3538599). 값비싼 3단계 커밋 없이 낙관적으로 먼저 응답하는 투기적 접근도 있다 (DOI: 10.1145/1323293.1294267). 인증 없는 DAG 위에 세운 비동기 BFT는 광역망에서 1초 미만 지연으로 초당 10만 건이 넘는 처리를 보고한다 (arXiv:2410.08670 — 동료심사 전 프리프린트).
여기까지 왔으면 이 분야에서 가장 자주 오해되는 개념을 정면으로 볼 수 있다. 최종성(finality) — "이 거래는 확정되었다"는 말의 의미다.
핵심은 이것이다. 그 말의 뜻이 계열마다 다르다.
한 연구가 이 대비를 선명하게 정리한다. 나카모토 합의에서는 어떤 블록이 사슬 안에 더 깊이 묻힐수록 더 높은 확신을 얻는다. 반면 BFT 상태기계 복제에서는 일단 커밋된 블록은 고정된 저항 임계치를 갖는 안전한 블록이다 (arXiv:2101.03715 — 동료심사 전 프리프린트). 다만 이 대비가 넘을 수 없는 벽은 아니다 — 같은 연구는 부분 동기 BFT SMR에 나카모토식 점증 보장을 얹어, 낙관적 구간 이후에도 커밋된 블록이 1/3을 넘어 최대 2/3의 부패까지 견디게 만드는 설계를 제시했다.
이 차이가 실무에서 뜻하는 바는 크다. 나카모토 계열에서 "확정"은 언제나 확률적이다. 뒤집힐 확률이 작아질 뿐, 정확히 0이 되는 순간은 오지 않는다. BFT 계열에서 "확정"은 결정론적이다. 정족수가 모인 순간 끝이다. 합의를 결정론적 합의와 확률적 합의로 나누어 보는 것이 이 분야의 표준적 정리 방식이기도 하다 (DOI: 10.54097/hset.v47i.8224).
현실 시스템은 이 둘을 섞기도 한다. 이더리움은 PoS 전환 이후 BFT에 가까워졌지만 나카모토 스타일도 함께 남겨, 참여자들이 블록을 확정하려 애쓰는 동안 사슬이 나무 모양으로 자랄 수 있는 복잡한 구조가 되었다. 이를 분석한 연구는 활성을 위협하는 공격들을 분류하고, 이더리움 커뮤니티가 일부에 패치를 낸 뒤에도 패치된 프로토콜에서 새 공격을 찾아냈다. 결론은 안전성은 성립하지만 활성은 확률적으로만 보장된다는 것이었다 (arXiv:2210.16070 — 동료심사 전 프리프린트).
최종성은 지금도 활발한 연구 주제다. DAG 기반 BFT에서 공식 커밋 이전에도 안전이 보장되는 조건을 찾아 미리 확정함으로써 지연을 최대 65%까지 줄인 설계가 최근 제안되었다 (arXiv:2604.03974 — 동료심사 전 프리프린트).
오해 1 — "확인 몇 번이면 절대 안전하다." 확률적 최종성 계열에서 확인 횟수는 안전을 보장하는 문턱이 아니라 확률을 낮추는 손잡이다. 유한한 확인 깊이에서 이중지불 공격의 성공 확률을 닫힌 형태로 계산한 최근 연구는, 필요한 확인 깊이가 적대적 지분 비율과 프로토콜 파라미터에 따라 달라진다는 것을 명시적으로 보였다. 다만 저자들은 이 결과가 자신들이 세운 해석 모형에 한정되며, 지연된 포크 해소나 Ouroboros Praos의 실제 포크선택·최종성 기제까지는 아직 다루지 못한다고 밝힌다 (DOI: 10.20944/preprints202604.0694.v1 — 동료심사 전 프리프린트). "몇 번이면 충분한가"는 상황에 따라 다른 값이지, 어디에나 통하는 상수가 아니다.
이론적 걱정만도 아니다. Tezos의 PoS 프로토콜을 분석한 연구는 지분의 40%를 쥔 공격자가 20블록짜리 악의적 재구성을 평균 하루 한 번꼴로 실행할 수 있고, 40%를 넘어가면 성공 확률이 초선형으로 증가한다고 보고했다. 게다가 그 공격자는 공격 기회가 언제 올지 미리 알 수 있었다. 다만 같은 연구는 프로토콜 파라미터를 조정하면 이 기회율을 100분의 1로 줄일 수 있음도 함께 보였다 — 대신 깊은 재구성에 대한 견고성과 셀피시 마이닝에 대한 견고성이 서로 상충한다는 대가와 함께다 (arXiv:2009.05413 — 동료심사 전 프리프린트).
오해 2 — "PoS는 에너지만 아낀 PoW다." 에너지 절감은 사실이지만(앞서 본 99.98%), 두 방식은 보안 가정 자체가 다르다. PoS는 보상 일정이 충분히 절제되어 있다면 검증자가 이해관계자여야 한다는 요구를 통해 분기 균형을 배제하고 (DOI: 10.1093/rfs/hhaa075), 지분 분포라는 장부 내부 정보로 시빌을 막는다 (arXiv:2001.04187 — 동료심사 전 프리프린트). PoW는 장부 바깥의 물리적 비용으로 막는다. 처벌 방식도 다르다 — PoW에는 슬래싱에 해당하는 장치가 없다.
그래서 어느 쪽이 더 안전한가 하는 물음은 취향 문제가 아니라 모형과 파라미터의 문제다. 두 방식의 균형 보안을 비교하는 경제 모형을 세운 연구는, PoW가 더 안전한 조건과 PoS가 더 안전한 조건을 일반적으로 도출한 뒤 실제 파라미터 값을 대입했을 때 PoS 쪽이 더 안전하며 그 우위가 대규모 사슬에서 특히 두드러진다고 보고한다 (DOI: 10.1093/rfs/hhaf013). 다만 이는 특정 모형과 파라미터 아래의 결론이며, 앞서 본 장거리 공격 같은 PoS 고유의 취약점 (arXiv:2207.08392 — 동료심사 전 프리프린트)과 나란히 읽어야 한다.
오해 3 — "탈중앙이면 자동으로 안전하다." 다섯 개의 현대 블록체인 시스템에 통제된 환경에서 고장을 주입해 결함 허용을 실측한 연구가 있다. 결과는 겸손을 요구한다. 다섯 중 하나를 제외한 나머지는 네트워크의 작은 일부만 고장 나도 크게 영향을 받았고, 일부 시스템은 국소적이고 일시적인 고장에서 회복하지 못했다 (arXiv:2409.13142 — 동료심사 전 프리프린트). 분산되어 있다는 사실 자체가 결함 허용을 보장하지는 않는다.
문제는 구현만도 아니다. 블록체인이 쓰는 비잔틴 합의 해법들은 잘해야 '손으로' 정확성이 증명되어 있을 뿐이라고 지적한 연구는, 여섯 가지 취약점을 열거하고 그중 둘은 새 반례라고 밝혔다. 같은 연구는 이어 모델 체커로 이 블록체인의 BFT 구성요소 두 개를 실제로 형식 검증해 보이며, 형식 검증이 이제 비교적 간단하면서도 반드시 필요한 일이 되었다고 결론짓는다 (arXiv:1909.07453 — 동료심사 전 프리프린트). 또 다른 연구는 널리 배포된 BFT 프로토콜들의 보안 모형이 학계에서 통용되는 모형과 미묘하게 다르다는 점을 지적하며, 적대자가 네트워크의 메시지 배달 순서를 완전히 통제할 수 있다면 이더리움 2.0과 폴카닷의 BFT 프로토콜 어느 것도 동기화된 네트워크에서조차 활성을 달성하지 못한다는 것을 보였다. 다만 저자들은 실제 적대자가 인터넷 규모에서 배달 순서를 그렇게 통제할 수 있는지는 분명하지 않다고 덧붙인다 (DOI: 10.1145/3538227). 종이 위의 증명, 배포된 구현, 실제 네트워크 — 이 셋 사이에는 언제나 틈이 있다.
오해 4 — "완벽한 설계가 어딘가에 있다." 탈중앙성·보안·확장성을 동시에 최대로 달성할 수는 없다는 이른바 블록체인 트릴레마를, 세 성질을 형식화한 뒤 귀류법과 계산복잡도 분석으로 논증한 연구가 있다 (DOI: 10.3390/app15010019). 이런 형식화는 세 성질을 어떻게 정의하느냐에 결과가 크게 좌우되므로 그 자체로 논쟁 대상이다. 다만 "어딘가에 모든 걸 다 갖춘 설계가 있을 것"이라는 기대는 접어 두는 편이 낫다. 합의는 정답을 고르는 문제가 아니라 무엇을 내줄지 고르는 문제다.
여기까지가 이 분야의 논문을 펼치기 위한 최소한의 토대다. 세 문장으로 압축하면 이렇다. 첫째, 합의의 어려움은 거짓말하는 참여자(비잔틴 고장)와 언제 도착할지 모르는 메시지(비동기)에서 온다. 둘째, 열린 네트워크는 여기에 시빌 문제가 더해지므로 투표권을 무언가 희소한 것 — 연산이든 지분이든 — 에 묶어야 한다. 셋째, "확정됐다"는 말의 뜻은 계열마다 다르며, 확률적 최종성과 결정론적 최종성을 혼동하면 그 뒤의 모든 판단이 어긋난다.
다음에 읽을 것을 갈래별로 남긴다.
마지막으로 하나만 남긴다. 이 분야를 읽을 때 가장 유용한 습관은 논문 첫머리에서 모형을 먼저 찾는 것이다. 동기인가 부분 동기인가 비동기인가. 고장은 크래시인가 비잔틴인가. 참여는 열려 있는가 허가제인가. 최종성은 확률적인가 결정론적인가. 이 네 답을 확인하고 나면 뒤에 이어지는 정리와 실험이 무엇에 관한 주장인지 또렷해진다. 성능 숫자를 비교하기 전에 모형을 비교하는 것 — 그것이 이 분야를 읽는 사람과 결론만 옮기는 사람을 가른다.