블록체인

"이중 지급 문제 해결사" 블록체인 합의 메커니즘 13가지

Matthew Tyson | InfoWorld 2022.09.05
블록체인 네트워크는 거래 그룹을 컬렉션(블록)으로 결합하고 블록은 서로 연결된다(체인). 블록은 거래에서 값이 재사용되지 않도록 보장하는 기능을 사용해 이중 지급 문제를 방지한다. 그런 다음 네트워크는 블록체인 합의 메커니즘을 사용해 주어진 블록이 유효하다는 합의에 도달한다. 블록체인에서는 검증에 사용하기 위한 다양한 합의 메커니즘이 고안됐다. 여기서는 가장 일반적인 블록체인 합의 메커니즘과 몇 가지 실제 사용 사례를 알아본다.
 
ⓒ Getty Images Bank
 

작업증명

블록체인을 이해할 때 가장 먼저 살펴볼 자료는 최초의 비트코인 백서다. 백서는 비트코인을 피어 투 피어 전자 현금 시스템으로 정의하고, 첫 블록체인 합의 메커니즘인 작업증명(Proof of Work)에 대해 설명한다. 이 메커니즘이 씨앗이 되어 다른 모든 블록체인 합의 메커니즘으로 진화했다.

모든 합의 메커니즘은 문제 해결을 위해 존재한다. 작업증명은 사용자가 같은 자산을 두 번 이상 전송하는 이른바 '이중 지급' 문제를 해결하기 위해 고안됐다. 즉, 블록체인 네트워크의 첫 번째 과제는 값이 한 번만 전송되도록 보장하는 것이었다.

비트코인 개발자는 중앙화된 '민트(mint)'를 사용해 블록체인을 오가는 모든 거래를 추적할 생각이 없었다. 민트는 이중 지급 거래를 안전하게 막을 수 있겠지만 이는 중앙화된 해결책이어서 자산에 대한 통제를 탈중앙화한다는 블록체인의 기본 취지와 맞지 않았다.

대신 작업증명은 거래 검증 작업이 네트워크의 개별 노드에서 이뤄지도록 한다. 각 노드는 거래를 수신하면 희귀한 해시를 발견하기 위해 필요한 값비싼 계산을 시도한다. 그 결과인 “작업증명”은 노드가 거래 블록을 수락하기 위해 특정한 양의 시간과 컴퓨팅 성능을 소비했음을 보증한다. 블록이 해시되면 서명과 함께 네트워크로 전파된다. 이게 유효성 기준을 충족한다면 네트워크의 다른 노드는 새 블록을 수락해 체인의 끝에 추가하고 새 거래가 도달하면 다음 블록에서 작업을 시작한다.
 

지분증명

작업증명은 이중 지급 문제에 대한 기발한 해결책이자, 분산 컴퓨팅에 있어 완전히 새로운 모델인 허가가 불필요한 피어 투 피어 일관성을 구현하는 수단이기도 하다. 모든 블록체인 네트워크의 기본적인 개념은 개방된 네트워크를 암호화를 사용해 보호한다는 것이다.

그러나 최초의 블록체인 메커니즘에는 중대한 결점이 있다. 예를 들어 해싱 함수에는 높은 에너지 소비가 필요하고, 주어진 기간 동안 처리할 수 있는 트랜잭션의 수 측면에서 병목 현상이 일어난다. 이와 같은 단점을 극복하고자 몇몇 흥미로운 변형이 탄생했는데, 최초의 변형이자 작업증명 합의 메커니즘에 대한 가장 유력한 대안이 바로 피어코인(Peercoin) 프로젝트에서 제시한 지분증명(Proof of Stake)이었다.

지분증명은 노드가 노드 자신의 통화를 계약으로 보유함으로써 거래를 정직하게 승인하도록 유도한다. 네트워크와의 관계 측면에서 지분증명의 작동 방식은 작업증명과 매우 유사하다. 수행하는 역할이 지분증명과 동일하다. 차이점은 지분증명 검증자 노드가 네트워크의 지분을 갖는다는 점이다. 부정직하게 행동하면 자신의 지분 일부를 잃을 뿐만 아니라 스스로 통화 가치를 낮추게 된다.

지분증명은 해시 함수 처리에 의해 제한되지 않으므로 블록 처리 시간 측면에서 훨씬 더 많은 장점이 있다. 컴퓨팅 성능 사용량도 적다. 이더리움 2를 포함한 새로운 블록체인 네트워크의 상당수가 지분증명을 채택한 이유다.
 

위임지분증명

위임지분증명(Delegated Proof of Stake)은 지분증명 메커니즘을 더 정교하게 만든 것이다. 기본적으로 이 메커니즘은 네트워크의 다른 참가자가 일반적으로 토큰 보유량(지분)을 기반으로 하는 가중치에 따라 검증자를 선출할 수 있음을 의미한다. 마치 선거에서의 선거인단과 비슷한 방식이다.

위임지분증명 네트워크에서는 블록 검증에 검증자가 배치되는 방식을 토큰 보유자가 더 동적으로 조정할 수 있으므로 유연성이 높다. 또한 고가치 검증자의 영향력을 줄여 네트워크에 대해 과도한 통제력을 갖지 않도록 한다. 위임지분증명은 네트워크의 더 근본적인 계층에 거버넌스를 구축할 수 있는 방편이다. 검증자 상태에 대한 투표가 네트워크의 일상적인 운영에 내장된다.
 

역사증명

역사증명(Proof of History)은 솔라나(Solana) 프로젝트에서 제안한 개념으로, 독립적 합의 메커니즘이 아니라 다른 메커니즘의 효율성을 개선하는 방법이다. 역사증명은 네트워크 전반에서 거래의 순서를 보장하는 검증 가능한 지연 함수(VDF) 서버를 사용한다. 검증자 노드는 타이밍에 대해 신경을 쓸 필요가 없으므로 거래를 더 효율적으로 처리할 수 있다. 시간 서버는 주기적으로, 또는 장애가 발생한 경우 다른 검증자로 전환되는 탈중앙화된 방식으로 네트워크에 통합된다. 역사증명은 최적화된 성능을 얻는 대신 아키텍처의 복잡성은 높아진다.
 

공간증명

공간증명(Proof of Space)은 네트워크의 노드가 저장 리소스를 제출했음을 입증하기 위한 다양한 기법을 다루며 저장증명(Proof of Storage)이라고도 한다.

기본 개념은 작업증명과 비슷한 방식으로 정직한 블록 검증에 노드를 제출하는 것이지만, 이 메커니즘은 CPU 사이클 대신 디스크 공간을 사용한다. 이 목적으로 사용되는 알고리즘으로 페블링하기 어려운(hard-to-pebble) 그래프가 있다. 노드는 계산하기 어려운 그래프를 기반으로 예약된 공간이 있다고 주장한다. 네트워크가 예약된 공간의 무작위 샘플링 형식으로 된 증명을 요구하는 방식으로 합의가 이뤄진다. 노드가 증명을 제출하기 위해서는 실제로 문제를 해결하고 저장해야 한다.
 

용량증명

디스크 스토리지를 사용해 노드와 접촉하는 방식은 작업증명 메커니즘에 비해 에너지 사용량을 줄일 수 있다. 공간증명 메커니즘의 한 변형으로, 미리 작업을 수행하고 저장해서 검증자가 의존할 수 있는 일종의 대기열을 생성하는 방법이 있다. 이 메커니즘을 용량증명(Proof of Capacity)이라고 하며 시그넘(Signum) 프로젝트에 사용된다.
 

시공간증명

시공간증명(Proof of Spacetime)도 공간증명 메커니즘의 개선판이며 디스크 공간이 특정 시간 동안 점유되었음을 보증한다. 계산 리소스의 공간 및 시간 소비를 증명할 뿐만 아니라 증명자가 각각에 제공하는 상대적 가중치를 동적으로 조정한다는 측면에서 참신한 메커니즘이라고 할 수 있다. 더 자세한 내용은 시공간 증명 제안 문서를 참고하면 된다.
 

활동증명

활동증명(Proof of Activity)은 작업증명과 지분증명을 결합하는 방식이다. 기본적으로 2단계로 작동한다. 먼저 작업증명을 사용해 블록을 검증한 다음 지분증명을 통해 블록을 확인한다. 이 메커니즘은 블록이 해시 마이닝되고 지분 검증되었음을 보장함으로써 거래의 전체적인 보안 수준을 높인다. 그러나 작업증명의 단점을 해결하지는 않는다.
 

경과시간증명

경과시간증명(Proof of Elapsed Time)은 인텔이 처음 제안했으며, 허가된 블록체인 네트워크에 적용되므로 여기에 설명된 여타 메커니즘과는 전혀 다르다. 비트코인과 같은 블록체인이 유지해온 중요한 특징 중 하나는 무허가성이다. 노드가 참가를 위해 자격증명을 사용해 스스로 신분을 밝히도록 하면 결과적으로 사설 블록체인이 된다. 이 개념은 네트워크 탄력성과 같은 일부 블록체인 특성을 사유 네트워크 맥락에서 활용하는 것이다. 대표적인 예가 오픈소스 하이퍼레저 소투스(HyperLedger Sawtooth) 프로젝트다.
 

권위증명

나카모토의 작업증명에서 과감하게 탈피한 또 하나의 메커니즘은 권위증명(Proof of Authority)이다. 이 모델에서 검증자는 컴퓨터와 인적 측면, 두 가지 모두를 사용해 사전에 심사된다. 해싱 함수와 같은 요소를 통해 네트워크 전반으로 유효성 증명을 분산시키는 대신, 귄위증명은 외부로부터 규정 준수를 강제하는 외부 메커니즘을 사용한다. VET 암호화폐가 권위증명을 사용한다.
 

소각증명

작업증명과 지분증명의 또 다른 강력한 대안으로 소각증명(Proof of Burn) 메커니즘이 있다. 이 형식의 네트워크에서 노드는 토큰을 소각하는 방법으로 자신의 작업을 검증한다. 토큰 소각은 값비싼 활동이므로 이는 네트워크와 직접적 이해관계가 있음을 보증한다. 소각증명 메커니즘은 토큰 자체에 가치가 있음을 보장하기 위해 여전히 다른 메커니즘에 의존한다. 현재 대체로 작업증명 또는 지분증명이 사용된다. 소각증명의 강점은 다양한 합의 메커니즘으로 작동하는 네트워크 사이에 일종의 가교를 제공한다는 것이다. 체인 간(cross-chain) 거래에서 흥미로운 사용 사례가 있다.
 

중요도증명

중요도증명(Proof of Importance)은 어느 노드를 검증자로 수락할지에 관한 의사 결정에 더 많은 데이터를 사용하는 지분증명 메커니즘의 일종이다. 노드의 합법성을 평가하는 점수를 생성하는데, 스테이킹된 토큰의 양도 이 점수를 결정하는 요소 중 하나다. 중요도증명은 노드의 지속 기간 및 활동, 다른 노드와의 관계와 같은 다른 요소를 포함하며 이동평균과 같은 가중치를 토큰 지출에 적용할 수 있다. NEM 프로젝트가 처음 제안한 방식이다.
 

신원증명

신원증명(Proof of identity)은 블록체인과 ID(신원)가 교차하는 부분인 만큼 활발하게 개발이 이뤄지는 영역이다. 블록체인 ID(개인 키)를 시민권과 같은 실제 ID에 연결하는 것이 최종 목표다. 블록체인에서 가장 발생 가능성이 높은 분열 영역 중 하나는 탈중앙화된 ID를 사용한 인증이다. 블록체인 내에서 개인 또는 조직의 ID를 확인하기 위해 일반적으로 용인되는 수단이 구현된다면 블록체인 사용자와 네트워크는 신원증명을 사용해 거래에 참여하고 거래를 검증할 수 있다.
editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.