본문 바로가기

지식들/조각지식

[기술] 블록체인과 합의 알고리즘의 유형

블록체인의 유형

 

① 시스템 사용자의 관점에서

1) 개방형 블록체인 : 일반에 공개되어 누구나 접근하여 사용할 수 있는 블록체인 시스템.

 - 일반적으로 암호화폐 지갑을 생성하고 나면 바로 사용할 수 있다.

2) 전용 블록체인 : 사용 권한이 있는 제한된 사용자만 사용할 수 있는 블록체인 시스템.

 - 제한된 사람만 사용할 수 있다. 예를 들어 특정 기업 소속 직원만 사용할 수 있는 등.

 

② 사용자와 운영자 관점을 구분하지 않고 시스템의 사용/운영을 위한 허가 유무에 따라

 1) 허가형 블록체인 : 허가가 있어야만 사용하거나 운영에 참여할 수 있는 블록체인 시스템.

 - 블록체인 시스템을 사용하거나 노드(Node)로 참여할 때 허가가 필요한 시스템.

 사용자 관점의 허가형이 있고(특정 회사에서 사용하는 하이퍼레저), 운영자 관점의 허가형이 있다. (리플, R3)

 2) 비허가형 블록체인 : 허가 없이 사용하거나 운영에 참여할 수 있는 블록체인 시스템.

 - 블록체인 시스템을 사용하거나 노드로 참여할 때 허가 필요없이 누구나 가능하다. (비트코인, 이더리움)

 

블록체인의 사용과 운영

 블록체인의 사용 : 블록체인 외부에서 블록체인이 제공하는 서비스(예 : 송금 서비스)를 이용하는 것.

 블록체인의 운영 : 블록체인 시스템에 노드로 참여하여 합의 알고리즘에 따라 정보 검증·합의·저장·배포·유지하는 것.

 

서비스형 블록체인?

 블록체인 기술은 이더리움(Ethereum), 이오스(EOS), 트론(Tron) 등 블록체인 플랫폼마다 사용하는 프로토콜, 인터페이스, 블록사이즈 등이 달라 환경 설정이나 스마트 계약, 분산응용(DApp) 서비스 운영 등에 대한 사항들이 모두 달다르게 개발되어야 하는 어려움이 있다.

 서비스형 블록체인(BaaS, Blockchain as a Service)은 웹페이지 설정을 통해 특정 블록체인 플랫폼 개발 환경을 자동으로 생성·설정해주고, 편리한 스마트 계약 코드 개발과 시험 환경을 지원함으로써 이러한 문제를 해결한다. 다시 말해, 서비스형 블록체인은 블록체인 플랫폼별로 구성이 다른 블록체인 기술을 보다 편리하게 활용할 수 있도록 하는 솔루션(Solution)을 클라우드 기반으로 제공하는 서비스를 말한다. IBM, MS, AWS에서 자사 클라우드 플랫폼 기반 BaaS 서비스를 제공하고 있다.

 

 


합의 알고리즘 유형인 PoW와 PoS의 시각적 비교.

 


 

합의 알고리즘의 유형

 

① 작업증명 (PoW, Proof of Work)

 1) 새로운 블록을 블록체인에 추가하는 작업을 완료했음을 증명하는 합의 알고리즘.

 2) 블록체인에서 거래 기록 정보를 무작위 특성을 가진 논스(Nonce)값과 해시(Hash) 알고리즘을 적용시켜 설정된 난이도를 충족하는 해시값을 도출하는 방식을 말한다. 블록 생성자(채굴자, 검증자)들이 컴퓨터 연산을 통해 블록체인의 블록 헤더에 제시된 난이도 조건을 만족하는 블록 해시값을 경쟁을 통해 찾으면 새로운 블록을 추가하는 작업이 완료되고 보상을 받는다.

  3) 장점 : 탈중앙화에 적합하다. 가치의 보전. 자원(시간, 채굴 하드웨어, 전기)을 소모하여 찾아냈음이 네트워크 참여자 과반수에 의해 이미 증명됐으므로 해당 코인을 사용하고자 하는 사람들에게는 최소한의 내재 가치를 지님.

 4) 단점 : 컴퓨터 성능이 발달함에 따라 난이도 조건이 높아지며 컴퓨팅 파워 낭비, 에너지 소모가 심해진다. 거래량/거래 속도 제한. 비트코인을 송금하고 나서 컨펌하기까지는 수수료를 얼마나 지불하나에 따라 다르지만 보통 수분에서 수십 분씩 걸린다. 실제 화폐로서 사용되기 위해선 넘어야 할 과제.

 5) 비트코인(Bitcoin)이 대표적이다.

 

② 지분증명 (PoS, Proof of Stake)

 1) 암호화폐를 보유한 지분율에 비례하여 의사결정 권한을 주는 합의 알고리즘. 노드가 보유한 자산을 기준으로 권한을 분배하고 합의하고 보상을 분배한다. (주주총회의 의사결정과 비슷하다.) 또한 신규 코인을 발행할 때 지분의 비율에 따라 나눠 지급하는 방식이다. (채굴이 없음.) 랜덤 추첨 방식을 사용하며, 이는 지분이 클수록 확률이 올라간다. 일반인들은 마이닝 풀과 유사한 개념인 스테이크 풀에 코인을 위탁해서 추첨에 참여한다.

 2) 각각의 사용자가 플랫폼에 디파짓(Deposit)하고 있는 지분의 양을 고려하는 알고리즘에 의해 새로운 블록의 검증자를 결정하고, 각 검증자는 다음 n개의 블록의 유효성을 증명할 것을 약속하며 특정 양의 네이티브 암호화폐를 락업하고, 그 다음 n개의 블록이 성공적으로 추가되면 검증자는 그들이 디파짓한 양의 네이티브 암호화폐에 비례하는 수수료에 해당하는 보상을 지급받게 되는 방식이다. 만약 블록 검증에서 실수를 저지르게 되면 그들이 약속했던 네이티브 암호화폐는 사라지게 된다.

 3) 각 노드마다 식별자(ID)를 만들어 합의 시 지분의 양을 계산하는 데 활용한다. 

 4) 많은 지분을 가진 사람이 더 높은 확률로 더 짧은 시간 안에 블록을 생성할 권한을 가지게 된다. 

 5) 에이다(ADA), 큐텀(QTUM), 피어코인(Peercoin) 등이 있다.

 

③ 위임지분증명(DPoS, Delegated Proof of Stake)

 1) 암호화폐 소유자들이 각자의 지분율에 비례한 투표를 해서 자신을 대신하는 대표 노드를 선정하고, 이 대표 노드들이 합의하여 의사결정을 내리는 합의 알고리즘. (대의 민주주의와 유사, '토큰 민주주의' 별명)

 2) 대표 노드의 수는 블록체인 플랫폼의 정책에 따라 달라질 수 있으며 이미 선정된 대표 노드라고 하더라도 올바른 의사결정을 하지 않으면 언제든 바뀔 수 있다.

 3) 소수의 대표 노드들에게만 거래 정보 승인을 받기 때문에 PoW, PoS에 비하여 처리 성능이 크게 개선됨. 예로 PoW 기반의 이더리움은 평균 20 TPS를 처리하는 반면 DPoS 기반의 이오스는 3,000 TPS 이상을 처리.

 4) 이오스(EOS), 비트셰어(Bitshares), 스팀(Steem), 아크(Ark), 리스크(Lisk) 등이 있다.

 

④ 중요도증명(POI, Proof of Importance)

 1) 암호화폐 네트워크에서 활동한 기여도가 클수록 많은 보상을 받는 방식이다. POS처럼 지분이 높은 참여자에게도 보상을 주지만, 그 밖에도 얼마나 많은 참여자와 거래를 했는지 등 활동량이 많을수록 큰 보상을 받게 된다.

 2) 넴(NEM) 등이 있다.

 

⑤ 경과시간증명(PoET, Proof of Elapsed Time)

 1) 합의 노드들이 각각 무작위 변수를 샘플링하고, 해당 샘플에서 무작위로 제시한 시간동안을 기다리며, 이때 무작위 샘플링을 통해 가장 적은 경과 시간을 보낸 노드가 블록의 생성자로 선정되는 방식이다.

 2) 장점 : 무작위 샘플와 무작위 시간에 의해 생성자가 정해지므로 공정하고 검증이 빨라 신속하며 보안성이 높다.

 3) 단점 : Intel 사의 SGX(Software Guard Extensions)라는 보안 명령 코드가 보안 기능을 갖춘 메모리의 실행 영역인 Enclave에서 실행되는 행위를 기반으로 하기 때문에 특정 회사의 기술에 의존하게 된다.

 4) 비잔틴 장군 문제(Byzantine Generals Problem)에 대한 해결책을 제시하는 방법이다.

 5) 하이퍼레저 소투스(Hyperledger Sawtooth), 에덴체인(EdenChain) 등이 있다.

 

⑥ 권한증명 (PoA, Proof of Authority)

 1) 미리 정해진 규칙에 따라서 자동으로 검증자가 선정되는데, 공증된 자격이나 증명된 개인 신원 등의 개인정보를 제출하고, 프로토콜은 실제로 개인의 신용을 점검함으로써 신원 증명을 하며, 검증자로 선정된 개인은 동일한 신원 검증 절차를 마친 검증자 그룹에 속하며, 검증자 그룹은 추가될 블록에 대한 주요 투표권을 가지게 되는 방식이다. 

 

⑦ 비잔틴장애허용(Byzantine Fault Tolerance)

 1) 장애가 있더라도 전체의 3분의 1을 넘지 않는다면 시스템이 정상 작동하도록 허용하는 합의 알고리즘.

 2) 일부 노드가 고장나거나 악의적으로 행동하더라도 계속 작동이 가능하도록 만든 시스템 설계.

 3) 사실 별도 유형의 합의 알고리즘이라기보단 PoW나 PoS 등 '합의 알고리즘'이 이 비잔틴장애허용 원리를 이용한다고 보면 된다.

 4) 두 장군 문제(Two Generals Problem)를 일반화한 문제인 비잔티움 장군 문제(Byzantine Generals Problem)에서 파생된 장애 허용 분야 연구의 한 갈래를 말한다. 

 5) 적군의 도시를 공격하려는 비잔티움 제국군의 여러 부대가 지리적으로 떨어진 상태에서 각 부대의 장군들이 (중간에 잡힐지도 모르는) 전령을 통해 교신하면서 공격 계획을 함께 세우는 상황을 가정하고 있다.

 보장해야 하는 것 : ⓐ 모든 충직한 장군들은, 같은 정보를 획득해야 한다. ⓑ 만약 n번째 장군이 충직하다면, n번째 장군이 보낸 값은 충직한 장군들한테 같게 보내져야 한다.

 6) 계획이 합리적인지도 판단하면 좋으나 이는 불가능하므로 포기하고 오직 다수의 합의를 끌어내는데 초점.

 

 ⑧ 기타 등등

 


<요약>

 

ⓐ 개방형 블록체인은 누구나 사용할 수 있다.

ⓑ 전용 블록체인은 제한된 사용자만 사용할 수 있다.

ⓒ 허가형 블록체인은 허가가 있어야 사용 및 운영이 가능하다.

ⓓ 비허가형 블록체인은 허가 없이 사용 및 운영이 가능하다.

 

ⓔ PoW는 자원을 소모하여 새로운 블록을 추가하는 작업을 완료했음을 증명하는 알고리즘이다.

ⓕ PoS는 지분율에 비례하여 의사결정 권한을 주는 알고리즘이다.

ⓖ DPoS는 지분율에 비례한 투표로 대표 노드를 선정하고 이들이 의사결정을 내리는 알고리즘이다.

ⓗ POI는 지분과 활동량을 고려한 알고리즘이다.

ⓘ PoET는 무작위로 제시된 시간 중 가장 적은 경과 시간을 보낸 노드가 블록의 생성자로 선정되는 알고리즘이다.

ⓙ PoA는 공증된 자격이나 증명된 개인 신원 등 개인 정보를 제출하여 선정된 검증자가 투표권을 가지는 알고리즘이다.

ⓚ BFT는 알고리즘의 한 종류라기보다 '비잔티움 장군 문제'를 풀기 위한 원리를 말하고 합의 알고리즘이 이를 이용한다.

 

 


 

728x90