저자: Tim Beiko
편집: GaryMa 우톡(wu-talk)
이더리움 핵심 개발자 Tim Beiko는 2025년 2월 22일 장문의 글을 발표하여 이더리움이 해커 공격을 되돌리기 위해 '롤백'할 수 없는 이유를 설명했습니다. 그는 비트코인과 TheDAO 역사적 사건의 배경을 제공하고 오늘날 이더리움 생태계에서 롤백이 실행 불가능한 이유를 논의했습니다. 우톡(wu-talk)은 원문과 해당 댓글 답변을 정리했습니다:
어제 바이비트(Bybit)가 해킹당한 후 일부 사람들이 다시 이더리움이 왜 블록체인을 '롤백'하여 해커 공격을 되돌릴 수 없는지 문의했습니다.
생태계의 경험 많은 전문가들이 이것이 실행 불가능하다는 데 거의 동의하지만, 특히 잘 모르는 사람들에게 기술적으로 왜 실행 불가능한지 설명할 가치가 있습니다. 여러분 중 하나라면 이것이 불가능한 이유에 대한 간단한 설명입니다.
먼저 롤백의 배경을 이해해 보겠습니다:
블록체인 '롤백'의 개념은 비트코인 블록체인 초기의 한 사건에서 비롯됩니다. 2010년, 비트코인 출시 불과 2년 만에 클라이언트 소프트웨어의 버그로 인해 블록 74638에서 184억 비트코인이 생성되었습니다.
이 문제를 해결하기 위해 사토시는 비트코인 클라이언트 소프트웨어 패치를 발표하여 이 거래를 무효화했습니다. 이는 실제로 블록 74637까지의 체인을 '롤백'했습니다. 하루도 채 지나지 않아 새로운 체인이 충분한 해시레이트를 확보하여 메인체인이 되었고, 롤백된 사용자 거래가 모두 새 체인에 포함되었습니다. 당시 비트코인 채굴 난이도가 현재보다 약 100억 배 낮았고 BTCUSD 가격은 약 0.07달러였다는 점에 유의하시기 바랍니다.
요약하면, 이 상황은 명확한 프로토콜 취약점으로 인해 문제 거래가 발생했고 이 거래가 규모가 크고 식별하기 쉬웠기 때문에 독특했습니다. 또한 당시 비트코인 채택률이 낮아 새 클라이언트 버전을 배포하고 신속하게 새 체인 세그먼트를 채굴하는 것이 용이했습니다.
이더리움과 TheDAO:
이더리움의 초기 역사에도 표면적으로 유사한 위기가 있었고, 이는 종종 사람들이 롤백의 실용성에 대해 혼란을 느끼게 합니다. 2016년, 인기 있는 이더리움 애플리케이션 TheDAO가 당시 모든 ETH의 약 15%를 통제하고 있었습니다. 불행히도 해커가 해당 애플리케이션 코드의 취약점을 발견하여 이 자금을 훼손할 수 있었습니다. 이는 비트코인 사례와 명확히 다른데, 이더리움 프로토콜 자체는 정상 작동했지만 이더리움 위에 구축된 애플리케이션에 문제가 있었기 때문입니다.
다행히도 TheDAO 개발자들은 안전장치를 구현했는데, 이는 애플리케이션에서 인출하기 전 1개월 동안 자금을 동결하는 것이었습니다. 이는 취약점을 해결할 수 있는 독특한 기회를 제공했: 애플리케이션 코드를 변경하여 자금이 최종적으로 해커에게 흘러가지 않도록 할 수 있었습니다.
애플리케이션 자체로는 이를 수행할 수 없었기 때문에 이더리움 프로토콜 개발자들이 직접 블록체인 역사를 변경해야 했습니다. 이를 '비정상적 상태 변경'이라고 합니다. 왜냐하면 애플리케이션의 '상태'가 유효한 이더리움 거래가 아닌 데이터베이스 수동 업데이트를 통해 변경되었기 때문입니다.
위에서 언급한 비트코인 취약점과 대략적으로 비교하면, 1840억 BTC를 수신한 주소의 잔액을 0으로 설정하는 것과 유사합니다. 이 거래를 제외한 새로운 체인을 채굴하는 것이 아닙니다.
이 업그레이드는 논란을 일으켰고 이더리움 커뮤니티는 실제로 분열되었습니다. 일부 마이너는 소프트웨어 패치를 실행하기를 거부하고 해커 사건이 발생한 체인에서 계속 채굴했습니다. 이 체인은 지금 이더리움 클래식으로 알려져 있습니다. 우리가 오늘날 이더리움이라고 부르는 체인은 이 소프트웨어 업그레이드를 구현한 체인입니다.
마찬가지로 이 상황도 독특했습니다. TheDAO가 해킹당한 자금은 실제로 1개월 동안 동결되었기 때문에 커뮤니티가 소프트웨어 업그레이드를 조정할 시간이 있었습니다. 자금 동결에는 또 다른 주요 장점이 있었습니다: 이 해킹 사건은 '확산'되지 않았습니다. 해커가 자금을 임의로 이동할 수 있었다면 자금 '동결'은 끝없는 고양이와 쥐 게임이 되었을 것입니다. 왜냐하면 프로토콜이 오픈소스이기 때문에 자금을 동결할 수 있는 모든 잠재적 변경 사항은 해커에게 공개되어 자금을 다른 곳으로 옮길 시간을 충분히 줄 수 있었을 것이기 때문입니다.
이것이 Bybit 사건으로 이어집니다.
왜 우리는 이더리움을 롤백할 수 없는가
이번 주 초 Bybit 거래소가 401,346 ETH(약 14억 달러)를 도난당했습니다. 도난은 자금 보관인이 손상된 다중 서명 인터페이스를 통해 오해를 불러일으키는 거래에 서명함으로써 발생했습니다.
이 해킹 사건의 근본 원인은 TheDAO와 비트코인 오버플로 취약점보다 한 단계 높습니다. 이더리움 프로토콜이든 Bybit에서 사용된 기본 다중 서명 애플리케이션이든 문제가 없었습니다. 손상된 인터페이스로 인해 거래가 한 일을 하는 것처럼 보였지만 실제로는 다른 일을 했습니다.
이더리움 프로토콜의 관점에서 볼 때 이 거래를 네트워크의 다른 합법적인 거래와 구분할 수 있는 방법이 없습니다. 프로토콜 규칙을 위반한 부분이 없어 비트코인 취약점과 같이 문제를 해결하고 도난당한 자금을 격리할 수 없습니다.
또한 자금은 즉시 해커가 사용할 수 있습니다. TheDAO 상황과 달리 커뮤니티가 개입할 시간이 1개월이 있었지만, 여기서는 해커가 즉시 체인에서 자금을 이동하기 시작했습니다.
위에서 언급한 고양이와 쥐 게임을 해결할 수 있다고 해도, 오늘날 이더리움 생태계는 2016년과 크게 다릅니다. DeFi와 다른 체인과의 크로스체인 브리지로 인해 도난당한 자금을 쉽게 네트워크 전체에 혼합할 수 있습니다. 예를 들어 도난당한 자금을 탈중앙화 거래소에서 교환하고 그 결과 토큰을 DeFi 프로토콜의 담보로 사용하거나 완전히 다른 체인으로 브리징할 수 있습니다.
이러한 높은 상호 연결성으로 인해 사회적으로 수용 가능하더라도 비정상적 상태 변경은 거의 관리할 수 없는 연쇄 반응을 일으킬 것입니다. 완전한 '롤백', 즉 최근 체인 기록의 일부를 무효화하는 것은 더 나쁠 것입니다. 이미 정산된 거래 중 많은 거래가 이더리움 외부에 영향을 미치고 있습니다(예: 거래소 판매, RWA 상환 등). 이러한 오프체인 부분은 취소할 수 없습니다.
따라서 결론은 15년 전 비트코인이 블록체인을 '롤백'할 수 있었지만, 오늘날 이더리움의 상호 연결성과 체인 내외 경제 거래 정산으로 인해 이는 더 이상 실행 불가능하다는 것입니다.
기술적으로 볼 때, 자금이 동결되고 격리된 경우 이더리움에서 여전히 비정상적 상태 변경이 가능합니다. 이러한 변경을 마지막으로 제안한 것은 2018년 Parity 다중 서명 지갑의 취약점으로 약 500,000 ETH가 동결된 경우(EIP-999 참조)였지만, TheDAO 사건으로 인한 논란으로 커뮤니티가 강력히 반대했습니다.
댓글: 현재 단계에서는 사회적 하드포크가 여전히 가능할 수 있나요? Lazarus 자금을 0으로 설정(추적이 용이하므로)하고 비정상적 상태 변경을 수행하여 자금을 Bybit 주소로 다시 보낼 수 있나요?
답변: 기술적으로 불가능합니다. 하드포크를 선언하고 그것이 발효되기 전 한 블록에서 그들이 자금을 다른 주소로 옮기면 어떻게 할 것입니까? 해커가 포크 전에 자금을 이동하면 포크가 소용없게 됩니다. 또한 해커는 모든 주소로 소량의 자금을 보내는 등의 악의적인 상호 작용을 통해 전체 네트워크를 동결시킬 수 있습니다. 이는 서비스 거부(DDoS) 공격과 유사합니다.
댓글: TheDAO 해킹 사건이 지금 발생했다면(자금이 1개월 동결되고 커뮤니티가 조정할 수 있었다면), 이더리움 거버넌스가 다시 비정상적 상태 변경을 수용할 것이라고 생각하나요? 아니면 프로토콜 문화가 극단적 상황에서도 엄격한 불변성으로 완전히 전환되었나요?
답변: 말하기 어렵습니다! TheDAO는 당시 모든 ETH의 약 15%(현재 Bybit 해킹 사
회신:저는 선택권이 없지만, 이것이 이 주제를 제기할 수 있는 최소한의 규모일 수 있다고 생각합니다. 제 관점은 DAO에 대한 논평이 종종 그것을 '단순한 애플리케이션'으로 보이게 하지만, WETH와 모든 L2 계층의 자금이 쉽게 복구 가능한 방식으로 동결되는 상황에 대한 것입니다(즉, 자금 규모와 복구 용이성이 핵심 포인트입니다).