본문 바로가기

블록체인 게임 개발기

간단한 블록체인 중요 개념 2편 "합의 알고리즘"

합의 알고리즘


1편의 채굴을 이해 하셨다면 다음에 잡아야 할 개념은 합의 알고리즘입니다.


블록체인은 안전한 거래를 할 수 있는 시스템입니다.


각각의 거래를 보장 받기 위해서는 누군가가 인증을 해주어야 하지요.


우리가 부동산 중계업소를 이용해서 주택 거래를 하는 것 처럼 말입니다.


안전한 거래를 위해서는 제 3자가 필요합니다.



블록체인은 이런 제 3자가 필요 없는 시스템을 만들어 냈습니다.


바로 이 시스템이 합의 알고리즘입니다.


내가 거래를 하게 되면 블록에 내 거래 내역이 입력이 되고 


그 내용은 P2P 네트워크로 수 많은 사람들에게 공유가 됩니다.


이때 블록에는 믿을 수 있는 정보가 들어가야겠지요


이것을 결정 하는 과정을 합의 알고리즘이라고 합니다.



이 합의 알고리즘이 얼마나 믿을 수 있고 얼마나 빠르냐가 


블록체인의 안정성과 처리 속도를 결정해주기 때문에


수 많은 블록체인들이 자신들 만의 합의 알고리즘을 개발 해서


자신들 만의 특징으로 이야기를 하는 것입니다.




비트코인은 POW 라는 합의 알고리즘을 사용합니다.


일을 가장 먼저 한 사람이 블록을 생성 하는 방식이지요.



좀더 쉽게 설명을 하면


내가 철수에게 1비트코인을 송금 했다고


블록체인 네트워크에 올리게 되면


수 많은 채굴자들이 내 송금 내용을 보유한 블록 생성을 시도 합니다.



그 중 가장 빠르게 블록을 생성한 채굴자가 블록 생성에 성공 하게 되고 


거기에 따른 보상을 받게 됩니다.



하지만 한번의 블록 생성으로는 이 블록의 사실 여부를 100% 확신 할 수가 없습니다.


그래서 비트코인은 7번의 블록이 생성이 되어야 이 정보는 100% 신뢰 할 수 있다고 


믿을 수 있습니다.


7번의 블록이 생성 되는 과정에서 합의 과정을 통해 블록데이타가 정확 한지를 검증하는 


시스템입니다.



이런 방식이다 보니 비트코인은 확정을 받기 까지 매우 많은 시간이 걸리는 문제가 발생 합니다.


그래서 실생활에 사용되기에 부적합한 상황이 만들어 지지요.


커피를 비트코인으로 한잔 샀는데 그 거래에 대한 확정을 한 시간 뒤에 받을 수 있다면


말이 안되겠지요.



그 이후 POS, DPos 등 수 많은 합의 알고리즘이 발표가 되고


이것을 어떻게 구현 하느냐가 수 많은 블록체인의 특징이 됩니다.



최근에 발표되는 블록체인은 엄청난 속도가 난다 라고 이야기 하는 것들은


대부분 이 합의 알고리즘을 어떻게 만들었느냐에 따라 결정 된다고 생각 하시면 됩니다.