

원본 소스: AllCoreDevs Updates
저자: 팀 베이코
원본 번역: ETH 중국어 WeChat 공개 계정
Rayonism이 처음 프로토타입을 만든 지 1년이 지난 지금 우리는 모든 이더리움 클라이언트에서 강력한 병합 구현을 갖게 되었습니다.
오늘날 우리가 Ethereum의 Proof-of-Stake로 완전히 전환하는 경로는 이제 매우 명확합니다. 우리는:
1. 문제 없는 여러 메인넷 섀도우 포크;
2. 클라이언트는 다양한 병합 테스트 스위트를 통과했습니다.
3. 기존 퍼블릭 테스트넷에 성공적으로 배포.
그리고 그게 다야! 이러한 조건이 충족되고 몇 주 내에 안정적인 것으로 확인되면 메인넷 병합을 준비할 수 있습니다!
Trent Van Epps는 Beacon Chain 예금 계약의 시작부터 이더리움의 지분 증명으로의 완전한 전환까지의 여정에 대한 이 지도를 만들었습니다. TTD는 터미널 총 난이도, 즉 병합이 발생할 때를 나타냅니다.
그림자 포크
그림자 포크
지난 1년 동안 우리는 네트워크 업그레이드 프로세스에 새로운 단계인 Shadow Forks를 추가했습니다.
이미지 설명
@parithosh_j의 섀도우 포크 네트워크 개요
이 섀도우 포크 테스트넷을 실행하면 클라이언트가 공용 네트워크에 최대한 가까운 조건에서 어떻게 작동하는지 관찰할 수 있습니다. 쉐도우 분기 네트워크의 노드에서 병합이 효과적으로 발생합니다. 나중에 메인넷의 트랜잭션을 포크에서 재생할 수 있으므로 메인넷 조건에서 노드가 어떻게 작동하는지 확인할 수 있습니다. 또한 새 노드를 섀도우 포크에 동기화하여 예상대로 여전히 네트워크에 연결되도록 할 수 있습니다.
이러한 섀도우 포크 동안 실행 계층(EL)과 합의 계층(CL)의 모든 조합이 테스트되며 우리의 목표는 각 클라이언트 쌍이 이후에 원활하게 전환되고 실행되는 것입니다. 우리는 4개의 실행 계층 클라이언트와 5개의 합의 계층 클라이언트를 가지고 있습니다. 즉, 테스트할 조합이 20쌍이라는 의미입니다!
지금까지 여러 Goerli 섀도우 포크와 두 개의 메인넷 섀도우 포크가 있었습니다. 두 번째 메인넷 섀도우 포크(MSF2)는 거의 완벽하게 진행되었습니다. 또 다른 MSF3는 이번 주에 열릴 예정입니다. MSF3에 문제가 없고 이후에도 안정적으로 유지된다면 기존 테스트넷을 업그레이드할 수 있습니다. 안전을 위해 우리는 테스트넷 배포 전(심지어 도중에도) 정기적인 섀도우 포크를 계속할 것입니다.
그 동안 우리는 다른 테스트 노력도 두 배로 늘리고 있습니다.
병합 테스트
병합은 이더리움의 실행 및 합의 계층에 걸쳐 있기 때문에 테스트를 위한 고유한 업그레이드입니다. 각 계층에 대한 많은 개별 테스트 도구가 있지만 계층 간 상호 작용을 테스트하기 위한 많은 새로운 인프라가 필요합니다.
하이브 테스트
Hive는 이전에 실행 계층에서 테스트에 사용했던 통합 테스트 플랫폼입니다. 지난 몇 달 동안 우리는 합의 계층의 동작을 시뮬레이션하는 기능을 추가했으며 이를 사용하여 다양한 실행 계층 클라이언트를 테스트했습니다. 이는 실행 및 합의 계층이 통신하는 데 사용하는 새로운 엔진 API를 테스트하는 데 도움이 됩니다. PoW -> PoS에서 전환을 테스트하려면 실행 계층의 동작을 시뮬레이션하는 시뮬레이터도 추가해야 합니다.
클라이언트 팀은 현재 Hive에 대한 지원의 우선 순위를 지정하고 테스트 팀이 Hive에 실행 계층 모의를 추가하는 데 집중하는 동안 모든 테스트 스위트를 통과하는지 확인하고 있습니다.
Kurtosis
기존 테스트 인프라 외에도 병합 프로세스를 실행하기 위해 매일 임시 네트워크를 자동으로 가동하는 데 사용하는 [Kurtosis](https://www.kurtosistech.com/)와도 협력하고 있습니다.
이러한 도구는 개별 클라이언트에서 구현 문제를 발견하고 다양한 네트워크 상태 지표를 모니터링하는 데 도움이 됩니다. 이 전선에서 상황이 안정됨에 따라 우리의 다음 단계는 더 가혹한 네트워크 조건을 만들고 클라이언트가 어떻게 복구되는지 확인하는 것입니다. 예를 들어 전환 직전에 실행 계층 또는 합의 계층 클라이언트를 일시 중지한 다음 병합 후에 일시 중지를 해제하거나 병합 후 데이터베이스를 제거하고 동기화를 처리하는 방법을 확인합니다.
그리고 다른 모든 것
Hive를 개선하고 Kurtosis와 함께 작업하는 것 외에도 클라이언트, 연구 및 테스트 팀이 구축한 긴 테스트 도구 목록은 가능한 모든 코너 케이스를 찾는 데 도움이 되었습니다. 여기에는 퍼징 도구, 불량 블록 생성기, 실행 계층/합의 계층 시뮬레이터, 디버깅 API 및 더 많은 퍼징 도구가 포함됩니다. 다음은 다른 도구의 위시리스트입니다.
우리의 최우선 순위는 클라이언트가 단위/사양 테스트와 Hive 및 Kurtosis의 통합 테스트를 통과하도록 하는 것입니다. 그러나 위에서 언급한 이러한 다른 도구는 우리가 놓친 코너 케이스를 찾고 디버그하는 데 도움이 될 수 있으며, 그런 다음 정규 테스트 스위트에 통합합니다.
사람의 측면에서 병합 테스트는 팀 간 조정 및 협업을 크게 증가시킵니다. 처음으로 합의 계층과 실행 계층 클라이언트 팀은 소프트웨어가 다른 계층의 모든 클라이언트와 작동하도록 서로 긴밀하게 협력해야 합니다. 이를 통해 테스트 인프라 전반에서 더 많고 더 깊은 협업이 가능합니다.
퍼블릭 테스트넷
섀도우 포크가 순조롭게 진행되고 모든 클라이언트가 테스트 스위트를 통과하면 Ropsten, Goerli 및 Sepolia와 같은 기존 공개 테스트넷에 병합을 배포할 준비가 됩니다.
퍼블릭 테스트넷은 메인넷 섀도우 포크만큼 테스트 클라이언트에 스트레스를 주지 않지만 이더리움 생태계 내에서 더 광범위한 협업이 필요합니다.
합병에는 이전 이더리움 업그레이드보다 더 많은 노드 러너가 필요합니다. 과거 업그레이드에서 경영진 계층의 노드 운영자와 채굴자는 경영진 계층 클라이언트라는 한 가지 소프트웨어만 업그레이드하면 되었습니다. 병합된 업그레이드에서는 합의 계층 클라이언트를 동시에 다운로드, 구성 및 실행해야 합니다.
합의 계층 측면에서 우리는 항상 유효성 검사기와 함께 실행 계층 노드를 실행할 것을 강력히 권장했습니다. 합병 전에는 실행 계층 노드의 운영을 타사 서비스 공급자에게 아웃소싱할 수 있습니다. 그러나 병합할 때 약속자는 실행 레이어 노드를 실행하여 블록의 유효성을 확인하고 블록 제안 시 트랜잭션 수수료를 받아야 합니다(실행 레이어 노드의 작업을 아웃소싱하면 트랜잭션 수수료를 받지 못할 수 있습니다!).
노드 운영자, 스테이커 및 인프라 제공자는 테스트넷에 배포하기 위한 준비로 Kiln에서 구성을 테스트해야 합니다. EthStaker는 또한 이를 수행하는 방법에 대한 다양한 자습서를 게시했습니다.
Ropsten, Goerli 및 Sepolia가 분기되고 안정화되면(더 이상 문제가 발견되지 않는다고 가정) 메인넷의 병합 날짜를 설정할 준비가 된 것입니다!
메인 네트워크
이더리움 메인넷에서 지분 증명으로의 전환은 테스트넷에서와 동일합니다. 즉, 전환이 세 단계로 발생한다는 점을 다시 한 번 강조할 가치가 있습니다.
1. 클라이언트는 병합을 지원하는 소프트웨어 버전을 릴리스하고 작업 증명 체인에서 도달한 특정 총 난이도 값, 즉 최종 총 난이도(TTD)를 "듣기" 시작합니다.
2. TTD에 도달하면 다음 비콘 체인 슬롯에 할당된 검증자가 다음 블록을 패키징합니다. 이 블록은 병합 후 첫 번째 블록이 되며 최종 사용자 트랜잭션과 지분 증명 합의 데이터(예: 증명, 예금, 슬래싱 등)를 포함합니다.
3. 첫 번째 병합된 블록이 완성됩니다. 이 시점에서 작업 증명은 더 이상 이더리움 포크 선택 규칙의 일부를 구성하지 않습니다. 즉, 우리는 완전히 PoS로 이동했습니다.
Danny Ryan의 다음 다이어그램은 프로세스를 보여줍니다.
가장 왼쪽 블록은 병합 전에 병렬로 실행되는 실행 및 합의 계층을 보여줍니다. 여기서 PoW(실행 계층) 블록에는 트랜잭션이 포함되고 비콘 체인(합의 계층) 블록에는 지분 증명 합의 데이터가 포함됩니다.
왼쪽에서 두 번째 PoW 블록은 TTD에 도달하거나 초과할 때입니다. 아래의 세 번째 블록은 합병 후 첫 번째 블록으로 지분 증명 합의 데이터 및 실행 계층 트랜잭션을 포함합니다.
네 번째 블록과 후속 블록은 작업 증명과 관련이 없습니다. 이러한 블록이 완료되면 네트워크는 작업 증명 하에서 51% 공격과 유사한 것에 의해서만 그 시점부터 손상될 수 있습니다.
다시 말해서,그 시점에서 병합이 완료되었습니다!
합병은 우리가 이더리움에 대해 계획한 가장 복잡한 업그레이드입니다. 팀과 개인 기여자들은 이제 1년 넘게 지칠 줄 모르고 일해 왔으며 마침내 결승선이 보입니다.
모두가 이더리움이 지분 증명으로 전환하는 것을 보고 기뻐하지만 지금은 편협할 때가 아닙니다. 이더리움 사용자와 네트워크에 구축된 풍부한 생태계를 위한 안전하고 원활한 전환을 보장하는 것이 우리의 최우선 과제입니다. 거의 다 왔습니다!
언제 병합되나요? 곧. . .
원본 링크
