합의
합의(agreement, 合意)란 둘 이상의 인원이 특정 문제에 대해 서로 의견이 일치하는 것을 말한다.
목차
개요
블록체인은 탈중앙화를 추구하며 전 세계의 다양한 참여자가 P2P(Peer To Peer) 네트워크 방식으로 생태계를 유지하고 있기 때문에 그 무엇보다 참여자의 의견 일치(합의)가 중요하다. 합의 알고리즘은 블록체인 생태계를 구성하는데 꼭 필요한 요소이며, 다양한 블록체인 프로젝트가 다양한 합의 알고리즘을 통해 운영되고 있다.[1] 합의 알고리즘은 블록체인 네트워크에 합의를 달성하는 매커니즘이라 정의할 수 있다. 탈중앙화된 블록체인은 분산화된 시스템으로 구성되어 있으며, 중앙 권위체에 의존하지 않기에, 분산화된 노드는 트랜잭션의 유효성에 합의가 필요하다. 이곳이 바로 합의 알고리즘이 시작되는 지점이다. 합의 알고리즘은 프로토콜 규칙이 준수되고 있는지 확인하며, 모든 트랜잭션이 신뢰할 수 있는 방식으로 진행되는 것을 보장해, 코인이 한번만 사용되도록 한다.[2]
합의 알고리즘
몇 가지 유형의 합의 알고리즘이 있다. 가장 일반적인 것은 작업증명(Proof of Work; PoW)과 지분증명(Proof of Stake; PoS)이다. 보안성과 기능성, 확장성의 균형을 고려할 때, 각기 장단점을 갖고 있다. 또한, 합의 알고리즘은 암호 화폐 네트워크의 무결성과 보안을 유지하기 위해 중요하다. 합의 알고리즘은 분산화된 노드들이 어떤 버전의 블록체인이 진짜 버전인지 합의할 수 있게 한다. 디지털 경제 시스템이 제대로 작동하기 위해서는, 현 상태의 블록체인에 합의하는 것이 필수적이다. 작업증명 합의 알고리즘은 비잔티움 장군 문제를 해결하는 최고의 해결책으로 간주되며, 이는 비트코인을 비잔티움 장애 허용 시스템으로 탄생시켰다. 이는 비트코인 블록체인이 51% 공격(또는 다수의 공격)과 같은 공격에 매우 강력함을 뜻한다. 네트워크가 탈중앙화되어 있을 뿐만 아니라, 작업증명 알고리즘을 사용하기 때문이다. 마이닝 과정에 드는 높은 비용은 마이너들이 네트워크를 방해하기 위해 자신들의 자원을 투자하는 것을 무척 어렵게 한다.[2] 합의 알고리즘에 대해 자세히 보기
작업증명
작업증명(Proof of Work; PoW)은 처음으로 만들어진 합의 알고리즘이다. 이는 비트코인과 많은 암호 화폐에 적용되었으며, 작업증명 알고리즘은 마이닝 과정에 필수적인 부분이다. 작업증명 마이닝은 수많은 해싱 시도를 포함하므로, 더 많은 연산 능력을 가질 수록 초당 더 많은 시도를 할 수 있다. 즉, 높은 해시 레이트를 가진 마이너일수록 다음 블록(블록 해시)에 대한 유효한 해결책을 찾을 가능성이 더 높다. 작업증명 합의 알고리즘은 분산화된 네트워크 노드가 합의를 달성할 경우에만 새로운 블록의 트랜잭션을 검증하고 이를 블록체인에 추가할 수 있도록 하며, 마이너에 의해 제공된 블록 해시가 유효한 작업 증명이라는 점에 동의하게 된다.[2] 작업증명에 대해 자세히 보기
지분증명
지분증명(Proof of Stake; PoS) 합의 알고리즘은 2011년, 작업증명의 대안으로 개발되었다. 지분증명은 작업증명과 유사한 목표를 공유하지만, 몇 가지 근본적인 차이와 특이점이 있다. 간단히 말해서 지분증명 합의 알고리즘은 작업증명의 마이닝 과정을 참여자의 스테이크에 따라 블록을 검증하는 것으로 대체한다. 각 블록의 유효성 검사자는 할당된 연산 능력이 아닌 암호 화폐에 대한 투자에 의해 결정된다. 각 지분증명 시스템은 서로 다른 방식으로 알고리즘을 구현할 수 있지만, 일반적으로 블록체인은 노드의 부유한 정도와 코인 나이(얼마나 오래 코인이 묶여 있었는지 혹은 스테이크 되었는지)를 고려하는 임의 선출 방식과 무작위 요소를 통해 보안을 확보한다. 이더리움 블록체인은 현재 작업증명 알고리즘에 기반하고 있지만, 네트워크 확장성을 높이기 위해 작업증명을 지분증명으로 교체하는 캐스터(Casper) 프로토콜이 출시될 것이다.[2] 지분증명에 대해 자세히 보기
위임지분증명
위임지분증명(Delegated Proof of Stake; DPoS)은 작업증명 방식의 대안으로 야심차게 등장한 지분증명 방식 또한 완전하지 못하다는 점이 드러나며, 이를 해결할 수 있는 대안으로서 EOS의 창시자 '댄 라리머'에 의해 제안 된 합의 방식이다. 이는 위임지분증명 방식으로, 지분증명과의 차이점은 권한을 소수의 대표자에게 이양한다는 것이다. 지분증명이 직접 민주주의라면 위임지분증명은 간접민주주의이다. 지분 보유자들은 지분에 비례한 투표권을 행사하여 자신들을 대신하여 블록 생성과 검증, 네트워크 유지, 합의에 대한 권한을 소수에게 위임한다. 현재 가장 성공적인 사례인 '스팀잇(Steemit)' 은 이러한 위임지분증명 방식을 채택해 21명의 증인(대표자)를 통해 위임지분증명 방식과 퍼블릭 블록체인의 가능성을 증명해주고 있다.
위임지분증명의 가장 큰 장점은 투표에 의해 선출 된 소수의 대표자들이 전체를 대신하여 블록을 생성한다는 점이다. 그 때문에 상대적으로 빠른 합의 속도와 비용이 적게 소요된다는 장점이 있다. 이와 동시에 전체 네트워크 관리와 프로젝트의 발전에 대해 아무런 관심이 없는 일반 이용자들은 오히려 편의성이 증가한다. 위임지분증명은 소수에 의한 효율성을 증명해냈지만, 위임지분증명을 비판하는 많은 사람들은 소수에 의해 관리되는 네트워크가 과연 탈중앙화가 맞는가에 대한 공통된 질문을 한다. 이 점에 대해서는 각자가 생각이 다르겠지만, 기술적으로만 따지자면 노드의 소수 집중적 구조는 기존 블록체인 기술이 가지고 있는 가장 큰 강점인 '탈중앙화로 인한 보안성'을 잃어버리는 단점이 있다. 모든 네트워크가 소수에 집중되면 그만큼 공격에 취약해 지는 것은 당연한 일인 뿐더러 자신의 정체를 투명하게 공개해야 하는 증인에 대한 공격은 더욱 그렇다.[3] 위임지분증명에 대해 자세히 보기
리스지분증명
리스지분증명(Leased Proof of Stake; LPoS)은 지분증명(PoS) 합의 알고리즘의 향상된 버전이다. 일반적으로 지분증명 알고리즘에서 일정량의 암호화폐을 보유한 노드는 다음 블록을 생성하여 블록체인에 추가할 수 있지만, 리스지분증명 방식에서는 사용자가 잔액을 다른 풀노드(full node)에 임대할 수 있다. 리스지분증명을 사용하면, 사용자는 자신이 소유한 암호화폐를 다른 풀노드 사용자에게 임대할 수 있다. 자신이 보유하고 있는 암호화폐를 풀마이닝 노드에게 임대(리스)해서 그들이 제공하는 추가 채굴에 대한 대가로 수입을 받는 것이다. 풀노드가 받는 금액이 클수록 해당 노드가 다음 블록의 생성자로 선택될 가능성이 높아진다. 풀노드가 다음 블록의 생성자로 선택되면, 임대자는 풀노드가 획득한 트랜잭션 수수료 총액 중 자신이 임대해준 코인 수량에 비례한 액수를 보상으로 받게 된다. 이를 위해서는 먼저 지갑을 생성하고 자신이 보유하고 있는 암호화폐를 라이트 클라이언트 지갑으로 송금하고, 그 상태에서 원하는 금액만큼 임대하면 된다.[4][5] 리스지분증명에 대해 자세히 보기
성능증명
성능증명 합의 알고리즘은 탈중앙화와 네트워크 성능을 모두 보장하기 위해 설계되었다. 각 노드의 성능 기여도를 기반으로 하며, 이 과정에서 여러가지 변수들이 계산에 고려된다. 이 방식에서는 후보자 노드의 기존 풀에서 HP노드를 10분마다 새로 생성한다. 성능증명 방식은 아우터 레이어(Outer Layer)와 이너 레이어(Inner Layer) 두 가지 레이어를 포함하고 있는데, 아우터 레이어는 서버 성능, 네트워크 대역폭, HP노드의 수행 횟수, 지리적 위치 등 다양한 변수를 고려하여 약 10분 간격의 HP노드 로테이션을 통해 공정하고 안정적으로 HP노드를 선발한다. 이너레이어는 어떤 HP노드가 블록을 생성하는지 결정한다.[6] 성능증명에 대해 자세히 보기
담보지분증명
담보지분증명(Bonded Proof of Stake; BPoS)은 코스모스의 지분증명이다. 담보지분증명 방식은 구현하기 훨씬 어렵고 마스터노드뿐만 아니라 위임지분증명(DPoS) 프로토콜을 활용하는 지분증명 프로토콜보다 훨씬 높은 수준의 보안을 제공한다.[7] 담보지분증명 합의 알고리즘은 보상의 개념으로, 네트워크 관리, 거버넌스 투표, 생태계 확장이라는 의무를 이행했을 때 보상이 이뤄진다. 담보지분증명 합의 구조의 검증인의 경우, 연속으로 블록을 자기 차례에서 일정 시간 내에 생성하지 못하면 패널티가 부과된다. 단순히 노드를 돌려놓고 보상을 받는 개념이 아니라 투표가 진행됐을 때 투표권을 행사하고 네트워크를 관리하는 등 지속적인 관리와 의무를 행해야 보상을 받게 되는 셈이다. 의무가 없으면 지속적으로 지식과 자본을 투입하기가 쉽지 않은데 의무를 규정하고 시스템적으로 패널티를 적용하면 검증인들의 자세가 바뀔 수 없다. 네트워크를 잘 운영하는 경우에는 암호화폐가 주어지고, 허브에서 이뤄지는 모든 전송 수수료가 검증인들한테 돌아간다. 보상으로 주어지는 아톰, 노드 운영을 위해서는 지식이 각각 있어야 하기 때문에 코스모스의 검증인은 지식이 동시에 필요하다.[8] 담보지분증명을 사용하면 위임자는 보상을 받기 위해 어떤 식으로든 검증자를 신뢰할 필요가 없다. 그러나 오작동에 대한 유효성 검사의 슬래싱(Slashing)도 위임자에게 영향을 주기 때문에 유효성 검사에 주의를 기울여야 한다. 담보지분증명은 오픈소스 코스모스 SDK 모듈로 구현된다.[9] 담보지분증명에 대해 자세히 보기
시간소각 지분증명
시간소각 지분증명(Age Burnable Proof of Stake; ABPoS)은 의 약자로, 엑스피체인(XPChain)의 주요 기능이다. 엑스피체인은 일상 생활과 참여 기업들이 활용할 때 대단히 유용한 기능이다. 특히, 소매점, 음식점, 온라인 마켓 등에서 소액결제에 특화되어 있고, 그 외에 기부 등 에도 활용할 수 있도록 잘 설계되어 있다. 지금까지의 지분증명 화폐는 스테이킹에 성공하게 되면 원래 있었던 원금에 보상이 합쳐졌다. 그리고 숙성이 되기 전에 스테이킹이 성공하게 될 경우, 원금이 쪼개져 2개로 나뉘는 현상이 발생되었다. 그러나 시간소각 지분증명은 스테이킹을 성공하게 되면, 원금과 별도로 보상이 들어오는 시스템으로 바뀌게 되었다.
보상을 얻게되는 방식이 바뀌게 되면서 위와 같은 상태로 연속해서 스테이킹을 하게 된다면, 보수는 단리로 계산이 된다. 지금까지처럼 복리로 보수를 얻으려면, 수동으로 원금을 합쳐야 하며 합치는 것으로 숙성이 처음부터 다시 시작하게 되기 때문에 타임로스가 발생하게 된다. 시간소각 지분증명은 보수의 계산을 단리로 하게 되면서 과도한 인플레이션이 일어나지 않도록 억제력을 발휘하는 효과를 가진다. 보상을 받게되는 방법이 바뀌게 되고 원금과 보상금이 확실하게 나뉘어지면서, 보상 만을 사용할 수 있게 되었다. 또한, 시간소각 지분증명은 스테이킹에 성공했을 경우, 보상만 별도의 주소에 얻어지도록 할 수도 있다. 지금까지의 지분증명 화폐의 특징은 채굴하고 있는 PC지갑에 사용자가 코인을 넣어두고 방치하는 경우가 많았기 때문에 화폐유통을 억제하게끔 만드는 경향이 있었다. 시간소각 지분증명은 원금과 보상이 명확하게 나뉘기 때문에 주어지는 주소를 바꿀 수 있는 기능을 추가하여, XPC의 유통 및 사용을 더욱 촉진시킬 수 있도록 설계하고 있다. 예를 들어, 평소에 집에 있던 PC에서 스테이킹을 하면서 보상금을 스마트폰 지갑에 주어지게끔 설정을 하여, 외출 시 XPC를 언제든지 사용할 수 있도록 설계되는 것이다.
지금까지의 지분증명 화폐는 수수료 계산이 매우 복잡했다. 거래를 하는 시간에 따라 수수료가 불필요한 경우도 있었고, 적은 금액을 송금할 때 수수료를 많이 요구하는 경우가 있었다. 그 계산법이 매우 어렵고, 사용자 입장에서도 개발자 입장에서도 곤란한 상황이 생겼었다. 하지만, 시간소각 지분증명은 수수료 계산을 단순화하여 거래를 하는 시간에 상관 없이, 블록체인에 기록되는 데이터 사이즈에 따라 수수료를 지불하게끔 바뀌게 된다. 또한, 시간소각 지분증명은 블록체인에 기록하는 데이터 사이즈에 따라 모든 거래에 있어 수수료를 지불하게 된다. 그리고 스테이킹에 성공하였을 경우에도 원금에서 수수료를 지불하게 된다. XPC에서는 화폐를 유통하기 쉽도록 여러 대책을 고려하고 있으며, 화폐가 유통될수록 지불 및 소각되는 수수료가 늘어나게 된다. 또 지불된 수수료는 모든 블록체인 상에서 삭제되고 발행총액을 감소시킨다. 즉, 미량이지만 항상 화폐가 소각되는 형태가 되면서 인플레이션 억제에 도움이 된다. 현실의 지폐가 인쇄되고 유통되고 마지막에는 마모 혹은 손상으로 인해 죽음을 맞게 되는 것과 같이, XPC도 시간소각 지분증명으로 인해 생성되고, 소각하는 것으로죽음을 맞게 되는 설계형태를 취하고 있다. 최대발행량이 미설정으로 되어 있는 것은, 발행을 정지했을 때 소각으로 인해 화폐부족 현상을 우려했기 때문이다. 지금까지의 지분증명 화폐는 지갑에 숙성된 여러 뭉치의 코인를 가지고 있는 공격자가 리스크 없이, 연속해서 블록체인에 악의적인 공격을 할 수 있었습니다. 시간소각 지분증명은 숙성된 코인을 사용하여 공격할 경우를 대비해, 연속하여 이와 같은 행위가 이뤄지지 않도록 시스템을 구성하고 있으며, 공격자가 공격시 리스크부담을 하도록 블록체인을 개량했다.[10] 시간소각 지분증명에 대해 자세히 보기
각주
- ↑ Seonho Shin, 〈블록체인 합의 알고리즘 이해하기〉, 《브런치》, 2019-04-09
- ↑ 2.0 2.1 2.2 2.3 〈블록체인 합의 알고리즘이란 무엇인가요?〉, 《바이낸스 아카데미》, 2019-11-09
- ↑ ROA Invention LAB, 〈합의 알고리즘의 발전과 진화방향〉, 《버티컬 플랫폼》, 2018-05-31
- ↑ "Leased Proof of Stake", Waves Platform
- ↑ Waves.docs, 〈Leased 지분 증명〉, 《GitBook》
- ↑ "High Performance Blockchain Whitepaper", hpb.io
- ↑ COSMOS Korea, 〈코스모스 최신 소식 — (필독) 10월 커뮤니티 업데이트〉, 《미디엄》, 2018-11-14
- ↑ 김가현 기자, 〈'3세디 코스모스, 무엇이 다른가'...첫 코스모스 아카데미 서울서 열려〉, 《블록인프레스》, 2018-10-03
- ↑ Gautier MARIN, 〈What does the Launch of Cosmos mean for the Blockchain Ecosystem?〉, 《미디엄》, 2019-06-06
- ↑ 거노파파, 〈XPChain(XPC) 엑스피체인 장점 소개 1탄 - ABPoS란?〉, 《네이버 블로그》, 2018-05-31
참고자료
- Seonho Shin, 〈블록체인 합의 알고리즘 이해하기〉, 《브런치》, 2019-04-09
- 〈블록체인 합의 알고리즘이란 무엇인가요?〉, 《바이낸스 아카데미》, 2019-11-09
- ROA Invention LAB, 〈합의 알고리즘의 발전과 진화방향〉, 《버티컬 플랫폼》, 2018-05-31
- "Leased Proof of Stake", Waves Platform
- Waves.docs, 〈Leased 지분 증명〉, 《GitBook》
- "High Performance Blockchain Whitepaper", hpb.io
- COSMOS Korea, 〈코스모스 최신 소식 — (필독) 10월 커뮤니티 업데이트〉, 《미디엄》, 2018-11-14
- 김가현 기자, 〈'3세디 코스모스, 무엇이 다른가'...첫 코스모스 아카데미 서울서 열려〉, 《블록인프레스》, 2018-10-03
- Gautier MARIN, 〈What does the Launch of Cosmos mean for the Blockchain Ecosystem?〉, 《미디엄》, 2019-06-06
- 거노파파, 〈XPChain(XPC) 엑스피체인 장점 소개 1탄 - ABPoS란?〉, 《네이버 블로그》, 2018-05-31
같이 보기