시세 로딩 중...
로그인
뉴스›이더리움
이더리움

이더리움 프라이버시 지갑, 출금에 외부 서명 필수 '취약점'

미국 CryptoSlate2026년 10월 22일 23:002
이더리움 ETH 뉴스 - 이더리움 프라이버시 지갑, 출금에 외 | 용돈클럽
📝이 기사는 원문을 참조하여 AI가 한국어로 재작성했습니다

SIG Network의 실험적인 이더리움 프라이버시 지갑인 미드나잇(Midnight)에서 토큰을 인출하려면 해당 지갑의 외부 서명 서비스가 필수적인 것으로 나타났습니다. 이는 사용자가 토큰을 인출하기 위해 '보호된 청구(shielded claim)'를 소각해야 하며, 출금 완료 여부가 외부 서명 서비스의 응답에 달려있다는 점에서 드러난 취약점입니다.

미드나잇의 야간 모드(Nightmode) 프라이버시 계획에서 이러한 출금 의존성은 중요한 특징으로 작용합니다. 사용자는 외부 전송이 서명되기 전에 보호된 청구를 소각해야 하며, 만약 전송이 실패하더라도 이에 대한 검증된 결과가 있어야만 환불 절차가 진행됩니다. 즉, 서명 서비스가 응답하지 않을 경우, 사용자는 자금을 돌려받지 못할 수 있는 상황이 발생할 수 있습니다.

찰스 호스킨슨(Charles Hoskinson)은 지난 10월 21일 트론(Tron)의 미드나잇 참여를 환영했습니다. SIG는 트론을 2026년 12월까지 통합하는 것을 목표로 하고 있으며, 현재 이더리움 통합은 스테이지넷(stagenet) 테스트 네트워크에서 진행 중입니다.

**이더리움 지갑의 자산 관리 방식**

SIG는 자사의 서비스를 통해 미드나잇 컨트랙트가 일반적인 이더리움 계정을 관리하도록 한다고 설명합니다. 특정 수 이상의 서명자가 컨트랙트의 요청에 따라 이더리움 서명을 생성합니다. SIG는 이 서명자들이 독립적이며, 단 한 명의 서명자도 단독으로 행동할 수 없다고 강조합니다.

이번 교육적이고 실험적인 애플리케이션에서, 기반이 되는 ERC20 토큰은 지갑의 EVM 계정에 보관됩니다. 미드나잇에서는 사용자가 해당 풀에 대한 자신의 청구를 나타내는 보호된 지갑 토큰을 보유합니다. 따라서 네이티브 자산이 이더리움에 그대로 남아있는 것은 자산이 어디에 기록되는지를 보여줄 뿐, 누가 그것을 이동시킬 수 있는지를 직접적으로 설명해주지는 못합니다.

이러한 구분은 '소각(burn)'의 의미를 더욱 명확하게 합니다. 출금을 시작하는 행위는 상환되는 보호된 청구를 소각하는 것이지, 기반이 되는 ERC20 토큰 자체를 소각하는 것이 아닙니다. 성공적인 외부 결제가 이루어지면 상환 절차가 완료됩니다. 만약 결제 과정에서 문서화된 실패 결과 중 하나가 발생하면, 애플리케이션은 해당 청구를 복원할 수 있습니다.

출금 과정은 보유자의 코인 사용을 인가로 취급합니다. 보유자는 해당 토큰과 정확한 인출 금액과 일치하는 보호된 지갑 코인을 제공한 후, 목적지 주소를 선택합니다. 회로(circuit)는 0으로 설정된 목적지를 거부합니다.

`startWithdraw` 회로는 해당 코인을 소각하고 요청을 큐에 넣습니다. 이후 큐 플러시(queue flush) 과정에서 지갑 계정의 트랜잭션 시퀀스 번호(nonce)가 할당됩니다. `send` 단계에서는 정확한 ERC20 전송 요청이 기록되고, MPC(다자간 계산, multiparty computation) 서명 서비스에 통지됩니다.

이후 과정은 다음과 같은 별개의 책임들로 구성됩니다:

* **서명 서비스**: 외부 트랜잭션에 대한 서명을 생성하고, 해당 서명을 dApp 또는 릴레이어에게 제공합니다. 이 서명은 EVM 체인으로 전송될 트랜잭션에 포함됩니다.
* **dApp 또는 릴레이어**: 서명 서비스로부터 받은 서명과 함께 트랜잭션을 조립하여 EVM 체인에 전송합니다. 이 단계에서 실제 이더리움 네트워크에 트랜잭션이 브로드캐스트됩니다.

**실패한 전송과 침묵하는 서비스의 차이**

서명 서비스는 서명 생성 외에도 두 번째 중요한 역할을 수행합니다. 이는 서명을 통해 승인된 트랜잭션과는 별도로, 외부 트랜잭션의 결과에 대한 '증명(attestation)'을 제공하는 것입니다. 통합 프로토콜은 이러한 결과 증명을 요청 및 반환 데이터와 결합하도록 규정하고 있습니다.

지갑은 MPC 응답에 맞춰 구성된 증명을 확인합니다. 이 과정은 다음과 같은 순서로 진행됩니다:

1. **MPC 서명 서비스**: 외부 트랜잭션에 대한 서명을 생성하고, 이를 dApp 또는 릴레이어에게 전달합니다.
2. **dApp/릴레이어**: 서명된 트랜잭션을 EVM 체인에 전송합니다.
3. **MPC 서명 서비스 (후속)**: 전송된 트랜잭션의 최종 결과(성공 또는 특정 유형의 실패)에 대한 증명을 생성하고, 이를 지갑으로 다시 보냅니다.
4. **미드나잇 지갑**: 수신된 증명을 검토하여, 해당 증명이 사전에 구성된 MPC 응답과 일치하는지 확인합니다. 만약 증명이 일치하고, 결과가 성공적인 전송을 나타내면, 사용자는 자금을 성공적으로 인출한 것으로 간주됩니다. 만약 증명이 일치하지만 결과가 실패를 나타내면, 지갑은 소각되었던 보호된 청구를 복원하는 절차를 시작할 수 있습니다. 그러나 만약 MPC 서명 서비스가 결과 증명을 제공하지 않거나, 지연될 경우, 지갑은 이를 실패한 전송으로 간주하고 청구 복원 절차를 진행할 수 없습니다. 이는 결국 사용자가 자금에 접근할 수 없게 되는 상황을 초래할 수 있습니다.

SIG Network의 미드나잇은 프라이버시 강화 솔루션을 목표로 하지만, 이번 실험은 프라이버시와 편의성, 그리고 보안의 복잡한 균형점을 시사합니다. 외부 서명 서비스에 대한 의존성은 단일 실패 지점(single point of failure)의 가능성을 내포하며, 향후 이더리움 통합이 정식 출시될 경우 해결해야 할 중요한 과제가 될 것입니다.

공유X페이스북