Vitalik이 가장 먼저 개선하고 싶은 블록 최종 확정성(Finality)은 무엇인가요?
저자:BREAD
편집:Golem,Odaily 별日报
편집자의 말: 이더리움 창시자 비탈릭은 오늘 작성한 새로운 글 《Possible futures of the Ethereum protocol, part 1: The Merge》에서 이더리움이 기술적으로 개선해야 할 부분과 그 이유 및 경로를 언급했으며, 그 중 가장 중요한 것은 블록의 최종 확정성을 2-3개의 에포크(~ 15분)에서 하나의 슬롯(~ 12초)으로 변경하는 것입니다. 그렇다면 비탈릭이 이렇게 중요하게 여기는 최종 확정성(Finality)은 도대체 무엇일까요? 그것이 이더리움과 L2에서 어떻게 구현되고 있을까요?
암호화 연구원 BREAD의 글 《WTF is Finality?》는 비유적인 방식으로 블록의 최종 확정성과 구현 과정을 설명합니다. 별日报에서 특별히 번역한 내용은 다음과 같으며, 독자에게 이해에 도움이 되기를 바랍니다.
최종 확정성(Finality) 비유
내 「WTF is……」 시리즈 글의 전통에 따라, 나는 현실 생활의 비유로 시작하는 것을 좋아합니다. 사람들이 기본 세부 사항을 이해하고 싶지 않다면, 요점만 이해할 수 있도록 뛰어넘을 수 있습니다. 최종 확정성(Finality)에 대해 우리는 시간이 지남에 따라 굳어지는 콘크리트의 예를 사용할 수 있습니다. 아래와 같습니다:
이것이 블록체인에서의 "최종 확정성"에 대한 가장 고급스러운 설명입니다. 마치 콘크리트처럼, 시간이 지남에 따라 타설(초기 확인)에서 초기 응결(다수 확인)로 넘어가면서 초기 블록이 "가짜"로 판별되는 것이 점점 더 어려워지고, 결국 완전히 굳어질 때(최종 확정)까지입니다. 일단 마지막에 도달하면, 거의 변경할 수 없습니다.
블록체인에서의 구체적인 순서는 다음과 같습니다:
제출됨(Submitted) > 확인됨(Confirmed) > 최종 확정(Finalized)
최종 확정성의 방식, 내용 및 이유(이더리움 환경에서)에 대해 더 깊이 알고 싶다면, 계속 읽어보시기 바랍니다.
최종 확정성(Finality)이란 무엇인가?
이 개념을 중심으로 몇 가지 구조를 이해해 보겠습니다. 다음은 최종 확정성과 관련된 개념에 대한 설명입니다:
- 슬롯(Slot, 블록 시간): 아마도 블록 시간이란 대체 이름이 더 이해하기 쉬울 것입니다. 슬롯 또는 블록 시간은 시스템이 새로운 거래 블록을 생성하고 현재 체인에 추가하기 위해 할당된 시간입니다. 예를 들어, 이더리움의 슬롯은 12초, 베이스는 2초, 솔라나는 0.4초입니다.
- 확인(Confirmation): 확인은 거래가 현재 체인에 추가된 블록에 공식적으로 들어갈 때 발생하는 일입니다. 이제 그것은 장부의 일부로 "확인"되며, 후속 블록이 계속 장부에 추가됨에 따라 확인 수는 점점 더 많아집니다.
- 에포크(Epoch): 32개의 슬롯이 모여 하나의 에포크를 형성합니다. 이는 블록체인 내의 이차 구조로, 역할과 책임을 위임하는 데 사용됩니다. 슬롯은 블록을 구성하는 데 사용되고, 에포크는 데이터 전파, 보상 분배, 검증자 선택 등에 사용됩니다.
- 체크포인트 블록(Checkpoint Block): 체크포인트 블록은 에포크 내에서 생성된 첫 번째 블록으로, 체인 역사 확인의 기준점으로 사용됩니다.
- 최종 확정성(Finality): 최종 확정성은 거래가 주어진 체인의 장부에 되돌릴 수 없게 추가되는 지점을 의미합니다. 그러나 기술적 속성 측면에서 이 용어는 각 체인에서 사용이 통일되지 않으므로 모든 경우에 표준이 동일하다고 가정하지 않는 것이 좋습니다. 이더리움 생태계에서는 2개의 에포크가 지나면(~ 13분) 최종 확정성에 도달합니다. 옵티미스틱 L2에서는 사기 논쟁 기간이 지나야 하며(~ 7일), ZK L2에서는 유효성 증명이 제공하는 보장 덕분에 2개의 논란이 있는 최종 확정성 순간이 존재합니다: 로컬(이 L2에서 증명이 생성될 때 [~몇 분])과 글로벌 최종 확정성(증명이 이더리움에 게시되고 거기서 완료될 때 [~ 13분])입니다.
- 블록 재조직화(Block Reorganization, "Reorg"): 블록 재조직화는 한때 체인의 일부로 확인된 블록이 어떤 이유로 더 이상 유효하다고 간주되지 않고 새로운 체인이 형성되는 것을 의미합니다. 이는 일반적으로 처벌을 동반합니다.
아래 그림은 이러한 모든 용어를 단일 이미지로 시각화하여 이해하기 쉽게 하려는 시도입니다:
최종 확정성은 어떻게 이루어지는가?
이제 우리는 최종 확정성과 관련된 개념을 이해했으니, 그것들이 어떻게 협력하는지 알아보겠습니다. 규칙은 무엇인가요?
이더리움의 경우
- 검증자 투표: 각 에포크(32개의 블록)의 검증자는 현재 및 이전 에포크의 체크포인트 블록에 대해 투표하며, 해당 체크포인트 블록이 2/3의 스테이킹된 ETH 투표 수를 얻을 때까지 계속됩니다.
- 합리적 체크포인트: 체크포인트 블록이 2/3 투표 임계값에 도달하면 "합리적"으로 간주됩니다.
- 절대 다수 체인: 두 개의 후속 체크포인트 블록 a와 b가 모두 합리적이고 b가 다음 블록에 연결되면, 첫 번째 에포크 이전의 에포크에 포함된 블록이 최종 블록이 되며, 더 이상 단순 블록 재조직화의 영향을 받지 않습니다.
L2의 경우
L2는 이더리움 위에 구축되므로 기본적으로 동일한가요?
답은 "그렇기도 하고 그렇지 않기도 하다"입니다. 《이더리움의 미래, Based Rollups는 자리를 차지할 수 있을까?》에서 L2는 독립적인 블록체인이라고 언급했지만, 이들은 이더리움에 의존하여 최종성을 결제합니다. 이는 이들의 최종 확정성이 체인과 동일하게 계층적이라는 것을 의미합니다.
두 가지 유형이 있습니다:
- 로컬 최종 확정성: 이는 L2 자체의 최종 확정성이며, 유효성 증명(즉, ZK Rollups)을 활용하는 L2에만 해당됩니다. 이는 유효성 증명이 수학적으로 뒷받침되며, 증명이 생성될 때 이미 올바르다는 것을 의미하기 때문입니다. 따라서 ZK L2가 증명을 생성하면 L2 상태는 최종 확정된 것으로 간주될 수 있으며, 이더리움에 증명이 게시되고 이더리움에서 결제될 때까지 기다릴 필요가 없습니다. 그러나 여전히 위험과 신뢰 가정이 따르므로 자신의 위험 감수 능력에 따라 신뢰 여부를 판단해야 합니다.
- 글로벌 최종 확정성: 상태가 확정되면 L2는 로컬 상태를 확인하고 증명(사기 또는 유효성)을 생성하여 해당 증명을 이더리움에 게시한 다음, 이더리움이 해당 증명이 포함된 블록을 확인합니다. 그럼에도 불구하고 옵티미스틱 L2의 경우, 7일의 도전 기간이 지나기 전까지 거래를 되돌릴 기회가 여전히 존재합니다. 이는 증명 생성 시 필요한 계산량을 줄이기 위한 균형입니다.
L2 네트워크는 특정 상황에서 로컬 최종 확정성을 가질 수 있지만, 일반적으로는 이더리움이 게시한 유효성 증명(ZK) 또는 사기 증명의 도전 창이 지나갈 때까지 기다려야 합니다(옵티미스틱 롤업).
비트코인/PoW 체인의 경우
비트코인의 PoW 메커니즘에서는 최종 확정성이라는 개념이 존재하지 않습니다. 왜냐하면 누구든지 가장 긴 체인을 생성하여 주 장부가 될 수 있기 때문입니다. 이는 비록 비현실적이지만, 충분한 계산 능력이 있다면 비트코인 역사에서 마지막 하루, 일주일, 일년을 다시 쓸 수 있다는 것을 의미합니다.
그렇지만 이러한 방법은 자원과 시간 측면에서 비용이 많이 들고 실제로 실행하기는 어렵지만, 서로 다른 시스템 간에 의미 있는 구별을 형성하고 몇 가지 독특한 MEV(최대 추출 가치) 유형을 유발했습니다. 예를 들어 "장거리 공격"(Long-Ranged Attacks)과 "블록 은닉"(Block Withholding) 등이 있습니다. 이러한 경우, 채굴자는 블록을 생성하고 숨긴 다음 후속 블록을 추가하거나 연속으로 여러 블록을 채굴하여 독특한 이익 기회를 창출하고 포착할 수 있습니다.
왜 최종 확정성이 필요한가?
이제 우리는 POS 체인에서 최종 확정성을 구현하는 방법을 알게 되었고, 이는 상당한 작업을 필요로 합니다. 그렇다면 왜 이렇게 해야 할까요? 그 이유는 이렇게 하는 것이 실제로 몇 가지 이점이 있기 때문입니다:
- 경제적 안전성: 시스템(그리고 우리)은 특정 시점을 되돌아보고 그것이 변경되지 않을 것이라는 높은 확신을 가질 수 있습니다. 이는 생태계 참여자에게 "진짜 상황"에 대한 신뢰를 제공합니다. 예를 들어 대규모 송금 및 대출의 경우, 사용자가 시스템이 극단적이고 프로토콜을 초과하는 개입 없이 변경될 수 없다고 확신할 때, 이는 사용자가 이러한 진실성을 기반으로 생태계에 참여하는 데 신뢰를 주게 됩니다. 이것이 바로 크로스 체인 브릿지가 일반적으로 일정 수의 확인 또는 완전한 최종 확정성을 기다린 후에야 자금을 보조 체인에 해제하는 이유입니다.
- 더 빠른 결제: 시스템 내에 상태가 공식적으로 영구적으로 정해지는 순간이 있기 때문에, 생태계 내의 참여자는 이 결제 시간을 기다리기만 하면 됩니다. 반면 PoW(작업 증명) 시스템에서는 이 순간이 결코 오지 않으며, 완전히 개인의 주관적 판단에 달려 있습니다.
- 공격 요인 감소: 앞서 언급한 바와 같이 PoW 체인에서 존재하는 몇 가지 MEV 기회는 PoW 체제가 "무이익 위험"(Nothing at stake) 문제를 해결했음을 의미합니다. 즉, 시스템에 악의적인 행동을 취하는 사람은 손실을 입을 수 있습니다. 그러나 POS 체인에서는 검증자라면 이미 종료된 상태를 변경하려고 시도할 경우 프로토콜 규칙을 위반해야 하므로 스테이킹이 몰수(slashing)될 위험에 직면하게 됩니다.
결론
이 글은 최종 확정성이 무엇인지 간단히 설명하며, 사람들이 이것이 자주 사용되지만 깊이 이해되지 않는 블록체인 메커니즘임을 인식하기를 바랍니다. 최종 확정성의 과정은 시스템 내의 블록이 콘크리트처럼 굳어지는 것과 같으며, 결국 그것들은 바위처럼 단단해집니다.