합의 알고리즘
용어심층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건
- 1982이정표비잔틴 장군 문제 정식화
- 1999이정표실용적 비잔틴 장애 허용(PBFT) 제안
- 2008이정표비트코인 백서 공개
- 2009이정표비트코인 네트워크 가동, 작업증명 최초 실용화
- 2012이정표지분증명(PoS) 최초 도입
- 2014이정표위임 지분증명(DPoS) 개념 등장
- 2015설립이더리움 메인넷 출범(작업증명)
- 2022이정표이더리움 '머지' 업그레이드로 지분증명 전환
합의 알고리즘, 어렵지 않아요 블록체인이 어떻게 '한 목소리'를 내는지 알려줘요
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. 함께 알아 두면 좋은 개념들
합의 알고리즘은 노드, 채굴, 분산원장처럼 블록체인의 핵심 개념들과 아주 밀접하게 연결돼 있어요.
이론적 바탕으로는 비잔틴 장애 허용이 있고, 대표적인 구현 방식으로는 작업증명, 지분증명, 위임 지분증명, 권위증명, 용량 증명 등이 있어요.
토큰포스트 위키, “합의 알고리즘”, 2026-07-31 수정, https://wiki.tokenpost.kr/w/consensus-algorithmAccept: text/markdown 로 요청해도 같은 결과문단 11개 · 연표 8건 · 각주 0개