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

합의 알고리즘

해시넷
Asadal (토론 | 기여)님의 2019년 4월 23일 (화) 23:55 판
이동: 둘러보기, 검색

합의 알고리즘(consensus algorithm)이란 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. 합의 모델, 합의 방식, 합의 메커니즘 또는 합의 프로토콜이라고도 한다. 블록체인 시스템의 경우 네트워크에 참여하는 모든 참여자들이 동일한 데이터를 복사하여 분산 저장하기 때문에 원본과 사본의 구별이 없으며, 통일된 의사결정을 내릴 수 있는 권위 있는 중앙(center)이 존재하지 않는다. 이런 상황에서 합리적이고 효율적인 의사결정을 내릴 수 있는 다양한 알고리즘이 개발되었다.

종류

작업증명

작업증명(PoW, Proof of Work)이란 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 알고리즘이다. 채굴을 통해 작업증명을 한다. 비트코인, 이더리움, 라이트코인, 비트코인캐시, 비트코인골드, 모네로, 지캐시, 시아코인, 불웍, 에이치닥 등의 암호화폐에서 작업증명 방식을 사용하고 있다.

'작업’이란 ‘채굴’에 이르기까지 연산 과정을 뜻한다. 채굴자들은 컴퓨터로 복잡한 수식을 풀어 조건에 맞는 해시값을 찾는 과정을 반복한다. 이 경우 모든 노드들이 찾아낸 해시값을 검증하고 승인하는 과정을 거쳐 블록에 거래 내역을 저장한다. 따라서 모든 노드들의 승인을 거쳐야 하기 때문에 거래 내역을 속이기가 힘들다는 장점이 있다. 이런 점에서 작업증명 합의 알고리즘은 블록체인이 가지는 탈중앙화라는 본질을 가장 잘 살린 합의 방식이다.

그러나 이런 과정 때문에 거래 처리 속도가 늦어진다는 한계가 있다. 또한 채굴에 필요한 에너지 소비가 심하다는 것도 단점이다. 이 때문에 일정 조건에 따라 블록 생성에 참여하는 노드들을 제한하는 지분증명(PoS) 방식이 등장했다.[1]

균형작업증명

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

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

지연작업증명

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

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

지분증명

지분증명(PoS, Proof of Stake)은 해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 방식이다. 주주총회에서 주식 지분율에 비례하여 의사결정 권한을 가지는 것과 유사하다. 채굴 과정이 필요 없다. 큐텀, 피어코인 등의 암호화폐가 지분증명 방식을 사용하고 있다. 스트라티스는 처음에 작업증명 방식을 사용했으나 지분증명 방식으로 변경했다. 이더리움도 현재 작업증명 방식을 벗어나 지분증명 방식으로 변경할 예정이다.[4]

지분증명은 의사 결정 권한을 코인 보유량에 비례해 지급하는 방식이기 때문에 코인을 많이 보유하고 있는 노드일수록 블록 생성에 참여할 수 있는 기회가 더 많다. 블록 생성에 따른 보상도 코인 보유량에 비례한다. 주주 총회에서 주식 지분에 비례해 더 큰 의사결정 권한을 가지는 것과 유사하다고 보면 된다. 지분증명 방식은 모든 노드들의 승인을 거치지 않아도 되니 작업증명 방식보다 거래 처리 속도가 빠르다. 이는 곧 전력소비를 줄일 수 있음을 의미한다. 이 때문에 이더리움 재단은 기존 합의 방식인 작업증명 방식을 지분증명 방식으로 전환하기 위한 ‘캐스퍼(Casper)’ 프로젝트를 진행 중에 있다.

그러나 지분증명 방식은 ‘평등’을 추구하는 블록체인의 본질에서 벗어나 ‘부익부 빈익빈’을 초래한다는 꼬리표가 따라다닌다. 많은 코인을 가지고 있을수록 더 많은 보상을 받는 구조이기 때문이다.[1]

우로보로스 지분증명

찰스 호스킨슨(Charles Hoskinson)에 의해 개발된 우로보로스 지분증명(OPoS, Ouroboros Proof of Stake)은 기존 지분증명 방식의 문제점인 그라인딩 공격(Grinding Attack)을 방어하기 위해 코인토싱(coin tossing) 프로토콜을 사용하여 만든 합의 알고리즘이다. 찰스 호스킨슨(Charles Hoskinson)에 의해 개발되어 카르다노가 이 방식을 사용하고 있다.[5]

찰스 호스킨슨은 랜덤 변수 생성 프로토콜인 코인 토싱을 블록체인 노드들의 합의 알고리즘에 도입했다. 이는 블록 생성을 담당할 대표 노드들을 임의로 선정하는 시스템이다. 미리 설정된 변수를 통해 각 노드들이 번갈아 가면서 균일하게 블록 생성에 참여할 수 있는 기회를 가질 수 있도록 했다. 이로 인해 우로보로스 지분증명 방식은 ‘임의성’이라는 독창적인 방법으로 특정 노드들의 지분 독식을 막았다는 평가를 받았다. 하지만 아직 안정성을 증명하는 테스트 단계에 머물러 있어 현실화되기까지는 시간이 걸릴 것으로 보인다.[6]

리스지분증명

리스지분증명(LPoS, Leased Proof of Stake)은 자신이 소유한 암호화폐를 다른 사람에게 리스(lease)로 임대해 주고 그 대가로 보상을 받는 방식이다. 웨이브즈가 이 방식을 사용하고 있다.

리스지분증명은 지분증명(PoS) 합의 알고리즘의 향상된 버전이다. 일반적으로 지분증명 알고리즘에서 일정량의 암호화폐를 보유한 노드는 다음 블록을 생성하여 블록체인에 추가할 수 있지만, 리스지분증명에서는 사용자가 잔액을 다른 풀노드에 임대할 수 있다. 리스지분증명을 사용하면, 사용자는 자신이 소유한 웨이브를 다른 풀노드 사용자에게 임대할 수 있다. 자신이 보유하고 있는 웨이브즈를 풀마이닝 노드에게 임대(리스)해서 그들이 제공하는 추가 채굴에 대한 대가로 수입을 받는 것이다. 풀노드가 받는 금액이 클수록 해당 노드가 다음 블록의 생성자로 선택될 가능성이 높아진다. 풀노드가 다음 블록의 생성자로 선택되면, 임대자는 풀노드가 획득한 트랜잭션 수수료 총액 중 자신이 임대해준 코인 수량에 비례한 액수를 보상으로 받게 된다.[7]

위임지분증명

위임지분증명(DPoS, Delegated Proof of Stake)은 암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 자신의 대표자를 선정하고, 이 대표자들끼리 합의하여 의사결정을 내리는 방식이다. 국민의 대표로 의원을 뽑아 의회를 구성하는 대의 민주주의 제도와 유사하다. 이오스, 스팀, 리스크, 엘프, 라이즈, 아크, 비트셰어, 시프트, 보스코인 등이 위임지분증명 방식을 채택하고 있다.

위임지분증명은 노드들이 코인 보유량에 따라 투표권을 행사해 중요한 의사결정 권한을 수행할 일종의 대리인을 산출하는 합의 방식이다. 이는 코인 보유자들이 자신의 권한을 위임해 대표자를 선출하는 방식이 대의 민주주의와 유사해 ‘토큰 민주주의’라는 별명이 붙기도 했다. 위임지분증명 방식의 경우 소수의 대표 노드들에게만 거래 내역 승인을 거치면 되니 처리 속도는 훨씬 빨라진다. 이더리움은 평균적으로 초당 20TPS를 처리하는 반면 이오스는 3000TPS를 처리할 수 있어 속도 면에서의 장점은 이미 검증되었다.

그러나 2018년 9월, 이오스 블록 생성을 담당하는 대표 노드 가운데 일부가 BP 자격을 유지하기 위해 서로에게 투표했다는 의혹이 제기되었다. 이에 따라 위임지분증명 방식에 치명적인 결함이 있다는 사실이 알려졌다. 이처럼 위임지분증명 방식은 일반 노드들의 투표율이 저조할 경우 소수의 대표 노드들에 의해 블록체인 생태계가 좌지우지 될 수 있다는 한계가 있다.[1]

이중위임지분증명

이중위임지분증명(DDPoS, Dual Delegated Proof of Stake)은 기존의 위임지분증명(DPoS) 방식을 사용하면서, 알고리즘에 따라 실시간으로 교체되는 임의의 노드시그마노드(sigma node)를 추가하여 검증하도록 함으로써 대표자들 간의 담합에 의한 블록체인 데이터 조작 가능성을 예방한 합의 알고리즘이다. 곽진영이 창시한 시그마체인이 이중위임지분증명 방식을 사용하고 있다.

이중위임지분증명은 이오스스팀에서 사용 중인 엔진에 비하여 보안성이 뛰어나고, 개인정보보호를 강화시켰으며 기존의 위임지분증명 방식에 검증 절차를 한 단계 더 추가했다. 자세히 살펴보면, 총 21개의 대표 노드 가운데, 17개는 암호화폐 소유자들의 지분에 비례하여 투표로 선출된 대표자(증인)로 구성되고, 나머지 4개는 전체 노드들 중에서 랜덤하게 선출된 노드(즉, 시그마노드)로 구성된다. 이중위임지분증명 방식에서는 선출된 대표자(마스터노드) 외에도 자체 알고리즘에 따라 랜덤하게 선택되는 임의의 노드인 시그마노드가 교차 검증을 한다.

결국 시그마체인을 사용하면 암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 자신의 대표자를 선정하고, 이 대표자들끼리 합의하여 의사결정을 내리는 위임지분증명 방식의 장점을 그대로 사용하면서, 알고리즘에 따라 랜덤하게 실시간으로 교체되는 임의의 노드인 '시그마노드'(sigma node)를 추가하여 검증하도록 함으로써 대표자들 간의 담합에 의한 블록체인 데이터 조작 가능성을 예방할 수 있다. 이러한 위임지분증명 방식은 기존 작업증명(PoW) 방식의 단점인 트랜잭션 처리 속도와 위임지분증명 방식의 보안 취약성 부분을 해결한 진일보한 알고리즘으로서, 현재 국제특허출원 중에 있다.[8]

하이퍼 위임지분증명

하이퍼 위임지분증명(Hyper-DPoS)은 기존의 위임지분증명(DPoS) 방식을 기반으로 하되, 일정한 시간 안에 빠르게 반응하고 응답할 수 있는 노드만을 선택하여 합의 과정에 참여시키는 합의 알고리즘이다. 하이퍼 디포스라고도 한다. 모파스가 이 방식을 사용하고 있다.

모파스는 기존 블록체인의 근본적 문제인 속도를 개선하기 위해 제한된 퍼블릭 블록체인(Limited Public Blockchain)을 고안했다. 이는 모파스가 구현하고자 하는 시간 내에 반응하고 응답할 수 있어야 노드로써 참여할 수 있는 모델이다. 이 노드로 참여하기 위해서는 고가용성 하드웨어네트워크가 담보되어야 하며 하드웨어와 네트워크의 신뢰 지표인 PRR 조건을 만족해야 한다. 하이퍼 위임지분증명은 이 PRR 조건을 만족하는 노드들로 구성된 퍼블릭 블록체인에 디포스의 지분위임방식을 결합해 모든 구성원의 참여와 견제를 유도하여 네트워크상에서 제3자의 개입 없이 신뢰를 만드는 효율적인 알고리즘이다.[9]

포뮬레이션증명

포뮬레이션증명(PoF, Proof of Formulation)은 포뮬레이션 보상 순서를 바탕으로 채굴자를 선택하는 합의 알고리즘이다. 플레타가 기존의 위임지분증명(DPoS)을 일부분 변형하여 만들었다. 포뮬러 그룹은 네트워크에서 블록 생성 순서를 공유하고 확인하며, 공유되고 동기화된 순서를 통해 블록 생성을 진행한다. 가장 높은 순위의 포뮬러가 블록을 생성하고 다음 블록은 다음 순위가 생성하는 순환 방식을 이용하여 고속 거래 메커니즘을 제공하고 안정적인 블록 생성을 수행한다.[10]

포크능력증명

포크능력증명(PoF, Proof of Forkability)는 정해진 수의 선출된 검증자들이 투표를 통해 3분의 2 이상 찬성으로 의사결정을 하는 합의 알고리즘이다. 기존의 비잔틴 장애 허용(BFT)과 위임지분증명(DPoS) 합의 알고리즘의 장점을 결합하여, 애스톤(Aston)을 만든 ㈜엑스블록시스템즈가 개발했다. 기존의 합의 알고리즘에는 포크에 대한 어떠한 합의 메커니즘도 존재하지 않았다. 포크 자체를 허용하지 않았기 때문이다. ㈜엑스블록시스템즈은 분기 허용이 가능한 엑스블록체인에 대한 이에 대한 이에 대한 특별한 합의 알고리즘의 필요성을 느끼고 포크능력증명을 개발했다.[11]

지분작업증명

지분작업증명(PoSW, Proof of Stake and Work)은 작업증명(PoW) 방식과 지분증명(PoS) 방식을 혼합한 하이브리드 방식의 합의 알고리즘이다. 디크레드, 애터니티, 하이퍼캐시, 해피코인, 쿼크체인 등이 이 방식을 사용하고 있다. 지분작업증명에서 채굴자는 모든 해시파워네트워크에 제공하려는 경우(네트워크의 모든 해시 전력의 P%를 가정) 채굴자는 P에 비례하는 토큰 수를 스테이킹 해야 한다. 즉, 이중지불 공격을 수행하려면 공격자가 네트워크의 해시 전력의 51% 이외에 토큰을 보유해야 한다. 또한 풀 소유자가 풀에서 수집한 모든 해시파워의 효율성을 최대화하기 위해 충분한 지분을 확보해야 하므로 채굴 풀에게 더 많은 비용이 소요된다.[12]

트레이딩증명

트레이딩증명(PoT, Proof of Trading)은 암호화폐 거래소에서 사용자가 거래한 양에 비례하여 거래소 수수료 수익의 일부를 거래자에게 되돌려주는 트레이딩 채굴에서 사용하는 합의 알고리즘이다. 코인제스트에서 코즈에 최초로 적용한 채굴방식이다. 거래소에서 암호화폐를 거래하면 그 비율에 따라 블록 보상으로 코인을 준다. 따라서 코인 보상을 받기 위해 거래를 하고 거래가 활성화된다.[13] 트레이드 채굴의 시초는 에프코인(F Coin) 토큰이고 그 이후에도 각종 트레이드 채굴 방식을 채택한 토큰이 발행되었지만 몇 가지 문제점이 발견되어 급격한 가격의 하락 이후 투자자들로부터 외면을 받았다. 그 중 가장 큰 문제점으로 여겨지는 점은 총 발행량은 정해진데 비해 이일 채굴량에 제한이 없었다는 것이다. 코즈는 이 문제를 해결하기 위해 일일 채굴량에 제한을 두었다.[14]

소각증명

소각증명(PoB, Proof of Burn) 방식은 코인을 결코 돌아올 수 없는 지갑에 보내서 소각하면, 소각한 코인량에 비례하여 채굴 성공 가능성이 높아지는 방식이다. 지출증명이라고도 한다. 슬림코인(slimcoin)은 이 방식을 사용하는 유일한 암호화폐이다.

소각증명에서는 값비싼 컴퓨터 기기에 돈을 퍼붓는 대신 다시 반환되지 않는 주소로 코인을 전송해 “태운다.” 코인을 결코 돌아올 수 없는 네버랜드에 맡겨두면, 랜덤 선정 과정에 근거한 시스템에서 채굴할 수 있는 평생의 특권을 부여 받는다. 소각증명이 어떻게 이행되느냐에 따라서 채굴자들은 전통 화폐나 비트코인과 같은 대안적 체인의 화폐를 태울 수도 있다. 더 많은 코인을 태울수록 다음 블록에 채굴하도록 선정될 확률은 더 높다. 시간에 걸쳐, 시스템에서의 지분은 쇠퇴해지며 복권에 선정될 확률을 높이기 위해 더 많은 코인을 태우길 결국엔 희망할 것이다. 이는 해시파워를 유지하고자 더욱 신식의 컴퓨터 기기에 지속적으로 투자하는 비트코인의 채굴과정을 모방하고 있다. 소각증명은 작업증명을 대체하는 흥미로운 대안책이지만, 프로토콜은 아직도 불필요하게 자원을 낭비한다. 또 다른 비판은 채굴권이 더 많은 돈을 태울 용의가 있는 사람에게만 간다는 것이다.[15]

두뇌증명

두뇌증명(PoB; Proof of Brain)방식은 암호화폐의 발행을 채굴자나 지분 소유자에게 맡기지 않고, 지적 두뇌 활동을 통해 콘텐츠를 생산하는 사용자와 해당 서비스를 이용하는 참여자들에게 맡기는 합의 알고리즘이다. 돈 버는 SNS로 알려진 스팀잇의 자체 토큰인 스팀(Steem)이 두뇌증명을 사용하고 있다. 스팀잇은 기본적으로 위임지분증명과 더불어 콘텐츠 생산자들에게 더 많은 보상이 돌아갈 수 있도록 한 두뇌증명 방식도 함께 운영하고 있따. 콘텐츠를 작성하고 추천하는 행위에 따라 스팀으로 보상을 해주는 이 방식은 사실상 채굴보다는 보상 알고리즘에 가깝다.[6]

중요도증명

중요도증명(PoI, Proof of Importance)은 블록체인 네트워크에서 더 많은 지분을 가지고 더 많이 거래를 함으로써 더 많은 활동량을 보인 사람에게 더 큰 의사결정 권한을 주는 방식이다.[16] 이 이 방식을 사용하고 있다. 넴에서는 각각의 계정에 넴 경제에 대한 중요도에 관계되는 ‘중요도 점수’를 할당한다. 더 높은 중요도 점수를 가지고 있는 계정이 블록을 채굴할 가능성이 더 높아진다. 때문에 다른 시스템에서 블록을 형성하기 위해서는 매우 비싼 하드웨어나 아주 많은 코인을 필요로 하지만 넴에서는 거래량과 신용이 중요한 요소가 된다. 중요도증명이 설계된 이유는 넴을 사용하는 유저들이 XEM(넴 블록체인의 자산)을 보유하는 것에 그치지 않고 실제로 사용하도록 장려하기 위해서이다.

신뢰성증명

신뢰성증명(PoB, Proof of Believability)은 커뮤니티에 대한 기여도를 고려하여 신뢰성이 높은 그룹을 찾아내고 이를 묶어서 증명에 사용하는 방식이다.[17] 이오스트가 이 방식을 사용하고 있다.

신뢰성증명은 블록체인 생태계에 가장 활발하게 참여한 사람에게 보상을 주는 것이다. 예를 들어 해당 블록체인 기술로 을 열심히 개발했거나, 그 암호화폐 기술로 결제를 많이 한 사람 중 일부를 골라 추첨한다. 뽑힌 검증자는 시스템에 문제가 있는지(해킹, 개인정보 유출 등의 문제) 검증한 후 이오스트의 암호화폐를 받는다. 이를테면 암호화폐, 복권, 청문회를 모두 거쳐야 하는 엄격한 방식이다. 이 네트워크에는 평판개념이 도입돼 있다. 평판과 토큰을 합해서 블록을 생성할 권한을 줄지 결정한다. 평판에는 사용, 거래, 기부 등의 여러 요소가 포함된다. 이 평판이 0으로 돌아가면 처음부터 좋은 일을 다시 해야 한다.[18]

흐름증명

흐름증명(PoF, Proof of Flow)은 더 많은 사용자 트래픽을 가져온 기여자에게 더 큰 보상을 해주는 합의 알고리즘이다. 이는 중국의 요요우(YoYow)가 만들었다.

모든 종류의 미디어 플랫폼, 웹사이트의 가치는 항상 웹사이트의 트래픽과 관련이 있다. 플랫폼은 사용자가 필요로 하는 정보를 전송하고 트래픽은 광고를 가져오며 결국 플랫폼에 이익을 가져다준다. 요요우 플랫폼에서 사용자의 가치는 사용자가 얼마나 효과적인 트래픽을 요요우 플랫폼으로 가져오는지를 토대로 평가할 수 있다. 동시에 요요우는 더 많은 트래픽을 자신들에게 이끄는 유용한 콘텐츠를 제작한 사용자에게 보상을 준다. 또한 글쓴이는 요요우에 액세스한 미디어 플랫폼에 포스팅을 해도 설정된 규정과 독자의 평가를 반영하여 보상을 획득할 수 있다. 포스팅 내용 선별 인원과 포스팅이 진행된 플랫폼도 보상을 획득한다. 즉, 레딧, 트위터 등과 같은 기타 미디어들과 연동하여 요요우에 플러그-인 액세스가 가능하다.[19]

권위증명

권위증명(PoA, Proof of Authority) 방식은 권위 있는 기관에서 조건에 맞는 노드를 증명해 이들 간 합의를 이루는 방식이다. 두나무 블록체인 서비스(DBS)는 권위증명 방식을 사용한다.[20] 권위증명에서는 블록체인에 참여한 멤버 전원에게 네트워크 운영에 참여할 권리를 주고 전원이 해당 권한 위임에 투표를 진행한다. 참여자들이 다른 참여자의 권한 위임에 투표함으로써 모든 멤버가 지속적으로 합의 알고리즘에 참여할 수 있다. 네트워크 관리자는 순차적이고 투명한 투표 진행으로 네트워크에 대한 권한을 바꿔주기만 하면 된다.[21]

저장증명

저장증명(PoS; Proof of Storage)이란 증명자(prover)가 자신의 하드디스크 여유 공간에 데이터를 저장하고, 검증자(verifier)가 그것을 승인 또는 거절하는 방식으로 작동하는 합의 알고리즘이다. 공간증명(Proof of Space)이라고도 한다. 유토큰(YOU token)이 저장증명 방식을 사용하고 있다.

저장증명은 두 가지 단계로 구성된 프로토콜이다. 초기화 단계에서 증명자 A는 데이터의 크기가 N인 데이터 D를 자신의 하드디스크에 저장하고, 검증자 B는 아주 작은 조각의 정보만 가지고 있게 된다. 이후 증명 실행 단계에서 검증자 B는 해당 데이터에 대해 승인 또는 거절할 수 있다.[22] 검증자 B가 해당 데이터에 대해 승인하는 경우, 그 대가로 유토큰이 보상으로 지급된다. 데이터의 소유권을 등록하려면 먼저 해당 디지털 자산이 유효하다는 것을 입증해야 한다. 다음으로 소유권이 소유자의 신원과 함께 확인되어야 한다. 그리고 자산은 의심의 여지가 없어야 한다.

용량증명

용량증명블록체인 노드가 가진 데이터 스토리지 공간의 크기에 비례하여 투표 효력을 계산하는 방식이다. 용량증명의 변형된 형태가 저장증명(Proof of Storage) 또는 공간증명(Proof of Space)이다. 버스트코인(Burstcoin)은 용량증명 방식을 사용하는 유일한 암호화폐이다.

용량증명과 같은 대안적 프로토콜은 대부분 페이-투-플레이 형식을 사용한다. 용량증명도 이와 같은 맥락이다. 하지만 여기선 하드드라이브 공간으로 “페이”한다. 드라이브 용량이 많으면 많을수록 다음 블록채굴하고 블록 보상을 받을 수 있는 확률이 높아진다. 용량증명 시스템에서 채굴하기 전까지는, 알고리즘이 하드드라이브에 저장하는 “plot” 이라 일컫는 대규모 데이터 세트를 생성한다. 더 많은 plot 을 가질수록, 체인의 다음 블록을 찾을 확률이 더 높다. 테라바이트 용량의 하드드라이브 공간에 투자함으로써, 모방된 블록을 만들고 시스템을 포크 할 수 있는 더 높은 확률을 자신에게 부여한다. 하지만 용량증명으로는 악한 사용자를 막을 수 없고 아무런 지분이 없는 문제점을 여전히 가지고 있다. 저장증명과 공간증명이 요량증명의 변형된 형태이다.

경과시간증명

경과시간증명(PoET, Proof of Elapsed Time) 방식은 미국 인텔(Intel)이 개발한 합의 알고리즘이다. 한국의 이든체인(EdenChain)이 경과시간증명 방식을 사용하고 있다.[23] 이 시스템은 작업증명과 유사하게 작동하지만 전기를 훨씬 적게 소모한다. 나아가, 참여자들이 암호화된 퍼즐을 풀게 하는 대신, 알고리즘이 SGX와 같은 TEE를 사용하여 요구되는 작업 없이 블록들이 랜덤으로 당첨되는 형태를 보장한다. 인텔의 접근방식은 TEE를 통해 제공되는 보장된 대기시간에 근거한다. 인텔에 따르면, 경과시간 증명 알고리즘은 수천 개의 노드로 확장되고 SGX를 지원하는 어떠한 인텔 프로세서에도 효율적으로 운영된다. 프로토콜의 한 가지 문제는 인텔을 신뢰하도록 요구하는 것인데 이는 퍼블릭 블록체인으로 인해 제3자에게 신의를 표명하는 것을 피하려고 했던 것에 반하는 것이다.[15]

비잔틴 장애 허용

비잔틴 장애 허용(BFT, Byzantine Fault Tolerance)은 블록체인 합의 알고리즘의 기본이 되는 것으로 PBFT, DBFT 등 여러 가지 변형된 형태를 띠고 있다. 블록체인은 여러 사람들에 의해 네트워크가 관리되고 유지되는데, 이 중에서는 분명히 악의적인 의도를 가지고 네트워크를 파괴하려는 사람도 존재한다. 비잔틴 장애 허용은 이러한 악의적인 노드가 네트워크를 장악하는 것을 방지한다.[24]

비잔틴 장애 허용은 레슬리 램포트와 쇼스틱, 피스가 공저한 1982년 논문에서 언급된 것으로 비잔틴 제국의 여러 부대가 멀리 떨어진 상태에서 성공적으로 공격 계획을 세우는 상황을 가정하고 있다. 비잔틴 장군이 적을 섬멸하려 할 때 사방을 둘러싸 한 번에 덮치는 전략을 세웠다. 이 때, 옆에 있는 부대에게 공격하라는 명령을 전달 시켜야만 성공적으로 작전이 수행될 수 있다. 하지만 만약 세 번째 부대에 배신자가 있어 다음 부대에 명령을 전달하지 않는다면 작전은 물거품으로 돌아가며 실패로 끝나게 된다. 이러한 가정을 블록체인에 적용해보면, 데이터를 올바르게 검증해야 하는 사람이 그렇지 않는다면 가정과 같은 상황이 발생될 수 있다. 이렇듯 악의적인 노드가 네트워크를 장악하는 것을 방지하는 것이 비잔틴 장애 허용 합의 알고리즘의 핵심이다.

프랙티컬 비잔틴 장애 허용

프랙티컬 비잔틴 장애 허용(PBFT, Practical Byzantine Fault Tolerance) 기술은 여러 노드로 구성된 네트워크에서 악의적 공격을 방어하기 위해 만들어졌다.[25] 프랙티컬 비잔틴 장해 허용 합의 알고리즘을 채택한 암호화폐로는 네오, 질리카, 하이퍼레저, R3, ICT, 텐더민트 등이 있다. 프랙티컬 비잔틴 장애 허용은 비잔틴 장애 허용의 동기식 시스템에서만 구현되어 느린 문제점을 해결한 것으로 (n-1)/3개 이하의 노드가 악의적인 노드라면 분산된 네트워크를 보호할 수 있다. 예를 들면, 100개의 노드가 있다고 가정하면 (100-1)/3개의 노드인 33개의 악의적인 노드가 있다고 하더라도 네트워크에 대한 공격을 막아낼 수 있다. 노드의 수가 많아질수록 네트워크 공격으로부터 방어를 잘할 수 있지만, 블록 생성에 필요한 시간이 증가한다.[26]

동영상

각주

  1. 1.0 1.1 1.2 윤해리기자, 〈(코린이 상식백과) 블록체인 합의 알고리즘 A to Z 1편〉, 《데일리토큰》, 2018-10-15
  2. 에이치닥 테크놀로지, 〈에이치닥 : 트랜잭션 혁신 - 블록체인 기반의 사물인터넷 계약과 M2M 트랜잭션 플랫폼〉, 에이치닥 백서, 2017년 11월
  3. 지연작업 증명(DPoW) 설명〉, 《바이낸스아카데미》, 2018-12-08
  4. 블록인프레스, 〈이더리움 지분증명 합의 알고리즘 ‘캐스퍼’, 검토 절차 시작〉, 《블록인프레스》, 2018-04-23
  5. seungjae1012, 〈카르다노(Cardano, ADA) 탐구: 지분 증명(POS)의 한계와 우로보로스(Ouroboros)〉, 《스팀잇》
  6. 6.0 6.1 윤해리기자, 〈(코린이 상식백과) 블록체인 합의 알고리즘 A to Z 2편〉, 《데일리토큰》, 2018-10-22
  7. "Leased Proof of Stake", Waves Platform
  8. Futurepia, 〈FUTUREPIA : 블록체인 기반의 콘텐츠 체인(Content Chain) 소셜네트워크 서비스 플랫폼〉, 퓨처피아 백서, 2018년 07월
  9. 모파스 한글 백서〉, 2018년 6월
  10. FLETA TECH PAPER Update 2018.10.17_v2.0〉, 《플래타 기술백서》, 2018-10-17
  11. 마시미, 〈애스톤 코인, 코린이를 위한 기술백서 도움글〉, 《네이버 블로그》, 2018-06-19
  12. QuarkChain Korea, 〈작업 지분 증명(Proof of Staked Work, PoSW〉, 《네이버 블로그》, 2019-01-14
  13. 코인제스트 공식 홈페이지 - https://www.coinzest.co.kr/app/cxweb/cb/CB1002.jsp
  14. 코인제스트, 〈암호화폐의 다양한 채굴 방식〉, 《네이버 블로그》, 2018-10-26
  15. 15.0 15.1 TokenPost, 〈THEblockchain: 블록체인 합의 프로토콜 기초서〉, 《토큰포스트》, 2017-03-07
  16. 이정훈기자, 〈[이정훈의 암호화폐 읽기<9>채굴량 제한된 비트코인, 작업증명의 대안]〉, 《이데일리》, 2018-02-03
  17. 유병철기자, 〈(기묘한 재테크) 이오스트, 시총 50위권 진입한 플랫폼 코인〉, 《글로벌이코노믹》, 2018-05-09
  18. 이종철기자, 〈믿을만하면 코인준다, 신뢰성 증명 블록체인 플랫폼 IOST 출범〉, 《바이라인네트워크》, 2018-05-09
  19. worud, 〈YOYOW: 중국판 스팀잇, 중국의 새로운 블록체인형 SNS〉, 《스팀잇》
  20. 한수연기자, 〈박재현 두나무 연구소장, “클라우드 블록체인 서비스 내년 출시”〉, 《비블로터》, 2018-06-08
  21. 권승원기자, 〈마이크로소프트, 채굴 없는 POA 이더리움 블록체인 제품 출시〉, 《토큰포스트》, 2018-08-09
  22. Keda Che, 〈Universal Labs White Paper V.1.3 (Draft)〉, 2018-05-25
  23. 이정훈기자, 〈(이정훈의 블록체인 탐방)토큰경제 생태계 만든다...글로벌 플레이어 승부수〉, 《이데일리》, 2018-06-18
  24. 초보자를 위한 블록체인 설명, 〈블록체인의 합의 알고리즘에 대해 알아보자: PoW, PoS, DPoS, BFT〉, 《블록센스》, 2018-07-03
  25. tyami, 〈PBFT(Practical Byzantine Fault Tolerance) 공부해보자〉, 《네이버 블로그》, 2018-05-05
  26. TokenPost, 〈PBFT(Practical Byzantine Fault Tolerance, 실용적 비잔틴 장애 허용)〉, 《토큰포스트》

참고자료

같이 보기


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