2016년 유명한 DAO 해킹 사건은 암호화폐 역사상 가장 중요한 사건 중 하나로 남아있습니다. 이는 이더리움의 개발을 재편했으며 이더리움 클래식의 창설로 이어졌습니다. 이 사태는 또한 분산형 블록체인 시스템의 위험과 회복력을 보여주었습니다. 이 가이드는 DAO 해킹이 어떻게 전개되었는지, 이후 발생한 하드 포크와 소프트 포크의 의미, 그리고 이더리움 생태계에 미친 지속적인 영향에 대해 종합적으로 살펴봅니다.
주요 요점➤ 2016년 DAO 해킹은 이더리움의 스마트 계약 코드에 있는 중요한 취약점을 드러냈습니다.➤ 이더리움의 하드 포크는 이더리움(ETH)과 이더리움 클래식(ETC)을 만들어냈으며, 이는 불변성을 둘러싼 커뮤니티 내부의 분열을 야기했습니다.➤ 재진입 공격은 중요한 스마트 계약 결함을 강조했으며, 이에 블록체인 프로젝트들은 보안과 코드 감사를 우선순위로 삼게 되었습니다.➤ DAO 해킹은 DAO에서 ICO로 암호화폐 자금 조달을 이동시켰으며, 이에 따라 감독이 감소하고 위험이 증가했습니다.
이 가이드에서는:- DAO 해킹 설명
- 보안 조치와 커뮤니티의 초기 대응
- 이더리움 하드 포크: 블록체인의 분열
- 이더리움 vs. 이더리움 클래식 개요
- DAO 해킹이 블록체인 보안에 미친 영향
- 자주 묻는 질문
DAO 해킹 설명
➤ DAO 개요:
DAO는 이더리움 블록체인에 구축된 탈중앙화 자율 조직이었습니다. 이는 이해관계자들이 직접 자금 지원 제안에 투표할 수 있도록 함으로써 투자 관리를 탈중앙화하는 것을 목표로 했습니다.
DAO의 구조는 전통적인 중개자 없이 의사 결정과 거래를 관리하기 위해 스마트 계약에만 의존했습니다. 이러한 접근 방식은 탈중앙화 거버넌스를 위한 혁신적인 개념을 나타냈습니다.
간단히 말해, DAO는 비용을 줄이고 인간 오류를 최소화하여 탈중앙화된 의사 결정을 촉진함으로써 민주적 시스템을 구축하고자 했습니다. 이는 출시 직후 빠르게 대규모 투자를 끌어모아 150만 이더리움(ETH) 이상을 모았습니다.
참고: "The DAO"(대문자 T)를 언급할 때는 2016년에 해킹된 DAO 프로젝트를 의미하는 것이지, 탈중앙화 자율 조직 일반을 의미하는 것은 아닙니다.
그러나 DAO의 급속한 채택은 개발자와 보안 분석가들이 코드베이스의 잠재적 취약점에 대해 우려를 제기하면서 검토의 대상이 되었습니다.
결국 DAO에 잠긴 가치가 막대했기 때문에 작은 결함만으로도 큰 결과를 초래할 수 있었습니다. 상당한 자산을 다루는 모든 스마트 계약은 자연스럽게 잠재적 공격의 주요 대상이 됩니다.
➤ 사실, 다른 탈중앙화 시스템인 메이커DAO에서도 심각한 취약점이 최근 발견되었지만, 다행히도 아직 테스트 중이어서 악용되지 않았습니다. 반면 DAO는 완전히 가동 중이었기 때문에 공격자들이 접근하기 쉬운 대상이었습니다.
해커의 공격: 사건 경과
DAO 해킹은 2016년 6월 17일 익명의 해커가 DAO의 스마트 계약 취약점을 악용하면서 시작되었습니다. 그들은 결국 당시 가치로 약 6천만 달러 상당의 ETH를 빼냈습니다.
이더리움 커뮤니티는 자금이 해커의 계정으로 계속 이동하는 것을 지켜봤습니다. 말할 필요도 없이, 이 사건은 네트워크 전반에 걸쳐 공포를 불러일으켰습니다.
그날 종료 시점에는 DAO 자산의 약 3분의 1이 해커의 계정으로 이체되었습니다. 그리고 2016년 6월 18일 종료 시점까지 ETH 가격은 20달러 이상에서 13달러 미만으로 떨어졌습니다.
결국 이 침해는 DAO 구조의 취약점, 특히 스마트 계약의 재진입 결함을 악용한 것으로 밝혀졌습니다.
이더리움 개발자들은 신속하게 대응하여 해커를 막고 도난당한 자금을 회수하기 위한 여러 가지 솔루션을 제안했습니다. DAO를 분할하고 추가 손실을 방지하기 위한 여러 시도가 있었지만, 변경을 구현하는 데 필요한 투표를 신속하게 확보할 수 없었습니다.
설계상의 중요한 결함이 상황을 악화시켰습니다: DAO의 예상외로 큰 ETH 풀은 단일 주소에 보관되어 있었기 때문에 매력적이고 접근 가능한 목표가 되었습니다.
해커는 해킹을 역전시킬 수 있는 하드 포크 솔루션에 대해 들은 후 자발적으로 활동을 중단했을 수 있습니다.
그러나 DAO 구조의 취약점, 특히 재진입 결함은 여전히 중요한 위험 요인이었습니다. 이는 엄격한 스마트 계약 감사와 테스트의 필요성을 강조했습니다.
이어진 사건들은 이더리움 블록체인 구조에 근본적인 변화를 가져왔습니다.
➤ 이 악용은 스마트 계약 감사의 중요성을 강조했을 뿐만 아니라 이더리움과 이더리움 클래식의 분열로 이어졌으며, 이는 암호화폐 역사의 획기적인 순간으로 남아있습니다.
재진입 공격 이해: 해킹이 어떻게 진행되었는지
DAO 해킹은 매우 특정한 유형의 취약점인 재진입 공격에 의해 이루어졌습니다. 이 취약점을 통해 해커는 계약 잔액이 업데이트되기 전에 반복적으로 자금을 인출할 수 있었습니다.
재진입 공격이 작동하는 방식과 DAO 침해에 중요했던 이유를 살펴보겠습니다:
1. 스마트 계약 메커니즘: DAO의 각 인출 거래는 사용자의 지갑으로 자금을 보내고 원장 내 사용자 잔액을 업데이트하는 기능으로 처리되었습니다.
예시: 앨리스가 DAO에 2 ETH를 가지고 있습니다. 그녀가 1 ETH를 인출할 때, 계약은 1 ETH를 그녀의 지갑으로 보내고 그녀의 잔액을 1 ETH로 업데이트합니다. 각 인출 후 이 잔액 업데이트는 그녀의 나머지 1 ETH 이상으로 추가 인출을 방지합니다.
2. 취약점: 재진입 취약점을 통해 외부 계약이 상태 업데이트 전에 메인 계약과 반복적으로 상호 작용할 수 있습니다. 이로 인해 동일한 기능(이 경우 인출 기능)이 예상치 못하게 여러 번 실행될 수 있습니다.
예시: 허점으로 인해 외부 계약이 잔액 업데이트 전에 메인 DAO 계약과 상호 작용할 수 있습니다. 예를 들어 앨리스의 잔액이 2 ETH로 표시되어 있더라도, 이 결함을 통해 악성 계약이 잔액이 수정되기 전에 1 ETH씩 반복적으로 인출할 수 있습니다.
3. 악용 과정: 해커는 악성 계약을 사용하여 DAO의 인출 기능을 반복적으로 호출했습니다. 자금이 인출될 때마다 계약이 잔액 업데이트 전에 인출 기능을 다시 호출하여 자금을 지속적으로 빼냈습니다.
예시: 해커는 악성 계약을 사용하여 DAO의 인출 기능을 반복적으로 호출합니다. 1 ETH가 보내질 때마다 계약이 잔액이 업데이트되기 전에 인출 기능을 다시 호출합니다. 이를 통해 앨리스의 계정에 있던 2 ETH 이상을 반복적으로 인출할 수 있었습니다.
4. 상태 업데이트 부재: DAO 잔액이 각 인출 호출 시 업데이트되지 않았기 때문에, 해커의 계약이 자금을 반복적으로 빼낼 수 있었습니다. 따라서 그들은 DAO의 보유금을 완전히 빼냈습니다.
예시: 계약이 각 호출 시 잔액을 업데이트하지 않았기 때문에, 해커의 계약이 1 ETH씩 반복적으로 인출할 수 있었습니다. 이 결함으로 인해 해커가 앨리스의 계정에 있던 원래 2 ETH 이상을 빼낼 수 있었습니다.
요약하면, 재진입 공격은 스마트 계약이 각 인출 후 잔액을 업데이트할 것이라는 가정을 악용했습니다.
이 실수는 비용이 많이 들었고, 특히 대규모 자금을 다루는 탈중앙화 자율 조직에서 세심한 코딩 관행의 중요성을 강조했습니다.
보안 조치와 커뮤니티의 초기 대응
공격 소식이 퍼지자 이더리움 개발자들이 신속하게 개입했습니다. 그들은 일시적으로 해커가 도난당한 자금에 접근하지 못하도록 막았습니다.
결국 도난당한 이더리움은 "자식 DAO"라는 원래 DAO의 복사
이 결정은 실질적으로 해킹 발생 이전 시점으로 이더리움의 역사를 "되돌렸고" 공격자의 거래를 삭제했습니다. 하드 포크의 결과는 논란의 여지가 있었는데, 이는 블록체인의 핵심 원칙인 불변성을 위반했기 때문입니다.
그 결과 이더리움은 두 개의 체인으로 분리되었습니다:
- 이더리움(ETH): 보안과 사용자 신뢰를 우선시하는 하드 포크를 채택한 체인.
- 이더리움 클래식(ETC): 불변성의 원칙을 고수하기 위해 하드 포크를 거부한 체인. The DAO 해킹을 포함한 원래의 역사를 유지했습니다.
결국 하드 포크는 이더리움 커뮤니티를 분열시켰고, 각각의 체인이 독립적으로 운영되고 있습니다. 이 획기적인 사건은 탈중앙화된 거버넌스와 블록체인 보안의 과제를 극명하게 보여주는 사례가 되었습니다.
이더리움과 이더리움 클래식 요약
| 특징 | 이더리움(ETH) | 이더리움 클래식(ETC) |
|---|---|---|
| 기원 | 2016년 The DAO 해킹 및 후속 하드 포크 이후 생성 | The DAO 해킹 이후에도 변경되지 않은 원래의 이더리움 블록체인 |
| 핵심 철학 | 문제를 해결하기 위한 변경을 허용하여 보안과 사용자 신뢰를 우선시 | 불변성과 블록체인 유산의 보존을 고수 |
| 합의 메커니즘 | 지분 증명(PoS) | 작업 증명(PoW) |
| 개발 커뮤니티 | 규모가 크고 활발하며, 상당한 자금 지원과 정기적인 업그레이드 | 상대적으로 작은 커뮤니티와 제한된 자원 및 업데이트 |
| 주요 사용 사례 | 탈중앙화 애플리케이션(DApp), 디파이, NFT, 스마트 계약 | 스마트 계약, DApp |
| 보안 중점 | 지속적인 업그레이드와 보안 중심의 개선(예: PoS 전환) | 코드 불변성을 강조하며 업그레이드가 덜 빈번 |
| 거래 수수료 | PoS 전환 이후 낮아짐 | PoW 기반 처리로 인해 일반적으로 높음 |
| 공급량 상한 | 고정된 상한 없음; ETH 공급은 프로토콜 업그레이드를 통해 관리 | 2억 1천만 ETC의 고정 상한 |
| 인기와 채택 | 높음, 개발자, 기업, 사용자들에게 널리 채택 | 중간 수준, 순수주의자와 원래 블록체인 지지자들의 지원 |
| 향후 로드맵 | 지속적인 업그레이드(예: 샤딩, 확장성 개선) | 보안과 안정성에 초점을 둔 보수적인 업그레이드 |
교훈
The DAO 해킹은 블록체인 보안에 있어 전환점이 되었습니다. 이는 포괄적인 스마트 계약 감사와 재진입 보호의 필요성을 강조했습니다.
이더리움의 이 공격에 대한 대응에는 보안 업그레이드와 유사한 취약점 방지를 위한 지침이 포함되었습니다. 다음은 주요 보안 교훈 중 일부입니다:
- 스마트 계약 감사: The DAO 해킹은 스마트 계약 배포 전 엄격한 코드 검토와 감사 과정의 중요성을 강조했습니다.
- 재진입 보호: 개발자들은 상태 업데이트가 외부 호출 전에 발생하도록 하는 검사-효과-상호작용 패턴을 사용하여 재진입 공격에 대한 안전장치를 구현하는 것을 배웠습니다.
- 다중 서명 계약: 이 해킹은 고가치 거래에 대한 보안 레이어로 다중 서명 인증의 중요성을 강조했습니다.
- 커뮤니티 대응 메커니즘: 이 해킹은 향후 위기 상황에서 불변성과 개입에 대한 논쟁이 계속해서 블록체인 거버넌스를 형성할 것이라는 점에서 커뮤니티 전반의 합의 메커니즘의 필요성을 보여주었습니다.
요약하면, 이 침해 사고는 개발자들이 더 엄격한 테스트 관행을 채택하도록 촉발했습니다. 이는 이더리움 생태계와 더 넓은 블록체인 산업에 지속적인 영향을 미쳤습니다.
The DAO 해킹이 블록체인 보안에 미친 영향
The DAO 해킹은 결국 더 넓은 블록체인 영역에 중요한 교훈이 되었습니다. 이는 전체 블록체인 산업이 보안을 우선순위로 삼도록 추진했습니다. 회고해 보면, 이 사건은 집단 DAO에서 ICO로 암호화폐 자금 조달 모델을 전환시켰고, 이에 따라 감독과 실사가 감소했습니다.
그러나 ICO는 자본에 대한 더 쉬운 접근을 허용했지만, 투자자 보호가 제한된 사기의 증가로 이어졌습니다. 이러한 변화에도 불구하고, 초기 이더리움 프로젝트를 추진했던 선구적인 정신은 여전히 관련성이 있으며, The DAO의 유산은 여전히 안전하고 탈중앙화된 애플리케이션 추구에 영감을 주고 있습니다.
자주 묻는 질문
DAO에서 자율성이란 무엇인가요?
"자율성"이란 DAO의 운영과 거버넌스가 인간의 감독 없이 자체 실행 코드에 의해 관리된다는 것을 의미합니다. 이를 통해 DAO는 전통적인 관리 구조에서 독립적으로 기능할 수 있습니다. 의사 결정은 스마트 계약에 인코딩된 규칙에 따라 자동으로 실행됩니다.
DAC와 DAO의 차이는 무엇인가요?
DAC(탈중앙화 자율 기업)는 일반적으로 수익 중심 기업으로 운영됩니다. 그들은 일반적으로 기업 구조와 유사합니다. 반면 DAO(탈중앙화 자율 조직)는 이윤 추구 외에도 다양한 목표를 추구할 수 있으며, 더 광범위한 거버넌스 모델을 가지고 있습니다. DAC는 이익 분배에 중점을 두는 반면, DAO는 탈중앙화된 거버넌스에 중점을 둡니다.
The DAO 해킹에서 얼마나 많은 금액이 도난당했나요?
2016년 6월 해킹 당시 약 6천만 달러 상당의 이더리움(ETH)이 The DAO에서 유출되었습니다(당시 가치 기준). 공격자는 스마트 계약의 재진입 취약점을 악용하여 이 침해를 실행했습니다. 이 사건은 결국 이더리움 블록체인 내에 중대한 구조적 변화를 초래했습니다.
첫 번째 DAO는 어떻게 되었나요?
2016년 해킹 이후 첫 번째 DAO가 붕괴되었는데, 이는 코드의 결함을 드러냈습니다. 이더리움 커뮤니티는 이 침해를 해결하기 위해 하드 포크를 선택했습니다. 이로 인해 이더리움(ETH)과 이더리움 클래식(ETC)이라는 두 개의 별도 블록체인이 생성되었습니다.
The DAO 해킹을 예방할 수 있었을까요?
The DAO의 스마트 계약 코드에 대한 철저한 테스트와 감사가 취약점을 사전에 발견할 수 있었을 것입니다. 공격자가 악용한 재진입 결함은 계약 설계에서 알려진 위험 요소였습니다. 따라서 포괄적인 감사가 이러한 대규모 악용을 줄일 수 있었을 가능성이 높습니다.
이더리움과 이더리움 클래식의 차이는 무엇인가요?
이더리움(ETH)은 하드 포크를 통해 The DAO 해킹을 되돌리고 모든 도난당한 자금을 복구했습니다. 이더리움 클래식(ETC)은 불변성을 우선시하고 변경되지 않은 거래 내역을 보존하기 위해 원래의 블록체인을 유지했습니다. 이러한 상이한 철학은 각 네트워크의 거버넌스와 업데이트 접근 방식을 계속 정의하고 있습니다.
The DAO 해킹의 결과는 무엇이었나요?
The DAO 해킹은 이더리움의 하드 포크를 초래했고, 이는 다시 커뮤니티를 분열시켜 이더리움 클래식을 만들어냈습니다. 또한 이는 특히 스마트 계약에 대한 블록체인 보안에 대한 관심을 높였습니다. 이 사건은 블록체인 산업 전반에 걸쳐 보안 표준 개발을 재편했습



