저자: timbeiko.eth 출처: X, @TimBeiko 번역자: Good Oba, Golden Finance
바이비트 해킹 이후, 암호화폐 평론가들은 왜 이더리움이 공격을 되돌리기 위해 체인을 '롤백'할 수 없는지 다시 한 번 의문을 제기하고 있습니다.
경험 많은 생태계 참여자들 사이에서는 거의 만장일치로 이것이 불가능하다는 의견이 있지만, 기술에 정통하지 않은 관찰자들에게는 이 합리적인 제안이 왜 실현 불가능한지 분석해볼 가치가 있습니다. 여러분이 그런 분이라면, 이 설명이 왜 불가능한지 이해하는 데 도움이 되는 'ELI5' 버전의 설명이라고 생각하세요.
"롤백"의 개념
블록체인 "롤백"의 개념
블록체인의 "롤백" 개념은 비트코인 출시 후 2년이 채 되지 않은 2010년에 클라이언트 소프트웨어의 취약점으로 인해 74,638 블록에서 1,840억 비트코인이 발행된 비트코인 블록체인 초기 사건에서 유래되었습니다.
이 문제를 해결하기 위해 사토시 나카모토는 이러한 거래를 무효화하는 소프트웨어 패치를 발표했습니다. 이는 블록 74637을 차단하기 위해 체인을 "롤백"했습니다. 하루도 채 되지 않아 새로운 체인은 공식적인 작업 증명을 충분히 축적했고, 롤백된 모든 사용자 트랜잭션이 새로운 체인에 포함되었습니다. 당시 비트코인은 지금보다 채굴 난이도가 100억 배나 낮았고, BTC/USD 가격은 약 0.07달러였다는 점에 유의해야 합니다.
요컨대, 이 사건이 특별한 이유는 프로토콜 자체에 문제가 되는 거래로 이어진 눈에 띄는 허점이 있었고, 거래 규모가 워낙 커서 쉽게 알아볼 수 있었기 때문입니다. 또한 당시에는 비트코인 채택률이 낮았기 때문에 새로운 클라이언트를 배포하고 체인의 새로운 세그먼트를 빠르게 채굴하기가 상대적으로 쉬웠습니다.
이더와 TheDAO 사건
이더의 초기 역사에는 표면적으로 유사한 위기가 있었으며, 이는 일반적으로 롤백에 대한 오해를 불러일으키기도 했습니다. 2016년에는 인기 이더리움 앱인 TheDAO가 전체 이더리움의 약 15%를 통제했는데, 안타깝게도 해커가 앱 코드에서 취약점을 발견하여 모든 자금을 훔칠 수 있었습니다. 모든 자금을 훔칠 수 있었습니다. 이번 사건과 비트코인 사건의 차이점은 이더 프로토콜 자체에는 문제가 없었으며, 이더를 기반으로 구축된 앱에 문제가 있었다는 점입니다.
다행히도 TheDAO 개발자는 앱이 출금 작업을 완료하기 전 한 달 동안 동결하는 보안 메커니즘을 구현했습니다. 이는 취약점을 해결할 수 있는 특별한 기회를 제공합니다. 앱의 코드를 변경하여 자금이 해커의 손에 넘어가는 것을 방지할 수 있습니다.
앱 자체에서 이 작업을 수행할 수 없으므로 개발자는 블록체인의 기록에서 직접 변경해야 합니다. 앱의 '상태'가 유효한 이더 트랜잭션이 아닌 수동으로 데이터베이스를 업데이트하여 변경되기 때문에 이를 '비정상 상태 변경'이라고 합니다.
비트코인 취약점과 대략적으로 비교하면, 이러한 거래를 제외한 체인을 다시 채굴하지 않고 1840억 BTC를 수신하는 주소의 잔액을 0으로 설정하는 것과 비슷합니다.
이 업그레이드는 이더리움 커뮤니티 내에서 논란을 불러일으켰고, 그 결과 실제로 분열되었습니다. 일부 채굴자들은 소프트웨어 패치 실행을 거부하고 해킹이 발생한 체인에서 채굴을 계속했으며, 이는 나중에 이더리움 클래식으로 바뀌었습니다. 현재 알려진 이더 체인은 해당 소프트웨어 업그레이드가 적용된 체인입니다.
이번 사건은 도난당한 자금이 한 달 동안 동결되어 커뮤니티가 소프트웨어 업그레이드 적용을 조율할 수 있는 시간을 가졌다는 점에서 독특했습니다. 자금 동결의 또 다른 중요한 이점은 해커가 자금을 계속 이동할 수 없다는 것입니다. 해커가 마음대로 자금을 이동할 수 있다면 프로토콜이 오픈 소스이고 자금을 동결시킬 수 있는 모든 변경 사항이 해커에게 전파되어 자금을 다른 곳으로 옮길 충분한 시간을 주어야 하기 때문에 자금을 '동결'하는 것은 고양이와 쥐의 게임이 될 것입니다. 이것이 바로 바이비트 사건입니다.
왜 이더를 롤백할 수 없나요?
이번 주 초, 바이비트 거래소에서 401,346 이더(약 14억 원)가 도난당했습니다. 도난은 자금 관리자가 손상된 다중 서명 인터페이스에서 잘못된 거래소에 서명함으로써 발생했습니다.
이 해킹의 근본 원인은 TheDAO 사건과 비트코인 오버플로 취약점보다 더 복잡합니다. 이더리움 프로토콜 자체나 바이비트에서 사용하는 다중 서명 애플리케이션에는 아무런 문제가 없었습니다. 문제는 거래가 실제로는 다른 일을 하는데도 한 가지 일을 하는 것처럼 보이게 하는 손상된 인터페이스였습니다.
이더리움 프로토콜의 관점에서 이 거래를 네트워크의 다른 합법적인 거래와 구별할 수 있는 방법은 없습니다. 프로토콜 규칙을 위반하지 않았으며, 비트코인 취약점의 경우처럼 문제를 패치하여 도난당한 자금을 격리할 수 있습니다.
또한 해커들은 즉시 자금을 이동하기 시작했습니다. 커뮤니티가 '외과적으로' 개입하는 데 한 달이 걸렸던 TheDAO 사건과 달리, 해커들은 즉시 체인에서 자금을 이동하기 시작했습니다.
위에서 언급한 고양이와 쥐의 게임을 해결할 수 있다고 해도, 오늘날의 이더리움 생태계는 2016년과 매우 다릅니다. 탈중앙 금융의 기능과 다른 체인으로 연결할 수 있는 능력은 도난당한 자금을 다양한 애플리케이션과 쉽게 연결할 수 있다는 것을 의미합니다. 예를 들어, 탈중앙화 거래소에서 도난당한 자금을 교환할 수 있고, 그 결과 생성된 토큰을 탈중앙화 금융 프로토콜에서 담보로 사용할 수 있으며, 대출된 자산을 완전히 별도의 체인에 연결할 수 있습니다.
이러한 고도로 상호 연결된 상태는 비정상적인 상태 변화가 사회적으로 용인될 수 있는 것이라도 통제가 거의 불가능한 노크온 효과를 가져올 수 있다는 것을 의미합니다. 기록 체인의 '전체 롤백' 또는 부분적인 롤백이 발생하면 상황은 더욱 심각해집니다. 완료된 거래 중 상당수가 이더리움 외부의 거래(예: 거래소 판매, 실제 자산의 상환 등)를 포함할 수 있으며, 오프체인 부분을 복구할 수 없으면 취소될 수 있습니다.
요약
따라서 비트코인은 15년 전에는 블록체인을 "롤백"할 수 있었지만 15년 전에는 블록체인을 "롤백"할 수 있었지만, 오늘날의 상황에서는 이더리움의 상호 연결된 특성과 체인 안팎의 경제 거래 정산으로 인해 이러한 롤백이 불가능해졌습니다.
기술적으로 자금이 동결되고 격리된 상태에서도 비정상적인 상태 변경은 여전히 가능합니다. 이러한 변경이 마지막으로 제안된 것은 2018년에 패리티 다중 서명 지갑의 취약점을 해결하기 위해 최대 50만 이더를 동결하는 제안(EIP-999 참조)이었는데, 이 제안은 부분적으로는 TheDAO 사건을 둘러싼 논란으로 인해 커뮤니티의 강력한 반대에 부딪혔습니다.