[블록체인] 트릴레마

dhkim·2022년 7월 5일
0

블록체인 뽀개기

목록 보기
14/22
post-thumbnail

블록체인 트릴레마

트릴레마는 "블록체인에서 확장성(Scalability), 보안성(Security), 탈중앙성(Decentralization)중 하나는 희생해야 한다"는 문제

예를 들어, 비트코인은 탈중앙화되어있고, 안전하지만 초당 약 7개의 트랜잭션(TPS)만 처리할 수 있다. 반면, 하이퍼레져 패브릭같은 엔터프라이즈 블록체인은 안전하고 높은 트랜잭션을 처리할 수 있지만, 매우 제한된 수의 노드로 구성된 중앙 집중식 구조다.

오늘날 이러한 문제를 해결하기 위해 다양한 기업과 글로벌 커뮤니티에서 레이어1, 레이어2 솔루션을 연구하고 개발하고 있다.

트릴레마(Trilemma)는 무엇일까?

쉽게 말하자면 딜레마는 둘 사이에서 고민하는 것이라면, 트릴레마는 셋 사이에서 고민하는 것이다.
"선택해야 하는 길은 3가지가 되는데 극 어느 쪽을 선택해도 남은 두 가지 또는 한 가지의 문제를 악화시키는 상황"을 말한다.

블록체인의 확장성, 보안성, 탈중앙성

확장성:

  • 높은 트랜잭션 처리량과 미래의 증가량을 잘 견딜 수 있는 것
  • 더 많은 거래량을 수용할 수 있는 블록체인의 능력

보안성:

  • 데이터나 프로그램이 보호되어 있고, 권한이 없는 사용자나 악의적인 사용자의 접근을 막는 것
  • 블록체인에 저장된 데이터를 다른 공격으로부터 보호하거나 이중 지출에 대한 블록체인의 방어 기능

탈중앙성:

  • 네트워크가 중앙집권화된 방식으로 운영이 되는 것이 아닌, 소규모 노드 간 자율적으로 운영되는 것
  • 소수의 엔티티가 네트워크를 제어하지 않도록 하는 네트워크의 중복성

세 가지 요소 각각을 중심으로 한 네트워크의 장단점 비교

항목확장성 중심보안 중심탈중앙화 중심
장점- 네트워크가 많은 양의 트랜잭션을 지원
- 소셜 메시징 애플리케이션과 같이 보안이 주요 초점이 아닌 애플리케이션에서 유용
- 기존 가치 이전보다 빠르고 저렴한 대규모 가치 이전이 가능
- 퍼블릭 블록체인의 보안은 네트워크 참여자에게서 나온다. 높은 보안은 복제하기 쉽지 않은 높은 네트워크 효과를 의미
- 탈중앙화를 통해 사용자가 단일 엔티티를 신뢰하지 않고도 합의를 유지
- 분산화는 시스템의 견고성을 증가시키기 때문에 바람직함 네트워크를 검열에 저항하게 하여 누구나 네트워크를 사용할 수 있도록 하여 재산권을 향상하게 시킴
단점- 확장성은 보안을 희생해야 함
- 네트워크가 확장됨에 따라 합의 메커니즘도 확장해야 중앙 집중화를 희생할 수 있음
- 더 많은 자원, 다시 말해 더 많은 투자가 필요분산화는 지연을 초래하고 네트워크 속도를 늦춤
- 중복성을 도입하기 때문에 비용이 많이 들고 모든 애플리케이션에 바람직하지 않음

레이어 1, 레이어 2 솔루션

블록체인의 확장성을 개선하기 위한 솔루션

레이어 1 솔루션: 기존의 블록체인(레이어 1)의 규칙 또는 메커니즘을 직접적으로 개선하는 것

  • 합의 프로토콜 개선
  • 샤딩

레이어 2 솔루션: 기존의 블록체인(레이어 1) 위에 새로운 블록체인(레이어 2)을 추가해 거래를 개선하는 것

  • 롤업
  • 중첩 블록체인
  • 상태 채널
  • 사이드체인

세대와 체인 공개 유형에 따른 트릴레마

비트코인, 이더리움, 이오스의 트릴레마 사례

사례설명
비트코인- 높은 탈중앙화와 보안성은 확보, 확장성의 한계로 트릴레마 발생
- 탈중앙화와 보안에 초점을 맞춰 개발 되었으며 네트워크 확장에 따른 트랜잭션 속도에 대한 확장성 문제 발생
이더리움- 확장성 한계로 트릴레마 발생 (이더리움 플랫폼 위의 디앱상 이루어지는 거래를 1초에 20건 처리)
- 확장성 한계 극복을 위해 이더리움 2.0 발표
- 작업증명 방식의 대안으로 지분증명과 샤딩 기술 활용
- 이더리움 2.0이 블록체인 트릴레마를 해결 할 수 있을지 관심 집중
이오스- 위임지분증명(DPoS) 합의 알고리즘을 통해 탈중앙화와 확장성 해결
- 위임지분증명 합의 알고리즘의 특성상 소수의 노드를 통해 합의가 이루어지기 때문에 탈중앙화 가치 저하
- 소수의 노드가 블록을 생각하기 때문에 보안성 저하

트릴레마 해소방안 연구

비트코인 캐시의 한계점

  • 제한된 확장성:
    기존 비트코인 구조를 크게 변경하지 않고, 블록의 크기를 늘렸다는 점에서 확장성의 효과는 제한적
  • 자원의 중앙화:
    주요 채굴농장이 블록 해시파워의 대부분을 차지하고 있음

라이트닝 네트워크

기존 비트코인의 확장성 문제(느린 처리 속도)를 해결하기 위한 레이어 2 솔루션
개별 거래를 별도의 채널(Off-Chain)에서 처리한 후 그 결과만 비트코인 블록체인에 기록하는 방식
오프체인 시스템 특성상 제3자 세력이 필요하기 때문에 신뢰성 측면에서 한계가 존재함

카르다노

우로보로스 지분증명(Ouroboros PoS)

  • 지분 증명의 예상되는 공격들을 사전에 방지하여 안정성을 높임

알고랜드의 블록 생성 솔루션

  • 순수지분증명(Pure Proof of Stake): 누구나 블록 생성에 참여할 수 있게하며 체인 포크(fork)를 방지
  • 즉각적인 제시와 합의(Immediate Propose & Agree): 한 명이 아닌 전체가 블록을 선택하고 생성하며 이 과정은 매우 정교하고 빠름
  • 진화하는 합의(Consensual Evolvability): 공정하고 즉각적인 합의 과정

알고랜드의 트릴레마 대안

임의성(Randomeness):

  • 새 트랜잭션(새 블록)을 추가하는 작업을 수행하는 검증자에 초점을 맞춰서 진행
  • 모든 토큰 보유자 중에서 검증자를 임의로 선택하여 검증 작업을 수행
  • 다음 검증자가 누구일지 아무도 모른다는 사실을 통해 보안성 보장

트릴레마를 고려해야 하는 이유

Safety와 Liveness

  • Safety: 노드 간 합의가 발생했다면, 어느 노드가 접근하든 그 값은 동일해야 함(잘못된 합의 X)
  • Liveness: 노드는 네트워크 내에서 반드시 합의를 이루어내야 함

Liveness over Safety

  • 잘못된 합의가 이루어질 수 있지만 어떻게든 합의는 한다.
    예시) 블록체인 PoW: 51% 발생 가능성. Safety는 보장하지 않음

Safety over Liveness

  • 잘못된 가능성이 있다면 블록을 만들지 않는다.
    예시) 코스모스 텐더민트: 메시지가 시간 안에 도착하지 않으면 블록 생성 안 함

BFT

비잔티움 장애 허용(Byzantine Fault Tolerance)

  • 분산 네트워크 환경에서 악의적인 노드(배신자)가 존재할 때 이를 어떻게 극복하는가 대한 해결 방안

PBFT

프랙티컬 비잔티움 장애 허용(Practical Byzantine Fault Tolerance)

  • 기존의 BFT 합의 알고리즘이 동기식 네트워크에서만 합의가 가능했던 문제를 해결하여 비잔틴 노드가 있는 비동기 네트워크에서 합의 알고리즘

CFT vs. BFT

  • CFT는 신뢰할 수 있는 노드만 모여있는 분산 시스템에서 사용 가능
  • BFT는 신뢰할 수 없는 노드가 있는 곳에서도 사용 가능

합의 알고리즘의 주요 고려사항

  • Finality Problem
  • 51% Attack/BTF
  • Transaction Cost
profile
Blockchain developer

0개의 댓글