기획·칼럼

블록체인의 원동력 ‘합의 알고리즘’

[ICT 레이더] 모든 블록체인이 전력을 낭비하지는 않아

블록체인 기술 수준이 안정기에 접어들고 있다. 여러 분야의 서비스에 안정적으로 제공되고 있기 때문이다. 이에 인증, 이력, 결제 등 분야에서 블록체인 기반 서비스가 상용화되고 있다.

그럼 블록체인의 어떤 요소들이 기술적 안정성에 기여하는 것일까? 인공지능(AI) 분야에서 해답을 찾을 수 있다.

2016년 AI가 주목받는 해로 볼 수 있는데, 당시 AI의 한계 영역인 직관을 넘을 수 있음을 바둑 분야로 입증했다. 이처럼 AI가 발전할 수 있었던 배경에는 ‘알고리즘 방식의 변화’가 있었기 때문이다. 2010년 이전 AI는 주로 규칙에 의해서 구현된 방식으로 동작됐다. 그러나 이후에는 스스로 학습해 구현되는 방식인 ‘기계학습’으로 바뀌었다.

이러한 사실은 이미지 인식률에서 확인할 수 있다. 이미지넷(ImageNet)은 스탠퍼드대에서 매년 개최하는 AI의 이미지 인식 경진대회이다. 2011년까지만 해도 경진 대회 우승 AI의 인식률은 크게 변화가 없었고, 80%를 넘기지 못했다. 이후 기계학습을 도입하면서 인식률은 크게 향상되었는데, 2012년 84.79%에서 2017년 97.85%까지 향상됐다.

AI의 급진적인 발전에는 알고리즘 진화가 있었던 셈이다. 블록체인도 이와 다르지 않다. AI는 데이터와 기계학습으로 구분할 수 있다면, 블록체인은 분산형 원장과 합의 알고리즘으로 구분할 수 있다.

기존 시스템은 작업을 중앙에서 처리하는 방식이다. 반면 블록체인은 데이터를 참여자에게 투명하게 공유하고 합의 방식으로 처리한다. 참고로 블록체인은 기존과 달리 여러 참여자가 함께 처리하기 때문에 ‘탈중앙’ 특성이 있다.

탈중앙 방식으로 이뤄지는 블록체인 ⓒNeedpix

블록체인은 어떻게 합의하느냐에 따라 기술 수준이 달라진다. 합의 방식을 결정하는 알고리즘에 따라 성능, 보안성, 형평성 등이 달라진다. AI가 어떤 방식으로 학습하냐에 따라 기술 수준이 달라지듯이 말이다.

결국 합의 알고리즘이 블록체인을 구성하는 주요 기술로 볼 수 있다. 작년 대학원에서 합의 알고리즘 수업을 진행할 때, 대학원 학생을 대상으로 합의 알고리즘 중요성에 관해 설문조사를 한 적이 있다. 80% 이상이 중요 분야라고 응답했다.

이중지불 문제 해결을 위해 등장해

앞의 내용을 보충해 설명하면, 블록체인에서는 데이터를 어떻게 공유하고 합의를 어떻게 이룰지에 관한 것이 주요 연구 주제이다. 합의 알고리즘 연구가 중요하다는 뜻이다.

예를 들어 비트코인은 블록체인 방식을 처음으로 사용했다. 이유는 기존 화폐와 다른 탈중앙 화폐를 목표로 했기 때문이다. 따라서 비트코인은 블록체인의 분산형 원장을 활용해 거래 이력을 공유했다. 그리고 스스로 거래 이력을 검증할 기회를 제공했다.

그런데 이러한 설계 방식에는 커다란 문제점이 있다. 그건 바로 ‘이중지불 문제’ 발생가능성이다. 비트코인 방식은 참여자가 직접 거래 이력을 가지고 검증하고 주변 참여자에게 전파하는 과정을 거친다. 이때, 거래자는 지불 승인되지 않은 비트코인을 가지고 중복으로 거래를 할 수 있다. 예를 들어, 잔고에 100만원 밖에 없는 사람이 은행의 느린 처리 과정을 악용해 100만원짜리 물품을 2번 구매할 수 있다. 승인되지 않은 거래는 잔고 100만원에서 빠져나간 것이 아니기 때문이다.

그러나 은행에서는 이러한 문제가 발생하지 않는다. 중앙에서 독자적으로 빠르게 처리가 가능하기 때문이다. 그런데 비트코인에서는 불가능하다. 승인된 거리 이력을 주변 참여자에게 공유해야 한다. 따라서 시간이 오래 걸린다.

중복처리 문제도 있다. 여러 참여자가 거래 승인에 참여할 수 있기에 발생하는 문제이다. 가령, A와 B 참여자가 같은 거래 이력을 검증하는 문제가 발생할 수 있다. 혹은 이중지불 문제에 관해 상반된 거래 이력을 검증하는 충돌 문제가 발생할 수 있다.

결국, 비트코인에서는 어떤 참여자의 검증 내용을 채택할지에 관한 문제가 발생한다. 이러한 이유로 등장한 것이 바로 합의 알고리즘이다. 합의 알고리즘은 어떤 참여자의 검증 내용을 채택할지에 관한 구조가 담겨 있다. 그리고 이러한 구조에 따라 블록체인 기술 수준이 달라진다.

합의 과정이 다양한 방식으로 이뤄져

대부분 사람이 오해하는 것이 있다. 블록체인은 무조건 전력 사용을 수반하는 것에 관한 부분이다. 이는 비트코인 때문에 생긴 오해로 보인다. 비트코인 창시자는 합의 방식으로 해시레이트(Hashrate)를 채택했기 때문이다.

해시레이트는 컴퓨팅 파워로 문제를 푸는 조건을 주는 기술이다. 비트코인에서는 문제를 푸는 조건을 주어, 가장 빠르게 푸는 사람에게 본인의 거래 검증이 선정되도록 한다. 이러한 합의 방식을 작업증명알고리즘(PoW)이라고 부른다.

일부 전문가는 PoW를 해시레이트로 오해하는 경우가 있다. 이는 잘못된 생각이다. 해시레이트 등장 목적은 대량 스팸 메일 방지에서 출발했다. 대량으로 스팸 메일을 보내는 발송인에게 문제를 푸는 조건과 같은 비용을 수반하게 하여 이를 방지하고자 하는 것이다.

합의 방식은 다양한데, 지분 기반의 합의 방식도 있다. 이를 지분증명알고리즘(PoS)이라고 부른다. PoS는 지분이 많은 참여자가 거래 검증에 선정될 확률을 많이 주는 알고리즘이다. PoS 등장 배경은 2가지이다. 첫째는 가상자원 때문에 실제 자원을 낭비하는 PoW를 대체하기 위함이다. 둘째는 지분을 많이 보유한 참여자일수록 해당 블록체인과 이해관계가 높기 때문에 좋은 방향으로 거래를 검증할 것이라는 가정 때문이다.

그러나 PoS에는 승자독식의 문제가 있다. 지분을 많이 보유한 사람의 위주로 돌아갈 것이라는 문제가 제기된 것이다. 그래서 등장한 것이 지분을 위임해 검증에 참여하는 ‘위임지분증명알고리즘(DPoS)’가 등장했다.

투표방식도 등장했다. 앞서 소개한 합의 알고리즘은 선정된 검증자가 주변 참여자에게 이를 공유하는 방식이었다. 그런데 문제가 있다. 전파 속도 지연으로 또 다른 검증 내용이 선정될 수 있다. 이를 포크(Fork)라고 부른다. 참고로 포크는 수저에서 사용되는 의미도 있지만, 양 갈래라는 뜻도 있다. 물론, 이 또한 합의 방식으로 해결하게 고안돼 있다. 그러나 이러한 과정을 거치면 승인받았던 거래 과정이 취소되는 문제가 발생한다.

양갈래로 나뉠 수 있는 블록체인 ⓒPublic Domain Picture

따라서 투표방식은 전체 검증자가 일정 이상 참여하고 승인할 때까지 검증 내용을 선정하지 않는 것이다. 이를 비잔틴장애허용(BFT) 알고리즘이라고 부른다. 장점은 확실하게 안정적이다. 단점은 시간이 무한정으로 늘어날 수 있다. 검증자의 일정 비율이 참여할 때까지 대기해야 하기 때문이다. 그래서 해당 알고리즘은 소수 검증자가 있을 때 조건으로 구현된다.

(2824)

태그(Tag)

전체 댓글 (0)

과학백과사전