가스 면제
거버넌스 승인을 받은 주소(이하 면제자)는 사용자의 서명된 페이로드를 포함하는 래퍼 트랜잭션을 제출하고, 이를 gasPrice = 0으로 실행합니다. 사용자는 USDT0을 보유하지 않으며 가스 비용을 지불하지 않습니다. Stable은 이러한 면제자 중 하나를 호스팅 서비스로 운영하며, 파트너는 검증자 거버넌스를 통해 자체 면제자 주소를 등록할 수도 있습니다.
작동 방식
가스 면제는 래퍼 트랜잭션 패턴을 사용합니다.
- 사용자는
gasPrice = 0으로InnerTx에 서명합니다. 사용자의 서명은 처음부터 끝까지 보존되며, 면제자는 서명을 무효화하지 않고는 페이로드를 수정할 수 없습니다. - 면제자는
InnerTx를WrapperTx로 래핑하여 프로토콜 마커 주소(0x000000000000000000000000000000000000f333)로 보냅니다. 이때value = 0,gasPrice = 0으로 설정하고 서명된InnerTx를 데이터 페이로드로 사용합니다. - 검증자는 마커를 감지하고, 면제자의 권한 및 정책 제약 조건을 확인한 후, 사용자의 신원(
from,nonce, 호출 의미론)으로 내부 트랜잭션을 실행합니다.
가스 회계는 면제 메커니즘 내부에서 처리됩니다. 사용자는 아무것도 지불하지 않고, 래퍼도 아무것도 지불하지 않으며, 검증자는 면제별 정책에 따라 비용을 흡수합니다.
승인 및 정책
면제자는 애플리케이션 로직이 아닌 검증자 거버넌스에 의해 제어됩니다. 거버넌스는 다음을 제공합니다.
- 검토 가능한 등록: 모든 면제자 주소는 온체인에 등록되며 상태에서 확인할 수 있습니다.
- 철회: 검증자는 언제든지 오작동하는 면제자를 제거할 수 있습니다.
AllowedTarget을 통한 범위 지정 액세스: 각 면제자는 특정 대상 계약 및 메서드 선택자 집합에 바인딩됩니다. 프로토콜은 내부to주소 및 메서드 선택자가 해당 범위를 벗어나는 모든 래퍼를 거부합니다.
유효한 래퍼 트랜잭션은 다음 조건을 모두 충족해야 합니다.
WrapperTx.to == 0x000000000000000000000000000000000000f333(마커 주소).WrapperTx.from은 거버넌스를 통해 온체인에 등록된 면제자입니다.WrapperTx.gasPrice == 0및InnerTx.gasPrice == 0.WrapperTx.value == 0.InnerTx.to와 추출된 메서드 선택자가 면제자의AllowedTarget정책에 의해 허용됩니다.
어떤 조건이라도 실패하면, 검증자는 내부 트랜잭션을 실행하지 않고 래퍼를 거부합니다.
보안 모델
- 사용자 서명 무결성: 사용자는
InnerTx에 서명합니다. 면제자는 서명을 무효화하지 않고는 페이로드를 변경할 수 없습니다. 파트너는 여전히 사용자가 의도한 페이로드에만 서명하도록 보장할 책임이 있습니다. - 온체인 권한 부여: 권한 부여는 온체인에 존재합니다. 요청의 출처에 관계없이 거버넌스에 등록된 면제자 주소만 유효한 래퍼 제출을 생성할 수 있습니다.
- 서비스 가용성 경계: 파트너가 Stable의 호스팅된 면제 서버를 통해 라우팅할 때, 제출 가용성은 서비스에 따라 달라집니다. 프로토콜 수준의 권한 부여 보증은 영향을 받지 않습니다.
가스 면제를 사용해야 하는 경우
가스 면제는 최종 사용자가 가스 비용으로 USDT0을 보유할 필요가 없는 모든 흐름에 적합합니다.
- 아직 스테이블코인 잔액이 없는 사용자를 온보딩하는 소비자 앱.
- 에이전트의 지갑이 가스 비용을 부담하는 에이전트 기반 흐름.
- 운영자가 네트워크 비용을 흡수하는 기업 결제 시스템.
사용자가 USDT0을 보유하고 있지만 여러 호출을 하나의 서명된 트랜잭션으로 묶으려는 흐름의 경우, 대신 EIP-7702 위임을 참조하십시오.
통합 경로 선택
세 가지 경로 모두 동일한 온체인 결과를 생성합니다. 면제자 키를 누가 보유하고 얼마나 많은 것을 구축하느냐에 따라 달라집니다.
| 경로 | 면제자 키를 보유한 주체 | 사용 시기 |
|---|---|---|
| 호스팅된 면제 서버 | Stable, 그리고 API 키로 인증 | 가장 짧은 경로를 원하고 Stable의 서비스에 제출을 의존할 수 있는 경우. |
| 엔터프라이즈 SDK | 귀하가 거버넌스를 통해 등록 | TypeScript에서 자체 면제자를 실행하고 빌드, 서명 및 브로드캐스트를 한 번의 호출로 처리하려는 경우. |
| 자체 호스팅 래퍼 | 귀하가 거버넌스를 통해 등록 | SDK가 다루지 않는 언어로 직접 래퍼 트랜잭션을 구성하는 경우. |
호스팅된 서버는 귀하를 대신하여 면제자를 등록하고 운영하므로 WrapperTx를 직접 구성할 필요가 없습니다. 자체 호스팅 경로는 모두 거버넌스에 등록된 면제자 주소가 필요하며, @stablechain/enterprise는 해당 모델을 위한 유형화된 클라이언트입니다.
다음 권장 사항
- 가스 없는 트랜잭션 활성화: API 키 제출 및 NDJSON 응답을 통해 호스팅된 면제 서버 API를 통합합니다.
- 가스 면제 프로토콜: 마커 라우팅, 래퍼 형식, 거버넌스 제어를 포함한 전체 프로토콜 사양을 읽어보십시오.
- 가스 토큰으로서의 USDT0: 면제자가 커버하는 가스 토큰을 이해하십시오.

