블록체인의 합의 알고리듬으로 기존의 작업증명(PoW) 방식 대신 지분증명(PoS) 방식이 점점 주목을 받고 있다. 동시에 지분증명 방식에서 합의를 유지하는 데 핵심적인 역할을 하는 검증자(validator)가 어떻게 행동하도록 인센티브 구조를 설계해야 할지에 대한 관심도 커지고 있다.

이더리움은 지분증명 방식을 채택하기로 한 대표적인 블록체인이다. 올해 10월로 예정된 세레니티(Serenity) 업그레이드의 핵심이 기존의 작업증명 방식에서 지분증명 방식으로 합의 알고리듬을 바꾸는 것이다.

바이낸스(Binance)도 직접 관리하는 11개 검증 노드(valdators node)를 이용하여 거래를 검증하는 탈중앙 거래소 설립 계획을 최근 공개한 바 있다. 검증 노드를 직접 운영하면서 거래소에 ‘탈중앙’이라는 수식어를 붙였다는 이유로 거센 비판이 일자, 바이낸스가 직접 해명에 나서기도 했다.

블록체인 간 거래를 위한 인터체인(interchain) 프로젝트인 코스모스(Cosmos)와 폴카돗(Polkadot)도 ‘상호운용성’과 ‘빠른 합의’를 중요하게 여기는 사용자들 사이에서 지지를 얻고 있다. 이들은 각각 지분증명 방식의 일종인 텐더민트 BFT와 위임지분증명(DPoS)을 사용한다. 코스모스는 조만간 코스모스의 메인넷인 코스모스 허브(Cosmos Hub)를 론칭할 계획이다.

지분증명 방식을 채택하면 작업증명 방식보다 에너지 효율성이 높고 합의 과정을 빨리 끝낼 수 있다는 측면에서 낫다. 하지만 확장성 문제, 공격 벡터(attack vector) 문제, 잘못된 인센티브 문제 등 해결해야 할 과제도 많다.

그래서인지 많은 인터체인 프로젝트가 지분증명 방식을 채택하고 합의 과정에 검증자를 별도로 두고 있지만, 여전히 작업증명 방식을 고수하는 프로젝트들도 있다. 예를 들어 블록 콜라이더(Block Collider)는 호환이 가능한 여러 체인 간 거래에 나카모토 합의(Nakamoto Consensus) 메커니즘의 최적화된 버전을 사용함으로써 검증 노드를 별도로 두지 않고 작업증명 방식으로 네트워크를 운영한다.

작업증명 방식은 대표적 암호화폐인 비트코인의 기반이 되는 알고리듬으로, 실전에서 수많은 테스트를 거쳐 그 지속성이 입증됐다. 이제 지분증명 방식이 새로운 합의 알고리듬으로 주목받고 있는 만큼, 지분증명 방식의 잠재적인 약점과 문제점을 예측해보고 검토해야 할 시점이다.

 

무한 반복되는 검증 방식


지분증명 방식으로 합의 알고리듬을 운영하는 네트워크에서 검증 노드를 부르는 이름만 해도 ‘허브’, ‘마스터노드’ 등 무척 다양하다. 이름은 제각각이지만 검증자가 자신이 보유한 지분만큼 블록을 ‘생성’ 또는 ‘검증’ 할 수 있으며, 그에 따른 보상을 받는다는 점에서 보면 작동 원리는 모두 비슷하다.

지분증명 방식에서의 검증자(검증 노드)가 하는 일은 기본적으로 작업증명 방식에서 채굴자의 역할과 같다. 네트워크에 지분을 보유하고 있으므로 검증자가 네트워크에 불리한 결정을 내리지 않고, 정직하게 행동할 유인을 갖게 된다. 검증자는 거래를 올바르게 검증하면 그 대가로 토큰으로 보상을 받고, 검증자의 임무를 소홀히 해 검증이 잘못되면 지분을 잃게 된다.

지분증명 검증자 메커니즘에 관해 좀 더 심층적인 분석을 원한다면 이더리움을 만든 비탈릭 부테린(Vitalik Buterin)이 기술한 이더리움 CBC 캐스퍼(Casper) 메커니즘에 관한 설명이나 지분증명의 설계 철학에 대해 읽어보는 것도 도움이 될 것이다. 또한, 코스모스의 블록체인 간 검증 시스템이 어떻게 작동하는지 기술해 놓은 개발자 문서도 참고할 수 있다.

지분증명 메커니즘은 굉장히 복잡하다. 고도의 게임이론을 이용한 접근법이 필요할뿐더러 지분증명 방식의 불변성에 대해서도 주관적인 해석이 가능하기 때문이다. 작업증명 방식에서는 채굴에 쓰이는 에너지가 검증의 원천이자 동시에 공격 벡터이다. 반면 지분증명 방식에서는 검증자의 확인, 즉 인간의 해석이 검증의 근거가 된다.

또한, 서로 다른 블록체인끼리 작용하는 인터체인 구조가 유지되려면 네트워크에 연결되는 블록체인들이 서로 호환 가능해야 한다. 예를 들어 코스모스의 서브체인은 빠른 완결성을 지녀야 하는데, 작업증명 블록체인이 코스모스에 참여할 수 없는 이유도 여기에 있다.

검증자 네트워크의 문제점을 제대로 알기 위해서는 다음의 두 가지를 집중적으로 분석할 필요가 있다.


  1. 공격 벡터(attack vectors, 공격의 경로 또는 수단)

  2. 잘못된 인센티브 체계(Misaligned incentives)


검증자 네트워크의 첫 번째 문제는 확장성을 높인 대신 보안성이 취약해졌다는 데 있다. 지분증명 방식 네트워크를 이용해 비용을 줄였고, 확장성을 높여 합의 절차를 더 빨리 처리할 수 있게 된 대가로 블록체인의 근본적 가치 가운데 하나인 ‘네트워크의 장기적 무결성’이 손상되었다.

 

여러 가지 공격 벡터


검증자 네트워크에서 인센티브 체계가 잘못되면 곧바로 공격이 발생할 수 있는 공격 벡터가 여러 군데 생겨날 수 있는데, 특히 장거리 공격(LRA, Long-Range Attack)과 부패 공격(Sour Milk Attack)이 오랫동안 문제가 되어왔다.

이미지=Getty Images Bank

 



  1. 장거리 공격




장거리 공격은 과거 검증자로 사용된 이력이 있는 토큰 잔액 상당액의 개인 키를 악의적 사용자가 부당한 목적으로 사들일 때 발생한다. 이 악의적 사용자는 토큰 잔액을 바탕으로 해당 키가 잔액을 보유했던 시점 이후의 거래 내역을 조작해 검증을 더 많이 한 것처럼 꾸미고 이를 토대로 부당한 보상을 챙긴다.

이러한 장거리 공격은 중간 지점마다 일종의 검문소(checkpoint)를 설정해 막을 수 있다. 그러나 블록체인의 상태마다 검문소를 설정하려면 모든 노드가 항상 온라인 상태를 유지해야 하는데, 이런 방법은 복잡하기도 할뿐더러 중앙집중적 해결책이라는 비판을 피하기 어렵다.

더욱이 장거리 공격은 지분증명 방식이 블록체인의 유효성을 (특히 블록체인의 과거 상태에 대한 유효성을) 제대로 보장하지 못한다는 것을 보여주는 증거이기도 하다. 검증자 네트워크는 합의를 통해 절대불변의 영구적인 원장을 생성하는 것이 아니라, 특정 시간 범위에 대한 ‘일시적 합의’만을 제공하는 것이다.



  1. 부패 공격(Sour Milk Attack)




부패 공격은 악의적 검증자가 정상 블록과 가짜 블록을 동시에 발행함으로 정직한 사용자들이 서로를 의심하게 만드는 공격이다. 또한, 이 악의적 검증자는 다른 악의적 검증자와 손잡고 유효 블록을 식별하기 어렵게 만들기도 한다.

부패 공격은 몇몇 검증자의 공격만으로도 네트워크를 마비시키고 포크를 유발하며 합의 체계를 혼란에 빠뜨릴 수 있기 때문에 실행이 비교적 쉬운 공격이다.

      3. 그 밖의 공격 벡터들


그 밖에 지분증명 검증자 네트워크에서 눈에 띄는 공격 벡터로는 ‘가짜 지분 공격(Fake Stake Attack)’, 지분 파괴 공격, 디도스(DDOS) 공격 등이 있다.

특히 가짜 지분 공격은 검증자 방식이 확장성 면에서도 그다지 효과적이지 않을 수 있음을 보여주는데, 지분증명 방식으로 블록체인을 검증하는 데 드는 비용이 작업증명 방식에 비해 훨씬 더 커지기 때문이다. 이 공격 벡터는 최근에 나타나기 시작한 것으로, 이 공격 방법을 사용하면 최소한의 지분을 가진 공격자들도 네트워크를 파괴할 수 있다.

 

잘못된 인센티브 체계


검증자 네트워크의 가장 큰 문제 중 하나는 많은 지분을 소유한 검증자들이 보상을 독식하는 이른바 ‘암호화폐 상위 1% 독점’ 상황을 초래 수 있다는 것이다. 지분을 많이 가진 검증자들이 절대적인 지배력을 행사하게 되면서 일반 사용자들은 검증에 참여할 인센티브를 잃게 된다.

이렇게 인센티브가 감소하면 사용자들의 참여율은 점점 떨어지게 된다. 참여율 저조 현상은 검증자 네트워크에서 가장 많이 언급되는 동시에 가장 눈에 띄는 문제다. 사용자의 참여율이 저조해지면 결국 네트워크는 중앙집중화되고, 가격 담합이 일어나기 쉬워지는 등 악순환의 굴레에 빠진다.

검증자 네트워크의 게임이론 복잡성도 많은 비판을 받는다. 검증자 네트워크를 공사장에 비유한다면, 엔지니어는 망치와 끌을 들고 다니며 모난 부분을 다듬는 일꾼이고, 지분증명 합의 방식의 모든 것은 모난 곳 투성이다. 다시 말해, 검증자 네트워크 모형은 예전의 솔루션으로 인해 생겨난 문제점들을 또 다른 솔루션들로 덮어 나가고 있는 셈이다.

그뿐만 아니라 이렇게 복잡한 시스템을 운영하다 보면 인센티브가 잘못 설정되기 일쑤다. 특히 이기적 검증자들 때문에 ‘잃을 것이 없는(Nothing at stake)’ 문제가 나타나기도 한다. 이 문제는 동시에 두 블록이 생겨서 둘 중에 진짜 블록을 가려내야 하는데 악의적인 검증자들이 네트워크를 장악한 뒤라서 일반 검증자들은 검증에 참여할 지분 자체를 들고 있지 않을 때 나타난다.

작업증명 방식에서는 두 개의 블록이 동시에 생성되었을 때 에너지 소비량이 가장 큰 체인을 선택하는 등 이른바 무작위 메커니즘을 통해 문제를 해결한다. 그러나 지분증명 방식에서는 검증자에게 문제 해결을 맡기며, 검증자는 두 개의 블록 모두에 베팅을 해도 잃을 것이 없기 때문에, 더 많은 보상을 얻으려고 양쪽에 동시에 베팅한다. 두 블록 모두 검증자의 서명이 있기 때문에, 어떤 것이 유효한지 판단이 어려워진다.

 

결론


검증자에 의존하는 네트워크가 2세대 블록체인 플랫폼들 사이에서 계속해서 지지를 얻고 있는 지금 상황에서, 이 새로운 합의 방식을 보다 실용적인 것으로 만들기 위한 고민이 필요하다. 현재 블록체인 네트워크 가운데 분산된 합의 방식으로 효용이 증명된 것은 작업증명 방식이 유일하다. 지분증명 검증자 방식이 확장성 있는 블록체인에서 살아남을 것인지, 아니면 지분증명의 한계를 파악하고 이를 일찌감치 개선하고 극복하기 위한 노력이 블록체인에 혁신을 가져오는 '신의 한 수'가 될지는 훗날 밝혀질 것이다.

 


* 이 글을 쓴 파스칼 텔먼(Pascal Thellman)은 암호화폐 투자 서비스 바운티제로엑스(Bounty0x)의 마케팅 책임자이자 암호화폐 홍보대행사 폴리그로스(PolyGrowth)의 자문위원이다.

번역: 뉴스페퍼민트

제보, 보도자료는 contact@coindeskkorea.com
저작권자 © 코인데스크코리아 무단전재 및 재배포 금지