위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
Ethereum POS의 작동 원리에 대한 자세한 설명: Epoch, Slot 및 비콘 블록
ECN以太坊中国
特邀专栏作者
2023-03-31 11:40
이 기사는 약 4336자로, 전체를 읽는 데 약 7분이 소요됩니다
통신 모델에 대해 자세히 알아보기

원래 제목: "Epochs, Slots and Beacon Blocks

저자: 패트릭 맥코리

원래 제목: "

저자: 패트릭 맥코리

원문 번역: John, ECN

Proof-of-Stake를 사용하는 Ethereum의 고유성은 참여자 수를 최대화하는 설계에 있습니다. 이를 통해 수백, 수천 명의 유효성 검사자가 의사 결정 프로세스에 적극적으로 참여할 수 있습니다. 작성 당시 약 50만 개의 유효성 검사기 엔터티(프로토콜 관점에서)가 프로세스에 적극적으로 참여하고 있습니다.

  • 실제로 약 384초(6분 24초) 동안 모든 활성 검증자는 투표를 하거나 블록을 제안할 수 있는 기회를 갖게 됩니다. 약 384초 동안 최소 500,000개의 메시지가 방송되며 모든 메시지는 엄격한 시간 내에 전달되어야 합니다. 내가 아는 한, 이렇게 활동적이고 대규모의 합의 참여자를 처리하도록 설계된 다른 합의 프로토콜은 없습니다.

  • 통신 모델에 관한 한 합의 프로토콜은 (보통) 다음 세 가지 상황 중 하나를 위해 설계됩니다.

  • 동기 통신 일반적으로 합의되고 알려진 메시지 전달 시간 초과.

비동기식 통신 메시지를 전달하는 데 걸리는 시간에는 상한선이 없지만 결국 전송됩니다.

부분 동기식 통신은 대부분의 경우 알려진 시간 초과가 있지만 산발적인 이벤트로 인해 다양한 시간 동안 메시지 전달이 중단될 수 있습니다.

대부분의 최신 합의 프로토콜은 대부분의 경우 조건이 양호하다고 가정하기 때문에 부분적으로 동기식 통신을 위해 설계되었지만 이벤트가 짧은 시간 동안 통신을 방해할 수 있으므로 예측할 수 없는 기간이 있습니다. 반면 지분 증명 이더리움은 동기식 통신을 위해 설계되었다는 점은 주목할 가치가 있습니다.

Digression -- Casper FFG는 부분 동기식 통신을 위해 설계되었지만 LMD-GHOST의 엄격한 타이밍 조건으로 인해 전체 시스템이 동기식이어야 합니다. Casper와 LMD-GHOST가 무엇인지는 향후 기사에서 설명하겠습니다.

동기식 통신 모델을 더 잘 이해하기 위해 Epochs & Slots 주제를 다룹니다. 유효성 검사기가 참여할 수 있는 시기와 메시지 전달에 대한 엄격한 시간 창을 정의합니다. 어떤 이유로든 시간 창을 위반하면 다른 유효성 검사기가 늦은 메시지 도착에 대해 조치를 취할 것이라는 보장이 없습니다. 마지막으로 유효성 검사기가 시간 슬롯에 할당되는 방법과 비콘 블록체인에 메시지가 기록되는 방법을 다룰 것입니다.

다양한 통신 설정에 대해 자세히 알고 싶다면 이 기사를 읽어보는 것이 좋습니다. ETH 2가 부분적으로 동기식인지 동기식인지에 대한 훌륭한 토론도 있습니다.

첫 번째 레벨 제목

에포크와 슬롯

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

  • 에포크당 32개의 슬롯이 있으며 각 검증인에게는 에포크당 정확히 하나의 슬롯이 할당됩니다. 슬롯은 검증자가 지분 증명 프로토콜에 참여하여 새로운 비콘 블록을 제안하거나 투표할 수 있는 12초 시간 창입니다.

  • 슬롯은 에포크별로 그룹화되며 에포크와 슬롯은 검증인이 지분 증명 프로토콜에 참여하는 일정 역할을 합니다.

Epoch 32개의 슬롯을 포함하는 기간.

슬롯 유효성 검사 위원회가 작업을 완료하는 12초 창입니다.

에포크는 지분 증명 프로토콜의 완전한 라운드를 나타내며 슬롯은 검증자에게 라운드에 참여할 기회를 제공합니다. 에포크가 끝나면 모든 활성 검증자는 참여할 기회가 있습니다.

  • 슬롯 위원회 검증자는 한 에포크에서 정확히 하나의 슬롯에 할당되며 모든 검증자는 각 슬롯에 균등하게 분배되어 위원회를 구성합니다.

  • 슬롯에는 두 가지 역할이 있습니다.

블록 제안자 검증인은 위원회 구성원에게 블록을 제안할 기회가 있습니다.

증명자 모든 나머지 위원회 구성원은 새로운 블록체인 헤드가 되어야 한다고 생각하는 블록에 투표합니다.

에포크당 32명의 블록 제안자(슬롯당 1명)가 있으며 모든 유효성 검사자는 스테이크 증명 프로토콜에 참여하고 정식 비콘 체인이어야 한다고 생각하는 체인 리더에게 투표할 수 있습니다.

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

  • 슬롯은 유효성 검사기가 블록을 제안하고, 위원회 구성원이 블록에 투표하고, 마지막으로 해당 슬롯의 모든 활동을 다음 슬롯의 블록 제안자에게 브로드캐스트하는 엄격한 시간 창을 나타냅니다.

  • 슬롯 및 시간 조건 모든 슬롯은 시간 순서대로 차례로 생성됩니다. 각 슬롯은 정확히 12초마다 할당되며 세 단계로 나뉩니다.

  • 블록 제안은 유효성 검사기가 블록을 제안하고 처음 4초 이내에 모든 위원회 구성원에게 브로드캐스트하도록 지정합니다.

다른 모든 위원회의 구성원은 투표 주기에서 블록에 투표(증인)하고 다음 4초 내에 이 블록에서 자신의 투표가 수락될 것이라고 믿습니다.

브로드캐스트 투표 마지막 4초 동안 모든 위원회 구성원의 투표가 집계되어 다음 슬롯을 위해 블록 제안자에게 전송되어야 합니다.

제안된 블록 또는 증인이 마감일 이후에 게시되는 경우 다른 검증자가 해당 활동을 승인한다는 보장이 없습니다. 예를 들어 슬롯의 증인이 이미 상위 블록에 투표했을 수 있으므로 늦은 블록을 건너뛸 수 있습니다. 늦은 증인은 한 에포크에서 다른 증인에 의해 최대 32슬롯 늦게 처리되며 다양한 정도의 벌칙이 적용됩니다. 32 슬롯 이후에 게시되면 유효성 검사기가 처리하지 않습니다.

마지막으로, 이 엄격한 시간 창은 유효성 검사기를 실행하는 데 필요한 대역폭 및 컴퓨팅 성능의 하한선을 보장합니다. 검증자는 적시에 증인/블록을 수신, 처리 및 보낼 수 있어야 합니다.

첫 번째 레벨 제목

검증자 위원회 할당

유효성 검사기를 한 시대의 슬롯에 할당하는 프로세스를 고려합니다. 모든 슬롯 위원회는 거의 같은 규모입니다. 그들은 랜덤 비콘의 출력을 기반으로 할당을 수행하고 미리 두 에포크를 할당합니다. 이를 위해서는 셔플링 프로토콜과 신호 전송에 대한 임의성 소스를 사용해야 합니다.

셔플 프로토콜 모든 유효성 검사기는 셔플 교환 프로토콜에 따라 슬롯에 할당됩니다. 셔플 프로토콜의 세부 사항으로 들어가는 대신 셔플 프로토콜이 실행되는 방식의 기반이 되는 임의성 비콘의 계산 방법에 중점을 둘 것입니다.

  • Random Beacon 모든 유효성 검사기는 RANDAO라는 프로토콜을 사용하여 임의의 비콘을 통해 할당됩니다. 그 목적은 캐노니컬 체인에 새로운 블록이 추가될 때 임의성을 집계하여 임의의 비콘을 형성하는 것입니다.

  • 각각의 새 블록에는 두 단계가 있습니다.

(블록당) 새로운 비콘 블록을 생성하기 위해 제안된 임의성은 randao_reveal이라는 특수 값을 포함합니다. 블록에 대한 임의 비콘 역할을 하는 것은 블록 제안자의 BLS 서명입니다. 검증자에 의한 변조를 방지하는 것은 결정론적이지만 예측할 수 없습니다.

혼합 임의성(블록당) 모든 유효성 검사기는 새 블록에서 임의 비콘을 가져와 이전에 집계된 모든 블록의 임의성과 혼합합니다. 이는 셔플링 프로토콜의 가능한 후보인 새로운 가치 조합을 형성합니다.

보시다시피 각 비콘 블록에는 임의성 비콘이 포함되어 있어 모든 이전 블록의 임의성을 추가하고 집계합니다.

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

검증자는 N번째 Epoch의 마지막 임의 비콘을 통해 N+2 Epoch의 슬롯에 할당됩니다.

/* * 블록 제안자는 현재 에포크 번호에 BLS 서명을 수행하여 * 이 블록에 대한 임의 비콘 역할을 합니다. 나올 때까지 예측 불가능 */

DOMAIN_RANDAO = 0x 02000000; // 서명에 포함된 매직 넘버 epoch_hash = hash(current_epoch_number, DOMAIN_RANDAO); // 서명할 해시 코드 randao_reveal = BLS.sign(epoch_hash, sk); // BLS 서명은 RANDAO

/* * 블록의 랜덤성을 사용하여 해시 계산을 수행한 다음 해시 코드를 지금 수집되는 랜덤성에 혼합 */

previous_mix = get_previous_mix(parent_block); // 상위 블록에서 혼합(Mix) randao_reveal = new_block.randao_reveal; // 새 블록의 randao 가져오기

mix = previous_mix XOR hash(randao_reveal); // 새 믹스 계산 store_new_mix(new_block); // 새로운 "mix"(mix)를 새 블록과 연결

할당은 2 에포크 전에 발생하며 모든 유효성 검사기는 마지막으로 수락된 블록에서 집계된 혼합 값을 임의 비콘으로 사용하고 셔플 알고리즘에서 사용합니다. 다음 두 에포크에 대한 유효성 검사기 위원회를 계산합니다.

따라서 현재 에포크가 N번째라고 가정하면 이 에포크의 마지막 비콘 블록은 N+2번째 에포크에 대한 위원회 할당을 결정하기 위한 임의의 비콘으로 사용됩니다.

유효성 검사기는 두 에포크를 미리 알고 있기 때문에 할당된 슬롯을 조회할 시간이 충분합니다. 즉, 향후 64개 슬롯에 대한 검증자의 할당은 이미 대중에게 알려져 있습니다(약 2 에포크).

임의 비콘의 바이어스 가능성은 셔플 프로토콜에서 하나의 혼합만 사용할 수 있다는 것입니다. 이는 에포크에서 마지막으로 승인된 블록의 혼합 값입니다.

  • 마지막으로 승인된 블록은 항상 슬롯 32에서 제안된 블록이 아닙니다. 마지막 슬롯의 블록, 즉 모든 검증자가 블록체인의 헤드로 인식하는 블록입니다. 예를 들어 슬롯 32에 블록이 제안되지 않았거나 늦었다면 슬롯 32의 유효성 검사기 위원회는 슬롯 31에 제안된 이전 블록에 투표합니다.

  • 공격자는 이를 악용하여 임의의 비콘을 바이어스할 수 있습니다. 공격자가 슬롯 32의 블록 제안자라고 가정해 보겠습니다. 그는 다음을 결정할 수 있습니다.

모든 유효성 검사기가 이전 블록에 투표하도록 강제하는 블록을 일시 중단하면 공격자의 무작위성이 비콘에 혼합되지 않습니다.

이 의사 결정 권한을 통해 공격자는 임의성 비콘을 1바이트로 바이어스하고 궁극적으로 두 유효성 검사기 할당 중 미래 시대에 사용할 것을 결정할 수 있습니다. 실제로 공격자가 한 시대의 마지막 N 블록의 블록 제안자를 제어하는 ​​경우 이 기회를 사용하여 N 블록 조합의 릴리스를 해제하거나 일시 중단할 수 있습니다. 현재 마지막 N 슬롯에 대한 바이어스 전력의 전체 범위와 영향을 이해하기 위한 엄격한 연구가 부족합니다.

비콘 블록을 확인

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

이미지 설명

단일 비콘 블록에는 비콘 블록체인에서의 위치에 대한 메타데이터, 실행 체인 데이터 및 지분 증명 프로토콜 사본이 포함됩니다. 자세한 내용은 아래에서 살펴보겠습니다.

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

이미지 설명

블록 제안자의 목표는 새로운 비콘 블록을 제안하고 정식 체인의 헤드에 추가하는 것입니다. 이렇게 하려면 확장할 상위 블록만 선택할 수 있습니다. 상위 블록은 메타데이터에서 parent_root로 표시되는 현재 체인 헤드여야 합니다.

Ethereum POS의 작동 원리 해석: Epoch, Slot 및 비콘 블록

이미지 설명

에포크 및 슬롯 조직 유효성 검사기는 단일 표준 비콘 블록체인을 생성합니다.

슬롯 ≠ 비콘 블록 비콘 블록은 슬롯 번호(에포크 번호의 배수)의 메타데이터를 기록합니다. 이를 통해 다른 유효성 검사기는 블록 제안자가 실제로 이 슬롯에 대한 블록을 제안하도록 지정되었고 이 블록이 제안된 블록인지 확인할 수 있습니다. 슬롯 번호가 잘못된 경우 블록이 거부됩니다.

요점은 블록체인에서 블록의 위치가 제안된 슬롯 번호와 일치하지 않는다는 것입니다. 예를 들어 슬롯 5184157을 확인하면 블록 16015362가 표시됩니다. 할당된 슬롯의 제안된 블록이 다른 모든 블록에 의해 승인된다는 보장이 없기 때문에 이러한 불일치를 피할 수 없습니다. 창업한지 7년이 넘었습니다.

  • 실행 체인 데이터 블록 제안자는 두 개의 블록을 제안하고 실행 블록을 제안하고 사용자의 트랜잭션을 주문하고 새로 생성된 비콘 블록에 첨부합니다. 합의 계층의 궁극적인 목적은 집행 계층의 표준 체인을 결정하는 것이기 때문에 이는 놀라운 일이 아닙니다.

  • 블록 제안자는 또한 실행 계층에서 비콘 계층으로 정보를 전송하고 지분 증명 프로토콜에서 사용할 수 있도록 준비할 책임이 있습니다. 여기에는 다음이 포함됩니다.

ETH 1 데이터 실행 계층에서 추가 블록의 블록 해시 코드.

  • Deposit 입금 컨트랙트 주소와 기록되지 않은 입금 체인.

  • 이를 위해서는 모든 유효성 검사기가 비콘 클라이언트와 시행 클라이언트를 실행해야 합니다. 이는 유효성 검사기가 해당 ETH 1 블록을 확인하고 적용 레이어 규칙에 따라 유효성을 확인해야 하기 때문에 필요합니다. 또한 등록 프로세스에 대한 기사에서 논의한 바와 같이 예치금은 특정 블록 간격 내에서 실행 계층에서 비콘 블록으로 전송되어야 하며 그렇지 않으면 비콘 블록이 거부됩니다.

  • 메타데이터 슬롯 번호, 에포크 번호, 임의성 비콘 및 블록 제안자

  • 슬래시 이벤트에는 다른 유효성 검사기의 악의적인 행동에 대한 증거가 포함되며 이를 처벌하는 데 사용할 수 있습니다.

  • 투표 기록 이전에 제안된 비콘 블록에 대한 이 블록체인 포크의 미기록 투표 목록

상위 블록을 선택하고 차례로 이 블록이 확장되는 표준 체인을 정의하는 블록체인 포크.

사본을 기록함으로써 모든 사람이 전체 계약을 독립적으로 검토하고 비콘 체인의 현재 상태가 올바른지 절대적으로 확신할 수 있습니다. 예를 들어 악의적인 검증자는 시간이 단축되고 슬롯 및 에포크 일정은 모든 검증자가 승인하며 대부분의 검증자는 이러한 방식으로 투표하여 단일 정식 체인을 생성합니다.

원본 링크

DAO
ETH
Odaily 공식 커뮤니티에 가입하세요