검수요청.png검수요청.png

캐스퍼 알고리즘

위키원
(캐스퍼 (알고리즘)에서 넘어옴)
이동: 둘러보기, 검색
캐스퍼(Casper)
캐스퍼랩스(Casper Labs)

캐스퍼 알고리즘(Casper Algorithm) 또는 간략히 캐스퍼이더리움합의 알고리즘작업증명에서 지분증명으로 전환하기 위한 알고리즘이다.

개요[편집]

비탈릭 부테린(Vitalik Buterin)
블라드 잠피르(Vlad Zamfir)

캐스퍼는 2014년부터 이더리움 개발진으로부터 시작된 프로젝트로 이더리움의 합의 알고리즘인 PoWPoS로 전환하는 것을 목표로 하고 있다. 캐스퍼는 비탈릭 부테린(Vitalik Buterin)이 제안한 캐스퍼 FFG와 블라드 잠피르(Vlad Zamfir)가 제안한 캐스퍼 CBC, 두 종류의 프로젝트로 구분된다.[1] 우선 PoW와 PoS가 결합한 캐스퍼 FFG(Friendly Finally Gadget)를 도입해 전환을 위한 기반을 다지고, 캐스퍼 CBC(Correct by Construction) 방식으로 안정화 작업을 거치게 될 예정이다.

PoW의 방식은 채굴 시 소모되는 전력량과 컴퓨팅파워가 비효율적이고 채굴기의 스펙에 따른 빈익빈 부익부 현상이 발생한다는 단점이 있다. 해시파워가 더 좋은 채굴기를 갖고 있는 채굴자 혹은 채굴 조직에 집중되어 분산화가 이뤄질 수 없는 구조인 것이다. 이더리움은 이 문제를 해결하고자 PoS로의 전환을 추진했다. PoS로 전환 시 전기 에너지 소모량이 적어질 뿐만 아니라, 네트워크 공격 행위에 대해 자유롭게 설계할 수 있다는 장점이 있다. 예를 들어 PoS 합의 알고리즘에서 이더리움 네트워크를 공격하는 경우, 공격자의 지분을 네트워크에서 삭제해버린다. 이를 통해 네트워크 공격이 예방 가능하다.

이더리움은 자체적으로 거버넌스를 가진 인터넷 플랫폼이다. 개발자들이 인센티브에 대해서 프로그래밍 할 수 있다. 이러한 인센티브들이 결국 사람들이 상호작용하는 방식을 규정하게 된다. 캐스퍼는 이더리움 네트워크에서의 PoW를 대체하게 될 PoS 프로토콜로 이더리움의 보안을 한층 더 강화한다. 또한 캐스퍼를 통해 네트워크가 모두에게 열린 상태를 유지하면서도 네트워크에 배포되어있는 스마트 계약들이 처음에 정의된 대로 정확하게 실행될 수 있도록 보장할 수 있게 된다.[2]

주요인물[편집]

  • 비탈릭 부테린(Vitalik Buterin) : 블록체인 기반의 암호화폐인 이더리움의 창시자이다. 스마트 계약 기능을 구현했고, 다양한 토큰을 개발할 수 있는 플랫폼을 제공했다. ICO 방식으로 개발 자금을 확보했다. 비탈릭 부테린의 별명은 '외계인'이다. 그가 만 19세라는 어린 나이에 이더리움 백서를 쓴 것은 보통 인간으로서는 불가능한 일이므로, "혹시 우수한 문명을 가진 외계인이 아닐까"라는 뜻으로 사용한다.
  • 블라드 잠피르(Vlad Zamfir) : 이더리움의 핵심 개발자로 이더리움 생태계에서 블록체인 샤딩(Sharding)과 지분증명(PoS)을 다루는 암호경제학을 연구한 인물로 잘 알려져 있다. 또한 그는 블록체인 기술에서의 거버넌스와 윤리적 사용에 대해 관심을 두고 있다.

등장배경[편집]

이더리움은 부의 재분배를 비롯한 전 지구적 단위의 문제들을 해결하고자 한다. 이를 현실로 만들려면 필연적으로 보안이나 확장성 문제의 해결이라는 임무를 완수해야만 한다. 그 임무를 위해서 결국 기존의 PoW 방식보다 훨씬 효율적이고 합리적인 메커니즘을 반드시 도입해야만 하고, 그것이 바로 캐스퍼라고 부르는 이더리움의 PoS 프로토콜이다.[3]

캐스퍼의 철학은 특히 다른 프로젝트들과도 구분된다. 그냥 가장 빠른 체인을 구축하면 되는 것이 아니라, 장기적으로 보안과 안정성을 보장할 수 있어야 하기 때문에 적절한 트레이드 오프가 필요한 것이다. 이더리움 네트워크의 가치가 수십억 달러에 달하는 상황에서 모든 선택은 굉장히 신중하게 고려되어야 했다. 따라서 캐스퍼에 담긴 철학은 비탈릭 부테린, 블래드 잠피르 등의 다른 팀원들과 많은 아이디어를 교환하면서 자연스럽게 발전해왔다. 그 중의 몇 가지 핵심은 다음과 같다.[4]

  • 경제학이 중요하다. 경제학에 대한 최소한의 식견이 없다면 퍼블릭 블록체인의 합의 프로토콜을 추론해내는 것 또한 불가능하다.
  • 견고함 또한 필수이다. 극도로 적대적인 환경에서도 살아남을 수 있어야 하기 때문이다.
  • 무엇보다 클라이언트들이 최우선이다. 일반적인 유저들을 위해서 캐스퍼를 만드는 것이지 채굴자나 거래소, 몇몇의 암호화폐의 성과를 위해 만드는 것이 아니다.

작동[편집]

  • 2018년 버전 캐스퍼 개선안
PoS 시스템은 체크포인팅 시스템으로 PoW에 대한 추가적인 보호 레이어를 제공하기 위해 100개의 블록만을 사용한다. PoS 과정의 참여자들은 보유하고 있는 이더리움을 검증자 풀에 보낸다. 만약 검증자 풀에 있는 자금의 3분의 2가 개선안의 프로토콜에 동의하면, 해당 블록은 완결된 블록으로 간주되며 완결성을 갖춘 블록은 PoW 시스템에 대한 우선권을 얻게 된다.
검증자들은 마지막 체크포인트 블록 이후의 유효한 12개의 승인된 블록에 대해서만 투표한다. 지분보유자가 속임수를 이용해 서로 상충되는 개선안에 투표할 경우, 그 대가로 4%의 수수료를 받게 된다. 제3자인 검증자는 이를 불법 투표에 대한 증거로 제시할 수 있고 속임수를 이용해 수수료를 받은 지분보유자는 보유한 지분과 예치금 전부를 몰수당하게 된다. 정족수에 도달하지 못할 경우, 해당 블록체인은 전적으로 PoW에 기반하여 거래를 이어간다.
이더리움의 보상 체계는 PoS 시스템의 검증자와 PoS 시스템의 채굴자가 모두 자금의 일부를 배당받는 방식으로 변화할 것이지만 그 보상 체계의 자세한 사항은 아직 결정되지 않았다.[5]

종류[편집]

캐스퍼 FFG[편집]

캐스퍼 FFG(Casper Friendly finality gadget)는 비탈릭 부테린이 주도하는 캐스퍼 구현 방식이다. 기존 PoW에서 PoS로 안정적인 전환을 위한 하이브리드 합의 알고리즘으로 현재로서는 이더리움이 PoS로 이행하는 과정의 첫 걸음이 될 수 있는 방식이다. 캐스퍼 FFG는 PoW 체인 위에 PoS 시스템을 덮어씌우는 방식으로 PoS를 구현한다. 블록체인Ethash PoW 알고리즘을 통해 한 블록씩 생성되지만, 캐스퍼 FFG의 경우 블록 생성은 PoW의 채굴자들이 만들고 매 50 블록이 생성될 때마다 PoS의 체크포인트를 찍으며 그 시점에서 네트워크의 검증인들이 완결성을 검증한다. 완결성이란 이미 결정나버린 블록체인이 다시 바뀌지 않는 것을 의미한다.[6]

검증이란 어떤 포크(fork)가 정당한지 투표하는 것을 의미한다. 전체 지분의 2/3 이상이 투표한 포크에 투표를 하게 되면 보상을 받게 되고, 반대로 네트워크를 교란시키는 투표 행위를 하면 검증자는 자격을 박탈당하며 예치금을 몰수당한다.[6] 이때 위법 행위를 발견한 검증자들은 일정 포상금을 받게 된다. 언제든지 검증자들이 예치금을 인출하면 검증자 자격이 상실된다. 캐스퍼 FFG의 코드는 간단하게 예치금, 탈퇴, 출금, 투표, 몰수, 체크포인트 간격 등으로 나눠볼 수 있다.

  • 예치금(deposit) : 검증인이 검증 작업을 하기 위해서는 자신의 지분으로서 예치금을 걸어 두어야 한다.
  • 탈퇴(logout) : 검증인이 검증 작업을 멈추고 탈퇴하고자 할 때를 지칭한다.
  • 출금(withdraw) : 검증인들이 본인이 예치해 두었던 예치금을 인출하고자 할 때를 지칭한다.
  • 투표(vote) : 검증인들이 특정 체크포인트에서 투표 메시지를 보낼 때를 지칭한다.
  • 몰수(slash) : 검증인들이 네트워크를 교란시키는 행위를 하면 예치금이 몰수당할 때를 지칭한다.
  • 체크포인트 간격(epoch) : 검증인들이 검증 작업을 하는 체크포인트의 블록 간격을 지칭한다.[6]

캐스퍼 CBC[편집]

캐스퍼 CBC(Casper Correct-By-Construction)는 블라드 잠피르가 주도하여 개발하고 있으며 기존의 프로토콜 설계와 다른 접근법을 취한다. 1) 프로토콜은 초기에는 일부만 정해진 상태이며, 2) 정해지지 않은 나머지 프로토콜은 바람직하고 필요한 조건들을 만족하는 것으로 확인된 방식으로 결정된다. 이 경우 프로토콜을 완성하는 한 가지 방법은 안전성을 예측하는 예언자를 구현하는 것이다.[7] 합리적인 추측의 결함을 알리거나 앞으로 발생할 가능성이 있는 문제점들을 예측해주는 것이 예언자의 역할이다.[8] 자세히 말하자면 각 노드에서 관찰하는 해당 네트워크 부분의 안전성에 대한 시야를 확장함으로써 컨센서스의 안전성을 높일 수 있는 프로토콜을 설계하는데 집중하고 있다.[7]

이는 단순히 PoS를 레이아웃 하는 것이 아니라 합의 알고리즘을 전체적으로 재고려하는 문제기 때문에 다양한 실험이 필요하다. 캐스퍼 CBC는 합의 프로토콜을 도출하는 방법으로 캐스퍼 CBC를 사용하면 전통적인 합의 프로토콜에 비해 다음과 같은 이점을 누릴 수 있다.

  • 비교적 간단한 합의 증명
  • 이미 결정된 블록체인은 바뀌지 않는 완결성의 부재
  • 네트워크 오버헤드가 아닌 검증인들을 사용하여 지연 시간을 완결성으로 바꿀 수 있음

캐스퍼 CBC 연구는 퍼블릭 블록체인에 대한 PoS 합의 프로토콜의 연구로 시작했지만 더욱 일반적인 형태의 연구로 변화했다. 현재 캐스퍼 CBC 계열에 존재하는 6개의 합의 프로토콜이 있다.[6]

  • 캐스퍼 TFBC(the Friendly Binary Consensus Protocol) : 0과 1 중 하나를 선택 동의
  • 캐스퍼 TFOC(the Friendly Ordinal Consensus Protocol) : 정수에 동의
  • 캐스퍼 TFLO(the Friendly List Ordering Protocol) : 리스트 순서에 동의
  • 캐스퍼 TFG(the Friednly GHOST Protocol) : 블록체인상 동의
  • 캐스퍼 TFCSR(the Friendly Concurrent Schedule Replication Protocol) : 병행 스케줄상 동의
  • 캐스퍼 TFSB(the Friendly Sharded Blockchain) : 여러 개의 샤드가 있는 블록체인상 동의

비교[편집]

캐스퍼 FFG는 퍼블릭 블록체인 PoS 합의 프로토콜로 설계되었지만 위에 나열된 다른 합의 프로토콜은 다른 상황에 적합할 수 있다. 블라드 잠피르의 목표는 합의 안전성을 높일 수 있는 프로토콜을 설계하는 것이다. 캐스퍼 FFG는 여러 단계에 걸쳐 PoS를 도입하고자 한다. 각 단계를 거치면서 네트워크에서 PoS의 비중을 점진적으로 높이는 방식이다. 반면에 캐스퍼 CBC는 처음부터 안정성을 담보하는 방법들에 초점을 맞춘다. 조금 복잡하긴 하지만 같은 문제를 해결하기 위해 제안된 이 두 가지 방법은 서로를 잘 보완해주고 있다.

문제점과 대안[편집]

이론상으로 캐스퍼의 2018 개선안에는 세 가지의 현실적인 문제점이 있다. 먼저 지분보유자의 3분의 1 이상이 개선된 프로토콜에 따르지 않을 경우 PoW 시스템 기반으로 돌아가게 된다. 또한 지분보유자의 3분의 2 이상이 대체 체인에 투표하여 완결이 이루어진 이후 선택을 바꾸면 장거리 공격 문제가 발생한다. 마지막으로 2018년도 캐스퍼 개선안의 최대 단점인 정족수인 3분의 2에 달하는 지분보유자들이 기존의 가장 긴 작업증명 방식 체인보다 더 짧은 체인을 선택하게 되면 체인 재생성을 야기할 수 있다는 것이다

이 시스템에 대한 가정의 핵심은 체인을 움직이는 PoW와 PoS 시스템만이 작동한다는 것이다. PoW의 채굴자가 한 번 체인을 선택하면, PoS의 표는 12명의 채굴자가 선택을 확정하기 전까지는 유효하지 않다. 실제로 정족수인 3분의 2를 만족하지 못하면 해당 체인은 PoW 기반으로 운영된다.

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

  • 해결된 문제점
  1. 노드의 손해가 전혀 없는 Nothing at Stake 문제 : 검증자들은 길이가 같은 체인을 제외한 여러 체인에 중복 투표할 수 있다. 이 방식은 검증자가 합법적으로 선택을 변경할 수 있도록 고안된 것이다. 해당 모델의 하이브리드 버전에서는 PoW 위주의 채굴을 통해 통합성 문제가 해결될 가능성이 있다.
  2. 장거리 공격(Long range attack) 문제 : 검증자 풀 내의 지분 중 3분의 2가 블록 채택에 사용될 경우, 노드는 블록을 완결시키고 해당 블록은 재생성 될 수 없다. 장거리 공격은 노드의 전원이 꺼진 상태일 때 문제를 일으킬 수 있다.
  3. 지분 그라인딩(Stake grinding) 문제 : PoW 기반의 마이너들은 직접 블록을 생성하기 때문에 지분 그라인딩 문제와 관련이 없다.
  4. 블록 생성 문제 : PoW 기반의 마이너들은 직접 블록을 생성하기 때문에 블록 생성자 채택 관련 문제와 아무 상관이 없다.[5]
  • 기타 잠재적·미해결 문제점
논란의 여지가 있는 하드포크와 체인 분할이 실행될 때, 새로운 체인으로 인해 검증자의 체크포인트 투표 방식이 변경되면, 검증자는 3분의 2 지분 몰수의 처벌을 받지 않고 기존 체인에 치명적인 재생성 공격을 시도할 수 있다. 다시 말해, 그들은 원하는 체인을 계속 사용하며 기존의 체인을 파괴시킬 수 있다. 이런 점에서 캐스퍼는 갑작스러운 운영 중단에 대해 상대적으로 회복성이 낮다고 할 수 있다.[5]

각주[편집]

  1. Jenny, 〈비트코인용어 캐스터 Casper〉, 《네이버 블로그》, 2018-05-08
  2. HashedPost, 〈UNITALKS: 이더리움 캐스퍼의 핵심 개발자, 칼 플로이시 인터뷰〉, 《해시드포스트》
  3. HashedPost, 〈UNITALKS: 이더리움 캐스퍼의 핵심 개발자, 칼 플로이시 인터뷰〉, 《해시드포스트》
  4. Unitimes_Media, 〈UNITALKS: Ethereum Casper Core Developer Karl Floersch〉, 《유닛타임즈》, 2018-01-25
  5. 5.0 5.1 5.2 5.3 GRANT KIM, 〈지분증명방식 (Proof of Stake) 완벽 가이드 – 이더리움 최신 개선안과 창시자 비탈릭 부테린 인터뷰〉, 《비트맥스》, 2018-07-11
  6. 6.0 6.1 6.2 6.3 bigthumbsup, 〈이더리움의 캐스퍼(FFG,CBC) 분석: 비탈릭 부테린의 고뇌〉, 《스팀잇》
  7. 7.0 7.1 justfinance, 〈이더리움 캐스퍼 첫걸음 (1) by Jon Choi〉, 《스팀잇》
  8. 야옹메롱, 〈(ETH) 이더리움 캐스퍼를 통해 Proof of Stake(PoS)를 구현〉, 《네이버 블로그》, 2018-07-10

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 캐스퍼 알고리즘 문서는 합의 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.