지분증명방식 (Proof of Stake) 완벽 가이드 – 이더리움 최신 개선안과 창시자 비탈릭 부테린 인터뷰

요약

이 보고서에서는 지분증명방식 (Proof of Stake, PoS) 합의 시스템과 해당 시스템의 장단점과 지금까지 시도된 지분증명방식 (PoS)의 중요하고 참신한 점을 자세하게 살펴보겠습니다. 이를 통해 원래의 지분증명방식 시스템이 실현 불가능한 지점까지 복잡해졌다는 점을 알 수 있을 것입니다. 그리고 저희가 이전에 제안된 것보다 훨씬 더 나은 개선안이라고 생각하며, 이더리움 네트워크에 순이익을 가져다 줄 수도 있는 가장 최근의 이더리움 개선안 (Ethereum proposal)에 대해서 알아보겠습니다. 이러한 개선안에도 불구하고 이더리움 시스템은 블록 생성을 위해 여전히 작업증명방식 (Proof of Work, PoW)에 훨씬 더 많이 의존하고 있으며, 합의 프로세스의 지분증명방식 요소가 노드를 블록체인 상에 모으는 데 도움이 될 수 있을지 그 여부는 명확하지 않습니다.

개요

지분증명방식 (PoS)을 본격적으로 살펴보기 전에 이 합의 시스템을 설계함으로써 무엇을 얻을 수 있는지를 명확하게 파악하는 것이 중요합니다. 기본적으로 지분증명방식의 합의 시스템은 다음의 특성을 기반으로 데이터 구조를 설계합니다:

  1. 어떠한 단체도 데이터의 컨텐츠를 통제 및 관리할 수 없습니다 (분산형 정보 저장소와 데이터의 검증이 충분하지 않습니다);
  2. 데이터베이스는 알고리즘의 더 높고 (이더리움의 지분증명방식 알고리즘인 캐스퍼 용어로는 “Liveness, 생존성” 이라함) 중요한 위치로 이동합니다
  3. 검증자 혹은 참여자 (Participants)들은 데이터 컨텐츠에 동의합니다 예시) 서로 상충되는 체인 중 유효한 체인을 결정하기 위한 메커니즘을 가진 노드 (캐스퍼 용어로는 “Safety, 보안성” 이라함)

작업증명방식 (PoW)은 서로 상충되는 체인 중 유효한 체인을 결정하기 위해 축적된 작업 규칙 (accumulated work rule)을 사용합니다 (포크 선택 규칙으로써). 작업증명방식은 위에서 언급한 세가지 기준에 대한 명확한 해법일 뿐만 아니라 블록 생성과 블록 타이밍 문제를 근본적으로 해결할 수 있습니다. 축적된 작업의 총량이 곧 포크 선택 규칙이기 때문에 블록 생산자들은 확률론적 과정인 작업증명방식의 요소를 각 블록에 포함시켜야 하며, 각 블록의 생성자와 생성 시기는 이 방식에 의해 결정됩니다.

지분증명방식 (PoS)은 축적된 지분에 기반한 포크 선택 규칙의 일반적 개념입니다 (가장 많은 코인 혹은 투표권을 보유한 체인이 그 예시입니다). 그러나 작업증명방식 (PoW)과는 다르게 지분증명방식 (PoS)은 누가, 언제 각 블록을 생성했는지에 대해 직접적으로 다루지 않습니다. 따라서 이에 대한 내용은 대안적 매커니즘에 의해 다루어져야 합니다. 작업증명방식 (PoW)은 암호화폐 배분 문제에 대한 해결책이 될 수 있으며, 지분증명방식 (PoS) 기반 시스템 또한 이 문제에 대한 해결책이 될 수 있습니다.

지분증명방식의 이론적 개요

비잔틴 장군 문제 (The byzantine generals problem)

비잔틴 장군 문제 (The Byzantine generals problem)는 위에서 언급한 세가지 특성을 기반으로 데이터 구조 설계 시 수반되는 주요 문제점들을 보여줍니다. 기본적으로 이 문제는 타이밍 즉, 시기와 가장 처음 생성된 거래원장의 업데이트 방식에 관한 것입니다. 1982년, Leslie Lamport가 증명했듯 수학적 관점에서 전체 검증자 (validator) 중 3분의 1이 프로토콜에 따르지 않으면 이 문제는 해결될 수 없습니다.

이는 [합의 도달] 에 관한 문제가 전체 장군 즉, 검증자 중 3 분의 2 이상이 프로토콜에 따를 경우에만 해결될 수 있다는 것을 보여줍니다.

출처: The Byzantine Generals Problem (1982)

따라서 작업증명방식 (PoW)은 강력한 비잔틴 장애 내성 시스템을 갖춘 것처럼 보이지만 수학적으로 탄탄하지 않고 불완전한 시스템으로 평가받기도 합니다. 이러한 맥락에서 결함이 있을 수도 있는 지분증명방식 (PoS)은 이에 대한 대안으로 고려될 수 있습니다.

지분증명방식 (PoS)에는 두 가지의 상충되는 철학이 있습니다. 첫 번째 철학은 작업증명방식 (PoW)에서 파생된 것으로 피어코인 (Peercoin), 블랙코인 (Blackcoin) 그리고 초기의 반복적인 이더리움 개선안을 포함한 코인을 기반으로 하는 것입니다. 두 번째 철학은 1980년대 이후의 Leslie Lamport의 연구와 3분의 2 다수결 방식이 비잔틴 장애 내성 시스템 (Byzantine fault tolerant system) 구축을 위한 필수 요소라는 결론을 전제로 하는 것입니다. 현재 이더리움의 캐스퍼 개선안은 두 번째 접근 방식을 기초로 한 것입니다.

지분증명방식 (PoS)의 장점

지분증명방식 (PoS)은 보통 부정적인 외부 영향 혹은 작업증명방식 (PoW) 기반 시스템에 내재된 문제를 해결하거나 완화하기 위한 대안으로 작업증명방식(PoW)의 맥락에서 분석되어져 왔습니다:

환경친화적 시스템

가장 널리 알려진 지분증명방식 (PoS) 시스템의 장점은 아마도 작업증명방식 (PoW) 방식과 반대로 에너지 소모가 큰 프로세스가 없다는 점일 것입니다. 만약 지분증명방식 (PoS) 기반 시스템과 작업증명방식 (PoW)이 동일한 유용성을 가지고 있다면 환경 오염을 방지할 수 있을 것입니다. 이 점은 비트코인 에너지 소비에 관한 저희의 이전 보고서에서 다루었듯, 인센티브가 낮고 환경 오염을 방지하기 위한 동력원으로써 실패한 에너지 프로젝트이기 때문에 조금 과장된 측면이 있긴 하지만, 지분증명방식 (PoS)의 큰 장점인 것은 분명합니다.

인센티브에 대한 강한 동조 및 지지

작업증명방식 (PoW)의 또 다른 주요 문제점은 마이너들과 암호화폐 보유자들의 이해관계가 일치하지 않을 수도 있다는 점입니다. 예를 들어, 마이너들은 보유하고 있는 암호화폐를 매도할 수 있으며, 매도 후 암호화폐의 장기 가치가 아닌 단기 가치만을 고려하면 됩니다. 다른 하나는 장기적 관점에서 시스템에 대한 경제적 이해관계 없이 해시레이트 (hashrate)를 리스 (lease)할 수 있다는 점입니다. 반면 지분증명방식 (PoS)은 합의 대리인 (consensus agents)을 직접적으로 암호화폐에 투자하게 만들며 이에 따라 투자자와 합의 대리인의 이해관계가 일치하게 됩니다.

마이닝의 중앙집중화 및 주문형 반도체 (ASICs)

지분증명방식 (PoS) 기반 시스템의 또 다른 주요 장점은 잠재적으로 더욱 탈중앙화 (decentralization)될 수 있다는 점입니다. 작업증명방식 (PoW)의 마이닝은 지분증명방식 (PoS)에는 해당되지 않는 다수의 중앙집중식 특징을 가지고 있습니다:

  • 주문형반도체 생산은 많은 비용이 들고 중앙 집중화되어 일부 제조사에 의해 독점 생산되고 있습니다. (비트메인 사가 높은 시장 점유율을 보유하고 있습니다);
  • 칩 생산 설비의 가격이 비싸며 이 역시 일부 제조사에 의해 독점 생산되고 있습니다 (TSMC, 인텔, 삼성 그리고 SMIC이 칩 생산을 독점하고 있습니다) ;
  • 주문형반도체 관련 기술은 특허의 대상이 될 가능성이 있습니다;
  • 칩 에너지원과 접근권한의 수는 제한되어 있을 수도 있습니다; 그리고
  • 마이닝은 여러 측면에서 중앙집중화를 야기하는 유지 비용 및 에너지 비용과 같은 스케일 메리트 (economies of scale, 대량 생산에 의한 원가 절감)를 가지고 있습니다.

지분증명방식 (PoS)의 일반적 · 경제적 단점

불완전한 해결책

위에서 언급했듯이 비트코인 창시자 나카모토 사토시가 고안한 작업증명방식 (PoW) 시스템은 1석 4조의 효과를 가진 것처럼 보입니다:

    • 체인 선택 (포크 선택 규칙),
    • 코인 분배,
    • 누가 블록을 생산하는지, 그리고
    • 언제 블록이 생성되었는지.

반면, 지분증명방식 (PoS) 시스템은 체인 선택에 대한 해결책만을 제시했고 나머지 문제점들에 대한 해답은 제시하지 못했습니다.

“불공평한” 경제 모델

지분증명방식 (PoS) 시스템에 대한 가장 흔한 비판은 이 시스템이 암호화폐 보유량에 비례해 신규 자금을 배당한다는 것입니다. 이처럼 더 평등하고 공정하게 암호화폐를 배당하는 작업증명방식 (PoW) 시스템과 달리 지분증명방식 (PoS) 시스템은 더 많은 암호화폐를 보유하고 있는 소수의 부유한 사용자들이 더 많은 양의 암호화폐를 배당받는, 이른바 “부가 부를 낳는” 시스템이라고 할 수 있습니다. 따라서 처음부터 지분증명방식 (PoS) 시스템에 투자한 사람은, 지갑 안에 지분을 계속해서 보관할 수 있으며 반대로 작업증명방식 (PoW) 시스템에 투자한 사람의 지분은 신규 자금으로써 마이너들에게 배당될 것입니다. 실제로 보상금 (rewards)이 보유 지분에 따라 배당된다면, 누군가는 이 보상금이 인플레이션을 야기하지 않으며, 화폐에 0을 여러 개 더하는 것과 동일한 원리라고 즉, 경제적 관점에서 공정한 방식이라고 주장할 수도 있으며 또 다른 누군가는 이러한 보상 시스템이 쓸모없고 인센티브를 전혀 제공하지 못한다고 주장할 수도 있습니다. 그러나 이 같은 보상 시스템은 모든 사용자들이 지분증명방식 (PoS) 시스템의 검증자 (validator)가 될 경우에만 적용됩니다. 몇몇 사용자들은 보상금을 다른 용도로 사용하고 싶어할 수도 있지만 말입니다.

자금 손실의 위험성

지분증명방식 (PoS) 시스템의 또 다른 문제점은 지분을 받기 위해서는 인터넷에 연결된 시스템에 의해 검증된 메시지가 필요하다는 점입니다. 다시 말해, 지분 보유자 (staker)들은 해커에 의한 자금 도난 위험성이 높은 “핫 월렛 (hot wallet, 인터넷에 연결되어 있는 온라인 상태의 실시간 지갑)”을 갖고 있어야 합니다. 물론, 단기간 동안만 지분에 프라이빗 키 (private key)를 부여함으로써 이 단점을 보완하여 잔여 지분이 보유자에게 돌아갈 수 있게 할 수도 있습니다. 하지만 이 같은 보완책에도 불구하고 삭감 규칙 (slashing rule, 두 개의 상충되는 체인에 투표할 경우 이에 따른 벌금을 내는 규칙)이 실행되면, 해커들은 자금을 도난하기 위한 시도를 할 수도 있습니다. 지분 보호를 위한 전문적인 하드웨어의 개발은 자금 도난을 방지를 위한 또 다른 잠재적 해결책이 될 수 있습니다.

지분증명방식 (PoS)의 기술 및 시스템 통합성(convergence) 관련 단점

“노드의 손해가 전혀 없는 (Nothing at Stake)” 문제점

합의 문제의 주요 쟁점은 시기 (timing)와 거래 처리 순서 (the order of transactions)입니다. 두 개의 블록이 동시에 생성될 경우, 작업증명방식 (PoW) 시스템은 랜덤 프로세스 (random process) 즉, 임의의 처리방식으로 문제를 해결합니다. 이 때, 처음 생성된 블록체인의 가장 위쪽에 있는 블록부터 처리되며, 마이너들은 보통 가장 작업량이 많은 블록체인을 만들어냅니다. 작업증명방식 (PoW)은 현실세계에서 한정된 자원인 에너지를 필요로 하기 때문에 마이너들은 이를 어떤 블록체인에 투자할 것인지를 결정해야 합니다.

반대로 지분증명방식 (PoS) 기반 시스템 내에서의 문제 해결 프로세스는 명확하지 않습니다. 만약 두 개의 블록이 동시에 만들어질 경우, 서로 상충되는 블록은 각각 지분을 생성할 수 있습니다. 결과적으로 하나의 블록이 다른 블록보다 더 많은 지분을 생성하고 최종 블록으로 선택되어집니다. 이 프로세스의 문제점은 지분보유자들이 가장 많은 지분을 생성한 블록체인 쪽으로 선택을 변경할 수 있는 경우, 하나의 체인에 과도하게 집중되는 현상이 발생한다는 것입니다. 이 때, 지분보유자들은 동시에 여러 개의 체인에 지분을 사용해 투표 (voting)할 필요가 없어지게 됩니다.

지분은 현실세계와 직접적으로 연관되어있지 않은 블록체인에 내재된 고유 자원이므로 동일한 지분이 동시에 두 개의 상충되는 체인에 사용될 수 있습니다. 바로 이것이 포크 발생 시 두 개의 블록체인에 동시에 투표해도 노드에 어떤 위험이나 손해가 가해지지 않는 소위 “Nothing at stake” 문제이며, 저희는 이 문제를 지분증명방식 (PoS) 시스템의 가장 큰 단점이라고 생각합니다.

“노드의 손해가 전혀 없는 (Nothing at Stake)” 문제점

노드의 손해가 전혀 없는 (Nothing at Stake) 문제점 지분이 서로 상충되는 여러 개의 블록체인에 동시에 적용될 수 있기 때문에 시스템에 통합되지 않으며, 이는 노드에 대한 위험성 없이 지분보유자의 보상금을 증가시키는 방식입니다. 이와 대조적으로 작업증명방식 (PoW) 시스템은 현실세계에서 한정된 자원인 에너지를 필요로하기 때문에 “동일한” 작업량이 여러 개의 상충되는 블록체인에 동시에 적용될 수 없습니다. 
변론 1 이 문제를 방지 및 보완할 수 있는 방안이 있습니다. 지분보유자가 동일한 지분을 여러 개의 체인에 동시에 사용하는 경우, 이해관계자인 제 3자 (the third party) 또는 유효성 검증자 (validator)는 지분 몰수 (삭감 조건)과 같은 벌칙을 부과할 수 있습니다. 혹은 속임수를 쓴 사람들은 향후 보상금을 받을 수 없고 지분을 행사할 수 없게 됩니다.  
지분증명방식 (PoS) 회의론적 견해  위 변론은 부적절하며, 합법적이고 필수적인 행위에 대해 벌칙을 부과할 가능성도 있습니다. 예를 들어, 한 명의 지분보유자가 가장 먼저 블록을 받으면, 나머지 다수의 지분보유자들은 그동안 다른 블록을 먼저 배당받게 됩니다.  이 경우, 다수의 지분보유자를 따라 다른 블록 쪽으로 선택을 바꾸는 것은 합법적인 행위일 것입니다. 실제로 마음을 바꿔 다수의 선택을 따르는 행위의 프로세스는 네트워크 통합이 합의 시스템의 요점이라는 것을 더욱 확실하게 증명해주었습니다. 또한 위 같은 행위가 벌칙 부과의 대상이 된다면, 시스템 통합은 불가능할 것입니다.

벌금의 가치는 다수의 선택을 따라 마음을 바꾼 지분보유자들을 위한 보상금의 가치보다 높을 수도 있고 낮을 수도 있습니다. 따라서 이 문제를 통해 지분증명방식 (PoS) 시스템이 시스템 통합에 전혀 도움이 되지 않으며, 발상 자체에 근본적인 결함이 있다는 것을 알 수 있습니다.

,

변론 2 위에서 언급된 딜레마는 향후 다양한 방식으로 해결될 수 있습니다. 예를 들어:

  • 이전의 캐스퍼 (Casper) 개선안은 여러 번에 걸쳐 지분을 배당하는 방식을 채택했습니다. 첫 번째 지분배당 때 선택을 바꾸는 것은 합법적일 수 있고, 부과되는 벌금 또한 적을 것입니다. 반면, 지분 배당 후반부에 동일한 지분을 여러 개의 상충되는 블록체인에 사용하는 경우, 훨씬 많은 벌금이 부과됩니다.
  • 가장 최근의 캐스퍼 (Casper) 개선안은 제 3자인 검증자 (validator)의 “합법적인” 선택 변경을 목표로 하고 있습니다.
지분증명방식 (PoS) 회의론적 견해  검증자 (validator)의 선택을 바꿀 수 있게 하는 지분 배당 혹은 기준 횟수의 증가는 시스템의 구조를 더 복잡하게 할 뿐입니다. 이는 앞서 언급한 “Nothing at Stake” 문제가 보여주듯 시스템에 내재된 단점을 감추기 위해 혼동을 야기하는 단계를 증가시킬 뿐 근본적인 문제에 대한 해결책은 되지 못합니다.
변론 3 완벽한 시스템은 존재하지 않습니다. 수학적으로 완벽한 시스템을 설계하는 것은 불가능한 일이기 때문에 “Nothing at Stake” 문제를 완벽히 해결할 수 없지만 위 방안을 통해 어느 정도 단점을 보완할 수 있습니다. 또한 이 같은 이론상의 문제점들은 현실세계에서 적용되거나 발생할 가능성이 낮습니다.

장거리 공격 문제 (The long range attack consensus problem)

“장거리 공격 문제 (The long range attack)는 지분증명방식 (PoS)의 또 다른 잠재적 문제점입니다. 시스템 공격자가 과거에 다량의 토큰을 보유했던 프라이빗 키를 구매하여 새로운 블록체인을 만들고 지분증명방식 (PoS)의 유효성 검증을 기반으로 점점 더 많은 보상금을 배당받는 것이 이 문제의 한 예가 될 수 있습니다. 이 경우, 보상금의 대부분이 공격자에게 배당되기 때문에 이에 불만을 가진 사람들은 기존 체인보다 더 많은 지분이 있고 훨씬 오래된 체인을 재생산할 수도 있습니다.

체크포인팅 (checkpointing)은 이 문제에 대한 해결책이 될 수 있습니다. 체크포인팅이란 지분의 양이 정해진 한계치에 도달하면 특정한 체인 위치 (50블록마다 한 번씩)에 보관되도록 하는 프로세스이며, 이를 통해 기존 체인보다 길이가 길고 더 많은 지분을 가진 블록체인의 재생산을 방지할 수 있습니다. 몇몇의 사람들은 사용자가 오프라인 상태일 경우, 보안 모델이 체크포인팅을 위해 다른 사용자에게 질문하고 의존하는 “ask a friend” 모델로 퇴보할 것이라고 주장합니다. 초기의 비트코인은 동기화 속도를 높이기 위해 참조 구현 코드에 체크포인트 (checkpoint)를 포함시켰으며, 비트코인 체크포인트의 영향으로 “ask a friend” 보안 모델이 생겨났습니다..

그러나 저희는 이것이 우선순위의 문제라고 생각합니다. 개별 사용자 중 모든 규칙 및 시스템 상태를 검증하기를 원하는 이가 있다면, 체크포인트로 위 요구조건을 충분히 만족시킬 수 없습니다. 비트코인 창시자인 나카모토 사토시는 오프라인 상태일 때 네트워크 상에서 일어난 일을 파악하는 노드의 능력이 중요하다고 주장했습니다:

노드는 자유자재로 네트워크를 떠날 수도 있고 다시 돌아올 수도 있습니다. 작업증명방식 (PoW) 기반의 블록체인은 노드가 네트워크 상에 존재하지 않을 때 일어난 일을 증명하는 대안으로서의 역할을 할 수 있습니다

출처: 비트코인 백서

암호화폐 생태계는 꾸준히 확장 및 성장에도 불구하고, 노드의 온라인 상태 유지 및 체크포인팅을 위해 여전히 많은 기업들과 거래소들이 365일 24시간 동안 운영되고 있습니다. 공격자의 조작을 통해 만들어지는 긴 체인의 재생성을 막으면, 엄청난 인센티브가 사용자에게 제공되기 때문입니다. 이러한 기업과 거래소의 노력은 다수의 투자자들에게 보안성을 제공하며, 장거리 공격 발생가능성을 낮춥니다.

그라인딩 어택 (Stake Grinding)

지분증명방식 (PoS) 시스템 하에서 지분보유자들은 블록을 직접 생성해야합니다. 블록 생성자를 마이닝 풀에서 무작위로 추첨하는 이 시스템은 보유 지분이 많을수록 당첨 확률이 높아집니다. 무작위 추첨으로 인한 문제를 해결하기 위해서는 내부 합의시스템이 필요합니다. 만약 블록이 자체적으로 시스템 내 정보의 불확실성인 엔트로피 (entropy)를 생성한다면, 지분보유자들은 미래의 블록을 할당받기 위해 블록 내 콘텐츠를 조작하려 할 것입니다. 이에 따라 지분보유자들에겐 기존 블록보다 더 긴 블록의 생산을 위한 빠른 연산 능력이 필요해질 것입니다. 이 문제를 보완 및 해결하기 위해 작업증명방식 (PoW) 기반 시스템이 설계되었습니다.

저희는 지분 그라인딩 (stake grinding)이 지분증명방식 (PoS) 시스템의 가장 근본적인 문제라 생각하며, 이를 해결하기 위해서는 네트워크 상의 엔트로피 소스 (entropy source)와 RanDAO 같이 누구나 참여 가능한 이더리움 스마트 계약 (Ethereum Smart Contract)이 필요하다고 생각합니다.

 

사례 연구피어코인 (Peercoin) 이더리움 캐스퍼 (Casper)

1 – 피어코인 (Peercoin) – 2012

개요

피어코인은 화폐 연령(coin age)을 기반으로 작업증명방식 (PoW)과 지분증명방식 (PoS) 시스템의 장점을 결합하여 만들어진 암호화폐입니다. 포크 선택 규칙에 의해 화폐 연령 (coin age)이 가장 높은 즉, 가장 오래된 블록체인이 선택됩니다.

화폐 연령 (Coin age)은 보유한 암호화폐 양에 암호화폐 보유기간을 곱한 값입니다. 간단한 예를 들자면, 앨리스가 밥에게 암호화폐 10개를 주었고 밥이 90일 동안 암호화폐를 보유한 경우, 밥은 화폐 연령 중 900일의 코인 데이 (coin-days)를 축척했다고 할 수 있습니다

출처: 피어코인 백서

피어코인에서 블록은 거래 시 마이너들에 의해 화폐 연령이 공격받을 위험성이 있음에도 불구하고 순수한 작업증명방식 (PoW)으로 생성됩니다. (코인스테이크 거래는 코인베이스 거래에 반대 및 대응되는 개념입니다). “예를 들어, 밥이 지갑 안에 100년의 코인 이어(coin-years)를 축적하고 한 개의 [지분증명방식(PoS) 블록]을 2일 안에 생성할 수 있다면, 앨리스는 지갑 안에 200년의 코인 이어 (coin-years)를 축적해 [지분증명방식(PoS) 블록] 한 개를 하루 안에 생성할 수 있을 것입니다.

지분증명방식 (PoS)의 문제점 분석

문제점 요약
노드의 손해가 전혀 없는Nothing at Stake 문제 지분증명방식 (PoS) 프로토콜은 마이너들이 동일한 코인을 이용하여 여러 개의 상충되는 블록체인에서 지분을 거래하는 행위를 막기 위해 설계되었습니다. 그러나 마이너들이 여러 개의 주문을 통해 서로 상충되는 블록을 받을 경우, 노드의 분할을 야기할 수 있습니다.
블록 생성 이 문제는 작업증명방식 (PoW)을 이용해 블록을 생성하면 해결할 수 있습니다.
장거리 공격
(Long range attack)
마이너들이 자신의 코인을 사용하지 않고 코인 에이지 (coin age)를 축적해 손쉽게 새로운 블록을 생성하는 장거리 공격은 피어코인 (Peercoin)에게 매우 치명적입니다. 이 문제는 미리 정해진 체크포인트로 해결할 수 있습니다. 따라서 피어코인 (Peercoin)은 중앙화된 시스템이라 할 수 있습니다.
지분 그라인딩
(Stake grinding)
이것은 지분증명방식 (PoS)의 문제점이 아닐 수도 있습니다. 그 이유는 작업증명방식 (PoW)와 달리 유효성 검증자 풀 (validator pool)에서 블록 생성자가 추첨되지 않고, 코인 스테이크 (coin stake)는 작업증명방식 (PoW)에 의해 보완될 수 있기 때문입니다.

결론

2012년 당시, 피어코인은 흥미롭고 새로운 접근 방식이였습니다. 그러나 이 개선안은 작업증명방식 (PoW)의 특성과 일치하지 않는, 시스템의 중앙화를 야기했습니다.

2 – 이더리움캐스퍼 지분증명방식 시스템 (Casper full PoS system) – 2015

개요

다음은 캐스퍼의 운용 방식인 “베팅에 의한 합의 (consensus by bet)” 원리에 대한 내용입니다.

  • 블록은 블록 생산자 풀 (pool of block producers)에서 생성됩니다. 무작위 추첨으로 선정된 슬롯 리더 (slot leader)는 블록 생성자의 순서를 정하고 블록 생성자는 유효 블록을 생산할 수 있는 특정 시간대를 부여 받습니다.
  • 보증된 검증자 집단 (bonded validators)에 있는 검증자는 반드시 블록에 대해 베팅해야 합니다.
  • 검증자들은 매 시간마다의 베팅 성공률과 배팅 당첨자를 알려주는 블록에 베팅할 수 있습니다.
  • 여러 차례의 베팅 후에 당첨 가능성이 1% 혹은 99%에 도달하면, 해당 블록은 완결(final)된 것으로 간주됩니다.

출처: Ethereum Blog

베팅 전략

이더리움 블로그에 따르면, 베팅은 다음의 전략을 기반으로 이루어져야 합니다:

  • 아직 블록이 존재하지 않지만 블록 공개 예정일에 가까울 때, 50%의 확률에 베팅하십시오. 아직 블록이 존재하지 않지만, 블록 공개 예정일로부터 오랜 시간이 지났을 때, 30%의 확률에 베팅하십시오. 블록이 존재하고 예정일에 맞춰 공개되었을 때, 70%의 확률에 베팅하십시오. 블록이 존재하지만 너무 빨리 혹은 너무 늦게 공개되었을 경우, 30%의 확률에 베팅하십시오.
  • “거래 지연 현상” (“stuck”)을 방지하기 위해 무작위 추첨방식이 이용됩니다. 그러나 기본 거래 원리는 동일합니다.

위와 같은 기본 베팅 전략은 체인의 미래를 상상하며 확률을 0.5가 아닌 0 또는 1로 변화시키는 수식을 가지고 있습니다.

e(x) 함수는 x값을 “훨씬 더 크게” 만들어주는 수식입니다. 예를 들어, 확률을0.5에서 1로 바꿀 때 적용되는 수식은 다음과 같습니다. e(x) = 0.5 + x / 2 if x > 0.5 else x / 2

만약 검증자가 99%의 확률에 베팅할 경우, 베팅에 대한 보상금은 아주 작을 것입니다. (1%는 보상금을 계산 및 배당하는 데 사용됩니다). 반대로 0.5%의 확률에 베팅하여 베팅에 성공한 사람들은 100%의 보상금을 받게되며 이는 보상금 풀 (reward pool) 내의 수익을 증가시킵니다.

포크 선택 규칙은 측정 가능한 모든 베팅 확률의 총합, 즉 0.99입니다. 예를 들어 확률이 1인 블록이 5개 있을 때 포크 선택 규칙의 총합은 5가 됩니다. 베팅 확률이 0.99가 된 후, 마음을 바꾼 검증자들은 지분을 투자한 여러 개의 블록체인에 있는 지분을 모두 몰수 (slashed)당하는 처벌 (punishment)을 받게 됩니다. 반면, 베팅 확률이 0.99가 되기 이전에 마음을 바꾸는 것은 합법적인 행위로 간주되며, 이 경우 어떠한 처벌을 받지 않습니다.

문제점 분석 및 요약

저희는 해당 개선안의 최대 단점이 매우 복잡하게 구성된 시스템이라 결론지었습니다.

문제점 요약
노드의 손해가 전혀 없는Nothing at Stake 문제 지분증명방식 (PoS) 프로토콜은 마이너들이 동일한 코인을 이용하여 여러 개의 상충되는 블록체인에서 지분을 거래하는 행위를 막기 위해 설계되었습니다. 그러나 마이너들이 여러 개의 주문을 통해 서로 상충되는 블록을 받을 경우, 노드의 분할을 야기할 수 있습니다.
블록 생성 이 문제는 작업증명방식 (PoW)을 이용해 블록을 생성하면 해결할 수 있습니다.
장거리 공격
(Long range attack)
마이너들이 자신의 코인을 사용하지 않고 코인 에이지 (coin age)를 축적해 손쉽게 새로운 블록을 생성하는 장거리 공격은 피어코인 (Peercoin)에게 매우 치명적입니다. 이 문제는 미리 정해놓은 체크포인트로 해결할 수 있습니다. 따라서 피어코인 (Peercoin)은 중앙화된 시스템이라 할 수 있습니다.
지분 그라인딩
(Stake grinding)
이것은 지분증명방식 (PoS)의 문제점이 아닐 수도 있습니다. 그 이유는 작업증명방식 (PoW)와 달리 유효성 검증자 풀 (validator pool)에서 블록 생성자가 추첨되지 않고, 코인 스테이크 (coin stake)는 작업증명방식 (PoW)에 의해 보완될 수 있기 때문입니다.

결론

결과적으로 이더리움은 위 개선안을 채택하지 않았습니다. 저희는 이 개선안이 불완전하며, 시스템의 변수와 특징에 대해 충분한 설명을 제시하지 못했다고 생각합니다. 물론, 베팅에 의한 합의는 흥미로운 접근방식이지만, 매우 복잡하고 불확실성이 높은 개선안이기도 합니다. 이 방식은 완전지분증명방식 (full PoS system) 시스템 설계의 어려움과 단점을 보완하려 할수록 시스템 실행이 불가능할 정도로 복잡성이 증가한다는 점을 보여줍니다.

3 – 이더리움캐스퍼 최신 버전작업증명방식(PoW) 지분증명방식 (PoS) 결합 – 2018

개요

현재의 캐스퍼 프로토콜은 이전의 지분증명 (PoS) 시스템과 다르게 전체적인 개발 방향을 바꾸었습니다. 현재의 프로토콜은 1980년대 Lamport의 연구와 Lamport 정리를 기반으로 운영 및 개발되고 있습니다. 이 시스템은 시스템 내의 검증자 중 3분의 2가 새로운 프로토콜에 동의하여 정족수를 만족할 경우에만 실행됩니다. 따라서 현재의 캐스퍼는 이전 버전보다 꼼꼼하지 않게 설계되었다 할 수 있습니다. 또한 최신 캐스퍼 버전에서 지분증명방식 (PoS) 시스템은 더 이상 블록을 생성하거나 블록 생성 시점을 결정하지 않으며, 체크포인팅 (checkpointing) 프로세스를 위해 활용되고 있습니다. 저희는 최신 개선안의 복잡성이 이전의 개선안보다 훨씬 높아졌다고 생각합니다.

이 시스템은 다음과 같이 작동됩니다:

  • 지분증명방식 (PoS) 시스템은 체크포인팅 시스템으로써 작업증명방식 (PoW)에 대한 추가적인 보호 레이어를 제공하기 위해 100개의 블록만을 사용합니다.
  • 지분증명방식 (PoS) 과정의 참여자들은 보유하고 있는 이더리움을 “검증자 풀 (validator pool)에 보냅니다. 만약 검증자 풀에 있는 자금의 3분의 2가 개선안의 프로토콜에 동의하면, 해당 블록은 완결된 블록으로 간주되며 완결성 (finality)을 갖춘 블록은 작업증명방식 (PoW) 시스템에 대한 우선권을 얻게됩니다.
  • 검증자들은 마지막 체크포인트 블록 이후의 유효한 12개의 승인된 블록에 대해서만 투표합니다.
  • 지분보유자가 속임수를 이용해 서로 상충되는 개선안에 투표할 경우, 그 대가로 4%의 수수료를 받게됩니다. 제 3자인 검증자는 이를 불법 투표에 대한 증거로 제시할 수 있고 속임수를 이용해 수수료를 받은 지분보유자는 보유한 지분과 예치금 (deposit) 전부를 몰수당하게됩니다.
  • 정족수 (3분의 2)에 도달하지 못할 경우, 해당 블록체인은 전적으로 작업증명방식 (PoW)에 기반해 거래를 이어갑니다.

이더리움 보상 체계는 지분증명방식 (PoS) 시스템의 검증자와 작업증명방식 (PoW) 시스템의 마이너가 모두 자금의 일부를 배당받는 방식으로 변화할 것이지만 저희가 아는 한, 새로운 보상 체계의 자세한 사항은 아직 결정되지 않았습니다.

최신 캐스퍼 프로토콜의 문제점 분석

저희는 최근 발표된 캐스퍼 프로토콜은 낮은 시스템 복잡성과 작업증명방식 (PoW) 위주의 마이닝 방식으로 이전의 버전보다 훨씬 더 개선된 사양의 프로토콜이 될 것이라 생각합니다.

이론상으로 최신 개선안에는 3가지의 현실적 문제점이 있습니다:

  1. 지분보유자의 3분의 1 이상이 개선된 프로토콜에 따르지 않을 경우 – 작업증명방식 (PoW) 시스템 기반으로 돌아가게 됩니다
  2. 지분보유자의 3분의 2 이상이 대체 체인 (alternative)에 투표하여 완결 (finality)이 이루어진 이후 선택을 바꾸면 – 장거리 공격 문제가 발생합니다
  3. 정족수인 3분의 2에 달하는 지분보유자들이 기존의 가장 긴 작업증명방식 체인 (leading chain)보다 더 짦은 체인 (lower chain)을 선택하게 되면 체인 재생성 (re-organisation)을 야기할 수 있습니다. 저희는 이것이야말로 해당 개선안의 최대 단점이라고 생각합니다.

이 시스템에 대한 가정의 핵심은 체인을 움직이는 작업증명방식 (PoW)와 지분증명방식 (PoS) 시스템만이 작동한다는 것입니다. 작업증명방식 (PoW)의 마이너가 한 번 체인을 선택하면, 지분증명방식 (PoS)의 표는 12명의 마이너가 선택을 확정하기 전 까지는 유효하지 않습니다. 실제로 정족수인 3분의 2를 만족하지 못하면, 해당 체인은 작업증명방식 (PoW) 기반으로 운영됩니다.

이에 따라 저희는 최신 캐스퍼 개선안의 주요 특징을 작업증명방식 (PoW) 시스템이 먼저 작동하고나서 지분증명방식 (PoS) 시스템이 공격적인 마이너의 체인 재생성을 확실하게 방지하는 것이라 결론지었습니다. 이런 점에서 작업증명방식 (PoW) 시스템은 마이너의 체인 재생성 공격 위협을 막아내며 여전히 컴퓨터를 이용한 통합성 (computational convergence)을 제공한다고 평가할 수 있으며, 지분증명방식 (PoS) 시스템은 안전성을 제공하지만 위에서 언급한 3가지 문제점이 증명하듯 위험성도 있기 때문에 해당 시스템에 장점만이 존재하는지는 확신할 수 없습니다.

문제점 요약
노드의 손해가 전혀없는Nothing at Stake 문제점 검증자들은 길이가 같은 체인을 제외한 여러 체인에 중복 투표할 수 있습니다. 이 방식은 검증자가 “합법적”으로 선택을 변경할 수 있도록 고안된 것입니다. 해당 모델의 하이브리드 버전에서는 작업증명방식 (PoW) 위주의 마이닝을 통해 통합성 문제가 해결될 가능성이 있습니다.
블록 생성 작업증명방식 (PoW) 기반의 마이너들은 직접 블록을 생성하기 때문에 블록 생성자 채택 관련 문제와 아무 상관이 없습니다.
장거리 공격
(Long range attack)
검증자 풀 (validator pool) 내의 지분 중 3분의 2가 블록 채택에 사용될 경우, 노드는 블록을 완결 (finalize)시키고 해당 블록은 재생성될 수 없습니다. 장거리 공격은 노드의 전원이 꺼진 상태일 때 문제를 일으킬 수 있습니다.
지분 그라인딩
(Stake grinding)
작업증명방식 (PoW) 기반의 마이너들은 직접 블록을 생성하기 때문에 지분 그라인딩 문제와 아무런 관련이 없습니다.

기타 잠재적 · 미해결 문제점

논란의 여지가 있는 하드포크와 체인 분할이 실행될 때, 새로운 체인으로 인해 검증자의 체크포인트 투표 방식이 변경되면, 검증자의 3분의 2는 지분 몰수 (slashing)의 처벌을 받지않고 기존 체인 (original chain)에 치명적인 재생성 공격을 시도할 수 있습니다. 다시 말해, 그들은 원하는 체인을 계속 사용하며 기존의 체인을 파괴시킬 수 있습니다. 이런 점에서 해당 시스템은 갑작스러운 운영 중단에 대해 상대적으로 회복성이 낮다고 할 수 있습니다.

비트멕스 리서치 팀과 최신 캐스퍼 개선안에 대한 비탈릭 부테린과의 인터뷰

질문 1- 지분증명방식 (PoS) 시스템이 이전보다 더 높은 안전성을 보장한다고 하지만, 정족수 도달을 위한 최소 투표율 34%에 도달하지 못하면 체인 재생성의 위험이 높아질 수 있습니다. 재생성 공격은 작업증명방식 (PoW)과 지분증명방식 (PoS)을 막론하고 여러 방법으로 이루어질 수 있기 때문이죠. 이러한 단점에 대한 우려는 없으신가요?

예. 저는 우려하지 않습니다. 그 단점이 프로토콜의 안전성에 부정적 영향을 주지 않을 거라 확신할 수 있는 여러가지 이유가 있기 때문이죠. 완결성 체인 발명 이전 (pre-finalization chain)의 체인 득점 규칙 (chain scoring rule)은 “가장 완결성 높은 블록 + 총 난이도 * 엡실론 함수” 였습니다. 여기 “단조수열 (monotonic)”을 이용한 모든 체인 득점 규칙은 내쉬 균형 모델 (Nash equilibrium, 각 참여자는 상대방의 전략을 주어진 것으로 보고 자신의 전략을 선택하며, 결과 공개 후 해당 결과가 최적의 균형을 이루는 상태를 뜻함)에 해당한다는 점을 지적한 논문이 있습니다; 저희의 득점 규칙 또한 단조수열을 활용한 내쉬 균형 모델이며, 마이너와 검증자 모두 체인의 성장에 기여하고 자신의 선택을 변경하지 않습니다. 캐스퍼 FFG는 두 집단 모두가 “블록 기반의” 합의 기관과 완결성의 BFT 이론 개념에 기반하여 “신사적인 거래”를 할 수 있도록 위와 같은 방식으로 설계되었습니다.

 

“체인 재생성 위험성이 높아질 수 있는” 이유는 다음과 같습니다:

 

  • 부정직한 (dishonest) 검증자의 수가 마이너보다 많을 때
  • 캐스퍼 프로토콜의 특정 코드에 버그가 있을 때

저희는 위 내용이 사실이라면 캐스퍼 FFG의 위험성이 높아질 수 있다고 결론지었습니다.

질문 2 – 암호화폐 사용자와 거래소의 향후 동향을 어떻게 예상하십니까? 거래소는 예치금 입금 전의 절차를 수정해야 할까요? 예를 들어, 2건의 승인과 34% 이상의 정족수처럼 말이죠.

만약 거래소를 운영하게 되면, 저는 “예치금이 미화 50만 달러에 도달할 수 있도록 12건의 승인을 기다리게 하여 블록의 완결성을 높일 것입니다”

질문 3 – 거래소가 사용할 수 있는 작업증명방식 (PoW)과 지분증명방식 (PoS)의 특성을 결합한 승인 절차 점수 측정법을 (score metric) 설계할 수 있을까요?

가능하다고 생각합니다. 제가 생각하고 있는 기존의 것과 구분되는 몇 가지 승인 절차들이 있습니다:

  • 거래 내역은 블록 헤드 (head)에 저장되어 있습니다
    • 해당 블록은 헤드의 N번째 조상 (ancestor)입니다
    • 해당 블록은 헤드의 조상인 체크포인트 C의 조상입니다. 검증자들은 체크포인트 C에 투표하기 시작합니다.
  • 검증자들은 투표를 통해 체크포인트 C가 옮음을 증명합니다.
  • C의 자식 (child)인 C’가 존재하는 경우, 검증자들은 C의 완결을 위해 C’에 투표하기 시작합니다
  • 그 결과 C’의 자식 (child)은 전체 중 3분의 1 이상을 득표하게 됩니다. 이 때, 최소한 검증자 한 명의 지분은 변경된 (reverted) 체크포인트 C의 완결을 위해 실제로 삭감되어야 합니다.

결론

저희는 최신 이더리움 지분증명방식 (PoS) 개선안이 이때까지의 개선안 중 가장 발전된 형태의 것이라고 생각합니다. 또한 이더리움이 이를 채택할 가능성이 있고, 시스템 보안에 순전히 긍정적 기여만을 할 수 있다고도 생각합니다. 그러나 현재의 과도기적 단계에서 시스템은 여전히 작업증명방식 (PoW) 위주의 마이닝에 의존하고 있습니다. 작업증명방식 (PoW)은 지분증명방식 (PoS) 프로세스의 작동보다는 비잔틴 문제의 해결에 우선순위를 두고 있습니다. 따라서 시스템은 중요 특성인 통합성 보장과 블록 생성을 위한 작업증명방식 (PoW)에 의존할 수 밖에 없습니다. 물론 지분증명방식 (PoS) 마이닝이 몇 가지 위험 요소를 완화시킬 수 있지만 (공격적인 작업증명방식 마이너들), 시스템 통합과 보안에 장점으로만 작용할 지는 불확실합니다. 이런 이유로 지분증명방식 (PoS) 회의론자들은 작업증명방식 (PoW) 마이너로부터 지분보유자에게 재분배된 보상금(redistributed rewards)으로 인해 시스템 통합성과 보안성이 약화될 수 있다고 주장합니다.

이번 개선안이 성공적으로 구현되더라도 노드의 손해가 전혀 없는 것 (nothing at stake problem)은 심각한 문제점으로 작용할 수 있으며, 최종 결정자들은 새로운 매커니즘이 이 문제를 해결할 수 있을지에 대한 결론을 아직 내리지 못했습니다. 이처럼 상기 계획이 이번 개선안을 완전 지분증명방식 (PoS) 시스템을 위한 단계적 변화의 발판으로 활용한 것일지라도, 프로토콜의 실제 적용은 이더리움 커뮤니티 내의 일부 사용자가 생각하는 것보다 훨씬 어려울 수 있다는 점을 유의해야합니다.

고지사항

이 보고서 상의 주장들은 외부로부터 인용된 것이나, 주장의 정확성을 보증하거나 보장하지는 않습니다. 수정 요청은 언제든 환영합니다.