합의 알고리즘

용어심층

Consensus Algorithm · 합의 메커니즘·합의 방식

합의 알고리즘은 중앙 관리자가 없는 분산원장에서 서로를 신뢰하지 않는 다수의 참여자가 어떤 기록이 유효한지에 대해 하나의 일치된 결론에 도달하도록 만드는 규칙과 절차이다. 작업증명·지분증명 등 다양한 방식이 있으며, 블록체인을 신뢰 가능하게 만드는 핵심 요소로 꼽힌다.

1.개요

합의 알고리즘(Consensus Algorithm)은 서로를 신뢰하지 않고 흩어져 있는 다수의 참여자가 어떤 데이터가 유효한지에 대해 하나의 일치된 결론에 도달하도록 만드는 규칙과 절차이다. 블록체인과 같은 분산원장에서는 중앙 관리자가 없기 때문에, 어떤 거래가 진짜이고 어떤 블록이 올바른지를 결정할 중앙 권위가 존재하지 않는다. 합의 알고리즘은 이 문제를 해결하여 네트워크에 참여하는 모든 노드가 동일한 원장 사본을 유지하도록 보장한다.

합의 알고리즘은 블록체인을 다른 데이터베이스와 구별 짓는 핵심 요소로, 흔히 네트워크의 '심장'에 비유된다. 서로 다른 블록체인들이 저마다 다른 특성을 갖는 이유의 상당 부분은 어떤 합의 방식을 채택했는가에서 비롯된다. 신뢰할 제3자 없이도 참여자들이 거래 순서와 원장 상태에 합의할 수 있게 함으로써, 합의 알고리즘은 이중지불을 막고 P2P 네트워크 전체가 위·변조 없는 단일한 기록을 유지하게 하는 토대가 된다.

2.비잔틴 장군 문제와 합의의 조건

합의 알고리즘이 풀어야 하는 근본적인 과제는 이른바 '비잔틴 장군 문제(Byzantine Generals Problem)'로 알려진 상황이다. 이는 일부 참여자가 고장 나거나 악의적으로 거짓 정보를 퍼뜨리는 상황에서도 정직한 참여자들이 올바른 하나의 결정에 도달할 수 있는가를 묻는 문제이다. 이 문제는 1982년 분산 컴퓨팅 이론에서 정식화되었으며, 오늘날 블록체인 합의의 이론적 출발점으로 자리 잡았다.

이러한 장애를 견디는 성질을 비잔틴 장애 허용(BFT)이라 부른다. 잘 설계된 합의 알고리즘은 일정 비율 이하의 악의적 참여자가 존재하더라도 네트워크 전체가 신뢰할 수 있는 단일한 기록을 유지하게 한다. 이때 견딜 수 있는 악의적 참여자의 한계는 방식마다 다르다. 예를 들어 전통적인 BFT 계열 알고리즘은 전체 참여자의 3분의 1 미만이 악의적일 때 안전성이 보장되며, 작업증명 기반 네트워크는 정직한 참여자가 연산력의 과반을 유지하는 한 안전하다고 본다. 이 경계를 넘어서면 51% 공격과 같은 방식으로 기록이 뒤집힐 수 있다.

합의가 성립하려면 대체로 두 가지 성질이 필요하다. 하나는 서로 다른 정직한 노드가 상충하는 결론을 확정하지 않는다는 '안전성'이고, 다른 하나는 네트워크가 언젠가는 새로운 결론에 도달한다는 '활성'이다.

3.작동 원리

구체적인 방식은 다양하지만, 대부분의 블록체인 합의는 비슷한 골격을 공유한다. 먼저 아직 블록에 담기지 않은 거래들이 각 노드의 멤풀에 모인다. 이어 합의 규칙에 따라 선정된 참여자가 이 거래들을 묶어 후보 블록을 제안하고, 다른 노드들은 거래의 전자서명과 규칙 위반 여부를 검증한다. 검증을 통과한 블록이 원장에 추가되면 블록 높이가 하나 올라간다.

분산 환경에서는 여러 참여자가 거의 동시에 서로 다른 블록을 제안해 체인이 갈라지는 일이 생긴다. 합의 알고리즘은 '어떤 체인을 정본으로 인정하는가'에 대한 규칙으로 이 분기를 해소한다. 작업증명 계열은 대체로 가장 많은 누적 작업이 담긴 가장 긴 체인을 정본으로 삼고, 일부 지분증명 계열은 검증자들의 투표로 특정 블록을 되돌릴 수 없게 '확정(finality)'한다. 규칙 자체가 참여자 간에 갈라지면 하드 포크가 발생해 체인이 둘로 나뉘기도 한다.

블록이 쌓일수록 과거 기록을 뒤집는 데 필요한 비용이 커지므로, 거래는 여러 블록의 확인 시간을 거치며 사실상 되돌릴 수 없는 상태가 된다.

4.주요 합의 방식

합의 알고리즘은 '누가 다음 블록을 기록할 권한을 가지는가'와 '어떤 체인을 정본으로 인정하는가'를 정하는 방식에 따라 여러 종류로 나뉜다. 블록 생성 권한을 배분하는 자원이 무엇이냐에 따라 크게 연산력을 쓰는 방식, 지분(코인)을 쓰는 방식, 저장 공간이나 신원 같은 다른 자원을 쓰는 방식으로 구분할 수 있다.

  • 작업증명(PoW): 연산 경쟁으로 블록 생성자를 정한다.
  • 지분증명(PoS): 맡긴 코인(지분)을 근거로 검증자를 정한다.
  • 위임 지분증명(DPoS): 코인 보유자가 대표 검증자를 투표로 뽑는다.
  • 권위증명(PoA): 사전에 승인된 신뢰 주체에게만 권한을 준다.
  • 용량 증명(PoC): 할당한 저장 공간을 근거로 권한을 준다.

어떤 방식도 모든 면에서 우월하지는 않으며, 각 방식은 보안성·처리 속도·탈중앙화 수준·에너지 효율 사이에서 서로 다른 균형점을 택한다.

5.작업증명(PoW)

작업증명은 참여자가 막대한 연산을 통해 어려운 수학 문제를 먼저 푸는 채굴 경쟁에서 이겨야 블록을 추가할 수 있게 하는 방식이다. 비트코인이 채택한 최초의 실용적 블록체인 합의로, 흔히 '나카모토 합의'라고도 불린다.

채굴자는 해싱 연산을 반복해 조건을 만족하는 값을 찾아야 하며, 네트워크 전체의 연산력은 해시레이트로 표현된다. 블록 생성 속도를 일정하게 유지하기 위해 문제의 난이도가 주기적으로 조정되고, 블록을 만든 채굴자는 블록 보상을 받는다. 비트코인의 경우 이 보상이 반감기마다 절반으로 줄어든다.

작업증명은 기록을 되돌리려면 막대한 연산 비용을 다시 치러야 하므로 보안성이 높다는 평가를 받는 대신, 전력 소비가 크고 전용 장비를 갖춘 채굴장으로 연산력이 집중되기 쉽다는 지적을 받는다. 여러 코인을 함께 캐는 병합 채굴 같은 기법도 이 방식에서 파생되었다.

6.지분증명(PoS)

지분증명은 보유한 코인의 양(지분)을 담보로 맡긴 참여자 중에서 검증자를 선정하는 방식이다. 연산 경쟁이 없어 전력 소모가 적다는 장점이 있어, 이더리움이 2022년 대규모 업그레이드('머지')를 통해 작업증명에서 지분증명으로 전환하였다.

검증자는 지분이 많을수록 블록을 제안·검증할 기회를 더 얻으며, 정직하게 참여하면 보상을 받고 규칙을 어기면 맡긴 지분의 일부가 몰수(슬래싱)되는 방식으로 정직한 행동이 유도된다. 지분증명은 물리적 장비 대신 자본을 근거로 하므로 에너지 효율이 높지만, 지분이 많은 참여자에게 권한이 쏠릴 수 있다는 우려도 함께 제기된다. 에이다, 알고랜드 등도 지분증명 계열의 서로 다른 변형을 사용한다.

7.그 밖의 합의 방식

지분증명에서 파생하거나 다른 자원을 활용하는 변형이 다양하게 존재한다.

  • 위임 지분증명(DPoS): 코인 보유자가 소수의 대표 검증자를 투표로 뽑아 이들이 번갈아 블록을 생성한다. 검증자 수를 줄여 처리 속도를 높이는 대신 탈중앙화 수준은 낮아진다. 리스크, 아크 등이 이 계열에 속한다.
  • 권위증명(PoA): 사전에 신원이 확인된 승인된 검증자에게만 권한을 준다. 주로 참여자를 통제할 수 있는 기업용·컨소시엄 블록체인에서 쓰인다.
  • 용량 증명(PoC): 연산력 대신 할당한 저장 공간을 자원으로 사용한다. 저장 공간을 자원으로 삼는 발상은 파일코인 같은 프로젝트의 접근과도 맞닿아 있다.

이 밖에 검증자 투표로 즉각적인 확정을 제공하는 BFT 계열(예: 코스모스 진영이 쓰는 방식)이나, 블록을 사슬이 아닌 방향성 비순환 그래프 구조로 엮는 방식(헤데라, 아이오타 등)도 있다. 각 방식은 보안성, 처리 속도, 탈중앙화 수준, 에너지 효율 사이에서 서로 다른 균형점을 택한다.

8.트레이드오프와 블록체인 트릴레마

합의 방식을 고르는 일은 곧 무엇을 포기할지를 고르는 일이기도 하다. 흔히 '블록체인 트릴레마'라 불리는 관점에서는 탈중앙화, 보안, 확장성(처리 속도)의 세 가지를 동시에 모두 극대화하기 어렵다고 본다.

예를 들어 작업증명은 보안성과 탈중앙화에 무게를 두는 대신 처리량이 제한되고 블록 생성 시간이 길다. 검증자 수를 줄인 위임 지분증명이나 권위증명은 처리 속도와 확인 시간에서 유리하지만 탈중앙화가 약해진다. 이러한 한계를 우회하기 위해 기반 계층인 레이어 1의 합의는 보안에 집중하고, 처리량은 그 위의 레이어 2에서 확장하려는 시도도 활발하다.

9.보안과 대표적 공격

합의 알고리즘의 안전성은 '악의적 참여자가 특정 비율을 넘지 못한다'는 가정 위에 서 있다. 이 가정이 깨지거나 구현에 허점이 있으면 여러 공격이 가능해진다.

  • 51% 공격: 한 주체가 네트워크의 연산력이나 지분의 과반을 확보해 거래를 되돌리거나 이중지불을 시도하는 공격이다.
  • 이클립스 공격: 특정 노드의 연결을 공격자가 통제하는 노드로 둘러싸 왜곡된 원장 정보만 보도록 고립시키는 공격이다.
  • 설계 결함 공격: 알고리즘이나 프로토콜 설계 자체의 허점을 파고드는 공격이다.

이 때문에 합의 알고리즘은 암호학적 서명과 해시로 개별 기록의 무결성을 보장하는 한편, 경제적 유인(보상과 처벌)을 설계해 정직한 참여가 이득이 되도록 만든다.

10.역사

합의 문제 자체는 블록체인 이전부터 분산 컴퓨팅의 오랜 주제였다. 1982년 비잔틴 장군 문제가 정식화되었고, 1999년에는 실용적 비잔틴 장애 허용(PBFT)이 제안되어 소수의 악의적 노드를 견디는 합의가 이론에서 실용 영역으로 넘어왔다.

2008년 사토시 나카모토 명의의 비트코인 백서가 공개되고 2009년 네트워크가 가동되면서, 작업증명은 신뢰할 제3자 없이 공개된 P2P 네트워크에서 작동하는 최초의 실용적 합의로 자리 잡았다. 이후 2012년 지분증명이 처음 도입되고 2014년경 위임 지분증명 등 변형이 등장하면서 합의 방식은 빠르게 분화하였다. 2015년 출범한 이더리움은 처음에는 작업증명을 사용했으나, 2022년 '머지' 업그레이드를 통해 지분증명으로 전환하며 대형 네트워크의 합의 방식 전환 사례를 남겼다.

11.관련 개념

합의 알고리즘은 노드, 채굴, 분산원장 등 블록체인의 핵심 개념과 밀접하게 연결되어 있다. 이론적 토대로는 비잔틴 장애 허용이 있고, 대표적인 구현 방식으로는 작업증명, 지분증명, 위임 지분증명, 권위증명, 용량 증명 등이 있다. 관련된 보안 주제로는 51% 공격, 이중지불 등이 있다.

12.연표8

  1. 1982이정표비잔틴 장군 문제 정식화
  2. 1999이정표실용적 비잔틴 장애 허용(PBFT) 제안
  3. 2008이정표비트코인 백서 공개
  4. 2009이정표비트코인 네트워크 가동, 작업증명 최초 실용화
  5. 2012이정표지분증명(PoS) 최초 도입
  6. 2014이정표위임 지분증명(DPoS) 개념 등장
  7. 2015설립이더리움 메인넷 출범(작업증명)
  8. 2022이정표이더리움 '머지' 업그레이드로 지분증명 전환
이 문서 인용하기
토큰포스트 위키, “합의 알고리즘”, 2026-07-31 수정, https://wiki.tokenpost.kr/w/consensus-algorithm

문단 11개 · 연표 8건 · 각주 0