피드로 돌아가기
TON Storage Fees, Part 2: Important Notes and Practical Tips
Dev.toDev.to
Infrastructure

TON Storage Fee의 비동기 징수 메커니즘과 Account State 관리 전략

TON Storage Fees, Part 2: Important Notes and Practical Tips

Salikh Osmanov2026년 6월 19일4advanced

Context

TON 네트워크는 계정 상태 유지 비용을 Storage Fee로 부과하며, 이를 실시간이 아닌 트랜잭션 발생 시점에만 징수하는 구조를 채택함. 이로 인해 실제 잔액과 겉으로 보이는 잔액 사이에 괴리가 발생하며, 미납금(due_payment)이 누적되는 지연 징수 특성을 가짐.

Technical Solution

  • 트랜잭션 발생 시에만 Storage Phase를 실행하여 누적된 Storage Debt를 징수하는 지연 결제 모델 설계
  • Bounceable 메시지는 Storage → Credit → Compute 순서로 처리하여 입금 전 잔액 부족 시 징수 실패 유도
  • Non-bounceable 메시지는 Credit → Storage → Compute 순서로 처리하여 입금액을 통한 즉시 Debt 상환 구조 구현
  • 잔액 부족 시 계정 상태를 ACTIVE에서 FROZEN으로 전환하고 상태 데이터를 해시 기반의 Compact 형태로 압축하여 비용 증가율 억제
  • TVM 실행 전 Storage Phase의 징수 결과가 msg_value에 반영되도록 하여 실제 가용 자산 기반의 Compute Phase 실행 보장

- 컨트랙트 펀딩 시 Credit Phase가 선행되는 Non-Bounceable 메시지를 사용하여 즉시 상환 유도 - `my_storage_due()` 함수를 통해 누적된 미납금을 상시 모니터링하여 예상치 못한 계정 동결 방지 - `raw_reserve` 설정 시 최소 유지 금액 외에 현재 누적된 `due_payment`를 합산하여 예약금 산정 - TVM 내부의 `msg_value`가 원본 메시지 값과 다를 수 있음을 전제로 한 정밀 회계 로직 설계

원문 읽기