[Consensus] 이더리움 캐스퍼 - 베팅에 의한 합의 // Ethereum's Casper by betting(2014~2015) v1.3

□ PoS가 미래다

  ㅇ PoW와 나카모토 컨센서스의 대안 제시

     - PoW는 2013년에 이미 ASIC에 의해 경쟁과열 및 중앙집중화가 심해지고 있었고, 경쟁을 통해 가장 긴체인이 메인체인이 되는 간단명료한 합의방식에도 불구하고 '확정성*'이 보장되지 않았다.(과도한 전기사용 등의 문제는 논외)
     *확정성(Finality) : 블록체인에 한번 기록된 거래는 그 특성상 불가역적이고 수정불가이므로, 거래 이후 절대 바뀌면 안된다는 것을 의미
     - 이더리움의 창시자 비탈릭은 이더리움이 나오기 전부터 "PoS가 미래다(PoS is the Future)"라고 하였고, 그 이유는 PoW보다 안전하기 때문이다. 사실 더 안전하다는 것은 상대적*이겠지만 잘만 구현된다면 PoS가 PoW보다 충분히 안전성이 높다고 말할수 있다.
     *상대적인것에 대한 고찰 : 전통적으로 합의알고리듬 설계시, 안전성을 확보한후 생존성을 줄이는 방식(Safety over Liveness)으로 접근하여 네트워크 내에서 합의가 이루어지지 않아도 모든 노드에게 동일한 메세지를 주고받는게 중요하다고 생각했다. 하지만 비트코인의 경우, 그와 정반대로 생존성을 살리고 안전성을 뒤로 미루되(Liveness over Safety), 경쟁을 통한 포크 선택규칙(가장 빨리 수학계산을 푼 자가 블록생성시키며, 긴 체인이 곧 메인체인)으로 안전성을 보완했다. 다만, 이런 보완책도 완벽하게 보장할수 없는것이, 51%공격과 같은 극단적인 경우에는 큰 의미가 없다는 것이며, 이는 단지 확률적으로 안전성을 부여한다는 한계에 부딪힌다.(자세한 내용은 여기를 참조)
< https://twitter.com/vladzamfir >

□ PoS로 가는 만만치 않은 여정

  ㅇ PoS로의 도전과 그에 따른 문제

     1) 잃을게 없는 문제(Nothing at Stake)
      - PoW의 경우, 동시에 2개의 체인에서 블록생성이 되어도 누가 더 빨리 길게 다음 블록으로 이을것인지에만 신경을 쓰는 경쟁때문에, 시간이 흐르면서 자연스럽게 편익이 크고 기회비용이 적은 가장 긴 체인이 메인체인으로 선택된다.
      - PoS의 경우, 체인이 분기되면 유효성 검증자(블록생성에 참여한 유효지분보유자)들이 보상을 더 많이 받기 위하여, 분기된 복수의 체인들에 투표하는데도 불구하고 딱히 손해보지 않는다. (다만, 결국에는 해당 네트워크의 신뢰성을 잃게된다)
     - 이 문제를 해결하기 위하여 비탈릭은 당초 유효성 검증자의 서명보상(Signing Reward)를 뺏자고 하였지만, 이후 이더리움 캐스퍼 개발자인 블라드(Vlad Zamfir)와 논의후 '슬래셔(Slasher)'를 도입해서 유효성 검증자가 보증금을 예치하게 하고 분기된 복수의 체인에 투표하는 행위를 악의적으로 간주하여 보증금을 삭감(Slash)시키는 재정페널티를 주기로 한다.
     - 가령, 노드 A가 블록생성을 위하여 100만원을 예치하면서 블록보상으로 1만원(이율1%)의 편익을 얻고 악의적인 행동의 페널티가 보증금 50% 삭감일 경우, 얼핏보면 편익이 1%로 매우 적게 보이지만 악의적인 행동에 대한 기회비용은 -51만원(51%)일것이며 이는 상대적으로 매우 치명적인 재정패널티다.

     2) 뇌물 공격(Bribing Attack) 또는 장거리 공격(Long Range Attack)
      - 악의자가 뇌물을 주면서 현재는 보증금을 모두 인출하여 잔고가 0이지만 과거에는 유효성 검증자였던 사람의 계정 키를 공유받는 경우, 악의자는 과거의 계정 히스토리를 악용하면 해당 블록체인을 통제할수 있는 일부 권한이 생긴다.
      - 가령, 뇌물을 받은 유효성 검증자가 보증금을 인출하기 이전(잔고가 있을때)의 블록으로부터 포크시킨 공격체인을 남모르게 만들어 이어나가면서 거짓된 역사의 체인을 만들수 있으며, 메인체인과 길이가 같아질때 노드들은 메인체인과 공격체인 중 어느 체인이 정통체인인지 알수없게 된다.
      - PoW의 경우, 채굴경쟁을 통해 블록이 생성되면 외부정보 없이 그 자체로 유효한 블록으로 인정(장거리 공격, 51%공격, 이중지불문제 등은 논외)되지만, 보증금을 예치하는 캐스퍼같은 PoS의 경우, 검증자의 잔고를 확인하는 과정이 필요하다.
      - 이 문제를 해결하기 위하여 현재 잔고가 없는 검증자의 서명은 유효하지 않다고 간주하고, 예치금을 인출하는데 걸리는 시간을 N이라고 할때 N보다 더 오래된 시점으로 돌아가려는 시도가 있다면 노드는 그것을 악의적인 행동이라고 판단하여 거절할수 있으며, 노드는 적어도 N기간에 한번은 소프트웨어 업데이트를 하면된다.
      - 가령, 예치금을 인출하는데 걸리는 시간을 72시간으로 할때, 72시간보다 더 오래된 시점으로 돌아가 포크체인을 구성한다면 노드는 그것을 공격체인으로 간주하여 유효하지 않다고 판단하며, 노드는 이런 올바른 판단을 지속 유지하기 위해서는 적어도 72시간에 한번씩 업데이트만 해주면 큰 비용없이 장거리 공격을 방지할수 있다.

  ㅇ 베팅에 의한 합의(Consensus by betting)

    - 일종의 게임이론(Game theory)으로, 검증자가 블록A에 베팅을 했는데 블록A가 가장 많은 검증자들로부터 베팅을 받아 정상블록으로 인정이 되면 베팅한 검증자는 보상을 받지만, 블록A가 아닌 다른 블록이 정상블록이 되면 검증자가 예치한 보증금은 삭감된다.
    - 이런 방식때문에, 검증자들은 다른 검증자들이 특정 블록에 베팅을 할수록 덩달아 그 블록에 베팅을 하게되어 자연스럽게 한 블록에 보증금이 몰리게 된다. 다만, 특정 블록에 베팅을 할때 그게 정상블록이 될 확률이 50%일때 베팅하여 성공하면 2배로 보상을 받고 대세로 기울어진 99%일때 베팅하여 성공하면 보상금은 미미하다.
    - 흥미로운 점은, 베팅확률이 99%가 되기전에 다른 블록에 베팅한 검증자가 마음을 바꾸어 대세 블록으로 베팅하면 합법적인 행위로 간주하여 재정페널티가 없다. 이렇게 게임이론을 통해 이익을 취하고 손실을 줄이는 경제적인 방식으로 블록체인의 확정성을 이루는 것을 '경제적 확정성(Economic Finality)'이라고 한다.


  ㅇ 카르텔 방지

     - 초기 캐스퍼에 적극적으로 참여한 블라드의 제안으로, 새로운 합의알고리듬인 캐스퍼 CBC(Casper Correct By Construction)이 나온다. 이는 검증자들이 블록에 서명할 때마다 어느 블록에 누가 서명했는지 DAG방식*으로 기록해두면 어떤 블록이 서명 가중치가 높은지 알 수 있을 뿐만 아니라 하나의 노드만 남더라도 시간 순으로 모든 트랜잭션을 다시 만들수 있다는 것이다.
      *DAG(Directed Acyclic Graph, 방향성 비순환 그래프) : 하나의 트랜잭션은 다음 트랜잭션을 검증하고 승인하며, 블록의 수준을 트랜잭션 수준으로 쪼개고, 이러한 검증이 동시 다발적으로 이루어지는 방식. 보통 직렬이 아닌 병렬로 구성됨.
     - 가령, 특정 검증자가 서명한 블록이 자주 DAG에 포함되지 않으면 다수가 카르텔을 맺고 소수 검증자를 검열하고 있다는 것으로 간주하여 페널티를 줄수도 있다.
     - 결국, 안전성(Safety)에 중점을 둔 전통적인 BFT보다는 생존성(Liveness)를 더 강화시키고, 블록이 생성된 뒤에 블록에 서명할 수 있게 하면 노드의 2/3(BFT의 정족수)를 충족시킬수 있어 확정성(Fanality)도 챙길 수 있다.


□ 새로운 PoS로 재정비

  ㅇ 불완전한 방식

    - 비탈릭은 고민끝에 이 PoS방식이 위험한 접근방식이라고 결론냈다. 당시 PoS에 대한 많은 문제점들에 대하여 나름대로 대응책을 마련했지만, 예측가능한 모든 변수와 그에 따른 특징들에 대한 설명이 충분치 않다고 판단하였다. 특히, 베팅에 의한 합의는 흥미롭지만 매우 복잡하고 불확실성이 높았다.
    - 전체적으로 단점이 보이면 보일수록 그에 따른 대비책이 많아져, 결국 잘 실행하기 위해 손볼수록 오히려 실행하기 힘든 상황에 봉착하게 되어버렸다.
    - 이후 비탈릭은 다시 다른 알고리듬들을 연구하며, 캐스퍼를 재정비하였다.

  ㅇ 새 판짜는 장인정신

    - 이더리움의 실체가 나오기 전엔 2014년부터 비탈릭과 주변인물들은 PoS에 대한 연구와 고민을 하고 있었다. 그들은 이더리움을 PoS방식으로 출시하고자 하였으나 결코 쉽지 않았고 결국 차선책인 PoW방식으로 출시한다. 아마 썩 괜찮은 도자기를 마음에 들지않는다며 과감히 깨부스는 도자기 장인정신의 마음같기도 하다.
    - 필자가 비탈릭이었다면 상당히 고민을 했을것이다. 자기 계획대로 갈것인가, 아니면 차선책을 선택할것인가. 만약 자기 계획대로 한다면, 스스로 납득할수 있는 프로젝트를 추진했겠지만 출시가 매우 늦어졌을것이다. 하지만 차선책을 선택하면, 우선 원하는 일정에 따라 프로젝트 추진이 가능하지만 향후 당초 원하는대로 전환을 하기에는 상당한 진통이 있었을것이다. 비탈릭은 실제로 후자를 선택하였고, 현재까지 PoS전환을 위한 연구와 개발을 하고 있다. 과연 그는 역사에 올바른 결정을 한것인가. 그 판단은 시간이 좀 더 지나봐야 알것 같다.


법적 고지 : 본 게시글은, 투자를 위한 정보제공을 목적으로 작성되었기에 투자결정은 신중을 기하여 주시기 바라며, 참고자료를 토대로 본인 판단하에 내용을 추가, 편집 등 작성되었기에 본인의 허락없이 복사, 배포, 편집 등을 할 수 없습니다.



<References>
1)https://blog.bitmex.com/please-translate-in-ko_kr-complete-guide-to-proof-of-stake-ethereums-latest-proposal-amp-vitalik-buterin-interview/
2)https://medium.com/@Vlad_Zamfir/the-history-of-casper-part-1-59233819c9a9
3)https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-2-8e09b9d3b780
4)https://medium.com/hashed-kr/vitalik-twits-on-casper-kr-52346495fda7

댓글

이 블로그의 인기 게시물

[Rave]Raven Devs Meeting(5 July, 2019) // 레이븐 개발자 회의 분석 및 논평(5 July, 2019) v1.0

[Insight] JP모건을 통해 본 월가와 코인시장(2부작) 1부 // Wallstreet and CryptoMarket with JPmorgan part1 v1.2

[Insight] JP모건을 통해 본 월가와 코인시장(2부작) 2부 // Wallstreet and CryptoMarket with JPmorgan part2 v1.3