Stacked Markets
DeFi 파생상품에서 지갑 네이티브 서명이 작동하는 방식
게시일 2026. 5. 31. · 작성: Stacked Markets Research Team
지갑 네이티브 서명의 진정한 의미
중앙화 거래소에서 귀하의 계정은 데이터베이스의 한 행에 불과합 니다. 이메일과 비밀번호로 인증하며, 거래소는 귀하의 자금을 통합된 옴니버스 지갑에 보관합니다. 주문을 넣을 때 귀하는 서버로 HTTP 요청을 보내며, 거래소가 이를 이행하고 정확하게 정산하며 출금을 동결하지 않기를 신뢰해야 합니다.
지갑 네이티브 서명은 구조적으로 다릅니다. 귀하의 이더리움 지갑에는 개인 키가 있습니다. 그 키는 특정 작업을 승인하는 암호화 메시지에 서명합니다. 이 서명은 귀하가 서명된 내용을 정확히 승인했음을 증명하며, 그 이상도 이하도 아닙니다. 귀하의 키 없이는 누구도 이를 위조할 수 없습니다.
DeFi 파생상품에서 이는 귀하의 주문이 매칭 엔진 에 도달하기 전에 개인 키로 승인됨을 의미합니다. 프로토콜은 서명된 메시지를 수신하고 서명을 검증한 뒤 주문을 처리합니다. 프로토콜은 귀하의 신원을 신뢰할 필요가 없으며, 수학이 이를 대신합니다.
이것이 CEX 로그인과 지갑 네이티브 워크플로우의 핵심 차이입니다. 하나는 거래소의 인증 계층에 의존하고, 다른 하나는 암호학적 증명에 의존합니다.
EIP-712: 읽기 쉬운 서명 프롬프트의 표준
초기 이더리움 지갑은 사용자에게 원시 16진수 데이터를 서명하도 록 요구했습니다. 0x3d602d80600a3d3981f3...와 같은 문자열을 보고 승인해야 했습니다. 자신이 무엇을 승인하는지 확인할 수 있는 사람은 거의 없었으며, 이것이 바로 '블라인드 서명(blind signing)' 문제였습니다.
EIP-712는 이를 해결하기 위해 도입되었습니다. 이 표준은 유형이 지정된 구조화된 데이터 서명 형식을 정의하여, 지갑이 서명이 무엇을 승인하는지 사람이 읽을 수 있는 형태로 분석하여 표시할 수 있게 합니다.
< h3 id="typed-structured-data">유형이 지정된 구조화된 데이터EIP-712는 모든 서명 가능한 메시지가 정의된 스키마를 따를 것을 요구합니다. 스키마는 필드 이름, 유형 및 값을 지정합니다. 주문은 asset, isBuy, limitPx, sz, reduceOnly, nonce와 같은 필드를 정의할 수 있습니다. 서명할 때 지갑은 스키마를 읽고 각 필드를 레이블과 값으로 렌더 링합니다.
서명 프롬프트는 16진수 덩어리가 아닙니다. 귀하가 실제로 승인한 내용을 반영하는 구조화된 양식입니다.
도메인 분리
EIP-712에는 애플리케이션 이름, 버전, 체인 ID를 인코딩하는 해시인 도메인 구분자가 포함되어 있습니다. 이는 한 프로토콜을 위해 생성된 서명이 다른 프로토콜이나 네트워크에서 재사용되는 것 을 방지합니다. 메인넷의 Hyperliquid를 위해 생성한 서명은 다른 곳에 제출하거나 테스트넷에서 재사용할 수 없습니다.
도메인 분리가 없다면 악의적인 사이트가 유효한 서명을 캡처하여 의도하지 않은 곳에 제출할 수 있습니다. 도메인 구분자는 이러한 경로를 차단합니다.
사람이 읽을 수 있는 프롬프트
스키마가 정의되고 도메인이 명확하기 때문에 MetaMask나 Rabby와 같은 호환 지갑은 서명 요청을 읽기 쉬운 분석 형태로 렌더링합니다. 프로토콜 이름, 각 필드 및 값을 볼 수 있습니다. 서명하기 전에 자산, 방향, 가격 및 규모를 확인할 수 있습니다.
이것이 바로 지갑 네이티브 서명을 실행 시점에 감사 가능하게 만드는 요소입니다. UI가 설명하는 내용을 신뢰하는 것이 아니라, 귀하의 키 가 승인할 실제 페이로드를 읽는 것입니다.
Hyperliquid가 주문 서명에 EIP-712를 사용하는 방법
Hyperliquid의 오더북은 자체 L1에서 실행되지만, 인증 계층은 EIP-712를 사용합니다. 주문을 넣으면 매개변수가 유형이 지정된 구조화된 데이터 페이로드로 인코 딩되어 서명을 위해 지갑에 표시됩니다. 지갑이 페이로드에 서명하면, 서명된 메시지는 Hyperliquid의 매칭 엔진으로 전달되어 주문 처리 전 서명을 검증합니다.
Hyperliquid는 귀하의 개인 키가 전혀 필요 없습니다. 서명된 메시지를 받아 귀하의 공개 주소와 대조하여 검증합니다. 유효한 서명과 올바른 논스(nonce)가 확인되면 주문이 수락됩니다.
논스 및 재전송 공격 방지
Hyperliquid는 재전송 공격을 방지하기 위해 논스를 사용합니다. 논스는 주소당 한 번만 사용할 수 있는 숫자입니다. 각 서명된 주문에는 논스가 포함되어 있습니다. 성공적인 제출로 논스가 소비되면, 동일한 서명된 메시지를 다시 제출할 수 없습니다.
논스가 없다면 유효한 서명 주문을 캡처한 공격자가 나중에 이를 다시 제출하여 이미 완료되거나 취소된 거래를 재실행할 수 있습니다. 논스는 이러한 경로를 차단합니다. Hyperliquid 문서는 프로토콜 위에서 직접 개발하는 사람들을 위해 논스 메커니즘을 상세히 다루고 있습니다.
API 지갑 및 에이전트 주소
Hyperliquid는 API 지갑(에이전트 지갑이라고도 함)을 지원합니다. 이는 메인 지갑을 대신하여 주문에 서명하도 록 승인하는 별도의 이더리움 주소입니다. 이 승인 자체도 메인 지갑에서 서명한 EIP-712 메시지이며, 에이전트 주소에 특정 권한을 부여합니다.
이는 자동화에 중요합니다. 봇이나 전략 계 층에 메인 지갑의 개인 키를 노출하는 대신, 별도의 키 쌍을 생성하여 에이전트로 승인하고 자동화 시스템이 해당 키로 서명하게 합니다. 메인 키는 오프라인 상태로 유지됩니다.
에이전트 지갑은 범위가 지정된 권한을 가집니다. 주문을 넣고 취소할 수는 있지만, 임의의 주소로 자금을 출금할 수는 없습니다. 서명 권한과 출금 권한의 분리는 의미 있는 위험 경계선입니다.
거래 실행 전 서명 프롬프트에 표시되는 내용
Hyperliquid 기 반의 지갑 네이티브 인터페이스를 통해 주문을 제출하면, 실행 전에 지갑에 서명 요청이 나타납니다. 정확한 렌더링은 지갑 소프트웨어에 따라 다르지만, 호환되는 EIP-712 구현은 다음과 같이 구조화된 정보를 보여줍니다:
- 프로토콜/도메인: 애플리케이션 이름 및 체인 컨텍스트
- 자산: 거래 중인 시장(ETH , BTC 등)
- 방향: 매수 또는 매도
- 지정가: 주문의 가격 범위
- 규모: 기본 자산의 포지션 규모
- Reduce only: 기존 포지션을 줄이는 주문인지 여부
- 논스: 재전송 방 지를 위한 시퀀스 번호
서명하기 전에 이 필드들을 검토합니다. 가격이나 규모가 UI에 입력한 것과 일치하지 않으면 서명을 거부하십시오. 승인하기 전까지는 아무것도 실행되지 않습니 다.
이것이 핵심 보안 속성입니다. 승인 단계는 명시적이고 읽기 쉽습니다. 귀하의 지식 없이 주문을 제출하는 백그라운드 호출은 없습니다. 서명 프롬프트가 관문입니다.
위임 서명: 정의 및 사용 시기
모든 주문에 대해 수동으로 지갑 승인을 요구하는 것은 재량 거래에는 실용적이지만, 자동화된 전략에는 병목 현상이 됩니다. 밀리초 단위로 시장 상황에 대응해야 하는 전략은 MetaMask 팝업을 기다릴 수 없습니다.
위임 서명이 이를 해결합니다. 별도의 키 쌍을 생성하고 메인 지갑에서 위임 메시지에 서명하여 해당 주소를 Hyperliquid의 에이전트로 승인하면, 자동화 계층이 에이전트 키로 주문에 서명할 수 있습니다. 에이전트 키는 메인 키를 노출하지 않고 자동화 시스템이 접근할 수 있는 메모리나 보안 영역에 보관할 수 있습니다.
위임 자체는 메인 지갑에서 한 번만 서명하는 EIP-712 메시지입니다. 어떤 주소를 승인하고 무엇을 할 수 있는지 지정합니다. Hyperliquid의 매칭 엔진은 해당 에이전트 주소를 귀하를 대신하여 행동할 권한이 있는 것으로 인식합니다.
에이전트 지갑에 대해 알아두어야 할 몇 가지 사항:< /p>
- 에이전트는 주문을 넣고 취소할 수 있습니다. 외부 주소로 출금을 시작할 수는 없습니다.
- 에이전트 키가 손상되더라도 공격자는 귀하의 계정으로 거래할 수는 있지만, 메인 키 없이는 담보를 임의의 지갑으로 빼낼 수 없습니다.
- 메인 지갑에서 다른 서명된 메시지를 보내 언제든지 에이전트 권한을 취소할 수 있습니다.
이 아키텍처를 통해 핫 서명 키와 콜드 수탁 키를 분리할 수 있습니다. 출금을 제어하는 메인 지갑은 오프라인 상태로 유지되고, 주문 흐름을 제어하는 에이전트 지갑은 자동화 스택에서 실행됩니다.
Stacked Markets에서 서명 메커니즘을 표시하는 방법
Stacked Markets는 Hyperliquid의 온체인 CLOB 위에 구축된 비수탁형 거래 터미널입니다. 담보를 보관하거나 풀링하지 않으며, 모든 주문을 Hy perliquid의 매칭 엔진을 통해 라우팅합니다. 모든 주문은 실행 전 명시적인 지갑 승인이 필요합니다.
인터페이스는 서명 워크플로우를 중심으로 구축되었습니다. 주문을 제출하면 실행 전에 평문 서명 프롬프트가 나타납니다. 이 프롬프트는 지갑이 서명할 실제 EIP-712 페이로드(자산, 방향, 가격, 규모)를 반영합니다. 귀하는 승인하거나 거부합니다. 서명 없이는 아무것도 움직이지 않 습니다.
주문은 가짜 시장가 주문이 아닌, IOC 방식의 슬리피지 제한 지정가 주문으로 라우팅됩니다. 서명 프롬프트의 가격 범위는 실행에 대한 실제 제한입니다. 어떤 가격으로든 체결될 수 있는 시장가 주문에 서명하는 것이 아닙니다. 명시적인 가격 하한선이나 상한선이 있는 지정가 주문에 서명하며, Hyperliquid의 CLOB이 매칭을 처리합니다.
이 터미널은 자동화 워크플 로우를 실행하는 트레이더를 위한 위임 서명도 지원합니다. 서명자 주소를 메인 지갑에 연결하면, 터미널이 각 거래마다 수동 승인 없이 귀하를 대신하여 주문에 서명합니다. 위임은 위에서 설명한 EIP-7 12 패턴을 따릅니다. 메인 지갑이 서명자를 승인하고, 서명자가 주문 흐름을 처리합니다. 출금은 메인 키에 의해 보호됩니다.
Stacked Markets는 어떠한 시점에도 자금을 보관하지 않습니다. Hyperliquid가 매칭, 마진, 정산을 처리합니다. 귀하의 PnL과 펀딩은 온체인에서 검증 가능합니다.
자동화 및 카피 트레이딩 기능은 계획 중이며 아직 라이브 상태가 아닙 니다. 메인넷 전에 서명 워크플로우를 경험하고 싶은 트레이더를 위해 testnet.stackedmarkets.com에서 테스트넷을 이용할 수 있습니다.
알아야 할 솔직한 위험
지갑 네이티브 서명은 거래소에 수탁을 맡기는 것보다 안전하지만, 위험이 없는 것은 아닙니다.
블라인드 서명 위험. 모든 인터페이스가 EIP-712를 올바르게 구현하는 것은 아닙니다. 일부는 원시 해시를 제시하고 서명을 요구할 것입니다. 서명하는 내용을 읽을 수 없다면 인터페이스를 완전히 신뢰하는 것입니다. 승인하기 전에 지갑이 원시 16진수 문자열이 아닌 구조화된 필드를 렌더링하는지 확인하십 시오. 해시만 보인다면 거부하십시오.
키 분실. 개인 키는 유일한 자격 증명입니다. 백업 없이 분실하면 자금은 사라집니다. 지원 팀도 복구할 수 없습니다. 시 드 문구 보관 및 키 관리는 전적으로 귀하의 책임입니다.
피싱 및 도메인 스푸핑. 악의적인 사이트는 합법적인 인터페이스를 모방하여 올바르게 보이지만 다른 매개 변수를 인코딩하는 서명 프롬프트를 제시할 수 있습니다. 지갑을 연결하기 전에 항상 브라우저에서 도메인을 확인하십시오. 서명 프롬프트의 도메인 구분자가 사용하려는 프로토콜과 일치하는지 확인하십시오.
에이전트 키 손상. 위임 서명을 사용 중인데 에이전트 키가 노출되면 공격자가 귀하의 계정으로 거래할 수 있습니다. 임의의 주소로 출금할 수는 없지만, 포지션을 열고 닫아 실제 손실을 발생시킬 수 있습니다. 에이전트 키를 안전한 환경에 보관하고 노출이 의심되면 교체하십시오.
스마트 컨트랙트 및 프로토콜 위험. Hype rliquid의 L1과 매칭 엔진은 자체적인 위험 프로필을 가집니다. 프로토콜 버그, 오라클 실패, 청산 메커니즘은 서명 설정과 무관하게 귀하의 포지션에 영향을 줄 수 있습니다. 온체인 정산은 PnL 이 검증 가능하다는 의미이지만, 손실이 확정적이라는 의미이기도 합니다.
UI 데이터 신선도. 오래된 데이터를 반영하는 프롬프트에 서명하는 것은 실제 실행 위험 입니다. UI에 표시된 가격이 오래되었다면 서명된 주문의 제한 가격이 현재 시장 상황을 반영하지 못할 수 있습니다. Stacked Markets는 이를 표시하기 위해 신선도 및 연결 상태 표시기를 제 공하지만, 서명 전 항상 데이터가 최신인지 확인해야 합니다.
자주 묻는 질문(FAQs)
DeFi 파생상품에서 지갑 네이티브 서명이란 무엇인가요 ?
귀하의 개인 키가 각 거래를 승인하는 암호화 메시지에 서명하는 것입니다. 프로토콜은 주문 처리 전 서명을 검증합니다. 귀하는 거래소에 자금 수탁을 맡기지 않으며, 키의 명시적인 승 인 없이는 아무것도 실행되지 않습니다.
EIP-712란 무엇이며 트레이더에게 왜 중요한가요?
EIP-712는 유형이 지정된 구조화된 데이터 서명을 위한 이더리 움 표준입니다. 지갑이 원시 16진수 문자열 대신 서명이 승인하는 내용(자산, 방향, 가격, 규모)을 사람이 읽을 수 있는 형태로 표시하게 합니다. 승인 단계를 확인하기 전에 실제로 검증할 수 있게 됩니다.
Hyperliquid는 서명된 주문에 대한 재전송 공격을 어떻게 방지하나요?
논스를 통해 방지합니다. 각 서명된 주문에는 주소당 한 번만 소비될 수 있는 논스가 포함됩니다. 서명된 메시지가 처리되면 동일한 메시지를 다시 제출할 수 없습니다. 유효한 서명 주문을 캡처한 공격자도 이를 재사용할 수 없습니다.
위임 서명자 또는 API 지갑이란 무엇이며 언제 사용해야 하나요?
위임 서명자는 메인 지갑을 대신하여 주문에 서명하도록 승인하는 별도의 이더리움 주소입니다. 각 거래마다 수동 승인 없이 주문에 서명해 야 하는 자동화 전략을 실행할 때 유용합니다. 에이전트는 주문을 넣고 취소할 수 있지만 외부 주소로 출금을 시작할 수는 없습니다. 출금을 제어하는 메인 키는 오프라인 상태로 유지됩니다.
Stacked Markets를 통해 거래할 때 무엇을 보관하나요?
아무것도 보관하지 않습니다. Stacked Markets는 비수탁형 터 미널입니다. 담보는 귀하의 지갑에 남아 있습니다. 주문은 Hyperliquid의 온체인 CLOB을 통해 라우팅되며, Hyperliquid가 매칭, 마진, 정산을 처리합니다. Stacked Market s는 어떠한 시점에도 귀하의 자금에 접근할 수 없습니다.
지갑 네이티브 서명이 CEX 주문 입력보다 느린가요?
수동 거래의 경우 서명 단계가 주문당 몇 초를 추가합니다. 위임 서명을 사용하면 에이전트 키가 수동 승인 팝업 없이 프로그래밍 방식으로 주문에 서명하므로 자동화 워크플로우의 지연 시간이 제거됩니다. 재량 거래의 경우 추가된 단계는 검증 가능한 승 인을 위해 지불하는 명시적인 대가입니다.
결론
지갑 네이티브 서명은 UX 기능이 아닙니다. 귀하에게 다시 승인 권한을 돌려주는 메커니즘입니다. E IP-712는 그 승인을 읽기 쉽게 만들고, 논스는 재사용을 방지하며, 에이전트 지갑은 메인 키 노출 없이 자동화와 호환되게 합니다.
서명 계층이 어떻게 작동하는지 이해하면 승인하는 내용을 감사하고, 잘못된 점을 인식하며, 실제 위험 허용 범위에 맞게 키 설정을 구성할 수 있습니다.
실제 자본을 투입하기 전에 라이브 환경에서 이 메커니즘을 경험하고 싶다면 testnet.stackedmarkets.com에서 테스트넷을 이용할 수 있습니다.
