Consensus Mechanisms

· 4분 읽기

블록체인에서 합의 알고리즘이 왜 필요할까?

블록체인은 중앙 관리자 없이 여러 참여자가 동일한 데이터에 합의해야 하는 분산 시스템이다.

하지만 분산 환경에서는 두 가지 핵심 문제가 발생한다:

  1. Byzantine Generals Problem: 악의적인 노드나 고장난 노드가 존재할 때, 정직한 노드들이 어떻게 올바른 합의에 도달할 수 있을까?

  2. Double Spending: 중앙 권한 없이 동일한 디지털 자산이 두 번 사용되는 것을 어떻게 방지할까?

Byzantine Generals Problem

이 문제에서는 여러 비잔틴 장군들이 도시를 공격할 때, 동시에 공격해야 성공할 수 있다는 가정을 한다.

그러나 각 장군들은 서로 믿을 수 없으며, 신뢰할 수 있는 통신 채널도 없다.

이러한 상황에서 어떻게 모든 장군들이 일치하는 결정을 내릴 수 있는지에 대한 문제이다.

The Byzantine Generals' Problem. We discuss the Byzantine General's… | by  KNNX Corp. | Medium

Double Spending

디지털 자산은 복사가 가능하므로, 중앙 권한 없이 동일한 자산을 두 번 사용할 수 있다.

What is Double Spending in Blockchain? - GeeksforGeeks

블록체인은 이러한 문제들을 합의 알고리즘을 통해서 해결할 수 있어야 한다.

바로 합의 알고리즘의 대표명사인 PoW 와 PoS 에 대해서 설명해도 되지만, 그 전에 51% 공격에 대해서 먼저 알아보자.

51% Attack

51% 공격은 말 그대로, 전체 노드의 51% (과반이상)을 점유해서 체인을 공격하는 행위를 말한다.

말 그대로 자기들 마음대로 체인을 쥐락펴락 할 수 있게 된다.

위에서 설명한 비잔틴 장군 문제와 이중 지불 문제외에도, 합의 알고리즘은 51% 공격을 생각해봐야 한다.

PoW (Proof-of-work)

PoW는 계산 능력(hash power)을 증명함으로써 블록을 생성할 권한을 얻는 방식이다.

비트코인이 도입한 최초의 블록체인 합의 알고리즘이다.

  • 해시 퍼즐: 특정 조건을 만족하는 해시 값을 찾는 계산 문제

  • Nonce: 해시 입력값의 일부로, 조건을 만족할 때까지 변경하는 숫자

  • Difficulty Target: 해시 값이 만족해야 하는 난이도 목표값

Understanding Proof of Work (PoW) Blockchain

비트코인은 약 10분마다 블록을 생성하도록 설계되었다.

장점:

  • 51% 공격을 위해서는 전체 네트워크 해시 파워의 51% 이상 필요 → 보안적으로 우수하다.

  • 구현과 검증이 간단하다

  • 신원이 아닌 계산 능력으로 검증하기 때문에, Sybil 공격 같은 것에 저항할 수 있다.

Sybil 공격: 하나의 공격자가 다수의 가짜 Node 를 생성하여 영향력을 장악하려는 시도.

단점:

  • 당연히 계산 능력에 따라서 검증하기 때문에, 전력 소비량이 높다 → 막대한 에너지 소비

  • 낮은 TPS

  • 블록이 추가될수록 Finality 가 확실해지지만, 확률적이다. 이론적으로는 되돌릴 수 있음.

PoS (Proof-of-stake)

PoS는 계산 능력 대신 지분(stake)을 기반으로 블록 생성 권한을 부여한다.

“더 많은 코인을 보유하고 있는 사람이 더 많은 검증 기회를 얻는다”는 개념이다.

왜 이렇게 했을지는 자명하다.

“더 많은 코인을 보유하고 있는 사람”이 본인의 이익에 반하는 행동을 할 리가 없기 때문이다.
(본인이 가장 손해일 것)

  • Staking: 일정량의 코인을 담보로 잠금

  • Validator: 스테이킹한 참여자 (PoW의 miner에 해당)

  • Validator 선택: 무작위성 + 지분 가중치

이더리움은 2022년 9월 The Merge 를 통해 PoW 에서 PoS 로 전환했다.

The Merge 이전에 이더리움의 원래 확장성 로드맵은 Shard Chains 를 중심으로 설계되었다.

하나의 체인이 모든 트랜잭션을 처리하는 대신, 여러 샤드가 병렬로 트랜잭션을 처리하는 구조였다.

그러나 이더리움 커뮤니티는 롤업 기술의 급격한 성장을 목도한 뒤, 원래의 Shard Chain 계획을 폐기하고 DankSharding 으로 방향을 전환한다.

Beacon Chain: Heart of Ethereum 2.0 - CoinCodeCap

Ethereum 의 PoS 구조

  • Beacon Chain (PoS 의 합의 레이어)

    • Validators 관리

    • 블록 제안 및 증명

    • Finality 제공

  • Execution Layer (트랜잭션 실행)

    • 스마트 컨트랙트 실행

    • State 관리

장점:

  • PoW 대비 어마어마하게 에너지가 절감된다.

  • PoW 대비 높은 TPS

  • 명확한 Finality

  • 전체 스테이크의 51% 매수 필요하므로, 51% 공격 비용이 증가한다.

단점:

  • PoW 보다 복잡하다

  • 더 많은 코인 보유자가 더 많은 보상을 가져가서 집중이 우려된다는 점이 있다.