대중 과학: 비콘 체인의 제네시스 프로세스
편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)편집자 주: 이 기사의 출처는
이더리움 애호가(ID: ethfans)
이더리움 애호가(ID: ethfans)
, 저자: Ben Edgington, 번역 및 교정: Min Min & A Jian, Odaily의 승인을 받아 재인쇄됨.
대규모 분산 다중 클라이언트 블록체인 출시 이벤트는 일반적이지 않습니다. 어제(7월 30일)는 ETH 1.0의 탄생 5주년이었습니다. 이러한 주요 생일 행사는 더욱 드물다는 것을 알 수 있습니다.
ETH 2.0 제네시스 메커니즘은 다소 복잡합니다(블록체인 부트스트래핑 프로세스라고 함). 자세히 설명하겠습니다. 실제 기술 사양은 "ETH 2.0 사양 노트"에서 내 의견을 볼 수 있습니다.
다음에서 "제네시스"는 비콘 체인이 온라인 상태가 되어 증명 및 블록 처리를 시작하는 순간, 즉 에포크 0의 슬롯 0이 시작되는 순간을 의미합니다.
(긴 글을 읽기 싫으신 분들은 바로 "장면" 부분으로 이동하셔서 읽으시면 됩니다.)
유효성 검사기 입금
여기에 약간의 배경이 있습니다. 누구나 ETH 1.0 계약에 32 ETH의 예치금과 기타 데이터를 전송하여 ETH 2.0 검증자가 될 수 있습니다. 예를 들어 Lanchpad 포털을 통해 Medalla 테스트넷의 검증자가 될 수 있습니다. Medalla 테스트넷에서는 Goerli 테스트넷 ETH를 사용하고 있습니다! 컨트랙트에 메인넷 ETH를 보내려고 하지 마세요. 물론 비콘체인이 정식 런칭되면 실제 메인넷 ETH를 사용할 예정입니다.
마진 계약은 유효한 예치, 즉 32 ETH 이상의 단일 예치, 총 32 ETH 이상의 복수 예치에만 반응합니다(확인해야 할 추가 데이터, 예: 암호화 서명). 유효하지 않거나 부족한 여백은 무시됩니다.
첫 번째 레벨 제목
사전 생성 단계에서는 비콘 체인 노드만 ETH 2.0 네트워크에 참여하며, 생성이 완료되면 유효성 검사기는 즉시 합의 메커니즘에 참여할 수 있습니다. 비콘 체인 노드는 시스템 상태를 유지하고 P2P 네트워크에서 서로 통신합니다.
따라서 제네시스 이전에는 ETH 1.0을 수신하고 예금 계약에서 유효 예금을 모니터링하는 일부 비콘 체인 노드가 있을 것입니다. 실제로 비콘 체인 노드는 ETH 1.0을 항상 모니터링할 필요가 없습니다. ETH 1.0의 블록에는 타임스탬프가 지정되어 있으므로 노드는 제네시스 이전에 언제든지 따라잡을 수 있습니다.
우리 모두 알고 있듯이 ETH 1.0 체인은 롤백될 수 있으며 이미 체인에 있던 트랜잭션도 블록체인의 변경으로 인해 무효화될 수 있습니다. 그렇기 때문에 ETH를 거래소로 전송할 때 거래가 확인되려면 30블록을 기다려야 합니다. 롤백은 일반적으로 1~2개 블록으로 작지만 네트워크가 공격을 받을 때는 롤백이 훨씬 더 커집니다. ETH 2.0의 롤백을 피하기 위해 ETH 1.0을 동기화할 때 14*1024초(약 4시간)의 지연을 유지하기 위해 매우 신중합니다. 저는 이것을 ETH 1.0에 대한 "추종 거리"라고 부릅니다.
첫 번째 레벨 제목
언제? WHO?
창조에 있어서 가장 중요한 두 가지 질문은 "언제"와 "누가"인가? 구체적으로, "제네시스는 언제 일어날 것인가?"와 "제네시스 검증자는 누가 될 것인가?" 이 두 가지 질문은 비콘 체인의 제네시스 상태를 결정하고 다른 상태는 제네시스 상태에서 파생됩니다.
일반적인 프로세스는 다음과 같습니다.
ETH 1.0에서 마진 유입을 모니터링합니다.
충분한 여유를 두고 충분히 기다린 후 생성 상태가 생성됩니다.
이틀 후, 제네시스 이벤트를 트리거하여 ETH 2.0이 시작됩니다.
특히, 2단계에서 다음 두 가지 조건을 충족하는 첫 번째 ETH 1.0 블록을 찾고자 합니다. 제네시스 상태는 이 블록에 의해 결정됩니다.
"when"과 "who"에 영향을 미치는 세 가지 주요 매개변수 설정은 다음과 같습니다.
GENESIS_DELAY는 172800초 또는 약 48시간입니다. 이것은 제네시스 상태 생성과 제네시스 이벤트 트리거 사이의 시간 간격입니다. 클라이언트 팀은 이 시간을 사용하여 기원 상태를 비콘 체인 노드 소프트웨어에 구울 수 있습니다. 이렇게 하면 유효성 검사기 노드를 실행하지 않는 비콘 체인 노드는 ETH 1.0 체인을 계속 모니터링할 필요가 없습니다. 제네시스 스트림과 파티를 구성할 시간도 있습니다.
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT는 제네시스 상태를 생성하기 전에 ETH 1.0 마진 계약에 잠그는 데 필요한 최소 유효 예금 수를 나타냅니다. Medalla(및 메인넷)의 경우 최소 16384개의 검증자가 필요합니다.
Medalla 테스트넷 출시에서 얻은 교훈: 파티를 조직할 시간이 있지만 44시간은 출시 노드의 상태가 양호하고 업데이트된 클라이언트 소프트웨어에 필요한 모든 정보가 포함되어 있으며 쉽게 최종 사용자가 Rush를 사용할 수 있도록 합니다. 메인넷의 GENESIS_DELEY를 늘릴 수 있습니다.
첫 번째 레벨 제목
장면
이 블록이 생성될 때 검증인의 수는 16384(MIN_GENESIS_ACTIVE_VALIDATOR_COUNT)보다 낮아서는 안 됩니다.
타임스탬프가 너무 빠르지 않습니다(MIN_GENESIS_TIME - GENESIS_DELAY 이전).
위의 두 가지 조건이 만족되는 순서에 따라 제네시스 프로세스는 다음 두 가지 방식으로 완료될 수 있습니다.
보조 제목
1. 최소 증거금 요건을 먼저 충족
이 경우 조건 1이 먼저 충족됩니다. 가장 빠른 제네시스 시간 이전에 충분한 마진을 확보했습니다.
제네시스 이벤트를 트리거하는 데 사용한 ETH 1.0 블록은 이 시점 이후에 채굴되어야 했습니다. 이 블록이 베이징 시간으로 8월 2일 오후 9시 5분(9시 이후 5초)에 채굴되었다고 가정합니다.
마진 계약이 최소 16384개의 유효 마진(이 블록의 모든 마진 거래 포함)을 받은 경우 마진 계약에서 받은 모든 마진도 제네시스 상태에 포함됩니다. 따라서 ETH 2.0 체인에는 16384개 이상의 제네시스 검증자가 있습니다. (Altona 테스트넷에서 MIN_GENESIS_ACTIVE_VALIDATOR_COUNT를 640으로 설정했지만, 마지막 제네시스 검증자는 685였습니다.)
이미지 설명
요약하다
한 가지 주목해야 할 점은 ETH 1.0 팔로우 거리를 고려할 때 실제로 제네시스 상태를 얻기까지 4시간을 기다려야 한다는 것입니다. 즉, 현재 시나리오에서는 생성 상태를 얻기 위해 베이징 시간으로 8월 2일 오후 5시까지 기다려야 합니다.
요약하다
제네시스 이벤트는 최소 예치금 요구 사항이 먼저 충족되면 가장 빠른 제네시스 시간 이후 몇 초 후에 트리거됩니다. 제네시스 이벤트 48시간 전에 등록한 검증인은 제네시스 상태에 포함됩니다.
보조 제목
2. 최소 증거금 요건 충족 후
이 경우 제네시스 이벤트를 트리거하는 데 사용하는 ETH 1.0 블록에는 16384번째 유효 예금이 포함되어야 합니다. 이 블록이 베이징 시간으로 8월 5일 오후 8시 34분 56초에 채굴되었다고 가정합니다.
이제 비콘 체인 상태에는 이 블록에 16384개의 유효성 검사기와 기타 유효한 예금이 포함됩니다. 따라서 이 블록에 여러 개의 예치금이 포함되어 있는 경우 비콘 체인 상태에 포함되는 예치금은 최소 요구 사항보다 약간 높을 것입니다.
이미지 설명
요약하다
요약하다
결론적으로
예치금 유입이 느린 경우 16384번째 유효 예치금이 포함된 ETH 1.0 블록 채굴 후 48시간 후에 제네시스 이벤트가 트리거됩니다. 제네시스 상태에는 최소 16834개의 유효성 검사기가 포함되며 이 ETH1.0 블록에 포함된 마진 거래 수로 인해 약간 증가할 수 있습니다(총 유효성 검사기 수는 16834개 이상).
첫 번째 레벨 제목
결론적으로
이 기사에서는 ETH 2.0 생성 메커니즘의 기본 내용을 소개했습니다.


