Ethereum 2.0 클라이언트 다양성이 중요한 이유
소스 |Ethereum Blog
소스 |
저자 | 칼 비크후이젠
면책 조항: 이 기사는 고객을 대상으로 하지 않습니다. 우리는 각 클라이언트와 각 사양에도 결함과 허점이 있을 수 있음을 알아야 합니다. 말할 것도 없이, Eth2는 매우 복잡한 프로토콜이며 구현자는 필멸자에 불과합니다. 이 문서의 목적은 위험을 줄이는 방법과 이유를 강조하는 것입니다.
Medalla 테스트넷이 출시된 후에는 모든 사람이 다른 클라이언트를 사용하여 테스트넷에 참여하도록 권장합니다. 테스트넷이 생성된 날 다중 클라이언트의 중요성을 보여주었습니다. Nimbus 및 Lodestar 클라이언트에서 실행되는 노드는 전체 테스트넷의 작업을 처리할 수 없었기 때문에 동기화 노드의 진행 상황을 따라가지 못했습니다. . 결과적으로 Medalla는 출시 30분 후에 마무리 작업을 시작하지 않았습니다.
8월 14일, Prysm 노드는 그들이 참조하고 있던 시간 서버 중 하나가 갑자기 미래 시간으로 점프했기 때문에 시간 오류가 발생했습니다. 결과적으로 이러한 노드는 미래 블록을 제안하고 미래 증명을 검증하기 시작합니다. 그러나 노드의 시계가 조정된 후(클라이언트 버전을 업데이트하거나 시간 서버가 정확한 시간을 조정했기 때문에) 이전에 슬래시 보호를 취소한 노드는 약속한 자산이 슬래시되었음을 알게 됩니다.이 모든 과정은 약간 섬세한 방식으로 진행되며, 이 글을 꼭 읽어보시기 바랍니다.。
사건에 대한 Raul Jordan의 회고 에세이
Prysm 노드가 시간 여행을 시작하면 네트워크의 약 62%를 차지합니다. 이는 블록을 마무리하기 위한 최소 기준(>2/3 온체인 활성 검증자)을 충족할 수 없음을 의미합니다. 설상가상으로, 이 노드들은 그들이 기대하는 체인을 찾을 수 없기 때문에(타임라인에 4시간의 간격이 나타나고, 그들은 모두 미래에 약간 다른 시간으로 이동합니다) 짧은 시간으로 "누락된" 데이터를 예측합니다. 포크가 전체 네트워크에 넘쳤습니다.
이미지 설명
원천:
그런 다음 이 시점에서 네트워크는 체인 헤드에 대한 다양한 예측으로 넘쳐나므로 모든 클라이언트는 점점 더 많은 작업을 처리하기 시작하여 어떤 체인 헤드가 유효한지 결정합니다. 이로 인해 노드가 뒤쳐지고, 동기화가 필요하고, 메모리가 부족하고, 다른 형태의 혼돈이 발생하여 문제가 악화됩니다.
전반적으로 이 이벤트는 시계와 관련된 근본적인 문제를 해결할 수 있을 뿐만 아니라 심각한 노드 오류 및 네트워크 부하에서 클라이언트를 스트레스 테스트할 수 있었기 때문에 좋았습니다. 즉, 이 실패는 네트워크가 너무 극단적일 수 없음을 알려주고, 이 사건의 범인은 Prysm 노드가 네트워크의 대부분을 차지한다는 것입니다.
탈중앙화 지원 - 1부, eth2 혜택이 시리즈에서처럼두 번째 문제의 기사
에서 논의한 바와 같이 비동기 비잔틴 내결함성 알고리즘에 따르면 1/3은 네트워크 보안을 보장하는 마법의 숫자입니다. 유효성 검사기의 1/3 이상이 오프라인이면 에포크를 더 이상 확정할 수 없습니다. 따라서 이 시점에서 체인이 계속 성장하는 동안 더 이상 블록을 마무리하고 해당 블록이 정식 체인의 일부임을 보장할 수 없습니다.
탈중앙화 촉진 - 2부, 검증자 혜택
대부분의 검증인은 네트워크에 좋은 일을 하도록 동기를 부여받습니다. 모든 사람이 그것이 옳은 일이라고 생각하기 때문이 아닙니다.
노드의 1/3 이상이 오프라인이면 오프라인 노드에 대한 페널티가 증가하기 시작하며, 이를 소위 "비활성" 페널티라고 합니다.
즉, 유효성 검사기는 자신의 노드가 강제로 오프라인 상태가 되는 경우 다른 노드를 동시에 오프라인 상태로 만드는 것이 불가능하다는 것을 확인하려고 합니다.
몰수에 대해서도 마찬가지입니다. 그러나 사양 또는 소프트웨어의 오류/버그로 인해 유효성 검사기가 삭감될 가능성이 항상 있으며 단일 슬래시는 "단지" 1 ETH입니다.그러나 많은 검증자가 동시에 삭감되면 페널티가 32 ETH로 증가합니다. 그리고 이 매직 넘버는 검증인의 1/3 이상이 삭감되면 32 ETH가 삭감됩니다.
[위 상황에 대한 이유는 여기에서 찾을 수 있습니다.]
이러한 인센티브를 각각 활성 반상관 및 보안 반상관이라고 하며 eth2의 의도적인 측면입니다. 반상관 메커니즘은 각 검증인이 네트워크에 미치는 영향의 정도에 개별 페널티를 부여하여 검증인이 네트워크에 가장 이익이 되는 결정을 내리도록 장려합니다.
탈중앙화 촉진 - 3부, 데이터 표시다수의 독립적인 팀이 Eth2 연구 팀이 주로 작성한 문서를 기반으로 각각 Eth2를 구현하고 있습니다.독립 클라이언트의 정식 개발
. 이를 통해 각 팀이 eth2 클라이언트를 구축하는 데 필요한 기술, 언어, 최적화, 장단점 등에 대해 서로 다른 결정을 내리는 여러 비콘 노드 및 유효성 검사기 클라이언트 구현이 있음을 보장합니다. 이와 같이 시스템의 어느 계층에서든 버그가 발생하면 전체 네트워크가 아닌 특정 클라이언트를 실행하는 사용자에게만 영향을 미칩니다.
eth2 노드의 20%만 클라이언트 Prysm에서 실행 중이고 유효성 검사기의 85%가 이 Medalla Prysm 버그 당시 온라인 상태였다면 Prysm 노드는 "비활성" 페널티를 받지 않고 약간의 페널티만 받게 됩니다. 개발자가 트릭을 수행합니다.
대신, 3,500~5,000명의 검증자가 동일한 클라이언트를 실행하는 너무 많은 검증자(대부분 슬래시 보호가 제거됨)로 인해 매우 짧은 기간에 삭감되었습니다.
*높은 상관관계는 이러한 유효성 검사기가 공통 클라이언트를 사용하기 때문에 ~16 ETH의 슬래시 페널티가 있음을 의미합니다.
*이 글을 쓰는 시점에서 여전히 슬래싱이 들어오고 있으므로 아직 최종 수치는 없습니다.
이제 다른 클라이언트를 사용하여 테스트에 참여할 때입니다. 적은 수의 검증자가 사용하고 있는 클라이언트를 찾으십시오(클릭할 수 있음).여기배포 보기).Lighthouse、Teku、Nimbus게다가Prysm게다가Lodestar이때 동작은 비교적 안정적이지만,
가장 중요한 것은 새 클라이언트를 사용해 보는 것입니다! 분산형 메인 네트워크를 준비하기 위해 Medalla에서 더 건강한 노드 배포를 구축하려고 할 수 있습니다.
고지 사항: ECN의 번역 작업은 중국 이더리움 커뮤니티에 고품질 정보 및 학습 리소스를 제공하는 것을 목표로 합니다.기사의 저작권은 원저자에게 있습니다.재인쇄는 원문의 출처와 ethereum.cn을 표시해야 합니다.장기적으로 재인쇄는 ethereumcn@gmail.com으로 연락주세요.


