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

캐스퍼 알고리즘

위키원
leejia1222 (토론 | 기여)님의 2019년 5월 29일 (수) 15:08 판 (새 문서: '''캐스퍼'''(Casper)는 이더리움합의 알고리즘작업증명에서 지분증명으로 전환하기 위한 새로운 알고리즘이다. ==개요==...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

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

개요

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

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

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

주요인물

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

등장배경

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

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

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

종류

캐스퍼 FFG

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

검증이란 어떤 포크(fork)가 정당한지 투표하는 것을 의미한다. 전체 지분의 2/3 이상이 투표한 포크에 투표를 하게 되면 보상을 받게 되고, 반대로 네트워크를 교란시키는 투표 행위를 하면 검증자는 자격을 박탈당하며 예치금을 몰수당한다.[4]

이때 위법 행위를 발견한 검증자들은 일정 포상금을 받게 된다. 언제든지 검증자들이 예치금을 인출하면 검증자 자격이 상실된다. 캐스퍼 FFG의 코드는 간단하게 예치금, 탈퇴, 출금, 투표, 물소, 체크포인트 간격 등으로 나눠볼 수 있다.
  • 예치금(deposit) : 검증인이 검증 작업을 하기 위해서는 자신의 지분으로서 예치금을 걸어 두어야 한다.
  • 탈퇴(logout) : 검증인이 검증 작업을 멈추고 탈퇴하고자 할 때를 지칭한다.
  • 출금(withdraw) : 검증인들이 본인이 예치해 두었던 예치금을 인출하고자 할 때를 지칭한다.
  • 투표(vote) : 검증인들이 특정 체크포인트에서 투표 메시지를 보낼 때를 지칭한다.
  • 몰수(slash) : 검증인들이 네트워크를 교란시키는 행위를 하면 예치금이 몰수당할 때를 지칭한다.
  • 체크포인트 간격(epoch) : 검증인들이 검증 작업을 하는 체크포인트의 블록 간격을 지칭한다.[4]


캐스퍼 CBC

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

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

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

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

  • 캐스퍼 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와 CBC의 비교

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

각주

  1. Jenny, 〈비트코인용어 캐스터 Casper〉, 《네이버 블로그》, 2018-05-08
  2. 2.0 2.1 야옹메롱, 〈( 이더리움 ) 이더리움 캐스퍼의 핵심 개발자, 칼 플로이시 인터뷰〉, 《네이버 블로그》, 2018-02-20 인용 오류: 잘못된 <ref> 태그; ".EC.95.BC.EC.98.B9.EB.A9.94.EB.A1.B1"이 다른 콘텐츠로 여러 번 정의되었습니다
  3. Unitimes_Media, 〈UNITALKS: Ethereum Casper Core Developer Karl Floersch〉, 《유닛타임즈》, 2018-01-25
  4. 4.0 4.1 4.2 4.3 bigthumbsup, 〈이더리움의 캐스퍼(FFG,CBC) 분석: 비탈릭 부테린의 고뇌〉, 《스팀잇》
  5. 5.0 5.1 justfinance, 〈이더리움 캐스퍼 첫걸음 (1) by Jon Choi〉, 《스팀잇》

참고자료

같이보기


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