보증노드
보증노드(warrant node)는 합의 과정을 주도하여 블록을 생성하는 노드이다. 작업노드 중 풀노드(full node)는 공정한 자동 벤치마킹테스트를 통하여 보증노드가 될 수 있다.
목차
활용
하이퍼레저 패브릭
하이퍼레저 프로젝트 중 가장 활발하게 활동 중인 하이퍼레저 패브릭은 모듈러 아키텍처를 이용한 애플리케이션/솔루션 개발을 가능하도록 해주는 프레임워크이다. 하이퍼레저 패브릭은 허가형 프라이빗 블록체인과 달리, 하이퍼레저 패브릭에서는 인증 관리 시스템에 의해 허가된 사용자만이 블록체인 네트워크에 참여할 수 있다. 따라서 패브릭 네트워크에 참여 노드들은 이미 시스템에 의해 허가된, 신뢰한 노드로 볼 수 있고 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않는다. 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정보로 충분하다. 물론 필요에 의해 원하는 합의 알고리즘 네트워크 내에서 선택적으로 사용할 수도 있다.[1] 하이퍼레저 패브릭에 대해 자세히 보기
- 거래 보증 정책 : 보증노드의 서명을 사용하여 작성한다. 보증 피어 집합 E = [Alice, Bob, Charlie, Dave, Eve, Frank, George)를 지정하는 것으로 가정한다.
- 보증 정책 설정 : 체인코드에 대해 설정하되 보증 정책은 시스템에 의해 미리 작성하고 체인코드 개발자가 특정 체인코드를 선택하고 매개변수 설정을 통해 보증 정책을 설정한다.
- 거래 처리 순서
Endorser에게만 거래를 의뢰하며, 여러 개의 거래를 나눠서 처리하기 위해 endorser는 여러 개가 될 수 있다. 오더러(Orderer)에게 순서를 지정하고, 블록체인을 유지하는 모든 피어들에게 결과를 전송해 검증하고, 이상이 없으면 레저(ledger)에 저장한다.[2]
- 비결정적 프로그램(non-deteminstic program) 지원, 거래의 병렬 처리 등을 위해 거리 처리 구조를 변경한다.
- 실행 -> 순서화 -> 검증 및 확정의 단계로 처리한다.
- 클라이언트는 해당 체인코드의 보증 정책에 맞는 보증노드에 거래를 송신하고, 거래의 실행은 보증노드에 의해 수행한다.
- 보증노드는 거래 실행 결과를 별도의 자료구조(readset, writeset)에 담아 클라이언트에 회신한다.
- 보증노드는 거래 실행 결과를 블록체인에 미적용시킨다.
- 실행 결과를 수신한 클라이언트는 순서화 서비스 채널을 통해 거래 결과를 전송한다.
- 순서화 서비스를 수행하는 노드들은 적용하는 합의 알고리즘에 따라 그동안 발생한 거래를 순서화시킨다.
- 순서화된 거래들은 블록에 담겨 채널에 연결된 모든 피어들에게 전달한다.
- 거래 결과를 수신한 피어들은 거래 결과가 보증 정책에 맞게 만들어졌는지 검증하고, 적합하게 실행된 거래의 결과를 블록체인에 저장함으로써 해당 거래를 확정시킨다.
심버스
심버스(SymVerse)는 게임이론을 기반으로 설계한 차세대 블록체인 플렛폼을 위한 암호화페다. 심버스의 화폐 단위는 SYM이다. 심버스는 2018년 6월에 시작되었다. 심버스의 창시자는 게임이론을 전공한 최수혁 박사이다. 심버스의 어원을 보면 '함께'(together)를 의미하는 접두어인 심(Sym)과 '상호작용'(interact)이라는 의미의 접미어 버스(Verse)가 결합한 신조어로 "모든 사람이 서로 도우며 산다"라는 공생(共生)을 의미한다. 즉, 심버스는 모든 블록체인 이용자들을 자발적으로 참여시키는 '공생', 일상생활의 거래를 손쉽게 처리하고 이용을 편하게 하는 '실용'이라는 핵심 가치를 가진 새로운 패러다임의 블록체인 플랫폼이다. 심버스에 대해 자세히 보기
심넷
심넷(Symnet)은 동일 기능에서 다양한 기능으로 진화하는 미래지향적 분산 네트워크(EFDN)이다. 블록체인의 소비자와 공급자가 협력하며 분산 P2P 네트워크를 구축한다.
- 보증노드 구성 : 25개의 보증노드 중 9개는 재단이 선발하여 운영하며 투표권만 가지고, 16개의 노드는 투표권과 블록생성권을 가진다. 새로운 보증노드는 기능이 검증된 작업노드 중에서 후보노드 그룹을 선발하고 매일 4개의 보증노드를 후보노드 중에서 무작위로 선발한다. 선발된 노드는 4일의 임기를 가진다.
- PoN : Proof of Network(PoN)는 EFDN의 작동원리이다.
- 거래처리 : 계정을 가진 지갑노드는 항상 블록체인과 연결된 작업노드를 통하여 거래를 처리한다. 작업노드 리스트는 수시로 업데이트되며 지갑노드의 모든 통신은 3개의 작업노드와 접속하여 처리된다. 만약, 특정 작업노드 접속이 이루어지지 않으면 다른 작업노드를 선택하게 된다. 작업노드는 지갑노드로부터 받은 거래를 처리하여 이를 서로 다른 그룹인 두 개의 보증노드에게 전달한다. 보증노드는 각각의 거래내역을 모든 보증노드에게 전달한다. 거래내역이 공유된 후, 이는 합의 과정의 결과로 블록에 기록되며 새로운 블록은 체인에 연결된다.
- 합의과정 기여를 통한 네트워크 활성화 : 합의 참가 과정을 개시하는 보증노드는 모든 계정의 SYM 보유량, 거래 수수료, 사용량, 합의 과정 참여 회수, 합의 참여 의사 등의 항목을 구분하여 메모리 데이터베이스에 가지고 있다. 지갑노드들은 EFDN의 작동원리에 따라 보증노드에게 참가 의사를 전달한다. 합의 과정에 기여하는 지갑노드는 매일 무작위기법으로 특정한 보증노드에 의해 선출된다. 합의 참가 신청을 받은 보증노드는 선정 관련 결과를 모든 보증노드와 공유하고 선택된 지갑노드에게 합의과정에 참가하라는 신호를 보낸다. 보증노드는 합의과정에 기여하는 노드들의 참여기록을 리워드(Reward) 블록에 기록한다.
심센서스
심버스는 20,000TPS를 목표로, 블록 생성의 안전성을 높이고, 거버넌스 문제를 해결하기 위해 심센서스(SymSensus)라는 합의 알고리즘을 적용했다. 심센서스는 거부권을 포함한 투표 방식의 비잔틴 장애 허용(BFT; Byzantine Fault Tolerant) 알고리즘을 사용하는데, 이는 가장 빠른 BFT 알고리즘이다. 심버스는 기존 블록체인의 합의 방식과 달리 단순히 블록 생성의 대가로 코인이 발행되지 않으며 네트워크 증명(PoN)의 기여도를 측정하여 1일 1회 코인이 분배된다. 심버스는 네트워크증명을 통해 참여자가 4일마다 증인이 될 수 있도록 설계했다. 심버스는 네트워크 참여자 모두에게 블록을 생성할 수 있는 권리를 부여하여 생태계가 자발적으로 성장할 수 있게 했다. 심센서스는 거부권 기능을 도입함으로써 악의적인 노드의 블록 조작 가능성을 원천적으로 방지할 수 있다.
- 악의적 노드의 조작방지 : 지갑노드의 거래기록을 작업노드가 검증하고, 작업노드가 검증한 기록을 다시 보증노드가 검증하는 다단계에 걸친 네트워크 증명방식(PoN)을 사용한다. 따라서 지갑노드 수가 증가하면 PoN 참가 노드로 선정될 확률이 낮아지기 때문에 통계학의 대수의 법칙에 따라 조작 가능성의 확률은 0으로 수렴한다. 악의적인 지갑의 경우 작업노드가 일차적으로 검증하고, 작업노드가 악의적이거나 동작이 불량한 경우에도 보증노드가 검증한다. 악의적인 노드들은 합의 블록의 블랙리스트에 등재되고 동작이 불량한 노드들은 그레이리스트에 등재된다. 보증노드 25개 중 16개의 노드는 작업노드에서 선출한다. 9개의 노드는 재단이 선정하며 합의 과정에만 참여하는 거부권을 가진 노드이다. 선출된 보증노드들은 악의적인 행동을 통하여 이득을 얻을 수 없다.
심트랜스
심트랜스(SymTrans)는 범용거래처리기로 기존에 스마트 계약으로 처리해야 하는 대부분의 거래를 스마트 계약 없이 단순하게 처리한다. 이더리움 블록체인의 주요 기능인 스마트 계약은 당사자 간 특정 조건이 충족되어야만 거래가 발생하므로, 예약 거래는 불가능하다. 반면 심버스는 범용거래 처리기로 예약거래와 일반거래를 구분 없이 거래할 수 있도록 했다. 심버스 블록체인의 사용자들은 작업노드를 통하여 보증노드에서 거래를 처리하는데, 일반거래와 예약거래는 통상적으로 분 단위로 처리 시점을 정할 수 있으며, 예약거래의 최장 예약 시점은 1년이며, 그 이상 되는 예약거래의 경우 애플리케이션이 연 단위로 갱신하여 처리하거나 스마트 계약을 이용하여야 한다. 예약거래의 네트워크 수수료는 거래의 컴퓨팅 크기를 기준으로 하며 저장 비용을 고려하여 기간할인 방식을 적용한다. 이러한 범용거래 처리기 사용으로 그동안 블록체인 접근이 힘들었던 개인과 소상공인 및 인터넷 애플리케이션에 새로운 블록체인을 활용 기회가 제공된다. 일반 소비자가 블록체인을 개인 장부처럼 사용할 수 있기 때문에 블록체인이 대중화될 수 있는 새로운 전환점이 될 수 있다.
- 작동 구조 : 블록체인 서비스 소비자들은 작업노드를 통하여 보증노드에서 거래를 처리한다.
심메커니즘
심버스 시스템은 게임이론의 유인합치적인 메커니즘(Incentive Compatible Mechanism)을 기반으로 설계되었다. 이는 모든 시스템 참여자들이 자발적으로 참여할 뿐 아니라, 시스템 내부에서 자신의 전략적인 선택이 다른 사람의 선택과 관계없이 최선의 선택임을 보장한다. 바꾸어 말하면, 심월드(SymWorld) 참여자는 SYM을 더 많이 이용하고 보유하는 선택이 항상 유리하다는 점을 뜻한다. 심버스를 이용하는 모든 사람의 행동이 최선의 선택이 되도록 만드는 구조설계방식을 심버스 메커니즘(SymVerse Mechanism)이라고 부르며, 심메커니즘(SymMechanism)이라고도 부른다.
- 보상 참여 조건 : 보상에 참여할 수 있는 기준은 지속적인 기여의 여부이다. 소비자의 경우 심월드에 기여 여부는 최근의 거래기록의 여부이다. 작업노드와 보증노드는 각각 일정한 크기 이상의 SYM을 보유해야 한다. PoN에 참가하는 지갑을 가진 참여자들은 최근 일주일간 실시간 거래블록과 예약거래 블록에 네트워크 수수료를 지불한 기록이 있어야 한다. 기록된 수수료의 크기는 시스템이 정한 최소 수준 이상이면 된다. PoN에 참여하는 작업노드 중 디앱(DApp)을 제공하는 노드는 합의 과정 심센서스 후보 선정 시 우대한다.
- 사회정의에 입각한 분배메커니즘 : 작업노드는 최소 생존 수입을 얻게 되면 생존하게 되는데 이는 시장 원리에 따라서 결정된다. 또한 네트워크 내부에서 컴퓨팅이 소수의 노드에 편중되는 현상을 막기 위해서는 다음과 같은 구조설계 정책을 적용한다.
- 스마트 지갑 내에서 확률적으로 작업노드 선택 가능
- 자동벤치마킹테스트를 통하여 보증노드로 선발되어 받는 참여대가
- 지분이 비례한 인증 대가에 세금과 보조금을 도입하여 노드 간 배분 조정
심리워드
심버스는 플랫폼이지만 댑과 일반 소비자에 주권을 돌려줬다. 블록 생성자(BP)뿐 아니라 메인넷을 사용하는 디앱 개발자, 월렛 사용자에게도 암호화폐를 배분한다. 네트워크를 운영하는 작업 참여자 20%, 보증 참여자(증인) 10%, 디앱 개발자 30%, 지갑 사용자 30%씩 제공한다.
- 공급자 간의 배분 : 20%는 작업노드들에게 배분하고 10%는 보증노드 중 A그룹에 3.3%, B그룹에 6.7%를 배분한다. Citizen Alliance와 각종 공공서비스 노드에 10%를 배정하며 지속해서 확장되는 CA노드 및 공공서비스 노드에게 지급한다.
- 기여도에 기반한 대가 산정 : 합의 과정에 참여한 작업노드와 지갑노드들은 각각의 서브 네트워크 내에서 PoN 참여대가를 분배받는다. 작업노드의 대가분배는 자신이 검증하여 보증노드에게 전송한 지갑노드와 작업노드의 거래처리 횟수를 기준으로 한다. 지갑노드는 지난 일주일간 지불한 일정한 크기 이상의 거래 수수료의 크기와 횟수를 가중 평균한 값을 기준으로 한다. 이러한 대가산정기준은 지분이 아닌 심버스 생태계의 활성화에 이바지한 크기를 기준으로 삼아 새로운 참가자에게 열린 기회를 보장한다.
각주
- ↑ CURG in Seoul, 〈하이퍼레저 패브릭이란?-입문〉, 《브런치》, 2019-03-30
- ↑ 야옹메롱, 〈(하이퍼레저)하이퍼레저 비즈니스 블록체인 프로젝트 개요, 구조 및 거래 - 강의요약〉, 《네이버 블로그》, 2019-03-21
참고자료
- CURG in Seoul, 〈하이퍼레저 패브릭이란?-입문〉, 《브런치》, 2019-03-30
- 야옹메롱, 〈(하이퍼레저)하이퍼레저 비즈니스 블록체인 프로젝트 개요, 구조 및 거래 - 강의요약〉, 《네이버 블로그》, 2019-03-21
- 〈SymVerse : Better World〉, 《심버스 백서》, 2018-10