Distance-Preserving Digests: A Primitive for BFT Consensus
본 논문은 전체 상태 동기화 없이도 검증자들이 상태 불일치를 측정하고 일관성을 검증할 수 있도록 하여 효율적인 단일 라운드 최종성과 확장 가능한 트리 구조 BFT 합의를 가능하게 하는 충돌 저항성 해시 대신 가환 벡터 합을 사용하는 '거리 보존 요약'을 소개합니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
거대한 그룹의 사람들이 게임의 단일 규칙 목록에 동의하려고 노력하는 상황을 상상해 보세요. 블록체인과 보안 네트워크 세계에서는 이 그룹을 "합의 프로토콜"이라고 부릅니다. 수십 년 동안, 모든 사람이 동의하는지 확인하는 표준 방식은 두 사람의 목록을 단일하고 깨뜨릴 수 없는 코드 (해시) 로 변환하여 비교하는 것과 같았습니다.
그런데 그 오래된 방식에는 다음과 같은 문제가 있습니다: 미묘한 차이를 파괴합니다.
A 사람이 20 개 중 19 개를 정확히 가지고 있고, B 사람이 20 개 모두를 정확히 가지고 있다면, 오래된 방식은 그들의 코드가 완전히 다르다고 말합니다. 오타가 하나 있는 목록이 아예 항목이 없는 목록만큼이나 "틀렸다"고 말하는 것과 같습니다. 시스템이 "거의 완벽함"과 "완전히 망가짐" 사이의 차이를 구별할 수 없기 때문에, 모든 사람이 멈추고 전체 목록을 다시 전송하며 완벽한 일치가 있을 때까지 기다려야만 진행할 수 있습니다. 이는 느리고 비싸며, 안전을 위해 거대한 그룹이 필요합니다.
이 논문은 거리 보존 다이제스트 (Distance-Preserving Digests) 라는 새로운 도구를 소개합니다. 이는 단순히 "우리가 동일한가?"라고 묻는 대신, 그룹이 합의에 얼마나 가까운지 볼 수 있게 해주는 "퍼지 매칭 (fuzzy match)" 시스템과 같습니다.
핵심 아이디어: "벡터 합" 비유
거래 목록을 단일하고 경직된 코드로 변환하는 대신, 이 논문은 각 거래를 8 차원 공간의 작은 화살표 (벡터) 로 변환할 것을 제안합니다.
- 오래된 방식: 한 항목을 놓치면 코드가 완전히 바뀝니다.
- 새로운 방식: 한 항목을 놓치면 화살표가 중심에서 아주 조금만 이동합니다. 열 개를 놓치면 더 멀리 이동합니다.
이를 통해 시스템은 거리를 측정할 수 있습니다.
- 거리 = 0: 모든 사람이 정확히 같은 목록을 가지고 있습니다.
- 거리 = 아주 작음: 모든 사람이 한두 개 정도의 항목만 누락했습니다 (아마도 느린 인터넷 연결 때문일 것입니다).
- 거리 = 매우 큼: 누군가가 거짓말을 하거나 완전히 다른 목록을 가지고 있습니다.
세 가지 주요 개선 사항
이 논문은 이 간단한 변화가 블록체인 설계의 세 가지 큰 골치 아픈 문제를 해결한다고 주장합니다.
1. 합의를 위한 "빠른 레인"
- 오래된 방식: 모든 사람이 완벽하게 동의하더라도, 시스템이 확실히 하기 위해 세 번의 느린 투표 라인을 실행해야 합니다.
- 새로운 방식: 시스템이 모든 사람이 매우 가깝다는 것 (거리가 0 에 가까움) 을 볼 수 있기 때문에, 즉시 "좋아, 너희 모두 동의했구나!"라고 말하고 한 번의 라운드에서 결정을 최종화할 수 있습니다. 이는 교사가 반이 99% 준비되었다는 것을 보고 형식적인 투표를 기다리는 대신 "좋아, 넘어가자"라고 말하는 것과 같습니다.
2. 더 작고 깊은 팀
- 오래된 방식: 안전을 위해 그룹 (위원회) 은 거대해야 했습니다 (예: 128 명). 작은 그룹에 몇 명의 거짓말쟁이가 있더라도 전체 그룹이 실패할 수 있었습니다.
- 새로운 방식: 시스템이 거짓말쟁이를 그들의 "거리" (그룹 평균에서 멀리 떨어져 있음) 로 식별할 수 있으므로 즉시 제거할 수 있습니다. 이는 훨씬 작은 그룹 (예: 10 명) 으로도 여전히 안전할 수 있음을 의미합니다. 또한 이러한 그룹의 더 깊은 "트리"를 구축하여 네트워크의 확장성을 크게 향상시킬 수 있습니다.
3. 크로스체인 혼란 해결
- 오래된 방식: 블록체인 두 부분이 서로 소통해야 할 때, 보통 일치 여부를 확인하기 위해 각각의 거래마다 메시지를 보내야 했습니다. 이는 두 개의 다른 벽에서 모든 벽돌 하나하나를 확인하여 같은지 보는 것과 같습니다.
- 새로운 방식: 그들은 단순히 "거리 요약"을 교환합니다. 요약이 일치하면 좋습니다. 일치하지 않으면 시스템은 정확히 어떤 벽돌이 다른지 찾기 위해 특수한 "블룸 필터 (Bloom Filter)" (빠른 체크리스트와 같은 것) 를 사용하여 해당 부분만 수정합니다. 이는 많은 경우 통신 비용을 99% 절감합니다.
작동 원리 (이 단계 프로세스)
이 논문은 이 도구를 두 단계로 사용하는 Proxima라는 프로토콜을 설명합니다.
- 1 단계 ("퍼지" 확인): 모든 사람이 요약을 보냅니다. 시스템이 거리를 계산합니다. 모든 사람이 가깝다면 나머지를 건너뛰고 즉시 최종화합니다. 일부 사람이 멀리 떨어져 있다면, 시스템은 해당 특정 사람들에게만 (블룸 필터 트릭을 사용하여) 누락된 데이터를 전송하도록 요청합니다.
- 2 단계 ("단단한" 확인): 그룹이 정렬되면, 모든 사람이 최종적이고 깨뜨릴 수 없는 인증서에 서명합니다. 이는 1 단계에서 누군가가 시스템을 속이려 했더라도 최종 서명을 위조할 수 없음을 보장합니다.
결과
이 논문은 새로운 시스템 (Proxima) 을 현재 업계 표준 (HotStuff) 과 비교합니다.
- 속도: 단일 컴퓨터 코어에서 Proxima 는 불필요한 라운드를 건너뛰기 때문에 약 20 배 더 빠릅니다 (18 초 대비 0.9 초).
- 효율성: 100,000 개의 검증자가 있는 경우, Proxima 는 기존 시스템보다 2.2 배 적은 메시지를 전송합니다.
- 안전성: 수학적으로 그룹의 33% 미만이 악의적일 경우, 시스템이 동시에 두 가지 다른 규칙을 받아들이도록 속일 수 없음을 증명합니다.
결론
이 논문은 "경직된, 전부 아니면 전무" 방식의 검사 시스템을 "유연한, 거리 측정" 방식으로 교체할 것을 제안합니다. "거의 정확함"이 실제로 유용한 정보라는 사실을 인식함으로써, 시스템은 동일한 높은 수준의 보안을 유지하면서 더 빠르게 이동하고, 더 작은 팀을 사용하며, 훨씬 덜 소통할 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.