합의 알고리즘 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
178번째 줄: 178번째 줄:
 
<!--
 
<!--
 
==비잔틴 장애 허용==
 
==비잔틴 장애 허용==
[[비잔틴 장애 허용]]('''BFT''', Byzantine Fault Tolerance)이란 장애가 있더라도 전체의 3분의 1을 넘지 않는다면, 시스템이 정상 작동하도록 허용하는 합의 알고리즘이다. 비잔티움 장애 허용이라고도 쓴다. 블록체인의 분산원장 체계는 제대로 돌아가기 위해서 원장을 공유하는 참여자들이 정직하게 행동해야 하며 이를 보장할 방법이 있어야 한다. 만약 악의적인 노드가 존재하여 누군가 속이려 들더라도 모두가 지닌 원장은 같은 내용을 유지해야 하는 방법 또한 존재해야 한다. 이런 골칫거리가 비잔틴 장군의 문제이다. 비잔틴 장애 허용은 두 장군 문제(Two Generals Problem)를 일반화한 문제인 비잔틴 장군 문제로부터 파생된 장애 허용 분야 연구의 한 갈래이다. 비잔틴 장애 허용을 알기 위해서는 두 장군의 문제와 여기서 파생된 비잔틴 장군의 문제를 먼저 알아야 한다.<ref name="바이낸스">바이낸스 아카데미, 〈[https://www.binance.vision/ko/blockchain/byzantine-fault-tolerance-explained 비잔티움 장애 허용 설명]〉, 《바이낸스 아카데미》, 2018-06-12</ref>
+
[[비잔틴 장애 허용]](BFT; Byzantine Fault Tolerance)이란 장애가 있더라도 전체의 3분의 1을 넘지 않는다면, 시스템이 정상 작동하도록 허용하는 합의 알고리즘이다. 비잔티움 장애 허용이라고도 쓴다. 블록체인의 [[분산원장]] 체계는 제대로 돌아가기 위해서 원장을 공유하는 참여자들이 정직하게 행동해야 하며 이를 보장할 방법이 있어야 한다. 만약 악의적인 [[노드]]가 존재하여 누군가 속이려 들더라도 모두가 지닌 원장은 같은 내용을 유지해야 하는 방법 또한 존재해야 한다. 이런 골칫거리가 비잔틴 장군의 문제이다. 비잔틴 장애 허용은 두 장군 문제(Two Generals Problem)를 일반화한 문제인 비잔틴 장군 문제로부터 파생된 장애 허용 분야 연구의 한 갈래이다. 비잔틴 장애 허용을 알기 위해서는 두 장군의 문제와 여기서 파생된 비잔틴 장군의 문제를 먼저 알아야 한다.<ref name="바이낸스">바이낸스 아카데미, 〈[https://www.binance.vision/ko/blockchain/byzantine-fault-tolerance-explained 비잔티움 장애 허용 설명]〉, 《바이낸스 아카데미》, 2018-06-12</ref>
  
비트코인 이전까지, 컴퓨터 공학에서는 비잔틴 장군 문제를 극복하는 방법으로 장군 중 잘못된 메시지를 보내는 경우에도 전체 시스템은 돌아가도록 하는 방향으로 접근했다. 이러한 접근 방식은 항공기의 항법장치 분야에서 처음 적용이 되었다. 항법장치는 항공기의 위치를 제공하는 계기인데, 이것이 올바르게 작동을 하려면 항공기 곳곳에 설치된 센서들이 항상 올바르고 같은 정보를 보내야 한다. 이때 한 센서라도 다른 정보를 주게 된다면 재빨리 다른 센서와 비교해 어느 값을 따를지 결정을 해야 하므로 비잔틴 장군의 문제가 발생하게 된다. 하지만 중요한 것은 여기서 한 센서라도 잘못된 정보를 준다고 하더라도 항법장치가 멈추지 않게 계속 작동할 수 있도록 설계가 되어야 한다. 이러한 설계를 컴퓨터 공학에서 비잔틴 장애 허용라고 부른다. 당시 학자들은 비잔틴 장애 허용의 가장 기본적인 전제가 전체 참여자의 최소 3분의 2는 정상 작동하는 선량한 참여자여야 한다는 점을 규명했다. 항법장치의 센서가 세 개일 때 두 개가 정상 작동한다면 하나의 신호를 무시해도 승객들은 무사히 목적지에 도착할 수 있게 된다. 항법장치에서 비잔틴 장애 허용 방법은 하나의 센서에서 동일한 내용의 데이터를 여러 개 만든 후, 데이터가 필요한 설비에 여러 개의 라인을 통해 송신한다. 이렇게 여러 라인을 통해 받은 동일한 데이터에 대해 이상 신호가 발생하는지를 확인하고 상호 비교를 통해 비잔틴 장군의 문제를 해결하여 합의의 무결성을 확보하는 방법으로 설계된 것이다. 결국 데이터의 수와 전송 경로를 동시에 늘려서 하나의 센서로도 여러 개의 센서를 설치한 효과를 얻은 것으로 해석이 되지만 이는 수학적으로 비잔틴 장군의 문제를 해결했다기보다는 현실적으로 문제 발생 확률을 줄인 시도였다. 이처럼 비잔틴 장애 허용은 비잔틴 장군 문제의 딜레마에서 파생되는 실패를 막기 위한 시스템으로 비잔틴 장애 허용 시스템은 일부 노드가 고장 나거나 악의적으로 행동하더라도 계속 작동이 가능하도록 만든 시스템 설계이다.
+
[[비트코인]] 이전까지, 컴퓨터 공학에서는 비잔틴 장군 문제를 극복하는 방법으로 장군 중 잘못된 메시지를 보내는 경우에도 전체 시스템은 돌아가도록 하는 방향으로 접근했다. 이러한 접근 방식은 항공기의 항법장치 분야에서 처음 적용이 되었다. 항법장치는 항공기의 위치를 제공하는 계기인데, 이것이 올바르게 작동을 하려면 항공기 곳곳에 설치된 센서들이 항상 올바르고 같은 정보를 보내야 한다. 이때 한 센서라도 다른 정보를 주게 된다면 재빨리 다른 센서와 비교해 어느 값을 따를지 결정을 해야 하므로 비잔틴 장군의 문제가 발생하게 된다. 하지만 중요한 것은 여기서 한 센서라도 잘못된 정보를 준다고 하더라도 항법장치가 멈추지 않게 계속 작동할 수 있도록 설계가 되어야 한다. 이러한 설계를 컴퓨터 공학에서 '''비잔틴 장애 허용'''(BFT:Bizantine Fault Tolerance)라고 부른다. 당시 학자들은 비잔틴 장애 허용의 가장 기본적인 전제가 전체 참여자의 최소 3분의 2는 정상 작동하는 선량한 참여자여야 한다는 점을 규명했다. 항법장치의 센서가 세 개일 때 두 개가 정상 작동한다면 하나의 신호를 무시해도 승객들은 무사히 목적지에 도착할 수 있게 된다. 항법장치에서 비잔틴 장애 허용 방법은 하나의 센서에서 동일한 내용의 데이터를 여러 개 만든 후, 데이터가 필요한 설비에 여러 개의 라인을 통해 송신한다. 이렇게 여러 라인을 통해 받은 동일한 데이터에 대해 이상 신호가 발생하는지를 확인하고 상호 비교를 통해 비잔틴 장군의 문제를 해결하여 합의의 무결성을 확보하는 방법으로 설계된 것이다. 결국 데이터의 수와 전송 경로를 동시에 늘려서 하나의 센서로도 여러 개의 센서를 설치한 효과를 얻은 것으로 해석이 되지만 이는 수학적으로 비잔틴 장군의 문제를 해결했다기보다는 현실적으로 문제 발생 확률을 줄인 시도였다. 이처럼 비잔틴 장애 허용은 비잔틴 장군 문제의 딜레마에서 파생되는 실패를 막기 위한 시스템으로 비잔틴 장애 허용 시스템은 일부 노드가 고장 나거나 악의적으로 행동하더라도 계속 작동이 가능하도록 만든 시스템 설계이다.
  
컴퓨터 공학과 마찬가지로 블록체인에서도 비잔틴 장애 허용을 달성하는 다양한 접근들이 존재하며 사토시 나카모토는 항공기 분야의 해결책과 다르게 참여자 모두가 가장 최신의 원장을 동일하게 보유할 수 있다는 점을 수학적으로 보장할 수 있도록 하였다. 블록체인 분야에서의 비잔틴 장애 허용 시스템은 보통 합의 알고리즘이라고 부르게 되며 비트코인은 작업증명이라는 합의구조를 처음 도입하여 비잔틴 장군의 문제를 해결하였다.  
+
컴퓨터 공학과 마찬가지로 블록체인에서도 비잔틴 장애 허용을 달성하는 다양한 접근들이 존재하며 [[사토시 나카모토]]는 항공기 분야의 해결책과 다르게 참여자 모두가 가장 최신의 원장을 동일하게 보유할 수 있다는 점을 수학적으로 보장할 수 있도록 하였다. 블록체인 분야에서의 비잔틴 장애 허용 시스템은 보통 [[합의 알고리즘]]이라고 부르게 되며 [[비트코인]]은 [[작업증명]]이라는 합의구조를 처음 도입하여 비잔틴 장군의 문제를 해결하였다.  
  
 
===간단한 비잔틴 장애 허용===
 
===간단한 비잔틴 장애 허용===
[[간단한 비잔틴 장애 허용]]('''SBFT'''; Simplified Byzantine Fault Tolerance)이란 더 나은 확장성과 최상의 대기 시간을 위해 프랙티컬 비잔틴 장애 허용을 기반으로 하는 비잔틴 장애 허용 시스템으로 확장성과 분산성의 과제를 해결하는 새로운 비잔틴 내결함성 알고리즘을 구현한다.<ref> Ittai Abraham, 〈[https://ittaiab.github.io/2019-06-23-what-is-the-difference-between/?utm_campaign=Cosmology&utm_medium=email&utm_source=Revue%20newsletter What is the difference between PBFT, Tendermint, SBFT and HotStuff ?]〉, 《개인블로그》, 2019-06-23</ref> 20개 미만의 복제본을 중심으로 중앙집중화된 경우에만 잘 수행되었던 많은 이전 비잔틴 장애 허용 시스템과 달리, 간단한 비잔틴 장애 허용 방식은 분산에 최적화되어 있으며, 100개 이상의 활성 복제본을 쉽게 처리할 수 있다. 간단한 비잔틴 장애 허용 방식은 이더리움의 이더리움 가상머신([[EVM]]) 바이트 코드를 기반으로 한 스마트 계약 실행 환경을 제공한다.
 
 
간단한 비잔틴 장애 허용은 이전의 많은 실용적인 알고리즘의 기술을 활용한다. 이것은 공통 모드에서의 선형 복잡성을 가지고 있으며 클라이언트 확인을 위해 단 하나의 메시지만 필요로 하는 실용적인 알고리즘이다.<ref>Yevhen Leonchyk, 〈[https://github.com/LabMazurokCom/Blockchain/wiki/SBFT SBFT]〉, 《깃허브》, 2018-05-31</ref> 간단한 비잔틴 장애 허용 합의에서 결함 있는 노드 수에 따라 특정 수의 노드가 블록을 수용해야 한다. 이러한 시스템은 최소한 (2f+1) 노드는 비즈니스 네트워크의 새 블록을 수용해야 한다. 여기서 f는 결함 있는 노드의 수이다. 이러한 의미에서 결함이 있는 것은 악성 노드일 수 있고, 작동하지 않는 노드일 수도 있다. 장점으로는 작업 증명보다 더 빠르며, 더 나은 확장성을 가지고 있다는 것이고, 단점으로는 중앙집권화의 경향이 강하다는 것이다.
 
 
 
===경량 비잔틴 장애 허용===
 
===경량 비잔틴 장애 허용===
[[경량 비잔틴 장애 허용]]('''LBFT''', Lightweight BFT; Lightweight Byzantine Fault Tolerance)은 기존의 프랙티컬 비잔틴 장애 허용 방식보다 더 짧은 지연시간과 더 낮은 데이터 사용량을 가지도록 성능을 개선한 합의 알고리즘이다. 서로 다른 블록체인 네트워크를 연결해 주는 암호화폐인 [[아이온]](AION)이 이 방식을 사용하고 있다. 영어 그대로 읽어서 라이트웨이트 비잔틴 장애 허용이라고도 한다.
 
 
캐나다 블록체인 기업인 누코(Nuco)가 개발한 아이온은 독립된 다양한 블록체인을 연결해 주는 인터체인 블록체인이다. 인터체인은 개별 블록체인이 가지고 있는 ‘확장성’의 한계를 극복하고, 서로 다른 블록체인간의 상호운용성을 높이기 위한 목적으로 개발되었다. 또한, 파편적으로 독립된 블록체인, 또는 오라클과 같은 데이터베이스 클러스터를 서로 연결하기 위한 인터체인 프로젝트이다. 아이온의 블록체인간 통신은 연결 네트워크, 참여 네트워크, 브리지의 구조를 통해서 작동한다. 연결 네트워크는 블록체인 간의 통신 정확성을 확인하고 보장하는 역할이다. 해당 네트워크는 하이브리드 컨센서스와 비잔틴 장애 허용을 합의 알고리즘으로 사용한다. 참여 네트워크는 연결 네트워크에 연결되는 블록체인, 또는 오라클과 같은 데이터베이스 클러스터를 의미한다. 브리지는 연결 네트워크와 참여 네트워크를 연결한다. 블록체인 간 통신의 서명과 수수료를 확인하는 과정을 담당하며, 백엔드와0 소스 오더링(Source ordering)의 구조를 통해 프랙티컬 비잔틴 장애 허용 대비 데이터 사용량이 적고, 속도가 빠른 경량 비잔틴 장애 허용으로 합의를 진행한다.
 
 
 
===라케시스===
 
===라케시스===
[[라케시스]](Lachesis) 프로토콜은 비잔틴 장애 허용 알고리즘과 같이 특정한 노드의 장애를 막으면서 초당 30만개 이상의 블록 처리가 가능하다. 그렇기 때문에 실생활에 적용가능한 블록체인 기술이다. 팬텀은 기존의 공공 분산장부 기술에서 문제시 되었던 확장성 문제를 해결한 전 세계 최초의 [[DAG]] 기반 스마트 계약 플랫폼이다. 팬텀 플랫폼은 향상된 DAG 기반 프로토콜을 사용한다는 점에서 기존 블록 장부 기반의 저장 인프라와는 차별화 된다. 팬텀 플랫폼은 합의를 유지하는 데에 라케시스 합의 알고리즘을 도입하였다.<ref name="ㄴㅇㅂ">응지, 〈[http://blog.naver.com/PostView.nhn?blogId=kakii25&logNo=221462952063&categoryNo=11&parentCategoryNo=0 (코인공부)팬텀 (FTM) Fantom 코인]〉, 《네이버 블로그》, 2019-02-11</ref>
 
 
DAG 안에서 라케시스 프로토콜은 수많은 일련의 사건들과 연결된 트랜잭션들을 저장한다. 블록체인과 마찬가지로 오페라체인은 네트워크의 각 노드 참여자들에 의해 저장된다. 각 노드에서의 트랜잭션을 증명하기 위해서 증인 노드라고 알려진 노드가 모든 노드들의 체인을 검증하는 작업을 한다. 다른 수많은 DAG 기반의 플랫폼들과는 다르게 라케시스 프로토콜은 트랜잭션을 300,000 TPS 이상의 속도를 가지면서 안전할 뿐만 아니라 권한이 자유로운 오픈소스 플랫폼을 제공한다. 라케시스 프로토콜 합의 알고리즘의 핵심 기능은 빠른 블록 처리가 가능하면서도 정보를 안전하게 보존하고 특정한 주체로부터 통제를 막을 수 있다. 블록체인의 핵심 기능인 비잔틴 장애 허용 알고리즘과 같이 특정한 노드의 장애로 인한 공격을 완벽하게 막는다. 또한 오페라체인은 노드간 통신시 보안성 강화를 위해 양자 암호 기법을 사용하고 완벽한 스마트계약 지원을 위해 함수형 프로그래밍 언어를 사용한다.<ref> Life is Cool, 〈[https://blog.naver.com/PostView.nhn?blogId=biahn99&logNo=221263912880&proxyReferer=https%3A%2F%2Fwww.google.com%2F 3세대 블록체인 ‘팬텀 코인’ 500억 규모 ICO 추진]〉, 《네이버 블로그》, 2018-04-29</ref>
 
 
 
===루프 장애 허용===
 
===루프 장애 허용===
[[루프 장애 허용]](LFT, Loop Fault Tolerance)은 향상된 비잔틴 장애 허용의 32비트 기반 알고리즘으로, 기존 분산 환경에서의 장애 허용 방법으로 많이 사용되는 상태 머신 복제 알고리즘 중 하나인 Raft32 알고리즘을 비잔틴 노드의 공격에도 방어할 수 있고 블록체인 네트워크 특성에 최적화되도록 개선한 합의 알고리즘이다.<ref>Matthew Minseok Kim, 〈[https://medium.com/@matthewminseokkim/icon%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-dc0feb97d468 ICON에 대해서 알아보자]〉, 《미디엄》, 2018-01-27</ref> [[루프체인]](Loopchain)은 비잔틴 장애 허용을 지원하는 루프 장애 허용을 통해 분기가 없는 빠른 합의를 지원한다. 루프 장애 허용을 기반으로 신뢰 관계가 있는 복수의 노드를 하나의 그룹으로 묶어 좀 더 빠른 합의를 이루어 낼 수 있으며 이러한 그룹 및 노드에 투표권 수를 자유롭게 설정할 수 있어 다양한 합의 체계 구축이 가능하다. 비잔틴 장애 허용 계열 합의 알고리즘을 사용하는 루프 장애 허용 합의 알고리즘은 블록을 생성하고 전파하는 리더노드와 생성한 블록의 내용을 검증하여 블록의 유효성을 투표하는 검증노드로 구성된다.
 
 
블록체인 네트워크를 구성하는 리더 노드와 검증 노드는 메시지를 전송할 수 있다. 루프 장애 허용 합의 알고리즘을 사용하는 블록체인의 구조는 다른 블록체인처럼 현재 블록의 단방향 해시값을 저장하여 해당 블록이 위변조되었는지 감지할 수 있게 하였으며 이전 블록 해시 데이터를 통해 해시 연결성을 보장한다. 그 밖에 블록 높이(블록 순번), 블록 생성 시간, 트랜잭션 머클트리와 같은 기존 블록체인에 들어가는 데이터들이 포함된다. 구성하는 블록체인에 따라 블록체인 위에서 돌아가는 서비스의 상태를 저장하기 위한 머클 패트리샤 트리 혹은 IAVL+ 트리 등의 상태 머신 저장을 위한 자료구조를 추가할 수 있다. 루프 장애 허용을 구현한 블록체인의 블록은 일반적인 블록체인 네트워크에 포함되는 데이터 외에 이전 블록에 대한 투표 결과를 포함한다. LFT 합의 알고리즘은 각 검증노드가 투표 데이터를 다른 모든 노드에 전송하기 때문에 각 검증노드는 이 단계에서 정족수 이상의 투표를 받으면 각 검증노드가 해당 블록을 자신의 블록체인에 추가할 수 있다. 하지만 이때 네트워크의 정족수 이상의 투표를 받지 못하는 경우가 생길 수 있는데 이러한 노드의 이전 블록을 자신의 블록체인에 추가할 수 있게 하기 위해서 이후 블록에 이전 블록의 투표 데이터를 추가하여 전송한다. 또한, 허가형 블록체인의 경우 해당 블록을 검증한 사람에 대한 증거가 블록체인에 남아있는 것이 중요하기 때문에 해당 블록에 대한 투표 증거를 남기는 역할도 하게 된다. 합의가 시작되면 검증노드들은 리더노드에 처리하기 원하는 트랜잭션을 전송한다. 리더노드는 수집한 트랜잭션을 이용하여 블록을 생성하고 자신의 서명과 함께 다른 모든 검증노드에 전송한다. 각 검증노드들은 블록을 받으면 현 리더가 블록을 생성했는지 확인하고, 블록의 높이와 이전 블록 해시가 올바른지 확인, 블록의 메시지가 올바른지 확인한다. 검증노드는 검증 결과에 따라 투표 메시지를 모든 노드들에게 보낸다. 각 노드가 정족수 이상의 투표를 받게 되면 해당 높이의 블록을 자신의 블록체인에 추가할 수 있다.
 
 
 
===미네르바===
 
===미네르바===
[[미네르바]](Minerva)는 작업증명 방식과 프랙티컬 비잔틴 장애 허용 방식을 결합한 하이브리드 합의 알고리즘이다. 중국의 [[장지앤난]](张剑南, Eric Zhang)이 창시한 [[트루체인]](Truechain)이 미네르바 합의 알고리즘을 사용하고 있다. 트루체인은 미네르바 하이브리드 매커니즘을 퍼블릭 블록체인에 도입했다. 미네르바는 작업증명 방식과 프랙티컬 비잔틴 장애 허용 방식을 합친 독특한 방식으로 탈중앙화와 효율이 전부 확보될 것이라 전망된다.<ref>장준영 기자, 〈[http://leaders.asiae.co.kr/news/articleView.html?idxno=76178 ‘트루체인’, 자사 퍼블릭체인 베타넷 테스팅에 한국 개발자 참여 희망한다]〉, 《리더스경제》, 2018-10-01</ref>
 
 
 
===수정 연합 비잔틴 동의===
 
===수정 연합 비잔틴 동의===
[[수정 연합 비잔틴 동의]]('''mFBA''', modified FBA, modified Federated Byzantine Agreement)는 기존의 연합 비잔틴 동의 방식에 지분증명 방식을 결합한 하이브리드 합의 알고리즘이다. 스텔라 합의 프로토콜(SCP), 연합 비잔틴 동의, 지분증명 및 동적 쿼럼을 결합한 것이다. 그로써 에너지 효율성이 높으면서도 빠른 트랜잭션을 가능하게 한다.
 
 
[[스텔라]] 합의 프로토콜(SCP)은 사용자가 누구를 신뢰할 것인지 직접 선택을 하고 이를 바탕으로 형성된 신뢰망을 이용하여 합의에 도달하는 방식이다. 미국 스탠퍼드 대학교 컴퓨터 과학 교수인 데이비드 마지어스에 의해 연합 비잔틴 동의 합의 알고리즘을 기반으로 개발되었다. 금융 거래를 정확하게 기록하기 위해 폐쇄된 시스템에 의존하지 않고 합의에 이르는 방법을 제공한다. 또한, 스텔라 합의 프로토콜은 수명보다 안전성을 최적화할 수 있는 입증 가능한 안전한 속성을 가지고 있다. 노드가 분열되거나 오작동하는 경우, 합의에 도달할 때까지 네트워크의 진행이 중지된다. 그 외에도 분산 제어, 짧은 대기 시간, 유연한 신뢰 및 비대칭 보안과 같은 4가지 주요 속성을 갖추고 있다. 연합 비잔틴 동의는 스텔라루멘이 선택한 합의 프로토콜이다. 이 프로토콜은 합의 과정속에서 각 노드들에게 부여하는 투표의 수가 리소스 오너십에 의해 결정되는 게 아니라 연방 혹은 연합을 이루는 각 노드 당 정확히 1표씩을 부여하겠다는 의미가 들어있다. 비트코인의 작업증명과 이더리움 캐퍼스의 지분증명 방식은 각각 연산 능력과 담보금이 있어야 한다, 그애  비해 연합 비잔틴 동의는 리소스 기반의 합의 참여 조건이 따로  없다. 따라서, 네트워크에 참여하는 노드라면, 네트워크에 기여할 수 있는 하나의 시민 노드로 인정받는다. 그렇기 때문에 각 노드는 1표를 받게 되고, 각 노드들은 성능과 상관없이 스텔라의 합의 과정에 참여하게 된다. 그렇게 하나의 스텔라 속 연방을 이루게 된다. [[쿼럼]]은 블록체인 시스템에서 합의를 이루기 위한 최소한의 투표 수를 가진 소그룹을 말한다. 먼저 블록체인 네트워크에 참여하는 각 노드들은 일정한 정족수로 구성된 소그룹인 쿼럼을 구성한다. 전체 노드의 합의를 기다리기 보다 신뢰하는 노드들로 구성된 쿼럼이 결정하게 되면 보다 빠른 의사결정과 합의를 이룰 수 있다. 쿼럼 알고리즘을 사용할 경우, 블록체인 시스템에서 거래가 이루어지면 모든 사람들에게 그 정보가 전송이 된다. 따라서 한 노드는 전체 네트워크가 데이터 상태에 동의하기를 마냥 기다리지 않는다. 그보다는 신뢰할 수 있는 노드로부터 충분히 많은 똑같은 메시지를 받게 되면 그 노드의 정보를 올바른 것으로 가정한다.
 
 
 
===심센서스===
 
===심센서스===
[[심센서스]](SymSensus)는 게임이론을 기반으로 설계·개발한 차세대 블록체인 플랫폼을 위한 암호화폐인 [[심버스]](SymVerse)가 만든 비잔틴 장애 허용 방식의 합의 알고리즘이다. 심센서스의 설계는 게임이론에 기반하며, 특히 사회 선택이론을 활용해 구조설계기법을 적용했다. 보증노드는 25개로 구성되며 그중 9개는 A그룹이라 부르고 재단이 선발한다. 나머지 16개는 B그룹이다. 심센스라고도 부른다.
 
 
심센서스는 20,00TPS를 목표로, 블록 생성의 안정성을 높이고, 거버넌스 문제를 해결하기 위해 적용한 합의 알고리즘이다. 심센서스는 가장 빠른 합의 알고리즘으로, 거부권을 포함한 투표 방식의 비잔틴 장애 허용 알고리즘을 사용하는데, 이는 가장 빠른 비잔틴 장애 허용 알고리즘이다. 심버스는 기존 블록체인의 합의 방식과 달리 단순히 블록 생성의 대가로 코인이 발행되지 않으며 네트워크 증명(PoN)의 기여도를 측정하여 1일 1회 코인이 분배된다. 심버스는 네트워크 증명을 통해 참여자가 4일마다 증인이 될 수 있도록 설계했다. 심버스는 네트워크 참여자 모두에게 블록을 생성할 수 있는 권리를 부여하여 생태계가 자발적으로 성장할 수 있게 했다. 또한, 심센서스는 거부권 기능을 도입함으로써 악의적인 노드의 블록 조작 가능성을 원천적으로 방지할 수 있다.<ref>방은주 기자, 〈[http://www.zdnet.co.kr/view/?no=20180818152122&re=R_20181126103911 차세대 메인넷 표방 '심버스' 공개..."이오스 잡겠다"]〉, 《지디넷코리아》, 2018-08-18</ref>
 
 
 
===아이작===
 
===아이작===
 
===연합 비잔틴 동의===
 
===연합 비잔틴 동의===

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)