피드로 돌아가기
DUST sponsorship: How one wallet pays fees for another user's transaction
Dev.toDev.to
Security

DUST Sponsorship을 통한 신규 유저의 가스비 진입 장벽 제거 설계

DUST sponsorship: How one wallet pays fees for another user's transaction

Akanji Rahman2026년 5월 9일13advanced

Context

Midnight 네트워크의 모든 트랜잭션은 DUST라는 리소스를 소모하나, 신규 유저는 DUST 잔액이 0인 상태로 시작함. NIGHT 토큰 획득을 위한 첫 트랜잭션조차 수행할 수 없는 Cold Start 문제가 발생함.

Technical Solution

  • tokenKindsToBalance 파라미터를 활용한 트랜잭션 밸런싱 책임의 논리적 분리
  • 유저가 'shielded' 및 'unshielded' 자산만 서명하여 DUST 슬롯을 비워둔 Partial Transaction 생성
  • Sponsor Wallet이 유저의 서명된 객체를 전달받아 자신의 DUST 잔액으로 수수료 부분을 채우는 balanceFinalizedTransaction 프로세스 구현
  • 유저 자산의 무결성 보장을 위해 유저 서명 완료 후 Sponsor가 자산 부분을 수정할 수 없는 Cryptographic Commitment 구조 채택
  • 트랜잭션의 유효성을 보장하기 위해 전체 플로우에 30분 TTL(Time To Live) 제약을 적용한 타임아웃 설계

사용자 경험(UX)을 위해 수수료 대납 구조를 설계할 때, 자산 서명과 수수료 서명을 분리하여 보안성을 유지하면서도 진입 장벽을 낮추는 'Partial Signing' 패턴 검토 필요

원문 읽기