이더리움 메달라 테스트넷 사고

사건표준

Ethereum Medalla testnet incident

토큰포스트 위키인용하기

다른 이름 Ethereum Medalla testnet incident · Medalla incident · Medalla testnet incident · Prysm Roughtime incident · 메달라 사고 · 메달라 테스트넷 사고 · 이더리움 2.0 테스트넷 사고 · 프리즘 러프타임 사고

이더리움 메달라 테스트넷 사고(Ethereum Medalla testnet incident)는 2020년 8월 14일 이더리움 2.0 공개 테스트넷 메달라(Medalla)에서 가장 많이 쓰이던 합의 클라이언트 프리즘(Prysm)의 시계가 약 네 시간 앞당겨지면서 검증자 대부분이 이탈하고 체인이 여러 갈래로 갈라진 사고다. 네트워크 참여율이 블록 확정 기준인 3분의 2 아래로 떨어졌고 최종성은 닷새 뒤인 8월 19일에야 돌아왔다. 그해 12월 비콘체인 출시를 앞두고 한 클라이언트에 쏠린 구조와 외부 시간 서비스 의존의 위험을 드러낸 사건이다.

1.메달라 테스트넷#

메달라는 2020년 8월 4일 출범한 이더리움 2.0의 대규모 공개 테스트넷으로, 메인넷에 쓸 출시 후보 사양을 여러 클라이언트가 함께 돌렸다. 이더리움 2.0 개발자 벤 에징턴의 주간 정리에 따르면 첫 열흘은 무난했지만 항상 접속해 있는 검증자는 전체의 70~80% 수준이었다. 포크로그는 사고 직전 주 검증자가 2만 6,000명에 이르렀고 맡겨진 테스트용 이더가 100만 개를 넘었다고 전했다. 당시 검증자가 가장 많이 쓰던 합의 클라이언트는 프리즈매틱 랩스가 만든 프리즘이었다.

[1][2]

2.네 시간 앞선 시계와 연쇄 장애#

프리즘 클라이언트는 클라우드플레어의 러프타임(Roughtime) 서버에서 현재 시각을 받아 썼다. 에징턴에 따르면 8월 14일 금요일 저녁 러프타임이 한 시간 넘게 네 시간 뒤의 시각을 내놓았고, 이를 받아들인 프리즘 노드들은 아직 오지 않은 시점의 블록과 증명을 만들기 시작했다. 몇 분 사이 활성 검증자가 약 2만 2,000명에서 약 5,000명으로 줄어 네트워크의 80% 가까이가 사라졌다. 클라우드플레어 쪽 시각이 바로잡히면서 약 두 시간 뒤부터 프리즘 노드가 돌아왔지만, 사고 네 시간쯤 뒤 그동안 쌓인 '미래의' 증명이 유효해지자 다시 접속한 프리즘 검증자들은 앞서 서명한 내용과 충돌하는 것을 막는 슬래싱 방지 장치에 걸려 투표를 멈췄다. 비콘체인은 여러 갈래로 갈라졌고 갈래를 따라가느라 노드의 메모리와 연산 부담이 크게 늘어 라이트하우스 노드 하나가 평소의 약 100배인 30GB 메모리를 쓴 사례도 나왔다. 프리즘 팀이 서둘러 낸 첫 수정판(alpha.21)에는 치명적 결함이 있어 약 17시간 뒤 되돌려야 했고, 이 과정에서 팀이 직접 운영하던 검증자 1,024명의 슬래싱 방지 기록을 실수로 지워 대부분이 슬래싱을 당했다. 프리즘은 8월 16일 alpha.22를 내고 운영자들에게 업데이트를 요청했다.

[3][4][5]

3.회복과 남긴 교훈#

참여율은 천천히 올라 8월 19일 수요일 18시 30분(UTC) 무렵 다시 3분의 2를 넘었고, 에징턴은 사고 뒤 거의 정확히 닷새 만에 최종성이 돌아왔다며 "비콘체인은 회복할 수 있다"고 적었다. 그는 합의 실패는 없었고 하드포크도 필요하지 않았다고 강조했다. 이더리움 재단은 9월 1일 공지에서 이 사고가 지배적 클라이언트인 프리즘의 실패로 크게 증폭됐다며 클라이언트 다양성을 우선 과제로 삼고, 한 클라이언트가 멈추면 다른 클라이언트로 빨리 옮길 수 있게 하는 표준을 만들겠다고 밝혔다. 같은 공지는 메달라가 활성 검증자 3만 9,000명으로 안정됐고 메인넷 준비 일정에는 변화가 없다고 했다. 에징턴은 외부 시간 서비스에 대한 대량 의존이 네트워크의 심각한 취약점이라고 지적했고, 이상적으로는 클라이언트 네 개 이상이 각각 30% 아래를 나눠 가져야 한다고 적었다. 비콘체인은 그해 12월 1일 출시됐고, 이후 2023년 메인넷 최종성 상실 때에도 클라이언트 다양성 문제가 다시 거론됐다.

[6][7][8]

4.연표3건

  1. 2020.08출시8월4일 이더리움 2.0 공개 테스트넷 메달라 출범
  2. 2020.08사건8월14일 프리즘 시계 오류로 검증자 대량 이탈·체인 분기
  3. 2020.08이정표8월19일 참여율 회복으로 최종성 복구

각주

  1. [1]What's New in Eth2 - 17 August 2020 — hackmd.io · Ben Edgington (HackMD)
  2. [2]Ethereum 2.0 testnet developers fix bug that caused a chain split — forklog.com · ForkLog
  3. [3]What's New in Eth2 - 17 August 2020 — hackmd.io · Ben Edgington (HackMD)
  4. [4]What's New in Eth2 - 22 August 2020 — hackmd.io · Ben Edgington (HackMD)
  5. [5]Ethereum 2.0 testnet developers fix bug that caused a chain split — forklog.com · ForkLog
  6. [6]What's New in Eth2 - 22 August 2020 — hackmd.io · Ben Edgington (HackMD)
  7. [7]eth2 quick update no. 15 — blog.ethereum.org · Ethereum Foundation Blog
  8. [8]What's New in Eth2 - 17 August 2020 — hackmd.io · Ben Edgington (HackMD)

이 문서가 도움이 됐나요?

이 문서 인용하기
토큰포스트 위키, “이더리움 메달라 테스트넷 사고”, 2026-10-25 수정, https://wiki.tokenpost.kr/w/ethereum-medalla-testnet-incident-2020

문단 3개 · 연표 3건 · 각주 8개