검수요청.png검수요청.png

합의

위키원
wjddn843 (토론 | 기여)님의 2019년 9월 11일 (수) 17:43 판 (성능증명)
이동: 둘러보기, 검색

합의(agreement, 合意)란 둘 이상의 인원이 특정 문제에 대해 서로 의견이 일치하는 것을 말한다.

개요

블록체인은 탈중앙화를 추구하며 전 세계의 다양한 참여자가 피투피(Peer To Peer, P2P) 네트워크 방식으로 생태계를 유지하고 있어서 그 무엇보다 참여자의 의견 일치(합의)가 중요하다. 합의 알고리즘은 블록체인 생태계를 구성하는 데 꼭 필요한 요소이며, 다양한 블록체인 프로젝트가 다양한 합의 알고리즘을 통해 운영되고 있다.[1] 합의 알고리즘은 블록체인 네트워크에 합의를 달성하는 메커니즘이라 정의할 수 있다. 탈중앙화된 블록체인은 분산화된 시스템으로 구성되어 있으며, 중앙 권위체에 의존하지 않기에, 분산화된 노드는 트랜잭션의 유효성에 합의가 필요하다. 이곳이 바로 합의 알고리즘이 시작되는 지점이다. 합의 알고리즘은 프로토콜 규칙이 준수되고 있는지 확인하며, 모든 트랜잭션이 신뢰할 수 있는 방식으로 진행되는 것을 보장해, 코인이 한 번만 사용되도록 한다.[2]

합의 알고리즘

몇 가지 유형의 합의 알고리즘이 있다. 가장 일반적인 것은 작업증명(Proof of Work; PoW)과 지분증명(Proof of Stake; PoS)이다. 보안성과 기능성, 확장성의 균형을 고려할 때, 각기 장단점을 갖고 있다. 또한, 합의 알고리즘은 암호 화폐 네트워크의 무결성과 보안을 유지하기 위해 중요하다. 합의 알고리즘은 분산화노드들이 어떤 버전의 블록체인이 진짜 버전인지 합의할 수 있게 한다. 디지털 경제 시스템이 제대로 작동하기 위해서는, 현 상태의 블록체인에 합의하는 것이 필수적이다. 작업증명 합의 알고리즘은 비잔티움 장군 문제를 해결하는 최고의 해결책으로 간주하며 이는 비트코인을 비잔티움 장애 허용 시스템으로 탄생시켰다. 이는 비트코인 블록체인이 51% 공격(또는 다수의 공격)과 같은 공격에 매우 강력함을 뜻한다. 네트워크가 탈중앙화되어 있을 뿐만 아니라, 작업증명 알고리즘을 사용하기 때문이다. 마이닝 과정에 드는 높은 비용은 마이너들이 네트워크를 방해하기 위해 자신들의 자원을 투자하는 것을 무척 어렵게 한다.[2]가기.png 합의 알고리즘에 대해 자세히 보기

작업증명

작업증명(Proof of Work; PoW)은 처음으로 만들어진 합의 알고리즘이다. 이는 비트코인과 많은 암호 화폐에 적용되었으며, 작업증명 알고리즘은 마이닝 과정에 필수적인 부분이다. 작업증명 마이닝은 수많은 해싱 시도를 포함하므로, 더 많은 연산 능력을 갖출 수록 초당 더 많은 시도를 할 수 있다. 즉, 높은 해시 레이트를 가진 마이너일수록 다음 블록(블록 해시)에 대한 유효한 해결책을 찾을 가능성이 더 높다. 작업증명 합의 알고리즘은 분산화된 네트워크 노드가 합의를 달성할 경우에만 새로운 블록의 트랜잭션을 검증하고 이를 블록체인에 추가할 수 있도록 하며, 마이너에 의해 제공된 블록 해시가 유효한 작업 증명이라는 점에 동의하게 된다.[2]가기.png 작업증명에 대해 자세히 보기

균형작업증명

에이치닥(Hdac) 로고

균형작업증명(equilibrium Proof of Work; ePoW)은 기존 작업증명(PoW) 방식을 기반으로 하되, 한 번 채굴에 성공한 노드는 일정 기간 강제로 휴식을 취하도록 만들어 다른 노드들에게 채굴 기회를 공평하게 나누어 주는 방식의 합의 알고리즘이다. 에이치닥 코인에서 이 방식을 사용하고 있다.

균형작업증명은 평등한 기회와 에너지 절약에 기반하여 누구나 공평하게 작업증명을 진행해 혜택을 받을 수 있도록 한 것이 특징이다. 이미 채굴에 성공한 노드는 다른 참여자에게 기회를 양보하도록 Lyra2Rev2 ASICresistent 알고리즘을 구성해 과도한 에너지 낭비 문제도 해결했다. 균형작업증명 합의 알고리즘은 작업 증명에 참여하는 노드의 개체 수 감소를 방지하고, 다수의 채굴 노드가 참여할 수 있는 동기를 부여할 수 있고, 결과적으로 채굴 경쟁을 위한 과도한 컴퓨팅 파워 투입에 따른 에너지 낭비 방지와 채굴 기회의 공정한 기회 분배를 도모하고자 하는 의도에서 출발하였다. 이는 채굴 환경에 있어 기존의 암호화폐가 지닌 작업증명(PoW) 방식의 문제점인 컴퓨팅 파워에 따른 부익부 빈익빈과 채굴 환경 집중 현상을 해결하기 위한 것이다. 따라서 일반인도 쉽게 암호화폐 채굴에 참여할 수 있도록 한 것이 특징이다.[3]가기.png 균형작업증명에 대해 자세히 보기

지연작업증명

코모도(Komodo) 로고

지연작업증명(Delayed Proof of Work; DPoW)은 네트워크 보안을 강화하기 위해 비트코인 블록체인해시 파워를 사용하는 작업증명 합의 알고리즘의 수정 버전이다. 슈퍼넷(Supernet)이 설계하였으며 코모도가 유일하게 디포우 방식을 사용하고 있다.

지연작업증명 합의 알고리즘은 시스템 장애나 해킹이 발생해도 전체 데이터를 신속하게 복구할 수 있다. 공격자가 해킹을 통해 영구적 손상을 입히려면 비트코인 네트워크 또한 해체하여, 비트코인 블록체인 내에 백업된 모든 스냅샷을 삭제해야 한다. 이러한 시나리오의 가능성은 매우 낮아서 지연작업증명 합의 알고리즘을 실행하는 블록체인들은 더욱 높은 수준의 보안을 유지할 수 있다. 그러나 지연작업증명은 코모도 생태계 내에서만 구현된다는 점에 주목해야 한다. 추가적인 테스트를 통한 다른 시나리오와 대규모 스케일에 대한 효율성과 신뢰성은 아직 검증되지 않았다.[4]가기.png 지연작업증명에 대해 자세히 보기

지분증명

지분증명(Proof of Stake; PoS) 합의 알고리즘은 2011년, 작업증명의 대안으로 개발되었다. 지분증명은 작업증명과 유사한 목표를 공유하지만, 몇 가지 근본적인 차이와 특이점이 있다. 간단히 말해서 지분증명 합의 알고리즘은 작업증명의 마이닝 과정을 참여자의 스테이크에 따라 블록을 검증하는 것으로 대체한다. 각 블록의 유효성 검사자는 할당된 연산 능력이 아닌 암호 화폐에 대한 투자에 의해 결정된다. 각 지분증명 시스템은 서로 다른 방식으로 알고리즘을 구현할 수 있지만, 일반적으로 블록체인은 노드의 부유한 정도와 코인 나이(얼마나 오래 코인이 묶여 있었는지 혹은 스테이크 되었는지)를 고려하는 임의 선출 방식과 무작위 요소를 통해 보안을 확보한다. 이더리움 블록체인은 현재 작업증명 알고리즘에 기반하고 있지만, 네트워크 확장성을 높이기 위해 작업증명을 지분증명으로 교체하는 캐스터(Casper) 프로토콜이 출시될 것이다.[2]가기.png 지분증명에 대해 자세히 보기

위임지분증명

위임지분증명(Delegated Proof of Stake; DPoS)은 작업증명 방식의 대안으로 등장한 지분증명 방식 또한 완전하지 못하다는 점이 드러나며, 이를 해결할 수 있는 대안으로서 EOS의 창시자 '댄 라리머'에 의해 제안된 합의 방식이다. 이는 위임지분증명 방식으로, 지분증명과의 차이점은 권한을 소수의 대표자에게 이양한다는 것이다. 지분증명이 직접 민주주의라면 위임지분증명은 간접민주주의이다. 지분 보유자들은 지분에 비례한 투표권을 행사하여 자신들을 대신하여 블록 생성과 검증, 네트워크 유지, 합의에 대한 권한을 소수에게 위임한다. 현재 가장 성공적인 사례인 '스팀잇(Steemit)' 은 이러한 위임지분증명 방식을 채택해 21명의 증인(대표자)을 통해 위임지분증명 방식과 퍼블릭 블록체인의 가능성을 증명해주고 있다.

위임지분증명의 가장 큰 장점은 투표에 의해 선출된 소수의 대표자가 전체를 대신하여 블록을 생성한다는 점이다. 그 때문에 상대적으로 빠른 합의 속도와 비용이 적게 소요된다는 장점이 있다. 이와 동시에 전체 네트워크 관리와 프로젝트의 발전에 대해 아무런 관심이 없는 일반 이용자들은 오히려 편의성이 증가한다. 위임지분증명은 소수에 의한 효율성을 증명해냈지만, 위임지분증명을 비판하는 많은 사람은 소수에 의해 관리되는 네트워크가 과연 탈중앙화가 맞는가에 대한 공통된 질문을 한다. 이 점에 대해서는 각자가 생각이 다르겠지만, 기술적으로만 따지자면 노드의 소수 집중적 구조는 기존 블록체인 기술이 가지고 있는 가장 큰 강점인 '탈중앙화로 인한 보안성'을 잃어버리는 단점이 있다. 모든 네트워크가 소수에 집중되면 그만큼 공격에 취약해지는 것은 당연한 일인 뿐 더러 자신의 정체를 투명하게 공개해야 하는 증인에 대한 공격은 더욱더 그렇다.[5]가기.png 위임지분증명에 대해 자세히 보기

리스지분증명

리스지분증명(Leased Proof of Stake; LPoS)은 지분증명(PoS) 합의 알고리즘의 향상된 버전이다. 일반적으로 지분증명 알고리즘에서 일정량의 암호화폐를 보유한 노드는 다음 블록을 생성하여 블록체인에 추가할 수 있지만, 리스지분증명 방식에서는 사용자가 잔액을 다른 풀 노드(full node)에 임대할 수 있다. 리스지분증명을 사용하면, 사용자는 자신이 소유한 암호화폐를 다른 풀 노드 사용자에게 임대할 수 있다. 자신이 보유하고 있는 암호화폐를 풀마이닝 노드에게 임대(리스)해서 그들이 제공하는 추가 채굴에 대한 대가로 수입을 받는 것이다. 풀 노드가 받는 금액이 많을수록 해당 노드가 다음 블록의 생성자로 선택될 가능성이 커진다. 풀 노드가 다음 블록의 생성자로 선택되면, 임대자는 풀 노드가 획득한 트랜잭션 수수료 총액 중 자신이 임대한 코인 수량에 비례한 액수를 보상으로 받게 된다. 이를 위해서는 먼저 지갑을 생성하고 자신이 보유하고 있는 암호화폐를 라이트 클라이언트 지갑으로 송금하고, 그 상태에서 원하는 금액만큼 임대하면 된다.[6][7]가기.png 리스지분증명에 대해 자세히 보기

성능증명

하이퍼블록(High Performance Blockchain) 로고

성능증명(Proof of Performance; PoP) 합의 알고리즘은 탈중앙화와 네트워크 성능을 모두 보장하기 위해 설계되었으며, 하이퍼블록(High Performance Blockchain; HPB)이 성능증명 알고리즘을 채택하고 있다. 각 노드의 성능 기여도를 기반으로 하며, 이 과정에서 여러 가지 변수들이 계산에 고려된다. 이 방식에서는 후보자 노드의 기존 풀에서 HP노드를 10분마다 새로 생성한다. 성능증명 방식은 아우터 레이어(Outer Layer)와 이너 레이어(Inner Layer) 두 가지 레이어를 포함하고 있는데, 아우터 레이어는 서버 성능, 네트워크 대역폭, HP노드의 수행 횟수, 지리적 위치 등 다양한 변수를 고려하여 약 10분 간격의 HP노드 로테이션을 통해 공정하고 안정적으로 HP노드를 선발한다. 이너레이어는 어떤 HP노드가 블록을 생성하는지 결정한다.[8]가기.png 성능증명에 대해 자세히 보기

담보지분증명

담보지분증명(Bonded Proof of Stake; BPoS)은 코스모스의 지분증명이다. 담보지분증명 방식은 구현하기 훨씬 어렵고 마스터노드뿐만 아니라 위임지분증명(DPoS) 프로토콜을 활용하는 지분증명 프로토콜보다 훨씬 높은 수준의 보안을 제공한다.[9] 담보지분증명 합의 알고리즘은 보상의 개념으로, 네트워크 관리, 거버넌스 투표, 생태계 확장이라는 의무를 이행했을 때 보상이 이뤄진다. 담보지분증명 합의 구조의 검증인의 경우, 연속으로 블록을 자기 차례에서 일정 시간 내에 생성하지 못하면 페널티가 부과된다. 단순히 노드를 돌려놓고 보상을 받는 개념이 아니라 투표가 진행됐을 때 투표권을 행사하고 네트워크를 관리하는 등 지속적인 관리와 의무를 행해야 보상을 받게 되는 셈이다. 의무가 없으면 지속해서 지식과 자본을 투입하기가 쉽지 않은데 의무를 규정하고 시스템적으로 페널티를 적용하면 검증인들의 자세가 바뀔 수 없다. 네트워크를 잘 운영하는 경우에는 암호화폐가 주어지고, 허브에서 이뤄지는 모든 전송 수수료가 검증인들한테 돌아간다. 보상으로 주어지는 아톰, 노드 운영을 위해서는 지식이 각각 있어야 하므로 코스모스의 검증인은 지식이 동시에 필요하다.[10] 담보지분증명을 사용하면 위임자는 보상을 받기 위해 어떤 식으로든 검증자를 신뢰할 필요가 없다. 그러나 오작동에 대한 유효성 검사의 슬래싱(Slashing)도 위임자에게 영향을 주기 때문에 유효성 검사에 주의를 기울여야 한다. 담보지분증명은 오픈소스 코스모스 SDK 모듈로 구현된다.[11]가기.png 담보지분증명에 대해 자세히 보기

시간소각 지분증명

시간소각 지분증명(Age Burnable Proof of Stake; ABPoS)은 의 약자로, 엑스피체인(XPChain)의 주요 기능이다. 엑스피체인은 일상생활과 참여 기업들이 활용할 때 대단히 유용한 기능이다. 특히, 소매점, 음식점, 온라인 마켓 등에서 소액결제에 특화되어 있고, 그 외에 기부 등에도 활용할 수 있도록 잘 설계되어 있다. 지금까지의 지분증명 화폐는 스테이킹에 성공하게 되면 원래 있었던 원금에 보상이 합쳐졌다. 그리고 숙성이 되기 전에 스테이킹이 성공하게 될 경우, 원금이 쪼개져 2개로 나뉘는 현상이 발생하였다. 그러나 시간소각 지분증명은 스테이킹을 성공하게 되면, 원금과 별도로 보상이 들어오는 시스템으로 바뀌게 되었다.

보상을 얻게 되는 방식이 바뀌게 되면서 위와 같은 상태로 연속해서 스테이킹을 하게 된다면, 보수는 단리로 계산이 된다. 지금까지처럼 복리로 보수를 얻으려면, 수동으로 원금을 합쳐야 하며 합치는 것으로 숙성이 처음부터 다시 시작하게 되기 때문에 타임 로스가 발생하게 된다. 시간소각 지분증명은 보수의 계산을 단리로 하게 되면서 과도한 인플레이션이 일어나지 않도록 억제력을 발휘하는 효과를 가진다. 보상을 받게 되는 방법이 바뀌게 되고 원금과 보상금이 확실하게 나누어지면서, 보상 만을 사용할 수 있게 되었다. 또한, 시간소각 지분증명은 스테이킹에 성공했을 경우, 보상만 별도의 주소에 얻어지도록 할 수도 있다. 지금까지의 지분증명 화폐의 특징은 채굴하고 있는 PC 지갑에 사용자가 코인을 넣어두고 방치하는 경우가 많았기 때문에 화폐유통을 억제하게끔 만드는 경향이 있었다. 시간소각 지분증명은 원금과 보상이 명확하게 나뉘기 때문에 주어지는 주소를 바꿀 수 있는 기능을 추가하여, XPC의 유통 및 사용을 더욱 촉진할 수 있도록 설계하고 있다. 예를 들어, 평소에 집에 있던 PC에서 스테이킹을 하면서 보상금을 스마트폰 지갑에 주어지게끔 설정을 하여, 외출 시 XPC를 언제든지 사용할 수 있도록 설계되는 것이다.

지금까지의 지분증명 화폐는 수수료 계산이 매우 복잡했다. 거래하는 시간에 따라 수수료가 불필요한 예도 있었고, 적은 금액을 송금할 때 수수료를 많이 요구하는 경우가 있었다. 그 계산법이 매우 어렵고, 사용자 입장에서도 개발자 입장에서도 곤란한 상황이 생겼었다. 하지만, 시간소각 지분증명은 수수료 계산을 단순화하여 거래하는 시간에 상관없이, 블록체인에 기록되는 데이터 사이즈에 따라 수수료를 지불하게끔 바뀌게 된다. 또한, 시간소각 지분증명은 블록체인에 기록하는 데이터 사이즈에 따라 모든 거래에 있어 수수료를 지불하게 된다. 그리고 스테이킹에 성공하였을 경우에도 원금에서 수수료를 지불하게 된다. XPC에서는 화폐를 유통하기 쉽도록 여러 대책을 고려하고 있으며, 화폐가 유통될수록 지불 및 소각되는 수수료가 늘어나게 된다. 또 지불된 수수료는 모든 블록체인상에서 삭제되고 발행총액을 감소시킨다. 즉, 미량이지만 항상 화폐가 소각되는 형태가 되면서 인플레이션 억제에 도움이 된다. 현실의 지폐가 인쇄되고 유통되고 마지막에는 마모 혹은 손상으로 인해 죽음을 맞게 되는 것과 같이, XPC도 시간소각 지분증명으로 인해 생성되고, 소각하는 것으로 죽음을 맞게 되는 설계 형태를 취하고 있다. 최대발행량이 미설정으로 되어 있는 것은, 발행을 정지했을 때 소각으로 인해 화폐 부족 현상을 우려했기 때문이다. 지금까지의 지분증명 화폐는 지갑에 숙성된 여러 뭉치의 코인을 가지고 있는 공격자가 리스크 없이, 연속해서 블록체인에 악의적인 공격을 할 수 있었습니다. 시간소각 지분증명은 숙성된 코인을 사용하여 공격할 경우를 대비해, 연속하여 이와 같은 행위가 이뤄지지 않도록 시스템을 구성하고 있으며, 공격자가 공격 시 리스크부담을 하도록 블록체인을 개량했다.[12]가기.png 시간소각 지분증명에 대해 자세히 보기

각주

  1. Seonho Shin, 〈블록체인 합의 알고리즘 이해하기〉, 《브런치》, 2019-04-09
  2. 2.0 2.1 2.2 2.3 블록체인 합의 알고리즘이란 무엇인가요?〉, 《바이낸스 아카데미》, 2019-11-09
  3. 에이치닥 테크놀로지, 〈에이치닥 : 트랜잭션 혁신 - 블록체인 기반의 사물인터넷 계약과 M2M 트랜잭션 플랫폼〉, 에이치닥 백서, 2017년 11월
  4. 지연작업 증명(DPoW) 설명〉, 《바이낸스아카데미》, 2018-12-08
  5. ROA Invention LAB, 〈합의 알고리즘의 발전과 진화방향〉, 《버티컬 플랫폼》, 2018-05-31
  6. "Leased Proof of Stake", Waves Platform
  7. Waves.docs, 〈Leased 지분 증명〉, 《GitBook》
  8. "High Performance Blockchain Whitepaper", hpb.io
  9. COSMOS Korea, 〈코스모스 최신 소식 — (필독) 10월 커뮤니티 업데이트〉, 《미디엄》, 2018-11-14
  10. 김가현 기자, 〈'3세디 코스모스, 무엇이 다른가'...첫 코스모스 아카데미 서울서 열려〉, 《블록인프레스》, 2018-10-03
  11. Gautier MARIN, 〈What does the Launch of Cosmos mean for the Blockchain Ecosystem?〉, 《미디엄》, 2019-06-06
  12. 거노파파, 〈XPChain(XPC) 엑스피체인 장점 소개 1탄 - ABPoS란?〉, 《네이버 블로그》, 2018-05-31

참고자료

같이 보기


  검수요청.png검수요청.png 이 합의 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.