들어보지 못한 합의 알고리즘 6가지: 블록 라티스, 스펙터, 무게증명 합의 알고리즘, 권한증명 알고리즘, 해시그래프, 비잔틴 장애허용 알고리즘이란?

coin4u
5 min readAug 24, 2018

--

백서와 블록체인 뉴스들 혹은 ICO를 진행하는 팀을 통해 접하게 될 때 가장 중요하게 생각해야 될 점은 합의 알고리즘입니다. 합의 알고리즘에 따라 완결성, 확장성, TPS가 달라지기 때문입니다. 트릴레마(탈중앙화, 확장성, 보안성의 문제)를 해결할 수 있는 중요한 열쇠가 됩니다.

현재 블록체인 기술들은 트릴레마를 해결하기 위해 개발자들은 계속해서 여러가지 합의 알고리즘을 제시하고 있는 상황입니다. 그리고 아직까지 들어보지 못한 새로운 6가지의 합의 알고리즘을 살펴봅시다!

6. Proof-of-Authority 권한증명 알고리즘

PoA 네트워크에서 블록들은 확실한 신원이 보장된 계정들에 의해 증명됩니다. 높은 스루풋 (즉, 시간 당 처리하는 데이터의 양)과 높은 확장성을 가지고 있음에도 오직 몇몇의 프로젝트만이 권한증명 알고리즘을 사용합니다.

이렇게 높은 스루풋과 확장성을 가지게 된 이유는 거래내역들은 오직 지정된 계정들에 의해 증명되기 때문에 완전한 탈중앙화가 되어있지 않기 때문입니다. 그렇기 때문에 주로 프라이빗 블록체인에서 사용됩니다.

5. Proof-of-Weight 무게증명 알고리즘

무게 증명 알고리즘은 말이 약간 웃기지만, Algorand 합의 모델에서 파생된 알고리즘입니다. 주요 요점은 PoS처럼 토큰을 가진 사람이 블록의 유효성을 증명하는 것이지만, PoS와의 차이점은 블록의 유효성을 증명할 확률(Probability 그렇게 될 확률)을 높이는 것입니다. 한 마디로, 토큰비율이 그대로 적용되는 것이 아닙니다.

PoWeight system(무게증명 시스템)은 알고리즘을 어디 프로젝트에 적용하느냐에 따라 달라질 수 있습니다. 적용한 프로젝트에 따라 달라집니다. 파일코인의 Proof of Spacetime은 무게증명 알고리즘을 사용하는데, 얼마나의 IPFS 데이터를 저장하느냐에 따라 무게가 달라집니다. 다른 시스템에서는 Proof of Reputation을 사용하기도 합니다.

4. Byzantine Fault Tolerance 비잔틴 장애허용 알고리즘

대부분의 사람들이 실제로 이 합의 알고리즘을 잘 아는 것은 아니지만 이미 많이 익숙해져 있습니다. 스텔라, 리플 그리고 하이퍼레져가 BFT를 사용하는 대표적인 예입니다. BFT가 어느 정도 중앙화되어 있지만 도입하는 이유는 높은 스루풋 (즉, 시간 당 처리하는 데이터의 양)과 적은 비용으로 효율적으로 네트워크를 관리할 수 있기 때문입니다.

3. Hashgraph 해시그래프

해시그래프는 가십 프로토콜로서 리몬 바이어드(Leemon Baird)에 의해 개발되었습니다. 노드들은 다른 노드들과 랜덤으로 자신들의 거래내역 정보를 공유합니다. (DAG와 비슷한 점) 그리하여 이것이 반복되어 모든 노드들은 가십(뒷말을 하는 것처럼 퍼뜨림을 말함)을 통하여 모든 거래장부내역을 가지게 됩니다.

해시그래프는 1초에 250,000건의 거래내역을 처리할 수 있습니다. 하지만, 문제점은 시빌 공격에 취약하다는 것입니다. 그렇기 때문에 해시그래프는 프라이빗 네트워크에 최적화되어 있다고 볼 수 있지만, 높은 확장성으로 곧 퍼블릭 블록체인에도 적용되는 것을 기대하고 있습니다.

2. Block-Lattice 블록 라티스

(Raiblocks 라이블록팀이었던) 나노팀은 블록체인을 약간 틀어 블록라티스라는 것을 개발하였습니다. 각각의 사용자들은 자신만의 체인을 가지게 됩니다. 이

체인은 각각의 사용자들이 정보를 넣을 수 있도록 만들어진 것입니다. 그렇게 해서 모든 사용자들 즉, 모든 노드들은 체인에 존재하는 모든 정보의 복사본을 가지게 됩니다.

각각의 거래내역들은 전송블록과 수신블록으로 나뉘어집니다. 전송블록은 전소자에 체인에서 만들어지고 수신 블록은 수신자의 체인에서 만들어집니다.

하지만, 블록라티스는 Penney-spend 공격에 취약합니다. Penny-spend 공격이란 노드들의 체인 숫자를 부풀려 아주 소액의 금액들을 많은 텅빈 지갑들에 전송하는 것입니다.

1. SPECTRE 스펙터

가장 긴 이름의 합의 알고리즘을 가진 수상자는! 두구두구두구! 바로! Serialization of Proof of Work Events: Confirms Transactions Via Recursive Electrons 입니다. 줄여서는 Spectre라고 부릅니다.

이 합의 알고리즘은 POW와 DAG를 합쳐 확장성의 문제를 해결하고자 하였습니다. 이론적으로 짧은 시간내에 수많은 블록들을 처리할 수 있다고 하지만, 아직까지 이 알고리즘을 사용하는 곳은 아직 없습니다.

스펙터에서는 다수의 부모블록들이 자식블록들의 거래내역의 유효성을 검증함으로 채굴합니다. 다수의 부모블록들이 짧은 시간내에 많은 블록들의 유효성을 검증하므로 높은 효율성을 가집니다. PoW에서는 가장 긴 체인이 블록으로 채택되지만, 스펙터에서는 가장 많은 자식블록들을 가진 체인이 선택됩니다.

DAG라는 합의 알고리즘이 더 궁금하다면: https://blog.naver.com/sobly_460/221313706158

참고사이트들

https://nulltx.com/6-blockchain-consensus-algorithms-you-may-have-never-heard-of/
https://hackernoon.com/a-hitchhikers-guide-to-consensus-algorithms-d81aae3eb0e3

--

--