> ## 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.

# 1초 최종성

> StableNet에서 커밋된 블록은 되돌릴 수 없습니다 — 확인 대기나 재편성 처리가 필요 없습니다.

> StableNet의 모든 블록은 커밋되는 순간 최종 확정됩니다. "아마도 최종" 상태는 없습니다.

## 개발자에게 달라지는 점

이더리움 메인넷에서는 블록이 재편성될 수 있기 때문에 12\~64개의 블록 확인을 기다립니다. StableNet에서는 Anzeon WBFT가 체인에 쓰이기 전에 밸리데이터 쿼럼을 통해 각 블록을 커밋합니다. 한번 커밋되면 되돌릴 수 없습니다.

|            | 최장 체인 (PoW/PoS) | Anzeon WBFT |
| ---------- | --------------- | ----------- |
| 최종성 모델     | 확률적             | 결정론적        |
| 결제까지 소요 시간 | 수 분 (N개 확인)     | \~1초        |
| 재편성 가능     | 예               | 아니오         |
| 확인 폴링 필요   | 예               | 아니오         |

## 실질적 영향

**확인 깊이 로직 불필요.**
트랜잭션을 확정으로 처리하기 전에 6개나 12개 블록을 기다릴 필요가 없습니다. `eth_getTransactionReceipt`가 영수증을 반환하면 블록 N은 최종 확정입니다.

```typescript theme={null}
// 이것으로 충분합니다 — 확인 깊이 불필요
const receipt = await provider.waitForTransaction(txHash);
console.log("Settled in block", receipt.blockNumber);
```

**재편성 처리 불필요.**
체인 재편성을 감지하거나 이전 영수증을 재확인하기 위해 `eth_subscribe("newHeads")`를 구독할 필요가 없습니다. 블록이 체인에 포함되면 영구적으로 유지됩니다.

**결제 흐름이 단순해집니다.**
블록 N에서 확인된 전송은 즉시 후속 로직을 트리거할 수 있습니다 — 대기 기간이나 롤백 위험 없이.

## 최종성이 보장되는 방법

각 블록은 체인에 추가되기 전에 2단계 BFT 커밋을 거칩니다:

1. **PREPARE 단계** — 밸리데이터들이 블록 제안에 투표; `2f+1` 표가 COMMIT으로 진행
2. **COMMIT 단계** — 밸리데이터들이 확정에 투표; `2f+1` 표가 블록을 영구적으로 봉인

여기서 `f = ⌊(n−1)/3⌋`는 네트워크가 허용할 수 있는 비잔틴 밸리데이터의 최대 수입니다. `2f+1` COMMIT 표로 봉인된 블록은 수학적으로 되돌릴 수 없습니다 — 그러려면 `f`개 이상의 공모하는 밸리데이터가 필요합니다.

## 개발자 이점

* `eth_getTransactionReceipt`를 한 번만 호출 — 확인 깊이를 위한 재시도 루프 불필요
* 인덱서나 백엔드에서 재편성 이벤트 처리 불필요
* 단일 블록 결제로 실시간 결제 확인 가능

## 관련 문서

* [합의](/ko/v0.3/learn/consensus) — PREPARE와 COMMIT 단계가 상세히 작동하는 방식
* [아키텍처 개요](/ko/v0.3/learn/architecture-overview) — 전체 트랜잭션 생명주기
