SW/블록체인

블록체인 : 하이퍼레저 프로젝트 중 가장 잘 알려진 하이퍼레저 패브릭의 특징

얇은생각 2022. 2. 16. 07:30
반응형

Hyperledger Fabirc

하이퍼레저 패브릭은 하이퍼레저 프로젝트들 중 가장 먼저 제안된 플랫폼입니다2017년 상반기 베타 버전인 0.6버전 을 발표한 이후 하반기에 1.0이 발표되었고, 현재는 1.1버전을 거쳐 2.2 버전까지 출시되어 있습니다하이퍼레져 패브릭 프로젝트는 IBM이 개발을 주도하고 있습니다.

패브릭 역시 기업용 블록체인 플랫폼 개발을 위한 프로젝트로 기존의 금융서비스와 유사한 허가형 블록체인을 개발하는 데에 목표가 있습니다하이퍼레저 패브릭은 아무 노드나 네트워크에 참여할 수 있는 다른 블록체인 플랫폼과 달리, 신원이 확인된 참여자들을 대상으로 하는 비즈니스 응용 블록체인을 개발하고자 합니다.

또한 체인코드라는 스마트 계약 프로그램을 통해 다양한 응용 개발을 효율적으로 지원하고자 합니다마지막으로 어플리케이션마다 다른 요구사항을 가질 수 있으므로 이를 지원하기 위해 모듈 구조를 가지는 분산 응용 플랫폼을 개발하고 있습니다.

 

 

Permissioned Blockchain Network

블록체인 : 하이퍼레저 프로젝트 중 가장 잘 알려진 하이퍼레저 패브릭의 특징 1

 

우선, 하이퍼레저 패브릭은 허가형 블록체인으로 허가된 참여자만 네트워크에 참여할 수 있습니다그리고 교체 가능한 모듈 구조를 가지기 때문에 합의 알고리즘 등을 요구사항에 따라 교체할 수 있습니다하이퍼레저 패브릭에서는 스마트 컨트랙트 프로그램을 체인코드라고 합니다.

비즈니스 로직 실행을 위해 스마트 컨트랙트의 기능을 하는 프로그램을 설계할 때 일반 프로그래밍 언어를 사용합니다또한 내부 가상 통화가 존재하지 않습니다기존 블록체인 플랫폼이 성능 문제를 가지고 있었다면 하이퍼레저 패브릭은 이를 해결하고 있습니다.

마지막으로, 하이퍼레저 패브릭은 채널이라는 개념을 도입하여 채널 별로 독립적인 블록체인을 유지할 수 있습니다이러한 시스템을 통해 멀티 블록체인을 지원합니다

첫 번째 특징은 허가형 블록체인입니다하이퍼레저 패브릭은 대표적인 private network enterprise blockchain을 위해 개발된 플랫폼입니다보상을 줌으로써 많은 노드들의 네트워크 참여를 유도하는 public blockchain과 달리 enterprise blockchain 은 허가된 사람만 네트워크에 참여할 수 있습니다.

즉 익명의 참여자가 아닌 신원이 확인된 참가자를 대상으로 하는 비즈니스 플랫폼입니다따라서 이를 지원하기 위해, 패브릭 에는 멤버십을 관리하는 모듈이 존재합니다membership service provider는 네트워크에 참여하려는 사용자가 등록된 사용자가 맞는지 확인하고 허가된 참여자만 접근을 허용합니다.

이렇게 되면 네트워크에 참여한 참여자 간의 신뢰를 보장할 수 있고 안정적으로 데이터를 활용할 수 있습니다또한 허가형 블록체인은 참여자에게 책임을 부여하거나 부인을 방지 할 수 있습니다그리고 거래가 블록에 들어가 승인되는 즉시 거래가 완료되어 추후에 수정할 수 없기 때문에 높은 거래 완료성을 가집니다.

테이블은 허가형 블록체인 의 특징을 비 허가형 블록체인과 비교한 테이블입니다비 허가형 블록체인은 익명의 아무 노드나 참여할 수 있기 때문에 접근 권한을 제어하지 않으며 참여자의 신원을 확인하는 멤버십 서비스가 없습니다반면 허가형 블록체인에서는 참여자를 관리하기 위한 멤버십 서비스가 존재하고 이를 통해 참여자의 접근을 제어할 수 있습니다.

또 신원이 확인된 사용자만 네트워크에 존재하기 때문에 특정 참여자에게 책임을 물을 수 있습니다그리고 비 허가형 블록체인은 사용자들의 노드 참여를 독려하기 위해 작업 증명 방식의 합의 알고리즘을 주로 택하지만허가형 블록체인의 경우 참여자들에게 인센티브를 제공할 필요가 없고 네트워크 참여에 의의를 두기 때문에 투표 기반의 여러 합의 알고리즘을 사용할 수 있습니다.

마지막으로 비 허가형 블록체인은 분기에 따라 이미 거래가 포함된 블록이 교체될 수 있지만 허가형 블록체인은 이를 허용하지 않아 높은 거래 완료성을 제공합니다.

 

 

 

Modularity

하이퍼레저 패브릭은 전체 시스템을 모듈 구조로 설계하여, 개발하고자 하는 응용 프로그램의 요구사항에 따라 합의 알고리즘, 멤버십 관리 기능 등을 선택할 수 있습니다패브릭은 다음의 모듈 구성 요소를 포함하는데, 여기에 명시되어 있는 요소들은 지금 당장 이해하시기에 어려울 것이라 생각됩니다.

 

 

 

Chaincode

다음으로, 하이퍼레저 패브릭에는 이더리움의 스마트 컨트랙트와 유사한 기능을 하는 체인코드가 있습니다이것은 스마트 컨트랙트와 마찬가지로 블록체인 응용 프로그램의 비즈니스 로직을 실행하기 위한 프로그램입니다체인코드에 포함된 거래를 처리 하기 위해 패브릭에서 새롭게 execute -order-validate 아키텍처를 제안했는데 이 개념도 아키텍처의 그림과 함께 추후에 설명 드리겠습니다.

 

 

General Programming Languages

이더리움에서는 스마트 컨트랙트를 작성하기 위해 solidity라고 하는 특수한 언어를 개발하여 사용하고 있습니다하지만 패브릭에서는 일반 프로그래밍 언어를 사용하여 스마트 컨트랙트의 기능을 하는 체인코드를 작성하도록 지원하고 있습니다Virtual Machine만 갖춘다면 어느 시스템에서나 동작할 수 있는 자바와 같은 언어를 이용해 체인코드를 개발할 수 있습니다.

따라서 기존 프로그래머들이 하이퍼레저 패브릭 기반의 블록체인 어플리케이션 개발에 쉽게 참여할 수 있게 됩니다하지만 이런 경우, 스마트 계약 프로그램을 실행하는 시스템의 환경에 따라 항상 동일한 결과를 출력하지 않을 수도 있습니다.

시스템 의존적인 함수를 호출하는 경우가 바로 이 예에 해당합니다이러한 특징을 non-deterministic 이라고 합니다따라서 non-deterministic한 언어를 사용하는 하이퍼레저의 경우 시스템 별로 블록체인 내에 동일하지 않은 결과가 저장되어 동일한 블록체인을 유지하지 못하는 consistency 문제가 발생할 수 있습니다.

이러한 비결정적 성질을 보완하기 위해 패브릭은 특정 메커니즘을 가지고 있습니다이 메커니즘에 대해서는 다음 모듈에서 설명 드리겠습니다.

 

 

 

No internal cryptocurrency

다음으로, 하이퍼레저 패브릭은 내부에 가상 화폐가 존재하지 않습니다기존 블록체인 플랫폼에서는 많은 노드들의 네트워크 참여를 유도하기 위해 인센티브로 코인을 제공합니다그리고 DoS 공격을 방지하기 위해 거래 수수료로 일정량의 코인을 지불하도록 합니다.

하지만 패브릭의 경우 원하는 사용자 만이 네트워크에 참여하기 때문에 참여에 대한 인센티브를 제공할 필요가 없습니다그리고 endorsing peer의 개념을 도입하여, DoS 공격을 받을 시 해당 peer 만 다운시켜, 전체 시스템이 마비되지 않도록 합니다이를 통해 DoS 공격을 피할 수 있습니다.

거래들을 동시에 병렬적으로 처리 함으로써 성능을 높일 수 있습니다잠시 언급했던 endorsing peer들이 거래 를 동시에 처리하여 높은 성능을 유지할 수 있게 되며 초당 만 개 이상의 트랜잭션을 처리하는 걸 목표로 하고 있습니다.

이렇게 병렬적으로 거래를 실행 하게 되면 블록체인 내에 저장된 정보를 접근하는 순서에 따라 서로 다른 결과를 도출할 수 있게 됩니다이러한 비결정적 실행 문제를 해결하기 위해 블록체인에 저장되는 정보를 키와 버전을 통해 관리하게 됩니다.

마지막으로 채널이라는 개념을 도입하여 하나의 시스템에서 여러 개의 블록체인을 운영할 수 있습니다전체 시스템을 다수의 채널로 구분 하고, 채널 별로 독립적인 블록체인을 유지할 수 있습니다참여자는 특정 채널에 가입함으로써 블록체인을 선택할 수 있고, 다수의 채널에 가입하는 것도 가능합니다이렇게 여러 개의 채널에 가입하게 되면 동시에 여러 개의 블록체인에 접근할 수 있습니다.

 

 

 

Ethereum vs Hyperledger Fabric

블록체인 : 하이퍼레저 프로젝트 중 가장 잘 알려진 하이퍼레저 패브릭의 특징 2

 

두 플랫폼은 다양한 형태의 분산 응용 프로그램을 블록체인 상에서 개발할 수 있도록 만들어졌다는 점에서 유사한 측면을 가지고 있지만, 주요한 차이점을 가지고 있습니다이더리움은 누구나 네트워크에 참여할 수 있는 비 허가형 시스템이지만, 하이퍼레저 패브릭은 허가된 노드만이 참여할 수 있는 허가형 (permissioned) 블록체인입니다.

블록체인에 저장되는 프로그램을 이더리움에서는 스마트 컨트랙트 하이퍼레저 패브릭에서는 체인코드라고 칭합니다솔리디티 언어를 이용해 작성되는 스마트 컨트랙트는 어떤 시스템에서 실행되든 동일한 결과를 도출하므로 결정적 성질을 가지지만 하이퍼 레저 패브릭은 일반 언어를 사용하기 때문에 non-deterministic한 성질을 가지고 있습니다.

이더리움은 이더라는 내부 통화가 있지만 패브릭은 내부 통화가 존재하지 않습니다또한 gas라는 거래 수수료를 가지는 이더리움과 달리 패브릭은 거래 수수료가 필요하지 않습니다하이퍼레저 패브릭은 병렬적으로 거래를 처리함으로써 더 높은 성능을 제공합니다.

이더리움은 기본적으로 작업 증명 방식을 이용해 합의를 이끌어내지만 패브릭은 투표 기반의 합의 알고리즘을 사용합니다이더리움은 분기가 발생할 가능성이 있기 때문에 시간이 조금 경과해야 생성된 거래가 메인체인에 포함되었음을 확인할 수 있는 반면 패브릭에서 거래는 블록이 만들어지는 즉시 승인되며, 추후에 승인된 거래가 취소되는 경우가 발생하지 않습니다. 패브릭은 하나의 시스템에서 동시에 여러 개의 블록체인을 지원할 수 있지만 이더리움은 지원하지 않습니다

 

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

반응형