[테크]PoW? PoS? PBFT? 대세는 '하이브리드 알고리즘'
이더리움의 창시자인 비탈린 부테릭은 최근 인터뷰에서 응용기술이 2019년에 다시 올 것으로 예상되는 암호화폐 붐을 이끌 것이라고 밝힌 바 있습니다. 작년부터 시작된 ICO 열풍이 사그라들고 거래량도 감소하면서 블록체인 업계가 보릿고개에 시달리고 있지만 한편으로는 이를 계기로 좀더 유용하고 의미있는 기술을 개발하자는 움직임에도 힘이 실리고 있습니다. 디스트리트는 블로코가 추진중인 기업용 블록체인 프로젝트 아르고와 함께 2019년 주목할 블록체인 기술 톱10을 선정해 분석하는 기획 연재를 시작합니다. 이번 기획이 블록체인과 암호화폐 업계의 뱃길을 비추는 작은 등대가 되기를 소망합니다. <편집자 주>“블록체인의 합의 알고리즘이 뚫려 악의적인 노드가 네트워크를 장악하면 무슨 일이라도 벌어질 수 있다. 비정상적인 브랜치를 만들고 이중지불 공격을 가해 계좌를 털거나 블록체인의 채굴보상을 바꿔 자금 탈취도 가능하다” 우성재 아르고 수석연구원은 블록체인의 합의 알고리즘의 중요성을 강조하며 이같이 말했다. 합의 알고리즘은 블록체인에서 블록의 생성 속도를 결정짓고 안정성을 담보할 엔진에 해당한다. 속도와 안전성을 모두 동시에 잡도록 합의 알고리즘을 설계하고 개발하는 것은 매우 어려운 작업이다. 수많은 블록체인 엔지니어들이 합의 알고리즘과 관련해 발생하는 대표적인 문제인 이중지불을 해결하기 위해 개선책을 끊임없이 내놓고 있다. 블록체인의 녹슬지 않는 심장을 찾는 시도는 지금도 현재 진행중이다.블록체인에서 합의와 채굴이란블록체인의 합의에는 작업증명(PoW), 지분증명(PoS), 위임된지분증명(dPoS), 비잔틴장애허용(BFT) 등 다양한 이론과 알고리즘이 존재한다. 두 가지 이상의 알고리즘이 한꺼번에 적용된 하이브리드 알고리즘 방식도 최근 유행처럼 널리 쓰인다. 그러나 합의 알고리즘을 알기 전에 짚고 넘어가야 할 것들이 있다. 바로 합의와 채굴의 개념이다.합의는 블록체인에서 트랜잭션과 블록의 처리 순서를 결정하는 방식을 말한다. 블록체인에서는 사용자가 거래를 요청했을 때 네트워크의 대기열에 실제로 순서대로 포함되느냐가 핵심 관건이다. 중앙의 통제를 받지 않는 네트워크에서는 비정상행위가 넘쳐나고 지연이 발생할 가능성이 높기 때문이다. 거래의 정렬 순서가 뒤엉킬 경우 전자 데이터인 코인 사본과 코인 원본의 구별이 불가능해지고 이중지불 혹은 송금이 실행되지 않는 문제가 발생할 수 있다.하지만 거래의 정렬작업은 여간 귀찮은 작업이 아닐 수 없다. 이는 기존 중앙 시스템이 하던 일이지만 중앙 시스템이 없는 블록체인에서는 누군가가 십자가를 메고 이 작업을 대신해야 한다. 하지만 아무도 고난을 짊어지고 싶어하지 않기에 블록체인은 보상과 같은 경제적인 유인책을 제공한다. 이에 따라 거래를 정렬하고 진행시키며 코인을 획득하는 일련의 과정을 채굴이라고 부른다.비트코인에서 채굴은 최근 10분간 전세계적으로 발생한 모든 거래를 줄세우고 암호화해 블록에 저장하는 과정이다. 거래를 검증하고 마지막 단계에 도달해 블록해시를 맞추는 골든벨 문제를 풀면 블록이 비밀의 실로 밀봉되고 문제를 제일 먼저 푼 사람은 비트코인을 받는다. 이 과정에는 채굴에 특화된 주문형반도체(ASIC)도 많이 쓰인다. 최초의 블록체인 '비트코인' 합의 방식 최초의 블록체인인 비트코인에서는 서로 다른 두 체인이 자신이 생성한 블록이 진실됨을 주장할 때 누가 긴 지 짧은 지 겨루는 방식으로 합의를 도출한다. 체인은 블록이 두 개 이상 연결된 자료구조를 말하며 두 체인의 길이가 같을 때는 누가 같은 시간 내에 더 어려운 문제를 풀어냈는지를 확인한다. 이렇게 시시각각 벌어지는 경합에서 승리하는 체인을 메인 체인으로 따른다.PoW 방식을 통한 블록의 합의과정은 누가 더 빨리 블록을 생성할 수 있는지, 즉 누가 더 강한 해시파워를 보유하고 있느냐에 따라 승패가 갈린다. 블록 1개 수준의 브랜치는 하루에도 몇 번은 발생하며 블록 2개 수준의 포크의 상황도 가끔 발생하지만 메인체인이 바뀌지는 않는다. 기존 생성된 51%가 넘는 블록을 압도할 수준은 아니기 때문이다. 하지만 양자컴퓨터 등 막강한 해시파워를 지닌 새로운 하드웨어가 등장하면 상황은 언제든 반전될 수 있다.PoW 방식은 네트워크에서 합의 대상에 문제가 없을 경우 합의를 반드시 도출해냄으로써 기존 분산 컴퓨팅의 네트워크 합의 방식에 일대 혁신을 일으켰다. 그러나 단순 연산인 채굴에 컴퓨팅 자원이 낭비되고 알고리즘 특성상 문제 난이도가 계속 증가할 수밖에 없어 효율이 갈수록 떨어진다는 한계가 지적되고 있다. 실제로 비트코인이 소모하는 전기에너지는 덴마크의 연간 소비 전력량과 맞먹는 수준으로 집계되고 있다. PoW는 현재 비트코인, 라이트코인, 이더리움 등에 적용돼 있다.PoW 단점 극복 위해 등장한 PoS지분증명(PoS) 방식은 PoW의 단점을 극복하기 위해 개발된 알고리즘이다. 블록체인의 지분인 코인이 많으면 합의를 도출할 기회가 더 많이 생기는 구조다. PoW에서는 네트워크를 장악하려면 막강한 해시파워가 필요하지만 PoS에서는 코인을 확보하기 위한 막대한 자금을 필요로 하는 것이 차이다. 따라서 자금이 비정상노드가 침입하지 못하게 막는 방어벽으로 작용하는 셈이다.그럼에도 불구하고 내부에서 악랄한 행위가 발생할 가능성이 제로가 되진 않는다. PoS 방식에서 발생하는 대표적인 문제는 낫씽 앳 스테이크다. 블록체인에 서로 다른 브랜치가 존재하는 포크 상황에서 지분을 보유한 블록 생성자들이 모든 브랜치에 베팅하는 것을 말한다. 블록 생성자들이 어떤 브랜치가 메인체인에 포함되든 관계없이 보상을 얻으려고 할 때 발생하는 문제로 모든 블록에 메인체인으로 보내는 도장이 찍히면 네트워크는 그야말로 난장판이 된다. 블록 생성이 완결되지 않고 브랜치가 계속해서 늘어남으로써 체인이 수십, 수백가닥이 될수도 있기 때문이다. 따라서 PoS 알고리즘에서는 다중투표 등 네트워크 참여자의 악의적인 행동에 벌을 주는 여러 규칙이 필수적으로 포함된다.순수한 PoS 알고리즘은 블록에서 발생하는 모든 행위마다 처리 방식을 예외없이 정해줘야 하기 때문에 개발이 쉽지 않다. 비탈릭 부테린은 2014년 처벌자(슬래셔)라는 문서를 시작으로 PoW 방식의 이더리움을 PoS로 전환하는 것을 구상했다. 이더리움의 PoS 버전인 캐스퍼는 브랜치를 PoS 기반으로 완결시킨다는 목적을 갖고 있다. 내년 공개될 이더리움 2.0(세레니티)에서는 PoW와 PoS를 엮는 비콘체인이 등장하며 블록생성자를 생성하고 검증하는 레이어가 추가로 들어갈 예정이다. PoS가 적용된 대표적인 프로젝트에는 엔엑스티, 카르다노의 우로보로스 등이 있다.분산 컴퓨팅에서 답을 찾다, PBFT 알고리즘비잔틴장애허용(BFT)은 PoS의 낫씽 앳 스테이크의 문제처럼 네트워크 내부에 배신자(비잔틴노드)가 있어도 합의를 이뤄내기 위해 1980년대부터 연구가 진행된 분산 컴퓨팅 이론이다. 모든 일이 동시다발적으로만 진행되지 않는 비동기네트워크에서 완벽한 합의를 도출하는 문제는 지금까지 분산 컴퓨팅 분야의 대표적 난제로 꼽힌다. 소프트웨어 오류, 악의적 공격 등에서 오는 네트워크 교란도 흔히 발생하기 때문이다. 프랙티컬 비잔틴장애허용(PBFT)은 분산컴퓨팅의 한 이론으로 BFT를 속도와 실용적인 측면에서 개선한 형태다. 두단계의 절차를 거쳐 합의를 검증하며 비잔틴 노드의 수가 전체의 33% 이하일 때 합의의 신뢰성을 수학적으로 보장한다. 그러나 네트워크에 참여하는 모든 노드에 메시지를 뿌리고 받기 때문에 노드의 수가 대규모로 늘어나면 복잡도가 증가해 확장성을 확보하기 어렵고 합의를 도출하기도 어려워진다는 문제가 있다. PBFT 알고리즘은 IBM의 하이퍼레저 패브릭, R3 코다, 리플, 스텔라 등에서 사용되고 있다.PoW·PoS 진영의 고육지계...dPoSPoS와 PoW는 모두 가장 긴 체인을 따른다. PoW와 PoS의 합의도 블록의 완결성을 단지 확률적으로 보증하기 때문에 절대로 100%가 될 수 없다. 따라서 두 합의 알고리즘을 채택한 블록체인은 어떤 이유로든지 기존 블록을 압도하는 거대 체인이 만들어진다면 언제든지 체인분리, 즉 포크가 일어날 수 있다.포크가 발생하면 브랜치 뒤에 위치한 절단된 블록 내부에 존재하는 트랜잭션은 메모리풀로 되돌아가 해당 시각에 생성중인 블록의 꼬리에 다시 붙는다. 브랜치 뒤의 블록의 개수가 많을수록 메모리풀로 되돌아가는 트랜잭션의 수도 늘어난다. 이 과정에서 데이터가 유실될 가능성도 있다.이같은 문제를 정책적으로 해결하기 위해 블록체인 세계에서도 간접민주주의가 등장했다. 위임된지분증명(dPoS)은 블록생성자(BP)들을 선거로 선출하고 이들이 돌아가면서 블록을 생성하는 방식이다. 또 마지막비가역적블록(LIB)을 쐐기로 박아넣어 완결성을 100% 보장함으로써 포크의 발생 빈도를 줄인다. dPoS에서 하나의 블록은 이전 블록을 인정하는 하나의 표와 같다. 블록을 생성하는 과정에서 BP들은 체인의 끝에 자신이 생성한 블록을 매달아 이전 블록들이 유효하다고 의사를 표현한다. 이 중 BP의 2/3이상이 연결한 블록은 LIB로 지정된다. LIB가 생성되면 이전 블록은 되돌릴 수 없게 된다. dPoS는 블록 생성에 가격이 거의 들지 않는다는 장점이 있지만 BP의 수가 한정돼 있어 특정 지점을 대상으로 하는 네트워크 공격에 취약하다는 단점이 있다. dPoS 방식이 적용된 코인은 대표적으로 아크, 리스크 등이 있다.dPoS BFT, 완전성과 분산성의 절충안이 될까그러나 dPoS도 네트워크 지연 등의 이유로 LIB가 다른 곳에 생기는 것과 같은 문제로 블록의 완결성을 100% 보장하지 못하고 있다. 특히 LIB가 엉켜버리면 모든 BP들의 블록 코드를 수정해야 해 해결이 까다롭다. 이를 보완하기 위해 등장한 것이 바로 BFT를 덧붙여 수정한 방식이다. 이로써 dPoS 알고리즘이 비잔틴장애를 감당하고 극복하게 된다.BFT가 적용된 dPoS 합의 알고리즘에서는 합의를 진행시킬 때 BP의 2/3 이상이 동의하면 잠정적 LIB를 생성하고 2단계에서도 2/3 이상 동의하면 최종 LIB로 확정된다. LIB 생성 작업을 두 번에 걸쳐 시행함으로써 우연히 발생하는 브랜치의 영향까지 고려해 완결성을 높이려는 취지다. 텐더민트도 이와 같은 방식으로 동작하며 낫씽 앳 스테이크 문제를 예방하기 위해 투표 시 지분을 동결하기도 한다.dPoS와 BFT가 적용된 합의 알고리즘에서는 LIB 이전 블록까지의 블록은 완결성이 100% 보장되며 알고리즘의 에너지 효율과 성능도 뛰어나다. 하지만 dPoS와 BFT가 동시에 적용될 경우 초기 LIB 선정에 시간이 많이 걸린다는 것이 단점으로 지적된다. dPoS와 BFT가 동시에 적용된 코인으로는 EOS, 아르고를 들 수 있다.하이브리드 알고리즘의 전성시대우성재 수석연구원은 “최근 블록체인 업계에서는 단일 방식의 합의 알고리즘을 보완하기 위한 해결책으로 둘 이상의 알고리즘을 조합한 하이브리드 알고리즘을 적극 고려하는 분위기”라고 말했다. 그는 “PoW는 탈중앙화에는 유리하지만 완결성이 낮은 문제가 있어 자체로만 쓰기에는 효율이 떨어지고 PBFT의 경우에는 확장성을 확보하기 쉽지 않아 퍼블릭 환경에서 단독으로 사용하기 어렵다”고 분석했다. 단일 알고리즘에서는 해결하지 못하는 부분이 있지만 둘 이상의 알고리즘을 합한 하이브리드 방식은 단일 알고리즘에서 존재하는 단점을 보강하는 해법으로 주목받고 있다고 그는 설명했다.우 수석연구원은 하이브리드 알고리즘이 적용된 대표적인 블록체인의 사례로 코스모스의 텐더민트를 들었다. “텐더민트는 BFT 계열 알고리즘에 PoS의 메커니즘을 도입해 BFT이지만 지분을 통한 투표가 가능하고 비정상적인 행동을 탐지해 처벌한다”며 “텐더민트는 하이브리드 알고리즘을 적용해 무허가형 블록체인의 특성과 확장성을 확보해 퍼블릭 환경에서도 쓸 수 있게 개선한 성과가 있었다”고 설명했다. 그는 이어 “앞으로의 합의 알고리즘은 블록체인을 구동하는데 필요한 에너지를 줄이고 성능을 높이는 방향으로 갈 것”이라고 전망했다. p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545} span.s1 {font: 12.0px 'Helvetica Neue'} 기사 작성에 참여하고 검수를 진행한 우성재 수석연구원은 고려대학교에서 박사 과정을 마치고 티맥스데이터에서 책임, 수석연구원을 역임하다 블로코에 합류해 아르고에서 현재 커널을 개발하고 있다.[강민승 기자]
강민승 기자 · 1주 전
코빛