본문 바로가기
blockchain

Layer 1 (and 2) Transaction Finality

by clolee 2024. 12. 4.

 

레이어 1(Layer 1) 및 레이어 2(Layer 2) 거래 최종성에 대해 알아야 할 모든 것

2023년 5월 18일, 이더리움 블록체인은 잠시 동안 거래의 최종화를 중단했습니다. 이는 무엇을 의미할까요?
**최종성(Finality)**이란 블록체인에서 거래가 완료되어 변경, 취소, 또는 되돌릴 수 없는 상태를 의미합니다.
이 글에서는 최종성과 합의 메커니즘 간의 관계, 체인 재구성(chain reorganization)의 개념, 레이어 2(Layer 2) 프로토콜에서 최종성을 측정하는 방법을 살펴봅니다.
마지막으로, 암호화폐 네트워크, 암호화폐 거래소, 크로스체인 거래 및 테스트 네트워크의 최종화 시간을 비교합니다.


목차

  1. 합의 메커니즘이란 무엇인가?
  2. 체인 재구성이란 무엇인가?
  3. 레이어 2와 최종성
  4. 암호화폐 거래소와 최종화 시간(Time To Finality, TTF)
  5. 크로스체인 브리지 거래의 최종성
  6. 테스트넷에서의 최종성
  7. 결론

1. 합의 메커니즘이란 무엇인가?

합의 메커니즘은 블록체인 네트워크에서 여러 참여자(또는 노드) 간에 일관성과 합의를 이루기 위해 사용됩니다.
이는 다음 두 가지 요소를 결합한 알고리즘을 의미합니다:

  • 시빌 저항 메커니즘(Sybil Resistance Mechanism):
    네트워크의 투표 권한을 장악하려는 공격자로부터 네트워크를 보호하는 방식.
  • 체인 선택 규칙(Chain Selection Rule):
    여러 블록이 동일한 위치에 있을 때 올바른 블록을 선택하도록 하는 규칙.

알고리즘 최종성 재구성 빈도 포크 선택 규칙

나카모토(PoW) 없음 빈번함 가장 긴 체인
GASPER(PoS) 매 2 에포크(~12분) 매우 드묾 마지막으로 최종화된 블록 이후 가장 강한 지지를 받은 체인
Tendermint 단일 블록 (~1-10초) 없음 최종화된 블록만

 

2. 체인 재구성이란 무엇인가?

체인 재구성(reorg)은 여러 채굴자나 검증자 노드가 동시에 동일한 난이도의 블록을 생성할 때 발생합니다.
이로 인해 네트워크 내에서 포크가 생성되며, 검증자 노드는 서로 다른 블록체인의 두 가지 버전을 추적하게 됩니다.
포크 상태에서는 새로운 블록을 추가할 때 채굴자와 검증자가 포크 선택 규칙(fork choice rule)에 따라 어떤 블록체인을 채택할지 결정해야 합니다.

일상적인 재구성

  • 이더리움에서는 네트워크 지연이나 의도치 않은 블록 생성 경쟁 상태로 인해 1~2 블록 길이의 짧은 체인 재구성이 매일 발생합니다.

주요 사건 예시

  1. 비트코인 재구성 (2010년):
    • 공격자가 값 오버플로우 취약점을 악용하여 186억 비트코인을 생성했습니다.
    • 이 사건을 해결하기 위해 블록체인은 53개 블록을 되돌려야 했습니다.
  2. 이더리움 클래식(ETC) 재구성 (2020년):
    • 약 12시간 동안 채굴자가 오프라인 상태로 3,500개 블록을 생성했습니다.
    • 이후 해당 채굴자가 온라인으로 복귀하면서 네트워크는 3,500개 블록을 재구성해야 했습니다.
    • 이 사건은 약 15시간 동안 지속되었으며, OpenEthereum 노드가 동기화되지 않아 네트워크 분할이 발생했습니다.

체인 재구성의 결과

  • 사용자 경험의 악화
  • 불확실성 증가
  • 51% 공격에 대한 취약성 증가

3. 레이어 2와 최종성

레이어 2 프로토콜은 거래 속도를 개선하고 확장성을 해결하기 위해 레이어 1 블록체인 위에 구축된 솔루션입니다.
레이어 2에서 거래 최종성을 계산하려면 기본 레이어 1에서의 최종화 시간도 포함하여 고려해야 합니다.

레이어 2 사례

  1. Polygon (PoS Commit Chain):
    • Polygon은 자체 PoS 합의 메커니즘을 사용하여 빠른 거래 확인을 제공합니다.
    • 그러나 최종성은 이더리움보다 낮으며, 체인 재구성 및 블록 되돌림 가능성이 존재합니다.
    • Polygon의 검증자는 주기적으로 이더리움 메인넷에 블록을 커밋합니다.

 

체인 중간 최종화 시간  풀 노드 수 (하한)
이더리움 (현재) 13-20분 (64-95 슬롯) 5,471 (Ethernodes 기준)
Zk Rollups ~20분 증명 생성 + 13-20분 이더리움 L1 시간 중앙 집중화된 시퀀서, 탈중앙화 계획
Optimistic Rollups 2-8분 배치 커밋 + 13-20분 이더리움 L1 시간 중앙 집중화된 증명자, 탈중앙화 계획
이더리움 (싱글 슬롯) 12초 (작성 당시 라이브 아님) 데이터 없음
Cosmos Hub + Canto 6-7초 단일 블록 최종성 100-175 활성 세트 (총 537)
Polkadot 6초 (확률적)~12-60초 (결정적) 최종성 297 활성 세트, 총 939
Sui 2-3초 (이론적) 데이터 없음
Binance 3초 59
Polygon ~2초 (128 블록) 128
Solana 1-2초 중간값 (극단적으로는 60-90초) 2,932
Fantom 1-1.5초 (평균) 64
Avalanche 0.7-1초 (확률적)~2-2.2초 (결정적) 1,182
Aptos 0.9초 104
Sei 0.5초 (이론적) 데이터 없음

4. 암호화폐 거래소와 최종화 시간 (Time to Finality, TTF)

암호화폐 거래소는 입출금을 처리하기 전에 특정 수의 블록 확인을 기다립니다.
이는 각 블록체인의 체인 재구성 가능성과 관련된 위험 분석에 기반합니다.

거래소의 블록 확인 요구사항 비교

 

거래소  자산  최종성에 필요한 블록 수
Binance 비트코인 (BTC) 입금: 1, 출금: 2
  이더리움 (ETH, ERC-20) 12
Coinbase 비트코인 (BTC) 2
  이더리움 (ETH, ERC-20) 14
  이더리움 클래식 (ETC) 3,000
  라이트코인 (LTC) 6
bitFlyer 비트코인 (BTC) 3
  이더리움 (ETH, ERC-20) 50
  이더리움 클래식 (ETC) 20,000
  비트코인 캐시 (BCH) 30
  폴카닷 (DOT) N/A
  스텔라 (XLM) 10

 

5. 크로스체인 브릿지 거래의 최종성

크로스체인 브릿지는 블록체인 간 자산이나 데이터를 전송하는 프로토콜입니다.
브리지에서의 최종성 보장은 원본 체인의 상태가 변경되지 않을 것임을 확인하는 것을 의미합니다.

주요 사례

  1. Polygon Bridge:
    • 입금: 약 5분
    • 출금: PoS 브리지에서 45분~3시간 소요
  2. Optimism Bridge:
    • 입금: 약 20분
    • 출금: 공식 브리지는 약 7일 소요

 

브릿지 자산 블록 확인 수 시간
Polygon Bridge 이더리움 (ETH) 64-95 슬롯 (possible blocks) 입금: 5분, 출금: 45분~3시간
      플라즈마 브리지: 7일
Optimism Bridge 이더리움 (ETH) 64-95 슬롯 (possible blocks) 입금: 20분, 출금: ~7일 (공식)
USDC Bridge Algorand (USDC) 1 ~5초
  Avalanche (USDC) 1 ~2초
  Bitcoin (BTC) 4 ~40분
  Ethereum (USDC, ETH) 12 ~3분
  Solana (USDC) 1 ~0.4초
  Stellar (USDC) 1 ~5초


6. 테스트넷에서의 최종성

테스트넷은 스마트 계약 및 프로토콜 업그레이드를 메인넷에 배포하기 전 실제와 유사한 환경에서 테스트하기 위해 사용됩니다.
현재 권장되는 테스트넷은 Sepolia이며, 블록 최종화는 약 12~24초마다 발생합니다. (2023.06 기준)

 

테스트넷 최종화 시간 (대략) 설명
Sepolia 12-24초 추천 테스트넷, 더 신뢰할 수 있는 환경 제공
Goerli 12초 곧 사용 종료 예정
Arbitrum Goerli 1-2초 L2 테스트넷, 블록 최종화 빠름
Optimism Goerli 2초 Optimism 기반 테스트넷

 

결론

이 글에서는 합의 프로토콜에서 거래 최종성과 다른 설계 요소 간의 트레이드오프, 그리고 체인 재구성의 빈도를 다루었습니다.
다양한 레이어 1(L1) 및 레이어 2(L2) 네트워크, 암호화폐 거래소, 브리지, 테스트넷에서의 최종화 시간도 살펴보았습니다.

최종성(Finality)은 복잡한 개념이지만, 이더리움의 신중한 접근 방식 덕분에 5월 18일의 최종화 중단 사건은 심각한 결과를 초래하지 않았습니다.
이 사건 이후 연구자들은 여전히 최종화 문제를 유발한 원인을 확실히 밝혀내지 못하고 있습니다.

 

참고 :

https://www.curvegrid.com/blog/2023-06-28-all-you-need-to-know-about-layer-1-and-2-transaction-finality#section-2

https://chatgpt.com/

https://www.reddit.com/r/CryptoCurrency/comments/10dinmo/polygons_major_block_reorg_problem_and_why/?rdt=42878

댓글