본문 바로가기

블록체인 기초

블록체인 합의 알고리즘(Consensus)

블록체인 합의 알고리즘(Consensus)

 

P2P(peer to peer) 네트워크에서 각 노드 간 정보가 도달할 때 시간 차이가 발생하게 되는데, 이때 참여자들이 하나의 결과에 대하여 합의를 얻기 위한 알고리즘이다. 즉, 특정 거래에 대한 연산을 종결하는 것이다. 합의 알고리즘이 중요한 이유는 짧은 시간에도 네트워크 안에서는 수많은 거래가 일어나는데 어느 거래가 진짜이고 가짜인지 검증(종결)을 해야 허위거래나 이중지불 등의 문제를 막을 수 있기 때문이다. 합의 알고리즘이 올바르게 작동하면 데이터 무결성을 보장할 수 있다고 본다.

 

블록체인 기반 서비스, 기술에서 가장 중요한 것은 합의 알고리즘이다.
- AD4th 홍준 대표

 

비트코인의 PoW는 합의 알고리즘 중에 수학/기술적으로 가장 증명이 잘 되어 있고, 데이터 무결성도 갖고 있다. 암호화폐 거래소가 털리거나, 개발자의 실수로 해킹을 당한 적은 있어도 알고리즘 자체의 문제는 없었다. 다만 속도가 매우 느리고 많은 사람이 쓸수록 이 문제는 더 심각해지기 때문에 PoS, DPoS 등 더 발전된 합의 알고리즘이 제시되고 있다. 그러나 PoW 외의 다른 방식은 수학적으로 증명되지 못했기에 계속 개발하는 과정에 있다.

 

 

 

 

블록체인의 합의 알고리즘 종류로는 작업증명(POW: Proof of Work), 지분증명(PoS: Proof-of-Stake), 지분위임증명(DPoS: Delegated-Proof-of-Stake) 등이 있다.

 

작업증명(POW) : 새로 생성된 블록을 블록체인에 추가하는 작업을 완료했음을 증명하는 것

 

지분증명(PoS) : 컴퓨터의 연산능력에 기대지 않고, 신규 코인을 발행할 때 노드가 가진 지분만큼 지급하는 합의 방식

 

지분위임증명(DPoS) : 대표 노드에게 데이터를 검증하는 역할을 위임하는 방식

 

 


데이터 무결성(data integrity) : 오직 허가된 사람만이 정보에 접근할 수 있고 수정할 수 있음을 뜻한다. 즉, 데이터 무결성을 보장한다는 것은 데이터 전송 시 타인의 공격이나 우연한 사고로 인해 해당 데이터가 위변조 되지 않았음을 보증한다는 의미로 볼 수 있다.

예) A가 10,000원을 보냈다. 그런데 B와 C가 A의 10,000원을 받았다고 주장하고 있다. 1명이 보냈는데 2명이 동시에 받았다? 누군가 사기를 치고 있는 것이다. 진짜 받은 사람을 가려내야 한다(AD4th 홍준 대표).