ETH2.0이 온다, 캐스퍼를 아직 모르시나요?
올해 초 이더리움은 콘스탄티노플 업그레이드를 거쳤고, 이 업그레이드를 통해 이더리움이 PoS로 전환할 수 있는 시기는 다시 한 번 모든 사람들의 관심을 끄는 질문이 되었습니다. 주지하다시피 PoW 알고리즘은 리소스 낭비, 컴퓨팅 파워 집중 등의 문제가 많으며, 이더리움은 2017년부터 PoS 알고리즘으로의 전환을 시도하고 있습니다. 그러나 다양한 객관적인 조건으로 인해 실질적인 발전은 이루어지지 않았습니다. 대다수의 블록체인 애호가들이 몇 년 동안 뛰어들게 한 후 Ethereum 2.0은 마침내 PoS 알고리즘을 사용할 것입니다. 혼자 행복한 것이 다른 사람들과 함께 행복한 것보다 더 나쁘다는 중국의 전통적인 미덕에 따라 Fractal의 장인들은 차세대 Ethereum 합의 프로토콜인 Casper에 대한 우리의 견해를 여러분과 공유하기로 결정했습니다.
보조 제목
Casper FFG ——PoW+PoS
Casper에는 실제로 두 가지 버전이 있는데 하나는 Vitalik이 이끄는 Casper FFG이고 다른 하나는 Vlad가 이끄는 Casper CBC입니다.이 둘의 차이점은 FFG가 이더리움이 PoW에서 PoW로 성공적으로 전환할 수 있도록 하는 전환 프로토콜에 가깝다는 것입니다. CBC는 이더리움이 PoS로 전환한 후 더 나은 버전이지만 현재 관점에서 볼 때 CBC에 대한 추가 연구와 논의가 필요한 세부 사항이 여전히 많습니다.
FFG의 주요 아이디어는 PoW에서 생성된 블록의 최종 확인을 PoS를 사용하여 채굴자 보상을 줄이면서 시스템의 보안을 향상시키는 것입니다.
이미지 설명

체크포인트로 압축된 그림 1 블록
이미지 설명

그림 2: 체크포인트 높이 함수
먼저 캐스퍼 합의 프로세스를 전체적으로 설명합니다. 합의에 참여하는 유효성 검사기는 위에서 설명한 체크포인트에 투표합니다. 각 유효성 검사기는 정당한 체크포인트에서 시작하여 여러 체크포인트 이후의 체크포인트로 체크포인트를 캐스팅합니다. 첫 번째 정당한 체크포인트는 제네시스 블록이라고 규정하고, 어떤 체크포인트가 정당한 체크포인트로부터 득표율의 2/3 이상을 받으면 이 블록이 정당성을 갖게 됩니다.
보조 제목
유효성 검사기 투표
안에:
vote=
안에:
v : Validator의 신원 정보;
s : 소스 체크포인트로 이해할 수 있는 정당한 체크포인트의 해시입니다. justified의 정의는 나중에 자세히 설명하겠습니다.
t : 대상 체크포인트로 이해할 수 있는 모든 하위 노드의 해시입니다.
h(s) : s의 높이;
보조 제목
체크포인트의 두 가지 관계
투표 규칙을 정의한 후 두 체크포인트 간의 관계를 정의합니다.
초다수 링크: 한 쌍의 체크포인트(a, b)에 대해 (a→b)라고 적고, 2/3 이상의 검증자 투표가 있다면 vote=라고 할 수 있습니다. (a→b)는 초다수 링크이고, h는 (b) ≥h(a)+1
이미지 설명

그림 3: 캐스퍼 구조의 개략도
보조 제목
체크포인트 2 상태
체크포인트 간의 관계를 정의한 후 체크포인트의 두 가지 상태인 c를 정의합니다.
-c는 정당화됩니다.
1) c = 루트: 체크포인트 c는 루트입니다.
2) 또는 존재(c'→c), 즉 c'에서 c로의 압도적 다수 링크 및 c'가 정당화됨;
-c가 완료되었습니다.
a) c는 정당하다.
b) (c'→c)가 있는데, c'에서 c로의 절대다수 연결;
c) c , c' not conflicting;
d) h(c')=h(c)+1;
보조 제목
처벌 메커니즘
Validator가 실행 프로세스 중에 악을 행하는 것을 방지하기 위해 Casper는 다음과 같은 일련의 처벌 메커니즘을 공식화했습니다. 동일한 Validator에 대해 두 개의 다른 투표가 발행됩니다 =그리고 투표=, 다음 두 가지 상황이 존재하는 경우 모기지 지분에 불이익이 있습니다.
1. h(t1)=h(t2): 동일한 대상 높이에 대해 두 개의 다른 투표를 시작할 수 없습니다.
2. 시간(s1)
이미지 설명

보조 제목
포크 선택 메커니즘
PoS가 PoW 체인의 보안을 향상시킬 수 있도록 FFG는 포크를 선택할 때 가장 무거운 체인을 일부 수정했습니다. 먼저 보기에서 가장 높은 높이의 정당한 체크포인트를 찾고 체크포인트 이후에 차단합니다. 가장 무거운 체인 선택은 수행 된 . 이것은 두 가지 장점이 있는데 첫째는 원래의 고스트 알고리즘에 비해 블록 확정이 확률적이라는 점이다 충분한 높이를 기다린 후에는 이전 블록을 뒤집을 확률이 매우 낮지만, 그러나 여전히 이러한 가능성이 있으며, FFG의 블록이 완결되기 전에는 모두 확인되고 뒤집힐 가능성이 없습니다.
보조 제목
유효성 검사기 교체
처음에 말했듯이 Validator는 고정되어 있다고 가정하지만 실제 블록체인 시스템은 참여자가 자유롭게 출입할 수 있어야 하므로 FFG는 고유한 Validator 진입 및 퇴장 원칙을 가지고 있습니다. 먼저 블록 b의 왕조를 다음과 같이 정의합니다. b의 시작 블록과 상위 블록 사이의 최종 체크포인트 수입니다.
저당:
Validator가 되고자 하는 사용자는 일정량의 지분을 담보로 보유해야 하며 사용자 v의 담보 거래가 Dynasty=d인 블록에 포함되면 Start Dynasty를 정의하고 SD(v) = d+2라고 작성합니다.
구원:
Validator v가 약정한 지분을 되찾고 싶다면 환매 거래를 개시해야 하며, 이 거래 정보가 Dynasty가 있는 블록에 포함되면 End Dynasty를 정의하고 ED(v) = +2라고 씁니다. 여러 SD 및 ED를 처리하지 않기 위해 사용자는 상환 후 Validator가 되기 위해 스테이킹할 수 없습니다. 동시에 악당들이 악행을 저지른 직후 지분을 환매하는 것을 방지하기 위해 지분은 환매 거래가 실행된 후 일정 기간 동안 여전히 잠겨 있어야 합니다.
블록 b의 경우 왕조가 d라고 가정하면 d가 ED와 SD 사이인 검증자만 투표할 수 있습니다.
이 글의 소개는 여기서 마치겠습니다.궁금한 점이 있으시면 공식 Fractal 그룹 토론에 참여하실 수 있습니다.Fractal 기술자가 온라인에서 귀하의 질문에 답변해 드릴 것입니다.다음 글에서는 Ethereum에서 사용될 Casper의 주요 기능을 소개하겠습니다. 2.0. 합의 과정.


