블록체인 합의 알고리즘이란 무엇인가요?

13.12.2018

uploads/Im5XZwPxMs5lhlZ2yT0N.png

블록체인 합의 알고리즘이란?

암호 화폐에서 합의 알고리즘은 모든 블록체인 네트워크의 핵심적인 요소로서, 분산화된 시스템의 무결성과 보안을 유지시키는 역할을 합니다. 첫 번째 합의 알고리즘이었던 작업 증명(PoW, Proof of Work)은 사토시 나카모토에 의해 설계되었으며, 비잔티움 장애를 극복하기 위한 방안으로 비트코인에 적용 됐습니다.


합의 알고리즘

합의 알고리즘은 블록체인 네트워크에 합의를 달성하는 매커니즘이라 정의할 수 있습니다. 퍼블릭(탈중앙화된) 블록체인은 분산화된 시스템으로 구성되어 있으며, 중앙 권위체에 의존하지 않기에, 분산화된 노드는 트랜잭션의 유효성에 합의가 필요합니다. 이곳이 바로 합의 알고리즘이 시작되는 지점입니다. 합의 알고리즘은 프로토콜 규칙이 준수되고 있는지 확인하며, 모든 트랜잭션이 신뢰할 수 있는 방식으로 진행되는 것을 보장해, 코인이 한번만 사용되도록 합니다.  

다양한 합의 알고리즘을 본격적으로 살펴보기 전에, 알고리즘과 프로토콜의 차이점을 이해하는 것은 중요합니다.


합의 알고리즘 vs 프로토콜

알고리즘과 프로토콜은 흔히 바꿔서 사용되기도 하지만, 완전히 같은 것은 아닙니다. 간단히 말하자면, 프로토콜은 블록체인의 기본 규칙이며, 알고리즘은 이러한 규칙을 따르는 매커니즘으로 정의해볼 수 있습니다.

금융 시스템에서 광범위하게 사용되고 있는 것 외에도, 블록체인 기술은 다양한 사업에 적용될 수 있고, 다른 용도에도 적합할 수 있습니다. 그러나 어떤 상황에서든지, 블록체인 네트워크는 시스템 작동 방식을 결정하는 프로토콜 위에 구축될 것이며, 따라서 시스템의 모든 요소와 네트워크 참여자들은 기본 프로토콜 규칙을 따라야 할 것입니다.

프로토콜이 규칙이 무엇인지 규정한다면, 알고리즘은 이러한 규칙을 준수하고, 원하는 결과물을 도출해내기 위해 어떠한 절차를 거쳐야 하는지 시스템에 지시합니다. 예를 들자면, 블록체인 합의 알고리즘은 트랜잭션과 블록의 유효성을 결정하는 것입니다. 따라서, 비트코인과 이더리움은 프로토콜이며, 작업 증명과 지분 증명(PoS, Proof of Stake)는 이들의 합의 알고리즘입니다.

보다 자세히 설명하자면, 비트코인 프로토콜은 노드가 상호 작용하는 방법과 데이터가 전송되는 방법, 성공적인 블록 검증을 위한 필요 조건들을 정의한다는 점을 고려해야 합니다. 반면, 합의 알고리즘은 잔고와 서명을 검증하고, 트랜잭션을 승인하고, 실제로 블록의 유효성 검사를 실시하며, 이 모든 것은 네트워크 합의에 달려있습니다.


합의 알고리즘의 종류

몇 가지 유형의 합의 알고리즘이 있습니다. 가장 일반적인 것은 작업 증명과 지분 증명입니다. 보안성과 기능성, 확장성의 균형을 고려할 때, 각기 장단점을 갖고 있습니다.


작업 증명(PoW, Proof of Work)

작업 증명은 처음으로 만들어진 합의 알고리즘입니다. 이는 비트코인과 많은 암호 화폐에 적용되었습니다. 작업 증명 알고리즘은 마이닝 과정에 필수적인 부분입니다.

작업 증명 마이닝은 수많은 해싱 시도를 포함하므로, 더 많은 연산 능력을 가질 수록 초당 더 많은 시도를 할 수 있습니다. 즉, 높은 해시 레이트를 가진 마이너일수록 다음 블록(블록 해시)에 대한 유효한 해결책을 찾을 가능성이 더 높습니다. 작업 증명 합의 알고리즘은 분산화된 네트워크 노드가 합의를 달성할 경우에만 새로운 블록의 트랜잭션을 검증하고 이를 블록체인에 추가할 수 있도록 하며, 마이너에 의해 제공된 블록 해시가 유효한 작업 증명이라는 점에 동의하게 됩니다.


지분 증명(PoS, Proof of Stake)

지분 증명 합의 알고리즘은 2011년, 작업 증명의 대안으로 개발되었습니다. 지분 증명은 자업 증명과 유사한 목표를 공유하지만, 몇 가지 근본적인 차이와 특이점이 있습니다. 특별히 새 블록을 검증하는 데 있어서 말입니다.

간단히 말해서 지분 증명 합의 알고리즘은 작업 증명의 마이닝 과정을 참여자의 스테이크에 따라 블록을 검증하는 것으로 대체합니다. 각 블록의 유효성 검사자(forger 혹은 minter라고도 함)는 할당된 연산 능력이 아닌 암호 화폐에 대한 투자에 의해 결정됩니다. 각 지분 증명 시스템은 서로 다른 방식으로 알고리즘을 구현할 수 있지만, 일반적으로 블록체인은 노드의 부유한 정도와 코인 나이(얼마나 오래 코인이 묶여 있었는지 혹은 스테이크 되었는지)를 고려하는 임의 선출 방식과 무작위 요소를 통해 보안을 확보합니다.

이더리움 블록체인은 현재 작업 증명 알고리즘에 기반하고 있지만, 네트워크 확장성을 높이기 위해 작업 증명을 지분 증명으로 교체하는 캐스터(Casper) 프로토콜이 출시될 것입니다.


합의 알고리즘이 암호 화폐에 중요한 이유

앞서 언급했듯이, 합의 알고리즘은 암호 화폐 네트워크의 무결성과 보안을 유지하기 위해 중요합니다. 합의 알고리즘은 분산화된 노드들이 어떤 버전의 블록체인이 진짜 버전인지 합의할 수 있게 합니다. 디지털 경제 시스템이 제대로 작동하기 위해서는, 현 상태의 블록체인에 합의하는 것이 필수적입니다.

작업 증명 합의 알고리즘은 비잔티움 장군 문제를 해결하는 최고의 해결책으로 간주되며, 이는 비트코인을 비잔티움 장애 허용 시스템으로 탄생시켰습니다. 이는 비트코인 블록체인이 51% 공격(또는 다수의 공격)과 같은 공격에 매우 강력함을 뜻합니다. 네트워크가 탈중앙화되어 있을 뿐만 아니라, 작업 증명 알고리즘을 사용하기 때문입니다. 마이닝 과정에 드는 높은 비용은 마이너들이 네트워크를 방해하기 위해 자신들의 자원을 투자하는 것을 무척 어렵게 만듭니다.

Loading