QR 코드를 스캔하여 다운로드하세요.
BTC $66,544.08 -3.59%
ETH $2,046.14 -4.67%
BNB $588.65 -5.09%
XRP $1.32 -3.30%
SOL $79.09 -6.37%
TRX $0.3154 -0.06%
DOGE $0.0898 -4.44%
ADA $0.2376 -5.86%
BCH $441.23 -5.13%
LINK $8.52 -5.54%
HYPE $35.17 -6.29%
AAVE $94.54 -5.62%
SUI $0.8618 -4.23%
XLM $0.1636 -4.76%
ZEC $237.03 -4.51%
BTC $66,544.08 -3.59%
ETH $2,046.14 -4.67%
BNB $588.65 -5.09%
XRP $1.32 -3.30%
SOL $79.09 -6.37%
TRX $0.3154 -0.06%
DOGE $0.0898 -4.44%
ADA $0.2376 -5.86%
BCH $441.23 -5.13%
LINK $8.52 -5.54%
HYPE $35.17 -6.29%
AAVE $94.54 -5.62%
SUI $0.8618 -4.23%
XLM $0.1636 -4.76%
ZEC $237.03 -4.51%

해커가 돈을 훔쳤으니, Sui가 빼앗을 수 있는 건가요?

Summary: 블록체인의 가치는 동결할 수 있는가에 있지 않고, 집단이 동결할 능력이 있음에도 불구하고 그렇게 하지 않기로 선택하는 데 있다.
십사군
2025-06-03 11:14:17
수집
블록체인의 가치는 동결할 수 있는가에 있지 않고, 집단이 동결할 능력이 있음에도 불구하고 그렇게 하지 않기로 선택하는 데 있다.

저자: 십사군

이번 사건은 자본의 승리이지 사용자의 승리가 아니며, 산업 발전에 있어서는 오히려 퇴보입니다.

비트코인은 왼쪽으로, Sui는 오른쪽으로, 탈중앙화를 흔드는 산업의 모든 행동은 비트코인에 대한 신념을 더욱 강하게 만듭니다.

세상이 필요로 하는 것은 단순히 더 나은 글로벌 금융 인프라가 아니라, 항상 자유로운 공간이 필요한 사람들이 존재합니다.

한때, 얼라이언스 체인은 퍼블릭 체인보다 더 인기가 있었던 이유는 그 시대의 규제 요구를 충족시켰기 때문입니다. 현재 얼라이언스의 쇠퇴는 단순히 이러한 요구를 따르는 것이지, 진정한 사용자 요구를 반영하는 것이 아닙니다. 규제를 받는 사용자를 잃었다면, 또 어떤 규제 도구가 필요할까요?

1. 사건 배경

2025년 5월 22일, Sui 퍼블릭 체인 생태계의 최대 탈중앙화 거래소(DEX) Cetus가 해킹 공격을 받아 순간적으로 유동성이 급감하고, 여러 거래 쌍의 가격이 붕괴되며 2억 2천만 달러 이상의 손실이 발생했습니다.

발행 시점 기준으로 시간대는 다음과 같습니다:

  • 5월 22일 오전, 해커가 Cetus에서 2억 3천만 달러를 탈취, Cetus는 긴급히 계약을 중단하고 공지를 발표
  • 5월 22일 오후, 해커가 약 6천만 달러를 크로스 체인으로 전송, 나머지 1억 6천2백만 달러는 여전히 Sui 체인 주소에 남아있음, Sui 검증 노드는 신속히 조치를 취해 해커 주소를 '서비스 거부 목록(Deny List)'에 추가하고 자금을 동결
  • 5월 22일 저녁, Sui CPO @emanabio가 트위터를 통해 확인: 자금이 동결되었으며, 반환이 곧 시작될 것이라고 발표
  • 5월 23일, Cetus가 취약점을 수정하고 계약을 업데이트하기 시작
  • 5월 24일, Sui가 오픈 소스 PR을 통해 별명 메커니즘(aliasing)과 화이트리스트를 통해 자금 회수를 설명
  • 5월 26일, Sui가 체인 상 거버넌스 투표를 시작, 프로토콜 업그레이드 실행 여부 및 해커 자산을 관리 주소로 전송할 것인지 제안
  • 5월 29일, 투표 결과 발표, 2/3 이상의 검증 노드가 지지; 프로토콜 업그레이드 준비 실행
  • 5월 30일 - 6월 초, 프로토콜 업그레이드가 발효되고, 지정된 거래 해시가 실행되어 해커 자산이 '합법적으로 전송됨'

2. 공격 원리

사건 원리에 대한 설명은 이미 여러 편이 존재하므로, 여기서는 핵심 원리 개요만 제공합니다:

공격 프로세스를 보면:

공격자는 먼저 약 10,024,321.28개의 haSUI를 플래시 론으로 빌려 거래 풀의 가격을 99.90% 하락시켰습니다. 이 거대한 매도 주문으로 인해 목표 풀 가격은 약 1.8956×10^19에서 1.8425×10^19로 거의 바닥을 쳤습니다.

그 후, 공격자는 Cetus에서 매우 좁은 구간(틱 하한 300000, 상한 300200, 구간 폭은 단 1.00496621%)으로 유동성 포지션을 생성했습니다. 이렇게 좁은 구간은 후속 계산 오차가 필요한 토큰 수에 미치는 영향을 확대했습니다.

공격의 핵심 원리는:

Cetus에서 필요한 토큰 수를 계산하는 getdeltaa 함수에 정수 오버플로우 취약점이 존재한다는 것입니다. 공격자는 거대한 유동성을 추가하겠다고 선언했지만, 실제로는 계약에 1개의 토큰만 투입했습니다.

checked_shlw의 오버플로우 검출 조건이 잘못되어 계약이 왼쪽으로 이동할 때 고위 데이터가 잘리게 되어 시스템이 필요한 haSUI 수를 심각하게 과소평가하게 되었고, 그 결과 극소 비용으로 대량의 유동성을 확보하게 되었습니다.

기술적으로 보면, 위의 취약점은 Cetus가 Move 스마트 계약에서 잘못된 마스크와 판단 조건을 사용하여 발생했습니다. 이로 인해 0xffffffffffffffff << 192보다 작은 값은 모두 검출을 우회할 수 있었습니다. 그리고 64비트 왼쪽 이동 후 고위 데이터가 잘리면서 시스템은 극소량의 토큰만으로도 거대한 유동성을 얻었다고 판단했습니다.

사건 발생 후, 두 가지 공식 조치가 파생되었습니다: '동결' vs '회수', 이는 두 단계로 나뉩니다:

  • 동결 단계는 Deny List + 노드 합의를 통해 완료됩니다.
  • 회수 단계는 체인 상 프로토콜 업그레이드 + 커뮤니티 투표 + 지정 거래 실행을 통해 블랙리스트를 우회해야 합니다.

3. Sui의 동결 메커니즘

Sui 체인 내에는 특별한 Deny List(거부 목록) 메커니즘이 존재하여 이번 해커 자금 동결을 실현했습니다. 그뿐만 아니라, Sui의 토큰 표준에도 '규제된 토큰' 모델이 있어 내장된 동결 기능이 있습니다.

이번 긴급 동결은 이러한 특성을 활용한 것입니다: 검증자 노드는 로컬 구성 파일에 신속하게 도난 자금 관련 주소를 추가했습니다. 이론적으로 각 노드 운영자는 TransactionDenyConfig를 수정하여 블랙리스트를 업데이트할 수 있지만, 네트워크 일관성을 보장하기 위해 Sui 재단이 최초의 구성 발표자로서 중앙 집중적으로 조정했습니다.

재단은 먼저 해커 주소가 포함된 구성 업데이트를 공식 발표하였고, 검증자들은 기본 구성에 따라 동기화하여 해커 자금이 체인 상에서 일시적으로 '봉인'되었습니다. 이 뒤에는 사실상 높은 집중화 요소가 존재합니다.

피해자를 동결된 자금에서 구출하기 위해 Sui 팀은 즉시 화이트리스트(Whitelist) 메커니즘 패치를 출시했습니다.

이는 후속 자금 회수 작업을 위한 것입니다. 합법적인 거래를 미리 구성하고 화이트리스트에 등록할 수 있으며, 해당 자금 주소가 여전히 블랙리스트에 있더라도 강제로 실행할 수 있습니다.

이 새로운 특성인 transactionallowlistskipall_checks는 특정 거래를 미리 '면제 목록'에 추가할 수 있게 하여, 이러한 거래가 모든 보안 검사를 건너뛸 수 있도록 합니다. 여기에는 서명, 권한, 블랙리스트 등이 포함됩니다.

화이트리스트 패치는 해커 자산을 직접 빼앗는 것이 아니라, 특정 거래가 동결을 우회할 수 있는 능력을 부여하는 것입니다. 진정한 자산 이전은 여전히 합법적인 서명이나 추가 시스템 권한 모듈을 통해 완료되어야 합니다.

사실, 업계의 주류 동결 솔루션은 종종 토큰 계약 수준에서 발생하며, 발행자가 다중 서명으로 제어합니다.

Tether가 발행한 USDT를 예로 들면, 그 계약에는 블랙리스트 함수가 내장되어 있어 발행 회사가 위반 주소를 동결하여 USDT를 전송할 수 없도록 합니다. 이러한 솔루션은 다중 서명을 통해 체인 상에서 동결 요청을 시작해야 하며, 다중 서명이 합의에 도달한 후에야 실제로 실행되므로 실행 지연이 발생합니다.

Tether의 동결 메커니즘은 효과적이지만, 통계에 따르면 다중 서명 프로세스에서 종종 '공백기'가 발생하여 불법 분자에게 기회를 제공합니다.

반면, Sui의 동결은 기본 프로토콜 수준에서 발생하며, 검증자 노드의 집단 작업으로 실행 속도가 일반 계약 호출보다 훨씬 빠릅니다.

이 모델에서는 빠르게 실행하려면 검증자 노드 자체의 관리가 매우 통일되어야 함을 의미합니다.

4. Sui의 '전송식 회수' 구현 원리

더 놀라운 것은, Sui가 해커 자산을 동결했을 뿐만 아니라 체인 상 업그레이드를 통해 '전송 회수'를 계획하고 있다는 것입니다.

5월 27일, Cetus는 커뮤니티 투표 방안을 제안하여 프로토콜을 업그레이드하고 동결된 자금을 다중 서명 관리 지갑으로 전송할 것을 요구했습니다. Sui 재단은 즉시 체인 상 거버넌스 투표를 시작했습니다.

5월 29일, 투표 결과가 발표되었고, 약 90.9%의 검증자들이 이 방안을 지지했습니다. Sui 공식은 제안이 통과되면 '두 개의 해커 계좌에 동결된 모든 자금이 해커 서명 없이 다중 서명 지갑으로 회수될 것'이라고 발표했습니다.

해커 서명이 필요 없다는 것은 얼마나 다른 특징인가요? 블록체인 산업에서 이런 수정 방식은 처음입니다.

Sui 공식 GitHub PR에 따르면, 프로토콜은 주소 별명(address aliasing) 메커니즘을 도입했습니다. 업그레이드 내용에는 ProtocolConfig에서 미리 별명 규칙을 지정하여 특정 허용된 거래가 합법적인 서명을 해커 계좌에서 발송된 것으로 간주할 수 있도록 하는 것이 포함됩니다.

구체적으로, 실행할 구조적 거래 해시 목록과 목표 주소(즉, 해커 주소)를 바인딩하여, 이러한 고정 거래 요약을 서명하고 게시하는 실행자는 유효한 해커 주소 소유자로 간주됩니다. 이러한 특정 거래에 대해 검증자 노드 시스템은 Deny List 검사를 우회합니다.

코드 측면에서 보면, Sui는 거래 검증 논리에 다음과 같은 판단을 추가했습니다: 거래가 블랙리스트에 의해 차단되었을 때, 시스템은 서명자를 탐색하고 protocolconfig.istxallowedviaaliasing(sender, signer, txdigest)가 참인지 확인합니다.

어떤 서명자가 별명 규칙을 충족하면, 이 거래는 허용된 것으로 표시되고 이전의 차단 오류를 무시하고 정상적으로 패키징하여 실행됩니다.

5. 견해

1억 6천만, 산업의 가장 깊은 신념을 찢다

Cetus 사건은 개인적으로 볼 때, 이 파문은 곧 지나갈 수 있지만, 이 모델은 잊혀지지 않을 것입니다. 왜냐하면 그것은 산업의 기초를 뒤엎었고, 블록체인이 동일한 장부 하에서 변경 불가능하다는 전통적 합의를 깨뜨렸기 때문입니다.

블록체인 설계에서 계약은 법이며, 코드는 심판입니다.

하지만 이번 사건에서 코드는 무효화되었고, 거버넌스가 개입하며 권력이 우위를 점하여 투표 행동이 코드 결과를 결정하는 패턴이 형성되었습니다.

Sui가 거래를 직접 전용한 방식은 주류 블록체인이 해커 문제를 처리하는 방식과 큰 차이를 보입니다.

이것은 '합의를 변경'한 첫 번째 사례가 아니지만, 가장 조용한 사례입니다

역사적으로 보면:

  • 이더리움 2016년 The DAO 사건은 하드 포크를 통해 전송을 롤백하여 손실을 보상했지만, 이 결정은 이더리움과 이더리움 클래식 두 개의 체인 분열을 초래했으며, 과정은 논란이 많았지만 결국 서로 다른 집단이 서로 다른 합의 신념을 형성하게 되었습니다.
  • 비트코인 커뮤니티 역시 유사한 기술적 도전을 겪었습니다: 2010년의 가치 오버플로우 취약점이 개발자에 의해 긴급히 수정되고 합의 규칙이 업그레이드되어 약 184억 개의 불법 생성된 비트코인이 완전히 삭제되었습니다.

이들은 모두 동일한 하드 포크 모델로, 장부를 문제 이전으로 롤백한 후 사용자가 여전히 어떤 장부 시스템에서 계속 사용할지를 결정할 수 있게 했습니다.

DAO 하드 포크와 비교할 때, Sui는 체인 분열을 선택하지 않고 프로토콜 업그레이드와 별명 추가 방식을 통해 이번 사건을 정밀하게 겨냥했습니다. 이렇게 함으로써 Sui는 체인의 연속성을 유지하고 대부분의 합의 규칙을 변경하지 않았지만, 동시에 기본 프로토콜이 특정 '구조적 구출 작업'을 수행하는 데 사용될 수 있음을 나타냈습니다.

문제는 역사적인 '포크식 롤백'은 사용자가 신념을 선택하는 것이었고, Sui의 '프로토콜식 수정'은 체인이 대신 결정을 내린다는 것입니다.

Not Your Key, Not Your Coin? 아마도 더 이상 아닐 것입니다.

장기적으로 보면, 이는 'Not your keys, not your coins'라는 개념이 Sui 체인에서 무너졌음을 의미합니다: 사용자가 개인 키를 완전하게 가지고 있더라도, 네트워크는 집단 프로토콜 변경을 통해 자산 흐름을 차단하고 자산을 재지정할 수 있습니다.

이것이 향후 블록체인이 대규모 보안 사건에 대응하는 선례가 되고, 다시 준수할 수 있는 관례로 여겨질 수 있다면.

'한 체인이 정의를 위해 규칙을 깨뜨릴 수 있다면, 그것은 어떤 규칙도 깨뜨릴 수 있는 선례를 가지게 된다.'

한 번의 '공익적 강탈'이 성공하면, 다음 번은 '도덕적 모호한 지대'의 조작이 될 수 있습니다.

그때 무슨 일이 일어날까요?

해커가 실제로 사용자의 돈을 훔쳤다면, 집단 투표는 그의 돈을 강탈할 수 있을까요?

투표는 누가 돈이 많고(pos) 누가 사람이 많은지에 따라 결정될까요? 돈이 많은 자가 승리한다면, 류츠신의 소설 속 최종 생산자가 곧 도래할 것이고, 사람이 많은 자가 승리한다면 집단의 무리가 소란을 일으킬 것입니다.

전통적인 제도 하에서는 불법 소득이 보호받지 않는 것이 매우 정상적이며, 동결과 이체는 전통 은행의 일반적인 작업입니다.

하지만 기술 이론적으로는 이를 수행할 수 없다는 것이 블록체인 산업 발전의 근본 원인이 아닐까요.

현재 산업의 규제 대세가 지속적으로 발효되고 있으며, 오늘은 해커를 위해 동결하고 계좌 잔액을 수정할 수 있다면, 내일은 지정학적 요인이나 갈등 요인으로 임의의 수정을 할 수 있습니다. 만약 체인이 지역적인 도구가 된다면.

그렇다면 산업의 가치는 크게 압축될 것이며, 기껏해야 또 다른 불편한 금융 시스템에 불과할 것입니다.

이것이 제가 산업에 대한 확신을 가지는 이유입니다: '블록체인은 동결할 수 없기 때문에 가치가 있는 것이 아니라, 당신이 그것을 싫어하더라도 그것은 당신을 위해 변하지 않기 때문입니다.'

규제의 대세 속에서, 체인이 자신의 영혼을 지킬 수 있을까요?

한때, 얼라이언스 체인은 퍼블릭 체인보다 더 인기가 있었던 이유는 그 시대의 규제 요구를 충족시켰기 때문입니다. 현재 얼라이언스의 쇠퇴는 단순히 이러한 요구를 따르는 것이지, 진정한 사용자 요구를 반영하는 것이 아닙니다. 규제를 받는 사용자를 잃었다면, 또 어떤 규제 도구가 필요할까요?

산업 발전 관점에서

효율적인 중앙화는 블록체인 발전의 필수 단계일까요? 탈중앙화의 궁극적인 목표가 사용자 이익을 보장하는 것이라면, 우리는 과도기적 수단으로서 중앙화를 용인할 수 있을까요?

'민주주의'라는 단어는 체인 상 거버넌스 맥락에서 사실상 토큰 가중치(token weighted)입니다. 그렇다면 해커가 대량의 SUI를 보유하고 있다면(혹은 언젠가 DAO가 해킹당해 해커가 투표권을 통제하게 된다면), 그들은 '합법적으로 자신을 세탁할 수 있는 투표'를 할 수 있을까요?

결국 블록체인의 가치는 동결할 수 있는가가 아니라, 집단이 동결할 수 있는 능력이 있더라도 그렇게 하지 않기로 선택하는 데 있습니다.

한 체인의 미래는 기술 구조에 의해 결정되는 것이 아니라, 그것이 지키기로 선택한 신념에 의해 결정됩니다.

warnning 위험 경고
app_icon
ChainCatcher Building the Web3 world with innovations.