동의 방법: 블록체인에 대한 다양한 합의 유형

작업 증명 및 지분 증명보다 더 많은 유형의 합의가 있습니다. 여기서 우리는 가장 중요한 대안을 소개합니다.

Jun 09, 2022
|

블록체인에 대한 다양한 합의 유형

가장 간단한 용어로 블록체인은 이러한 데이터 트랜잭션의 진정성과 보안을 보장하기 위해 함께 작업하는 컴퓨터 그룹에 의해 처리되고 기록되는 데이터입니다.

그러나 이러한 거래가 실제로 확인되고 안전하다는 것을 어떻게 확인할 수 있습니까? 블록체인은 본질적으로 분산되고 분산되어 있어 시스템에 대한 거버넌스를 행사할 중앙 권한이 없음을 의미합니다. 프로토콜 규칙을 준수하고 비윤리적인 행동을 방지하기 위해 블록체인은 다양한 알고리즘을 적용하여 신뢰할 수 없는 엔터티 간의 합의를 달성합니다.

합의의 빠른 정의

합의는 로컬 상호 작용을 통해 공통 상태에 대한 에이전트 그룹의 동의로 정의할 수 있습니다.

블록체인의 맥락에서 합의는 블록체인 네트워크의 피어가 네트워크 데이터의 현재 상태에 대해 합의에 도달하는 절차입니다. 블록체인 시스템에서 신뢰성과 신뢰를 구축하는 것은 이러한 합의 알고리즘입니다.

거래를 검증하고 기록을 보호하기 위해 하나의 관리 권한을 신뢰하는 중앙 집중식 네트워크에서는 합의를 달성하기가 상당히 쉽지만 분산 시스템의 경우에는 훨씬 덜 간단합니다.

블록체인의 합의

블록체인은 데이터 블록을 추가하여 작동하며 합의의 본질은 체인에 추가되는 모든 블록이 시스템의 모든 노드가 동의한 유일한 진실 버전임을 확인하는 것입니다. 이는 블록체인의 탈중앙화 특성의 핵심 기능입니다.

블록체인의 합의를 위한 기본 규칙은 다음과 같습니다.

  • 합의에 이르는 목적
  • 모든 노드/피어에 대한 협업, 협력 및 동등한 권리, 그리고
  • 프로세스에서 각 노드의 필수 참여

탈중앙화 시스템에서 합의에 도달하는 방법에는 여러 가지가 있습니다. 여기서 우리는 동의하고 합의를 형성하는 다양한 방법을 살펴봅니다.

나카모토 컨센서스

모든 블록체인 합의의 어머니인 Nakamoto 합의 프로토콜은 2009년 Satoshi Nakamoto가 블록체인 네트워크의 진위를 확인하고 이중 지출을 방지하는 새로운 수단으로 고안했습니다. 비트코인 블록체인을 관리하기 위해 작업 증명(PoW)과 함께 작동하는 비잔틴 내결함성 합의 알고리즘입니다.

BFT(Byzantine Fault Tolerance)는 분산 시스템이 악의적인 행위자와 네트워크 불완전성이 있는 경우에도 내결함성을 유지할 수 있는 조건입니다.

PoW는 채굴자들이 새로운 블록을 검증하고 ‘블록 보상’을 받을 권리를 얻기 위해 매우 복잡하고 값비싼 계산 퍼즐을 풀기 위해 서로 경쟁하는 암호화 메커니즘을 말합니다. 이 금전적 보상은 채굴자들이 규칙을 따르고 정직을 유지하도록 장려하는 반면, 참여 비용은 그들이 비트코인 ​​네트워크를 공격하고 블록체인을 더욱 안전하게 보호하는 경제적 의욕을 꺾는 역할을 합니다.

BFT와 PoW의 조합을 통해 Nakamoto는 확장성과 관련된 BFT 고유의 문제 중 일부를 우회하면서 악의적인 행위자를 억제하고자 했습니다. 블록체인의 유효성(이 경우 블록체인에 사용되는 계산 리소스(또는 ‘해싱 파워’)의 양)에 대한 표준 측정을 생성함으로써 Nakamoto는 무허가 설정에서 비잔틴 장군 문제를 해결하기 위한 새로운 방향을 열었습니다. 이는 지분 증명(PoS), 권한 증명(PoA), 평판 증명(PoR) 및 중요도 증명(PoI)을 포함하여 많은 새로운 합의 알고리즘의 출현으로 이어질 것입니다.

X의 증명

이 PoX(Proof of Something) 합의의 이면에 있는 아이디어는 악의적인 공격자가 X를 쉽게 얻을 수 없는 일부 희소한 리소스 X를 사용하는 것입니다. 그렇게 함으로써 시스템은 분산되고 무허가 방식으로 안전하게 유지될 수 있습니다. 일반적으로 작동하는 방식은 다음과 같습니다.

거래를 검증하고 새로운 코인을 채굴할 수 있는 권한을 얻으려면 PoX 네트워크의 노드가 X 기준을 성공적으로 충족했다는 증거를 제공해야 합니다. 종종 이 과정에는 일종의 희생이 수반됩니다. 예를 들어 PoW의 계산 능력과 노력, PoS의 스테이크 코인. 다른 방식으로 이들은 광부가 정직을 유지하도록 하는 인센티브 역할을 합니다.

일반적으로 PoX는 Nakamoto 합의 클래스에 속합니다. Nakamoto 합의는 일반적으로 다음과 같은 디자인 선택을 합니다.

  • 비잔틴 내결함성 – 일부 노드가 실패하거나 악의적으로 작동하더라도 네트워크는 계속 작동할 수 있습니다.
  • 동기식 – 메시지가 고정된 시간 내에 전달됩니다.
  • Probabilistic – 노드는 값이 정확할 확률 에 동의합니다.
  • 리더 기반 – 트랜잭션을 검증하기 위해 리더가 선출됨

따라서 다음과 같은 속성을 얻을 수 있습니다.

  • 동료는 원할 때마다 가입 및 탈퇴 가능
  • 안전성(즉, 취해진 결정은 되돌릴 수 있음)을 희생하면서 활성(즉, 한 피어는 항상 새 블록을 생성할 수 있음)에 중점을 둡니다.
  • 자급자족 – 피어는 네트워크를 유지하도록 인센티브를 받습니다.

PoX 프로토콜을 모두 소개하기에는 너무 많습니다. 관심 있는 독자는 오늘날 가장 잘 알려진 PoX 합의에 대한 요약을 위해 합의 메커니즘에 대한 초보자 가이드를 읽을 수 있습니다.

고전적 합의

반면 고전적 합의는 투표를 통해 합의에 도달합니다. 이러한 프로토콜은 합의 네트워크 크기가 고정되어 있고 필요한 투표가 표시되는 즉시 진행이 가능하기 때문에 위에서 논의한 Nakamoto 합의 유형보다 더 빠르게 트랜잭션을 확인합니다.

다음은 고전적 합의의 몇 가지 중요한 예입니다.

실용적인 비잔틴 내결함성(pBFT)

Barbara Liskov와 Miguel Castro가 90년대 후반에 도입한 실용적인 비잔틴 내결함성(pBFT) 은 앞서 언급한 비잔틴 내결함성(BFT) 솔루션과 관련된 많은 문제를 해결하는 것을 목표로 합니다.

pBFT는 3단계 상태 머신과 블록 선택을 사용하여 리더를 선택합니다. pBFT의 세 단계는 사전 준비, 준비 및 커밋으로 알려져 있습니다. 어디 일반적인 경우, 로컬 상태로 점진적인 전환을 가져오는 노드 간에 메시지를 교환하여 합의가 이루어집니다. 그렇지 않으면 노드 실패 시 ‘보기 변경’이 트리거되어 라운드 로빈 방식으로 리더를 다시 선택하게 됩니다. pBFT는 비잔틴 결함의 1/3 미만을 처리할 수 있으며, 이는 3f+1= 전체 노드로 볼 수 있습니다. 여기서 f는 비잔틴 결함의 양입니다.

그러나 다음과 같은 몇 가지 단점이 있습니다.

  • 약한 리더십 – 노드는 리더의 요청을 거부하고 재선을 제안할 수 있지만 리더 선택을 위한 권한 서비스가 필요합니다.
  • 비잔틴 내결함성 – 노드의 33%가 악의적일 수 있습니다.
  • 낮은 네트워크 확장성 – 높은 통신 오버헤드와 여러 메시지 라운드의 대기 시간으로 인해 노드 수를 확장하면 시스템의 복잡성도 2차적으로 증가합니다.
  • 트랜잭션 처리량 – 1초의 확인 시간으로 초당 최대 50,000 tx.
  • 사용 사례 – 제한된 인증 검증자가 있는 컨소시엄 블록체인.

위임된 비잔틴 내결함성(dBFT)

Delegated Byzantine fault tolerance(dBFT)는 2014년 NEO 프로젝트에서 제안되었습니다. 리더를 선택하기 위해 권한 서비스가 필요한 pBFT와 달리 dBFT의 투표 시스템은 위임 지분 증명(DPoS)과 유사한 방식으로 대규모 참여가 가능합니다.

전반적인 합의 절차는 pBFT와 매우 유사하지만 투표가 집계되는 방식이 다릅니다. dBFT에서 투표의 가중치는 투표 당시 참가자가 보유한 토큰 수에 비례합니다. 참가자는 자신의 토큰(투표)을 신뢰할 수 있는 대리인에게 위임할 수 있습니다. 이것은 성능을 향상시킬 뿐만 아니라 이 추가 표현 계층으로 인해 시간이 지남에 따라 더 중앙 집중화될 수 있음을 의미합니다. 이 방법의 단점은 선출된 대의원이 더 이상 익명이 될 수 없다는 것입니다. NEO 블록체인의 대리인은 실제 신원으로 작업합니다.

연합 비잔틴 협정(FBA)

FBA(Federated Byzantine Agreement)는 개방형 멤버십을 지원하는 알고리즘으로 검증인이 네트워크에 자유롭게 참여할 수 있도록 합니다. 높은 처리량, 확장성 및 낮은 트랜잭션 비용으로 유명합니다.

FBA는 무허가 BFT로 간주될 수 있습니다. 그러나 트랜잭션은 특정 서명자 그룹이 서명해야 합니다. FBA 시스템에서 검증자는 자신이 신뢰하는 다른 검증자를 선택할 수 있으며 거기에서 쿼럼 슬라이스라고 알려진 것을 형성합니다. 유효성 검사기가 많은 시스템에는 여러 개의 쿼럼 슬라이스가 있을 수 있으며 여러 개의 쿼럼 슬라이스가 있는 경우 여러 슬라이스에서 신뢰되는 일부 노드와 겹치게 됩니다. 이러한 겹침이 함께 모여 가장 중요한 정족수를 형성합니다. FBA에서 합의에 도달하는 방법으로 사용됩니다. FBA를 사용하는 주목할만한 프로젝트는 Ripple(XRP)과 Stellar(XLM)입니다.

FBA의 장점은 다음과 같습니다.

  • 구성원이 신뢰할 수 있고 쿼럼 슬라이스에 가입할 수 있는 한 열려 있으므로 진입 장벽이 낮습니다.
  • 누구나 시스템이 여전히 작동할 수 있는 상태에서 언제든지 가입하고 떠날 수 있습니다.

뗏목

2014년 Diego Ongaro와 John Ousterhout이 개발한 Raft는 Paxos 프로토콜을 기반으로 하며 이해하고 구현하기 쉽도록 설계되었습니다. 다른 많은 합의 알고리즘과 비교할 때 Raft는 리더에 대한 의존도가 더 높습니다. 노드는 무작위 타이머가 리더를 선택하면 리더를 신뢰하며 현재 리더가 실패하는 경우에만 다시 선택됩니다.

이로 인해 다음과 같은 사항이 크게 개선되었습니다.

  • 강력한 리더십 – 노드는 리더의 요청을 거부하지 않으며 리더를 사용할 수 없을 때까지 재선출되지 않습니다.
  • 충돌 내결함성 – 노드의 49%가 충돌하거나 사용할 수 없게 될 수 있습니다.
  • 높은 네트워크 확장성 – 이 합의 알고리즘의 복잡성은 노드 수에 선형적으로 비례합니다.

예:

합의의 예

리더 없는 합의

우리가 소개할 마지막 유형의 합의는 새로운 방향인 리더 없는 합의입니다.

앞서 다룬 바와 같이 합의는 로컬 상호 작용을 통해 공통 상태에 대한 에이전트 그룹의 동의를 의미합니다.

리더 없는 합의 문제에서는 가상 리더가 필요하지 않지만 리더 추종 합의 문제에서는 전체 그룹의 목표를 지정하는 가상 리더가 필요합니다. 보다 구체적으로 정적인 가상 리더와의 합의를 합의 규정 문제라고 하고, 동적인 가상 리더와의 합의를 합의 추적 문제라고 합니다.

리더 없는 합의 프로젝트의 예로는 Avalanche, IOTA 및 NKN이 있습니다. 여기에서 Avalanche와 IOTA를 높은 수준에서 소개합니다.

눈사태

Avalanche 백서는 2018년 5월 중순 자신을 Team Rocket이라고만 밝히는 팀에 의해 익명으로 공개되었습니다. 나중에 AVA Labs는 AVA(Avalanche) 토큰을 개발하기 위해 설립되었으며 Cornell University의 컴퓨터 과학자 그룹(Emin Gün Sirer, Kevin Sekniqi, Ted Yin)이 프로젝트와 밀접하게 관련되어 있다고 믿어집니다.

Team Rocket은 합의 프로토콜을 “암호화폐를 위한 새로운 준안정 합의 프로토콜 제품군”이라고 부르며 “준안정 메커니즘을 기반으로 구축된 리더 없는 비잔틴 내결함성 프로토콜의 새로운 제품군”이라고 설명했습니다.

눈사태는 합의에 도달하기 위해 투표를 위해 반복되는 무작위 하위 샘플링을 사용합니다. 각 노드는 특정 수의 이웃을 샘플링하여 다수와 일치하는지 확인하기 위해 상태를 확인해야 합니다. 그렇지 않으면 대다수를 따라 상태를 변경할 것입니다. 이 프로세스는 계속해서 반복되므로 결국 전체 네트워크는 장기적으로 유비쿼터스 결론을 내릴 것입니다.

눈사태

Avalanche는 합의 메커니즘이 4초의 대기 시간으로 1,300tps에 도달할 수 있다고 주장했습니다.

팀에 따르면 Avalanche의 메인넷은 2020년 9월에 출시될 예정입니다.

이오타

IOTA는 David Sonstebo, Sergey Ivancheglo, Dominik Schiener 및 Dr. Serguei Popov가 2015년에 설립했습니다. IOTA는 블록체인 대신 분산 원장 기술(DLT)의 기본 데이터 구조로 방향성 비순환 그래프(DAG)를 사용하도록 제안한 최초의 코인 중 하나입니다.

IOTA의 현재 버전은 Tangle이라는 프로토콜을 사용하고 있습니다. Tangle은 비트코인과 다른 다음과 같은 속성을 가지고 있습니다.

  • 트랜잭션을 체인 블록으로 그룹화하는 대신 DAG 기반 데이터 구조를 사용하여 트랜잭션 그래프를 형성합니다.
  • 그것은 광부의 역할을 제거하고 사용자가 네트워크에 새로운 거래를 보내려는 경우 두 개의 이전(확인되지 ​​않은) 거래를 확인하도록 요구합니다.
  • 합의/투표는 로컬 정보를 기반으로 하며 전체 네트워크와의 상호 작용이 필요하지 않습니다. 대신 MCMC(Monte-Carlo Markov Chain)라는 가중 랜덤 워크 프로세스를 통해 달성됩니다.
  • 그러나 백서는 분산 환경에서 합의에 도달하는 방법을 명확하게 지정하지 않았습니다. 따라서 네트워크는 오늘날까지 중앙 집중식 ‘조정자’에 의존하며 암호화 커뮤니티에서 널리 비판을 받았습니다.
탱글(DAG/방향성 비순환 그래프)

최근 IOTA 재단은 프로토콜을 개편하고 코디네이터를 제거하기 위해 ‘Coordicide’라는 로드맵을 발표했습니다. FPC(Fast Probabilistic Consensus)와 CC(Cellular Consensus)의 두 가지 합의가 제안되었습니다. 두 솔루션 모두 리더 없는 합의 클래스에 속합니다.

합의 및 블록체인 확장

가장 일반적으로 사용되는 합의 메커니즘에 대한 개요가 있습니다. 블록체인을 계속 움직이게 하는 모든 부분과 마찬가지로 여기에서도 원래 개념에서 더 빠른 속도와 더 큰 네트워크를 위해 블록체인을 확장하는 데 도움이 되는 더 빠르고 민첩한 버전으로 뚜렷한 진화를 볼 수 있습니다. 블록체인의 기본 기능에 대해 자세히 알아보려면 사이드체인 에 대한 기사를 확인하고 사이드체인이 체인에서 결제 시스템보다 훨씬 더 많은 것을 구축하는 데 어떻게 도움이 되는지 확인하십시오.

태그

advanced crypto

Blockchain

crypto

친구와 공유

가상자산 여정을 시작할 준비가 되셨나요?

단계별 가이드에서 크립토닷컴 계정을 설정하는 방법을 확인하세요

'시작하기' 버튼을 클릭하는 경우 개인 데이터 사용 및 보호 방식에 관한 크립토닷컴의 개인정보보호고지에 동의하는 것으로 간주됩니다.
Mobile phone screen displaying total balance with Crypto.com App

Common Keywords: 

Ethereum / Dogecoin / Dapp / Tokens