---
title: "Ethereum commitment levels란 무엇인가요?"
description: "Safe (Justified), Finalized, Latest Commitment Levels에 대해 알아보기"
---

# Ethereum commitment levels란 무엇인가요?

[Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain)는 PoW 체인의 기존 _latest_ 레이블과 함께 블록을 표시하는 데 사용되는 두 가지 새로운 Ethereum 커밋 레벨, _safe_와 _finalized_를 도입합니다. _latest_ 블록 태그는 Ethereum의 블록체인에 가장 최근에 추가된 블록으로 "head"라고도 하며, _safe_ 커밋 레벨은 현재 에포크보다 1 에포크\(즉 32 슬롯\) 뒤에 있고, _finalized_ 커밋 레벨은 가장 최근에 _safe_로 표시된 블록보다 1 에포크 뒤에 있습니다.

Ethereum 커밋 레벨은 Ethereum의 Proof-of-Stake 알고리즘 변경으로 가능해진, [reorg](https://www.alchemy.com/overviews/what-is-a-reorg)될 가능성이 낮은 블록을 쿼리하기 위한 유용한 프리미티브를 web3 개발자에게 제공하기 때문에 유용합니다.

개발자는 _justified_ 및 _finalized_ 블록이 reorg될 가능성이 낮다는 더 높은 보장을 갖게 되므로, 스마트 컨트랙트와 탈중앙화 애플리케이션에 더 강력한 가정을 반영할 수 있습니다.

## **블록 번호란 무엇인가?**

**블록 번호는 블록체인에 추가된 블록의 순서를 지정하는 데 사용되는 숫자 값입니다.** 예를 들어, 빌드 및 검증 중인 대기 블록의 블록 번호가 100이라면, 가장 최근에 검증된 블록\(즉 _latest_ 블록\)의 블록 번호는 99가 됩니다.

## **체인 재구성\(reorg\)이란 무엇인가?**

[**체인 재구성**](https://www.alchemy.com/overviews/what-is-a-reorg)이란 정규 체인\(즉 메인 체인, 또는 가장 긴 체인\)에 추가되었던 블록이 제거되고 다른 블록으로 대체되는 것을 말합니다. 정규 체인에 추가된 블록이 reorg를 통해 변경될 수 있기 때문에, reorg는 결제 최종성에 영향을 미칩니다.

reorg는 익스플로잇이나 [Maximal Extractable Value\(MEV\)](https://www.alchemy.com/overviews/what-is-mev)의 결과로 발생할 수 있기 때문에, latest 블록이 확정되었다고 신뢰하는 것은 개발자에게 어려운 가정입니다.

Proof-of-Work에서 Proof-of-Stake로의 마이그레이션과 함께, Ethereum의 Beacon Chain은 개발자에게 더 강력한 보장을 제공하기 위해 _safe_ 및 _finalized_ 블록 커밋 레벨을 도입했습니다.

## **에포크란 무엇인가?**

**머지 이후의 Ethereum 환경에서, Beacon Chain은 새로운 블록이 빌드될 수 있는 기회인 슬롯과, 32 슬롯에 해당하는 에포크를 도입합니다.** 새로운 블록은 정확히 12초마다 검증될 수 있기 때문에, 하나의 에포크는 6.4분에 해당합니다.

각 에포크 동안, Beacon Chain은 블록체인에 추가되는 블록의 유효성을 증명하는 검증자 위원회를 무작위로 선정합니다. _safe_ 및 _finalized_ 블록 커밋 레벨은 에포크를 기준으로 결정됩니다.

[각 에포크에는 32개의 슬롯](https://ethereum.org/en/developers/docs/data-and-analytics/block-explorers/#consensus-layer-data)이 있지만, 드문 경우\(1% 미만\)에는 모든 슬롯에서 블록이 검증되지 않을 수 있어, 일부 에포크는 32개보다 적은 블록을 가질 수 있습니다. 무작위로 선정된 검증자가 오프라인인 경우가 그 예입니다.

## **Ethereum 커밋 레벨이란 무엇인가?**

[**Ethereum 커밋 레벨**](https://www.alchemy.com/docs/how-to-get-the-latest-block-on-ethereum)은 검증된 블록을 latest, justified, 또는 finalized로 표시하는 데 사용되는 태그로, 개발자에게 블록이 재구성될 가능성에 관한 특정 보장을 제공합니다.

### **1. Latest**

_latest_ 블록은 Ethereum 검증자에 의해 빌드되고 검증된 가장 최근 블록입니다. Beacon Chain이 재구성되지 않는다는 보장이 없고, 이 블록이 Uncle Block, 즉 [정규 체인에 추가되지 않은 블록](https://www.alchemy.com/docs/what-are-uncle-blocks)이 될 수 있으므로, _latest_ 블록은 주의해서 사용해야 합니다.

### **2. Safe**

_safe_ 블록은 Ethereum 검증자 세트의 3분의 2로부터 attestation을 받은 블록입니다. _safe_ 블록은 reorg될 가능성이 낮은 것으로 이해됩니다.

예를 들어, _safe_ 블록이 체인 재구성을 겪을 수 있는 몇 안 되는 경우 중 하나는 네트워크에 대한 대규모의 조직적인 공격이 발생하는 경우입니다.

### **3. Finalized**

finalized 블록은 가장 최근에 _justified_된 블록보다 1 에포크 뒤에 있는 justified 블록입니다. _finalized_ 블록은 검증자의 3분의 2 다수가 경쟁 블록 체인을 finalize하는 경우를 유일한 예외로 하여, [재구성될 가능성이 극히 낮습니다](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer).

## Safe 및 finalized 커밋 레벨은 어떻게 결정되는가?

Safe 및 finalized 커밋 레벨은 에포크의 완료에 의해 결정됩니다. Safe 및 finalized 블록이 어떻게 작동하는지 시각화하기 위해 The Merge 이후 처음 세 개의 에포크\(에포크 0, 1, 2\)를 상상해 봅시다.

- 에포크 0 = 블록 0-31
- 에포크 1 = 블록 32-63
- 에포크 2 = 블록 64-95
- 에포크 3 = 블록 96-127

latest 블록이 에포크 3의 시작이자 에포크 2의 끝을 표시하는 블록 96이라고 가정해 봅시다.

블록 96은 블록 64에 대한 [attestation](https://www.paradigm.xyz/2021/07/ethereum-reorgs-after-the-merge)\(즉, [제안된 정규 블록 head](https://www.alchemy.com/overviews/proposer-builder-separation)가 참임을 나타내는 검증자의 투표\)을 포함하고 있으므로, Beacon Chain이 검증자의 3분의 2로부터 attestation을 받으면 블록 64는 _justified\(safe\)_로 표시됩니다.

블록 64가 justified로 표시되고 _safe_로 표시되면, 이전에 justified되었던 블록은 _finalized_로 표시됩니다. safe 및 _finalized_ 블록은 에포크의 시작 부분에서 발생하기 때문에, 블록 32\(에포크 1의 첫 번째 블록\)가 _finalized_로 표시됩니다.

현재 블록 번호가 96인 경우, 이를 시각화하는 또 다른 방법은 다음과 같습니다:

- 블록 96\(에포크 3의 시작\) = _latest_
- 블록 64\(에포크 2의 시작\) = _justified_\(_safe_\)
- 블록 32\(에포크 1의 시작\) = _finalized_
