[블록체인] 블록체인 입문_블록체인의 종류

NAEMAMDAEROG·2022년 2월 5일
0

1. 블록체인의 종류

1-1. Public 블록체인

개방형 블록체인으로 인터넷과 같이 누구나 참여할 수 있다. 누구든지 인터넷에 연결된 PC, 노트북, 서버 등의 다양한 컴퓨터 장비를 이용해 블록체인 네트워크에 참여할 수 있다. 또한 자신의 컴퓨터를 블록체인 네트워크에 연결하지 않고, 접속을 차단함으로써 언제든 자유롭게 탈퇴할 수 있다. 참여와 탈퇴를 전적으로 본인의 의사에 따라 결정할 수 있다.
퍼블릭 블록체인에 저장되는 모든 트랜잭션 기록들을 참여자들은 볼 수 있다. 퍼블릭 블록체인의 참여자들은 블록을 생성하는데 드는 노력을 암호화폐를 통해 보상받을 수 있다. 퍼블릭 블록체인에서 암호화폐를 발행 하는 것은 블록체인 네트워크를 유지하기 위한 필수사항이라고 할 수 있으며, 이러한 보상이 있기에 블록체인 생태계가 활성화될 수 있다.
퍼블릭 블록체인의 경우 분산된 데이터베이스에 모든 장부가 공유되고 누구나 트랜잭션을 생성하고 읽는 것이 가능하다. 각 트랜잭션은 노드들의 합의 과정을 거쳐서 통과된 것들만 블록에 저장된다.

1-2. Private 블록체인

제한된 노드들만 참여할 수 있는 폐쇄형 블록체인이다. 프라이빗 블록체인에 참여하기 위해서는 반드시 관계자의 승인을 얻어야 한다. 프라이빗에 저장된 트랜잭션 기록들은 승인을 받고 참여하는 자들만 볼 수 있다.
프라이빗 블록체인은 참여에 제한이 있고, 목적성에 따라 내부적으로 운영되는 경우가 많기 때문에 굳이 네트워크를 유지하기 위하 보상을 제공할 필요가 없다. 굳이 암호화폐가 필요하지 않기 때문에 화폐를 발행하는 것이 필수 요소가 아니다.
프라이빗 블록체인은 컨소시움이 존재하여 선택된 노드들만 트랜잭션을 블록에 넣을지 말지에 대한 합의 과정에 참여한다. 이를 통해 데이터 관리가 용이해지며 더욱 안정적인 보안 기능을 제공한다.
프라이빗 블록체인은 대표적으로 하이퍼레저 패브릭, Quorum, R3, 삼성 SDS에서 개발한 넥스레져와 포스코 ICT에서 개발한 포스레져 등이 있다.

2. 3세대 블록체인 EOS

이더리움이 스마트 컨트랙트를 이용해 DApp을 개발할 수 있는 플랫폼의 성격을 띄는 것처럼, EOS도 DApp 구동에 특화된 플랫폼이라고 할 수 있다. 이더리움이 스마트 컨트랙트 개발을 위해 솔리디티라는 언어를 사용하는 데 비해, 이오스는 C와 C++을 스마트 컨트랙트 언어로 사용하고 있다.
이오스는 이더리움에 비해 빠른 트랜잭션 처리 속도를 자랑한다. 이더리움은 블록 생성을 위해 약 10초 정도가 소요되며 초당 15개 정도의 거래를 처리하지만, 이오스의 경우 블록 생성 주기가 불과 0.5초이며 초당 약 4000개의 거래를 처리할 수 있는 상태를 유지하고 있다.
이오스는 싱글 쓰레드에서 1초에 만 개의 거래를, 병렬 처리시에는 100만 개의 거래를 처리할 수 있도록 하는 데에 목표를 두고 있다.

2-1. EOS의 합의 알고리즘

비트코인과 이더리움은 PoW라는 합의 알고리즘을 사용하는 반면, 이오스는 합의 알고리즘으로 DPoS를 채택하고 있다.
DPoS는 간접 민주제와 같은 시스템이라고 할 수 있다. 전체를 대표하는 21명의 참여자를 선출하고, 그렇게 선출된 21명의 투표를 통해 블록을 생성한다. 소수의 대표자들의 의견에 따라 블록을 생성하기 때문에 빠르게 결정을 내릴 수 있어, 속도 측면에서 상당히 빠르다.
사용자들에게는 거래 수수료가 들지 않는다. 이더리움의 경우 DApp 사용자들이 수수료를 내게끔 되어 있다. 거래를 보낼 때마다 이더리움 블록체인의 사용료인 gas를 내야 한다. 따라서 이더리움을 기반으로 만들어진 DApp을 사용하기 위해서는 우선 거래소 등을 통해 이더를 구매해야 한다. 하지만 이오스의 경우 사용자에게 사용료를 받지 않는다. 사용자가 내야하는 수수료를 없애는 대신, DApp이 운영에 필요한 EOS를 보유하도록 되어 있다.
예를 들어, EOS 블록체인 성능의 1%를 내가 개발한 DApp이 사용하도록 하고 싶다면, 전체 발행된 EOS량 중 1%를 가지고 있어야 한다. 1%의 EOS를 보유하고 있다는 것은, 이오스 블록체인의 거래 처리량 중 1%를 해당 DApp을 위해 사용하겠다는 것과 같다. 따라서 개발자가 목표로 하는 대역폭이나 네트워크 가용량에 해당하는 EOS를 보유하고 있다면, 그에 비례하는 만큼의 네트워크 용량이 계속 유지된다.
EOS는 온체인 거버넌스를 채택하고 있다. 거버넌스란 시스템을 사용하는 사람들의 이해관계를 위해 규칙들을 정하는 것을 말한다. 블록체인 네트워크를 운영함에 있어 지켜져야 할 일종의 정책이 된다. 온체인 거버넌스는 블록체인 정책을 결정하는 주체가 블록체인 내부에 존재한다는 것을 의미한다. 비트코인과 이더리움의 경우 오프체인 거버넌스를 따른다. 포럼을 운영하는 형태로 블록체인 밖에서 논의가 이뤄진 후, 그 결과가 블록체인에 반영되는 방식이다.

3. Hyperledger Fabric

하이퍼레져는 리눅스 재단에서 주관 하에 2015년 12월 시작된 블록체인 오픈소스 프로젝트이다.
프라이빗 블록체인이다. 하이퍼레져는 프라이빗 블록체인으로써 기업 별도의 비즈니스 모델을 구현하기에 적합한 환경을 제공한다.
금융 산업에 특화된 다른 플랫폼들과 달리 여러 산업에 범용적으로 도입 가능한 기술 표준을 제시한다. 하이퍼레져는 기업용 블록체인 기술 개발을 위해 노력하고 있다. 하이퍼레져는 총 16개의 오픈 소스 프로젝트로 구성되어 있다. 프로젝트는 크게 분산 장부, 라이브러리와 툴로 나뉜다. 하이퍼레져는 블록체인 최대 오픈소스 커뮤니티를 기반으로, 프레임워크 개발을 통해 다른 영역과의 인터페이스를 확장함으로써, 산업 여러 곳곳에 하이퍼레져가 영향을 미치고 있다.

하이퍼레져 패브릭은 16개의 프로젝트 중 가장 활발하게 개발되고 있는 프로젝트이며 가장 널리 알려져 있다. Hyperledger Fabric은 허가받은 사용자만이 참여할 수 있는 허가형 블록체인으로, 프라이빗 블록체인의 일종이다. 합의 알고리즘 및 회원 서비스와 같은 구성 요소를 플러그 앤 플레이 방식으로 지원한다. 채널이라는 개념을 도입함으로써 블록체인 참여자들간의 프라이버시를 강화할 수 있다.

허가형 블록체인이다. 하이퍼레져 패브릭은 대표적인 프라이빗 블록체인으로, 기업용으로 개발되었다. 즉, 신원이 확인된 참가자만 네트워크에 참여할 수 있다. 따라서 네트워크에 참여할 수 있는 참여자들을 관리하기 위해 멤버쉽 관리를 담당하는 모듈이 존재한다. Membership Service Provider는 네트워크에 참여하려는 사용자가 등록된 사용자인지 아닌지를 확인한 후, 권한이 부여된 참여자만 접근할 수 있도록 한다. 따라서 블록체인 네트워크 상에서 벌어지는 일에 대해 참여자에게 책임을 물거나 부인을 방지할 수 있다. 비트코인, 이더리움과 같은 퍼블릭 블록체인은 참여를 독려하기 위해 보상을 제공해야 하지만, 프라이빗 블록체인의 경우 허가된 사용자들이 각자 특정 목적을 가지고 블록체인 네트워크를 유지하므로 보상을 제공할 필요가 없다.

모듈러 방식을 따르고 있기 때문에, 개발자가 원하는 방식의 합의 알고리즘을 선택해서 사용할 수 있다. 비트코인, 이더리움에서 의미하는 합의는 블록을 생성할 권한을 누구에게 줄 것이냐에 대해 합의하는 것을 말한다면, 하이퍼레져 퍼블릭에서의 합의는 거래 생성부터 그 거래가 포함된 블록이 참여자에게 저장되기까지의 모든 과정을 합의라고 한다.

체인코드(Chaincode)는 하이퍼레져 패브릭의 스마트 컨트랙트 프로그램이다. 이더리움의 스마트 컨트랙트와 유사하지만, 개발 언어로 솔리디티를 사용하는 이더리움과 달리 체인코드는 Go, Node.js와 같은 기존의 언어들을 이용해 개발할 수 있습니다. 분산 원장에 데이터를 기록하거나, 데이터를 읽어 오기 위해 체인코드가 필요하다. 체인코드 그 자체로도 사용될 수 있지만 주로 비즈니스 모델에 맞는 DApp과 함께 개발되어 사용된다.

하이퍼레져 패브릭은 채널이라는 개념을 지원한다. 전체 시스템을 다수의 채널로 구분하여 multi-blockchain으로 운영할 수 있다. 전체 시스템을 다수의 채널로 구분하고, 채널 별로 독립적인 블록체인을 유지할 수 있다.

하이퍼레져 패브릭은 거래들을 병렬적으로 처리함으로써 처리 성능을 높일 수 있다. 초당 만 개 이상의 거래를 처리하는 걸 목표로 하고 있습니다. 이더리움은 일정 시간이 경과해야 생성된 거래가 메인 체인에 포함되었음을 확인할 수 있는 반면, 패브릭에서의 거래는 블록이 만들어지는 즉시 승인된다.

4. ICON

아이콘(또는 아이콘루프)는 자체 개발 고성능 블록체인 엔진으로 구성된 엔터프라이즈 블록체인 솔루션이다. 루프체인(Loopchain)은 아이콘루프가 독자 개발한 프라이빗 블록체인 엔진이다. 루프체인은 하이퍼레져 패브릭이나 R3 코다에 비해 블록체인의 기본에 더욱 충실한 구조를 가지고 있다.
하이퍼레져 패브릭처럼 중앙에 트랜젝션 순서를 정해주는 무엇인가가 있고 체인은 이 내용을 검증해주는 구조랑 달리 기본 비트코인 블록체인처럼 블록이 연결된 구조를 모두가 합의하는 방식으로 순서를 정해주고 있다. R3처럼 인스턴트 네트워크를 추구하는 것이 아닌 이해관계가 있는 노드들이 반 영구적으로 네트워크를 구성하는 블록체인이다.
루프체인은 고성능 스마트 컨트랙트 플랫폼인 SCORE를 통해 개발 친화적인 언어로 자유롭게 개발환경을 구성할 수 있다. PBFT 같이 중개자 없이 당사자간 메시지 전달에 기반한 고성능 합의 알고리즘을 사용한다는 점이 특징이다. 동일한 블록체인 네트워크 안에서 선택한 구성원들 간에 형성되는 독립적인 가상 네트워크를 지원하는 멀티 채널 기술을 제공하고 있다.

Loopchain SCORE는 합의 엔진과 의존성을 최대한 떨어뜨린 별도의 모듈로 개발되었다. 합의 엔진과 SCORE는 내부 gRPC로 구현된 인터페이스를 통하여 통신을 하기 때문에 인터페이스만 맞으면 어떠한 언어로도 구현이 가능하나 현재는 파이썬 구현체만 허용하고 있다.
루프 장애 허용(LFT: Loop Fault Tolerance) 방식은 현재 루프체인에서 사용하는 합의 알고리즘이다. 루프체인은 플러그인(plug-in) 형태로 합의 알고리즘이 구현되어 있기 때문에 필요에 따라 프랙티컬 비잔틴 장애 허용(PBFT: Practical Byzantine Fault Tolerance)과 같은 다른 합의 알고리즘을 사용할 수 있다. 루프 장애 허용 알고리즘은 기존 프랙티컬 비잔틴 장애 허용 알고리즘에서 발생하는 통신 오버헤드를 피기배킹(piggy backing)을 이용하여 줄였다. 피기배킹은 네트워크에서 메시지를 통합하여 통신 오버헤드를 감소시키는 방법이다.
리더를 매번 교체하는 기법인 스피닝(Spinning) 기법을 이용하여 악의적인 노드가 네트워크의 합의를 해치지 않는 범위에서 네트워크에 문제를 일으킬 수 있는 특정 노드의 트랜젝션 거부 문제, 리더에 의한 네트워크 지연과 같은 문제를 해결했다.

출처 : K-MOOC 블록체인 입문 - 홍원기 교수님
http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2020_1/course/

profile
Blockchain & Programming 공부 기록

0개의 댓글