검수요청.png검수요청.png

심센서스

위키원
ghdrn221 (토론 | 기여)님의 2019년 10월 17일 (목) 16:23 판 (새 문서: 썸네일|300픽셀|'''심버스'''(SymVerse) '''심센서스'''<!--심샌서스, 심센서쓰-->(SymSensus)는 심버스의 합의 알고리즘이다...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색
심버스(SymVerse)

심센서스(SymSensus)는 심버스의 합의 알고리즘이다. 심센서스의 설계는 게임이론에 기반하며, 특히 사회선택이론을 활용해 구조설계기법을 적용했다. 보증노드는 25개로 구성되며 그 중 9개는 A그룹이라 부르고 재단이 선발한다. 나머지 16개는 B그룹이다. 심센스라고도 부른다.

개요

심센서스는 20,00TPS를 목표로, 블록 생성의 안정성을 높이고, 거버넌스 문제를 해결하기 위해 적용한 합의 알고리즘이다. 심센서스는 가장 빠른 합의 알고리즘으로, 거부권(veto)을 포함한 투표 방식의 비잔틴 장애 허용(BFT) 알고리즘을 사용하는데, 이는 가장 빠른 BFT 알고리즘이다. 심버스는 기존 블록체인의 합의 방식과 달리 단순히 블록 생성의 대가로 코인이 발행되지 않으며 네트워크 증명(PoN)의 기여도를 측정하여 1일 1회 코인이 분배된다. 심버스는 네트워크 증명을 통해 참여자가 4일마다 증인이 될 수 있도록 설계했다. 심버스는 네트워크 참여자 모두에게 블록을 생성할 수 있는 권리를 부여하여 생태계가 자발적으로 성장할 수 있게 했다. 또한, 심센서스는 거부권 기능을 도입함으로써 악의적인 노드의 블록 조작 가능성을 원천적으로 방지할 수 있다.[1]

특징

심버스는 거래처리 속도를 빠르게 하고, 블록생성 안전성을 높이며, 거버넌스 문제를 해결하기 위해 심센서스라는 합의 알고리즘을 적용했다. 기존 비잔틴 장애 허용 기반 합의 알고리즘을 2배 이상 빠르게 만든 것으로, 블록 조작이 불가능하고 탈중앙화 돼어있다. 특히 심센서스는 거부권을 포함한 투표방식의 비잔틴 장애 허용을 사용하여, 가장 빠른 비잔틴장애 허용 알고리즘이다. 기존 블록체인 합의 방식과 달리 단순 블록생성 대가로 코인을 발행하지 않고, 네트워크증명의 네트워크 기여도를 측정해 매일 1회 코인을 분배하는 것도 다른 플랫폼과 다른점이다. 심센서스 설계에는 게임이론과 구조설계(Mechanism Design)기법이 적용돼어 보증노드는 25개이다. 이중 9개는 A그룹 이라 부르고 재단이 선발한다. A그룹 노드들은 블록생성권이 없고 투표권만 행사한다. 동일한투표결과를 보여주는 집단 거부권도 있다. 거부권이 존재하기 때문에어떤 보증 노드들이 담합해도 이득을 취할 수 없다.[2]

심버스 10대 혁신기술 중에서 컨센서스는 게임이론을 결합시켜 비토권의 도입이라는 획기적 아이디어로 비약적 속도개선을 이루는 동시에 악의적 노드의 움직임을 사전차단 했으며, 세계 최초로 다중블록체인(SymChain)을 분리 운용하는데 성공하여 온라인거래에 필요한 모든 편의성을 확보해가고 있다.[3] 컨센서스의 대표적인 특징을 요약하면 다음과 같다.

  • 심센서스 합의과정은 거부권(Veto)을 포함한 투표방식의 비잔틴 장애 허용을 사용하는 가장 빠른 비잔틴 장애 허용 알고리즘이다.
  • 심센서스의 설계는 게임이론에 기반하고 있다. 특히 사회선택이론의 가장 중요한 정리를 활용하여 구조설계 기법을 적용했으며, 보증노드는 25개로 구성되고, A그룹 보증노드와 B그룹 보증노드로 나뉘다.
  • 기본적인 노드는 2초마다 바뀌며, 미들 벤치(middle bench) 노드의 선출은 구조설계 노드 중에서 무작위로 선정한다. 백 벤치(Back Bench) 노드는 일정한 시간이 지나야 미들 벤치 노드가 되어 4개의 백 벤치 노드는 매일 자율BMT(Autonomous BMT)를 마친 후보자 노드 중에서 선발한다.
  • 충분한 거래내역을 처리할 수 있도록 프라이머리 노드가 생성하는 블록의 수는 정해져 있지 않아 블록의 크기는 블록의 종류에 따라 다를 수 있다.[4]
거부권이 존재하는 비잔틴 장애 허용 합의과정

거부권이 존재하는 비잔틴 장애 허용 합의과정에서 프라이머리 노드(확률적 독재자)가 블록을 생성할 때 투표참가자들은 합의과정을 조작하여 이득을 얻을 수 없다. 이 정리를 이용하면 컨센서스가 합의과정에 걸리는 시간을 기존 알고리즘 50%이상 줄일 수 있다. 그 방법은 합의 알고리즘에 거부권그룹을 만들어 다음과 같이 투표를 진행하면 된다. 합의과정에 참가하는 집단을 두 개로 분류하고 A집단은 정수 개의 노드로 구성된다. A집단은 추표권만 있으며 모두 동일한 투표결과를 보여준다. 나머지 노드들은 B집단으로 부르고 블록을 생성하는 프라이머리 노드가 될 수 있으며, 투표권을 갖게 만든다. 두 집단이 동시에 합의를 시작하면 A집단은 과반수만 넘으면 투표권을 갖게 만든다. 두 집단이 동시에 합의를 시작하면 A집단은 과반수만 넘으면 투표권의 결과가 결정되고, B집단의 절반이 투표를 진행하면 자동적으로 투표결과가 나타나기 때문이다. 기존의 비잔틴 장애 허용에서 합의정족수가 정수 되어야 하지만, B그룹의 정족수가 정수 이 되면 전체 적인 합의가 이루어진다. A그룹은 과반수만 넘으면 전체가 합의하기 때문에 A그룹의 합의 종료시간이 B그룹보다 항상 짧기 때문에 합의는 신속하게 이루어진다.[5]

보상참여조건

보상에 참여할 수 있는 기준은 지속적인 기여의 여부이다. 소비자의 경우 심월드(SymWorld)에 기여 여부는 최근의 거래기록의 여부이다. 작업노드와 보증노드는 각각 일정한 크기 이상의 심버스(SYM)를 보유해야 한다. 네트워크증명에 참가하는 지갑으 가진 참여자들은 일주일간 실시간 거래블록과 예약거래블록에 네트워크 수수료를 지불한 기록이 있어야한다. 이는 공짜점심(Free Lunch)를 제공하지 않는 것을 의미한다. 기록된 수수료의 크기는 시스템이 정한 최소 수준 이상이면 된다. 네트워크증명에 참여하는 작업노드중 디앱을 제공하는 노드는 합의과정 심센서스 후보 선정 시 우대한다.

악의적 노드의 조작방지

심센서스는 다음과 같은 이유로 악의적인 노드의 블록 조작 가능성을 원천적으로 방지한다. 악의적 노드의 조작방지는 다음과 같다.

  1. 네트워크증명이 지갑노드로부터 출발하고 지갑노드는 확률적으로 선정된다. 네트워크 수수료를 지불해야 하므로 악의적인 지갑의 시빌공격은 작업노드가 원천적으로 차단할 수 있으며 공격하더라도 상당한 비용을 지출해야 한다.
  2. 지갑노드의 거래기록을 작업노드가 검증하고, 작업노드가 검증한 기록을 다시 보증노드가 검증하는 다단계에 걸친 네트워크 증명방식(PoN)을 사용한다. 악의적인 지갑의 경우 작업노드가 일차적으로 검증하고, 작업노드가 악의적이거나 동작이 불량한 경우에도 보증노드가 검증한다. 지갑노드 수가 증가하면 네트워크증명 참가 노드로 선정될 확률이 낮아지기 때문에 통계학의 대수의 법칙에 의하여 조작가능성의 확률은 0으로 수렴한다.
  3. 악의적인 지갑의 경우 작업노드가 1차적으로 검증하고, 작업노드가 악의적이거나 동작이 불량한 경우에도 보증노드가 검증한다. 악의적인 노드들은 합의블록의 블랙리스트(Black List)에 등재되고 동작이 불량한 노드들은 그레이리스트(Gray List)에 등재된다.
  4. 보증노드 25개 중 16개의 노드는 작업노드에서 선출한다. 9개의 노드는 재단이 선정하며 합의 과정에만 참여하는 거부권을 가진 노드이다. 선출된 보증노드들은 악의적인 행동을 통하여 이득을 얻을 수 없다.[4]

보증노드

A그룹 보증노드

A그룹 노드들은 블록생성권이 없고, 투표권만 행사한다. 또한 동일한 투표결과를 보여주는 집단적인 거부권을 행사한다. 전체 보증노드 중 2/3이상 찬성할 경우 합의과정은 종결된다. 거부권이 존재하여 어떠한 보증 노드들이라도 담합해 이득을 취할 수 없다.

B그룹 보증노드

B그룹의 노드들은 후보 신청한 작업노드 중 탈중앙화되고 4단계의 자동 벤치마킹 테스트를 통해 선발된다. 블록생성의 합의과정을 주관하는 프라이머리 노드(1개), 프라이머리 노드에 대한 우선순위가 확정된 프런트 벤치 노드(3개), 미들 벤치 노드(8개), 백 벤치 노드(4개)를 포함해 총 16개로 구성된다. 충분한 거래명세를 처리하기 위해 프라이머리 노드가 생성하는 블록의 수는 정해지지 않는다. 블록의 크기는 종류에 따라 다를 수 있다. 프라이머리 노드는 거래기록을 모아 블록을 생성한 후 생성한 블록에 대한 검증을 요청한다. 이때 프라이머리 노드는 서명기반 비잔틴 장애 허용(BFT)방식으로 보증 노드 수의 이상으로부터 확인을 받으면 블록생성이 확정되어 다른 노드들에 전파한다.[4]

각주

  1. 방은주 기자, 〈차세대 메인넷 표방 '심버스' 공개..."이오스 잡겠다"〉, 《지디넷코리아》, 2018-08-18
  2. SymVerse, 〈차세대 메인넷 표방 ‘심버스’ 공개〉, 《미디엄》, 2018-08-21
  3. 이삭줍기, 〈심버스(SYM)에어드랍 이벤트〉, 《티스토리》, 2019-06-13
  4. 4.0 4.1 4.2 심버스 백서 - http://download.symverse.com/whitepaper/SymVerse_Whitepaper_Kr_V1.4_20181004.pdf
  5. 심버스, 〈SymSensus에 대하여〉, 《블록체인 허브》, 2018-10-18

참고자료

같이보기

  검수요청.png검수요청.png 이 심센서스 문서는 합의 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.