> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stablenet.network/llms.txt
> Use this file to discover all available pages before exploring further.

# 가스 수수료 정책

## 목적 및 범위

이 문서는 StableNet의 가스 수수료 정책을 설명합니다.\
StableNet은 스테이블코인 기반 트랜잭션 환경을 지원하기 위해 Ethereum의 EIP-1559 수수료 메커니즘을 수정하여 적용합니다.\
이 문서에서는 이중 구성 요소 수수료 구조(기본 수수료 및 우선순위 수수료), 거버넌스 제어 가스 팁, 수수료 위임 메커니즘을 다룹니다.\
가스 팁을 제어하는 거버넌스 시스템에 대한 정보는 [검증자 거버넌스 (GovValidator)](/ko/governance-system/5.3-validator-governance-\(govvalidator\))을 참조하세요.\
트랜잭션 타입 및 인코딩에 대한 세부사항은 [트랜잭션 유형 및 인코딩](/ko/core-architecture/3.5-transaction-types-and-encoding)을 참조하세요.

## 개요

StableNet은 1:1 법정화폐 담보를 전제로 하는 스테이블코인 환경에 맞게 조정된 Ethereum EIP-1559 수수료 메커니즘의 수정 버전을 구현합니다.\
주요 설계 목표는 수수료 변동성 최소화, 예측 가능한 비용 구조, 거버넌스 기반 제어입니다.

주요 수정 사항은 다음을 보장합니다.

1. **기본 수수료 미소각**\
   Ethereum과 달리 기본 수수료(Base Fee)는 소각되지 않고 검증자에게 지급됩니다.\
   이는 스테이블코인이 법정화폐 인출 시점에만 소각되어야 한다는 설계 원칙을 따릅니다.
2. **우선순위 수수료의 거버넌스 제어**\
   가스 팁은 시장 경쟁이 아닌 검증자 거버넌스를 통해 결정됩니다.
3. **이중 임계값 기반 기본 수수료 조정**\
   가스 사용률 구간에 따라 증가, 유지, 감소가 명확히 정의됩니다.
4. **승인 계정 우선순위 허용**\
   승인된 인증 계정은 사용자 정의 우선순위 수수료를 사용할 수 있습니다.
5. **법정화폐 기준 비용 표현**\
   모든 가스 수수료는 기본 스테이블코인 단위(KRW 등) 기준으로 설계됩니다.

## 수수료 구성 요소

### 기본 수수료 및 우선순위 수수료 구조

StableNet의 가스 수수료는 다음 두 요소로 구성됩니다.

* **기본 수수료(Base Fee)**\
  네트워크 혼잡도를 반영하여 프로토콜이 결정하는 최소 수수료
* **우선순위 수수료(Priority Fee, Gas Tip)**\
  검증자 보상 및 처리 우선순위를 위한 추가 수수료

### 트랜잭션 수수료 필드

| Field                  | Description         | Set By     | Applies To   |
| ---------------------- | ------------------- | ---------- | ------------ |
| `gasLimit`             | 트랜잭션 실행에 허용되는 최대 가스 | 사용자        | 모든 트랜잭션      |
| `baseFeePerGas`        | 블록 헤더에 포함된 최소 가스 비용 | 프로토콜       | London 이후    |
| `maxFeePerGas`         | 사용자가 허용하는 최대 가스 비용  | 사용자        | DynamicFeeTx |
| `maxPriorityFeePerGas` | 최대 우선순위 수수료         | 사용자 / 거버넌스 | DynamicFeeTx |
| `gasPrice`             | 고정 가스 가격            | 사용자        | LegacyTx     |

Anzeon 체인에서 **일반 계정**의 경우 트랜잭션에 포함된 `maxPriorityFeePerGas` 값은 거버넌스가 강제하는 가스 팁으로 오버라이드됩니다.

## 기본 수수료 정책

### 조정 메커니즘

StableNet은 EIP-1559의 기본 수수료 조정 방식을 보다 완만하고 예측 가능하게 수정합니다.

**표준 Ethereum**

* 목표 사용률: 50%
* 변동률: 블록당 ±12.5%

**StableNet 이중 임계값 시스템**

StableNet은 부모 블록의 가스 사용률을 기준으로 다음 규칙을 적용합니다.

1. **가스 사용률 > 20%**
   * Base Fee 2% 증가
   * 일반 전송 기준 약 1,000건 이상 처리 시 구간 진입
2. **6% ≤ 가스 사용률 ≤ 20%**
   * Base Fee 유지
   * 네트워크 안정 구간
3. **가스 사용률 \< 6%**
   * Base Fee 2% 감소
   * 일반 전송 기준 약 300건 미만 처리 시 구간 진입

추가 제약 조건은 다음과 같습니다.

* 변동률: 블록당 ±2%
* 최소 Base Fee: 20,000 gwei
* 최대 Base Fee: 20,000,000 gwei

프로토콜 상수 정의:

```
IncreasingThreshold = 20
DecreasingThreshold = 6
BaseFeeChangeRate   = 2
MinBaseFee          = 20_000_000_000_000
MaxBaseFee          = 20_000_000_000_000_000
```

### 기본 수수료 분배

StableNet에서는 기본 수수료가 다음과 같이 처리됩니다.

1. 기본 수수료는 소각되지 않고 전체 검증자들에게 보상으로 지급됩니다.
2. 우선순위 수수료는 블록 생성자에게 지급됩니다.

이 구조는 스테이블코인 공급량이 명시적인 거버넌스 승인 소각에 의해서만 감소하도록 보장합니다.

## 우선순위 수수료(가스 팁) 정책

### 거버넌스 제어 가스 팁

Anzeon 구성에서 가스 팁은 개별 사용자가 아닌 GovValidator 컨트랙트를 통한 검증자 합의로 결정됩니다.\
이는 가스 가격 경쟁을 제거하고 예측 가능한 비용 환경을 제공합니다.

### 가스 팁 업데이트 메커니즘

거버넌스 제어 가스 팁은 다음 시점에 갱신됩니다.

**초기화 시**

```
- GovValidator 컨트랙트에서 초기 gasTip 조회
- 현재 블록 상태 기준으로 설정
- 이후 변경을 위한 콜백 등록
```

**블록 생성 후**

```
- 블록 생성 완료 후
- 새 블록 상태에서 gasTip 재조회
- 워커 및 TxPool에 반영
```

### 일반 계정과 인증 계정

**일반 계정**

* 거버넌스가 설정한 고정 gasTip 사용
* 더 높은 팁을 지정해도 무시됨
* 최소 gasTip 미만 트랜잭션은 거부됨
* 실행 우선순위 경쟁 불가

**인증 계정**

* 트랜잭션별 gasTip 지정 가능
* 실제 팁 값 기반으로 우선순위 결정
* 운영 및 시스템 계정 용도

이 설계는 일반 사용자에게는 비용 안정성을, 운영 계정에는 유연성을 제공합니다.

## 트랜잭션 수수료 계산

### 유효 가스 가격

EIP-1559 트랜잭션의 유효 가스 가격은 다음과 같이 계산됩니다.

```
effectiveGasPrice = baseFee + effectivePriorityFee
```

Anzeon의 경우:

```
effectivePriorityFee = min(governanceTip, maxFeePerGas - baseFee)
```

### 총 비용

```
Total Cost = (gasUsed × effectiveGasPrice) + value
```

Blob 트랜잭션(EIP-4844)의 경우 blob 가스 비용이 추가됩니다.

## 수수료 위임

StableNet은 `FeeDelegateDynamicFeeTxType`(0x16)을 통해 수수료 위임을 지원합니다.

주요 특성:

* 발신자와 수수료 지불자의 이중 서명
* 가스 비용은 수수료 지불자에게 청구
* 트랜잭션 Value는 발신자 잔액에서 차감
* 트랜잭션 해시는 두 서명을 모두 포함

## 프로토콜 매개변수

### 가스 수수료 상수

| Constant            | Value           | Description       |
| ------------------- | --------------- | ----------------- |
| IncreasingThreshold | 20              | 기본 수수료 증가 임계값 (%) |
| DecreasingThreshold | 6               | 기본 수수료 감소 임계값 (%) |
| BaseFeeChangeRate   | 2               | 블록당 변동률 (%)       |
| MinBaseFee          | 20,000 gwei     | 최소 기본 수수료         |
| MaxBaseFee          | 20,000,000 gwei | 최대 기본 수수료         |

### 최대 블록 가스 제한

```
Maximum Block Gas Limit = 105_000_000
```

이는 블록당 약 5,000개의 기본 전송 트랜잭션을 처리할 수 있도록 설계되었습니다.

## 수수료 조회 API

| API                        | Description               |
| -------------------------- | ------------------------- |
| `eth.maxPriorityFeePerGas` | 거버넌스 설정 gasTip 조회         |
| `eth.gasPrice`             | baseFee + gasTip 기준 추천 가격 |

## 표준 Ethereum과의 비교

| Aspect          | Ethereum       | StableNet    |
| --------------- | -------------- | ------------ |
| Base Fee        | Burn           | Validator 지급 |
| 조정 방식           | 50% 목표, ±12.5% | 이중 임계값, ±2%  |
| Priority Fee    | 사용자 경쟁         | 거버넌스 제어      |
| 수수료 변동성         | 높음             | 낮음           |
| Fee Delegation  | 미지원            | 지원           |
| Block Gas Limit | \~60M          | 105M         |
| 통화 기준           | 비고정            | 법정화폐 고정      |
