비콘 체인의 생성을 이해하는 기사
저자 |Ben Edgington
저자 |
이더리움 2.0의 경우,메달라 테스트넷메달라 테스트넷
8월 4일에 이미 런칭한 이번이 올 하반기 이더리움 2.0 출시를 앞두고 우리의 유일한 공식 리허설이 될 것 같습니다.Eth2 annotated specEth2의 생성 메커니즘은 다소 복잡하며, 생성은 블록체인 시스템이 자신에게 생명을 불어넣는 과정입니다. 최대한 쉬운 말로 정확하게 설명하겠습니다. 정말 기술적인 설명은 독자가 찾을 수 있습니다.
위의 내 메모를 참조하십시오.
이하에서 "제네시스 이벤트"는 비콘 체인이 시작되어 증명 및 블록 처리를 시작하는 정확한 시간을 의미합니다. 슬롯 0 에포크 0이 시작되는 시간이기도 합니다.
(독자가 빠른 개요를 보고 싶다면 아래의 "두 가지 생성 사례" 섹션으로 바로 건너뛸 수 있습니다.)
유효성 검사기 입금Launchpad우선, 독자들이 알아야 할 약간의 배경 지식은 유효성 검사기가 Eth2에 합류하기 전에 Eth1 블록체인의 계약에 예치금을 예치해야 한다는 것입니다. 각 Eth2 검증자에 대해 32 ETH 및 기타 데이터를 계약에 보내야 합니다. 예를 들어 독자는
웹사이트는 메달라 테스트넷에 예치금과 데이터를 보냅니다. Medalla는 이제 Goerli 테스트넷의 ETH를 사용하고 있음을 기억하십시오! 컨트랙트에 메인넷 ETH를 보내지 마세요. 물론 실제 비콘체인이 출시되면 메인넷의 ETH를 사용할 것이다.
다음으로, 우리는 유효한 예금에만 관심이 있습니다: 32 ETH 이상의 단일 예금 또는 총 32 ETH 이상의 동일한 유효성 검사기에 속하는 여러 예금, 추가 데이터 확인(암호화 서명). 유효하지 않거나 부족한 보증금은 제네시스에서 무시됩니다.
비콘 노드
생성 전에는 비콘 노드만 Eth2 체인에서 활성화되었으며, 생성 후 검증자는 즉시 활성화됩니다. 비콘 노드는 시스템의 상태를 유지하고 P2P 네트워크에서 서로 통신합니다.
따라서 세상이 생기기 전에는 이더리움 1.0 블록체인을 주시하고 예금 계약에 유효한 예금에 주목하는 비콘 노드가 많이 있었습니다. Eth1 블록에는 타임 스탬프가 찍혀 있어 노드가 생성되기 전에 언제든지 최신 상태를 유지할 수 있으므로 하루 24시간 감시할 필요가 없습니다.14 * 1024이제 모든 사람들은 Eth1 블록을 롤백할 수 있고 어떤 트랜잭션이 유효한지에 대한 마음을 바꿀 수 있다는 것을 알고 있습니다. 이것이 거래소에서 ETH를 전송할 때 30 블록을 기다려야 하는 이유입니다. 롤백 범위는 일반적으로 매우 작습니다(약 1~2개 블록). 그러나 네트워크 공격의 경우 롤백 범위가 매우 커질 수 있습니다. Eth2에서는 이러한 상황을 최대한 피하기 위해
몇 초 지연, 약 4시간. 나는 이것을 Eth1의 동기화 거리(Eth1 follow distance)라고 부릅니다.
언제? WHO?
제네시스 "언제?" 및 "누가?"에 대한 두 가지 질문: 언제 시작할 것이며 누가 제네시스 블록 유효성 검사자 군대에 속하게 될까요? 이 두 질문에 대한 답변은 다른 모든 상태가 파생되는 비콘 체인의 기원 상태를 정의합니다.
일반적인 프로세스는 다음과 같습니다.
Eth1 블록체인의 예금을 따르십시오.
충분한 시간이 경과하여 예치금이 일정 금액에 도달하면 제네시스 스테이트 생성
이틀 후 제네시스 시간에 블록체인 시작
2단계에서 Eth1에서 첫 번째 블록을 찾을 때 두 가지 사항에 특별한 주의를 기울여야 합니다.
충분한 예금이 있는지 여부;
너무 이르다.
이 두 가지 조건을 충족하는 첫 번째 블록이 제네시스 상태로 설정됩니다.
MIN_GENESIS_TIME시간과 역할은 다음 세 가지 주요 매개변수 설정의 영향을 받습니다.1596546000생성 이벤트가 발생할 수 있는 가장 빠른 시간입니다. 메달라의 경우
GENESIS_DELAYUnix 시간——UTC 시간 2020년 8월 4일 13:00:00, RFC2822 사양 채택.172800예
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT초, 정확히 48시간. 이는 제네시스 상태 생성과 블록체인 및 제네시스 이벤트 시작 사이의 시간 간격입니다. 이 지연은 클라이언트 팀이 유효성 검사기 노드를 실행하지 않더라도 더 이상 Eth1 블록체인을 따를 필요가 없도록 제네시스 상태를 비콘 노드에 쓸 수 있도록 하기 위한 것입니다. 또한 일반 제네시스 이벤트 스트림 및 모임 이벤트를 호스팅할 시간도 남습니다.16384제네시스 상태를 생성하기 전에 Eth1 예금 계약에 필요한 최소 활성 유효성 검사기 수입니다. Medalla 테스트넷(및 메인넷)에서 이 매개변수는
검증자.
창조의 두 가지 상황
기원 상태는 다음 두 가지 조건을 충족하는 첫 번째 Eth1 블록을 기반으로 합니다.
기원 상태의 기반이 되는 첫 번째 Eth1 블록은 다음 두 가지 조건을 충족해야 합니다.
최소 16384(MIN_GENESIS_ACTIVE_VALIDATOR_COUNT)개의 유효성 검사기가 이 블록 또는 이전 블록에 등록되었습니다.
해당 타임스탬프는 너무 빠르지 않습니다(MIN_GENESIS_TIME – GENESIS_DELAY 이전).
이 두 가지 요구 사항이 충족되는 순서에 따라 다음 두 가지 경우에 생성 프로세스가 진행됩니다.
입금 수량 우선 충족
이 경우 조건 1이 먼저 충족됩니다. 가장 초기 생성 시간 이전에 받은 충분한 예금.
MIN_GENESIS_TIME – GENESIS_DELAY 사이의 Medalla 테스트넷 시점은 UTC 1300년 8월 2일 일요일입니다.
우리의 시작 블록은 이 시간 이후, 즉 13:00:05(오후 1시 5초 후)에 채굴된 Eth1의 첫 번째 블록입니다.
이 블록에 대한 입금 계약에 의해 수신된 유효한 입금이 16384에 도달하거나 초과하면 지금까지 수신된 모든 입금이 제네시스 상태에 포함됩니다. 따라서 검증인의 수는 16384보다 훨씬 많을 수 있습니다.
이 Eth1 블록은 생성 상태 계산을 시작하며, Medalla의 생성 이벤트는 블록 타임스탬프에서 정확히 48시간 후에 시작됩니다. 이 예에서는 8월 4일 화요일 13:00:05입니다.
Eth 동기화 거리로 인해 4시간 후까지 기원 상태를 실제로 알 수 없다는 점에 유의하십시오. 즉, 이 경우 8월 2일 일요일 UTC1700에 메달라의 기원 상태를 알고 있습니다.
요약하다
요약하다
제네시스 이벤트는 입금액이 먼저 요구 사항을 충족하는 경우 가장 빠른 제네시스 시간 후 몇 초 후에 시작됩니다. 기원 상태에는 이 시점 48시간 전에 등록된 모든 유효성 검사기가 포함됩니다.
2. 타임스탬프가 입금번호보다 빠른 조건을 충족하는 경우
이것은 조건 2가 먼저 충족될 때 발생합니다. 입금 건수는 천천히 증가했고 정해진 시간 내에 최소 유효 금액에 도달하지 못했습니다.
이 경우 16384번째 예치금을 패킹한 Eth1 블록이 시작 블록이 됩니다. 이 블록은 8월 5일 수요일 12:34:56 UTC에 채굴되었다고 가정합니다.
이제 블록 상태에는 16384개의 유효성 검사기와 해당 블록의 다른 유효한 예금이 포함됩니다. 따라서 해당 블록에 여러 예치금이 포함되어 있으면 최소 예치금보다 더 많은 검증자가 포함됩니다.
생성 시간은 블록의 타임스탬프에 48시간을 더한 값이 됩니다. 이 예에서는 8월 7일 금요일 12:34:56 UTC입니다.
또한 Eth1 동기화 거리로 인해 이 Eth1 블록이 채굴된 후 4시간이 지나야 제네시스 상태나 제네시스 시간을 알 수 있습니다.
요약하다
예치금 성장이 느린 경우 16384번째 예치금이 포함된 Eth1 블록이 채굴된 후 48시간 후에 제네시스 이벤트가 시작됩니다. 기원 상태에는 16834개의 유효성 검사기와 동일한 Eth 1 블록의 다른 유효성 검사기가 포함됩니다.
결론적으로
결론적으로
기사가 여기에 작성되었습니다. 비콘 체인 생성의 기본 상황을 이미 이해하셨습니까?
여러분 모두를 메달라에서 뵙기를 기대합니다!
고지 사항: ECN의 번역 작업은 중국 이더리움 커뮤니티에 고품질 정보 및 학습 리소스를 제공하는 것을 목표로 합니다.기사의 저작권은 원저자에게 있습니다.재인쇄는 원문의 출처와 ethereum.cn을 표시해야 합니다.장기적으로 재인쇄는 ethereumcn@gmail.com으로 연락주세요.


