하이퍼레저 패브릭 사용기

박정호·2022년 6월 2일
0

투명성 : 대등 네트워크, 데이터 변경 확인 가능
분산성 : 각 노드로 데이터 분산 저장, 제3자의 검증이 애초에 필요없는 구조로 설계가 들어가있음.
확장성 : 오픈 소스. API 친숙. 구축, 연결, 확장 가능
보안성 : 원장이 모두에게 퍼져있어 조작 방지 어려움. 해킹이 어려워 무결성 보장
안정성 : 분산형 합의 구조로 단일 실패점 없음. 일부 노드의 오류, 성능 저하로 전체 노드의 영향 미미.

블록체인 1.0 - 비트코인
발행, 유통, 거래 기능

블록체인 2.0 - 이더리움
스마트컨트랙트

단점 - 존나 느리다. 대용량 안댐. 사기꾼을 들어옴. 수수료가 너무 비쌈. 사람 너무 몰림
운영 주체가 없어서 업그레이드 등 합의 도출이 어려움.
대립 및 충돌로 하드포크(아예 포크 해와서 따로 개발하는. 갈래길) 발생.

블록체인 3.0 - 이오스, 카르다노 등
2.0 에서 개개인의 입맛으로 개선점 제시.

어떤걸 장점으로 내세움 - 속도 향상, 확장성 향상, 탈중앙화 개선

블록체인 분류

  • 퍼블릭 : 일반적으로 아는 네트워크(비트코인, 이더리움)
    앞서말한 단점. 존나 느림. 이오스의 DPoS가 처리속도가 굉장히 올라 호평받았고,
    여러 사이드 체인 기술이 개발되고 있다.

  • 프라이빗 : 하나의 기관
    사용하는 기관이 커스터마이징이 가능해 기업들이 관심을 보임.

  • 컨소시엄 : 여러 기관
    퍼블릭 + 프라이빗을 떠올리자. 특정 노드들이 중앙 권한을 가짐.

    DID : Decentralized ID : 블록체인 기반 전자신원증명 기술.
    쉽게 말해서 보안키를 각자가 가지고 있어라.

리플 : 블록체인 기술 기반의 지급결제 및 송금서비스로 거래시간을 단축시킴. 수수료가 쌈.
리플의 평가가 좋은듯?

월마드 : 하이퍼레저 패브릭 활용해 농산물 공급망 추척 프로젝트 진행중.
여러 기업도 솔루션 도입 추진 중.

하이퍼레저 프로젝트 : 기업이 사용할만한 블록체인 기술 및 기능 개발에 초점.
하이어레저 산하에는 현재 13개 프로젝트 진행중. 6개 프레임워크 7개 툴로 구성.

하이퍼레저 프레임워크

  • 패브릭 : 모듈러 아키텍처 기반의 애플리케이션/솔루션 개발 프레임워크. 합의 알고리즘, 멤버십 서비스 등 핵심 기술 요소를 플러그 앤 플레이 방식으로 구현할 수 있도록 지원. 체인코드 서비스 제공. 이더리움의 스마트 컨트랙트라고 생각하면 된다. 알고리즘의 전환 등 플러그 기능이 잘 되어있다.
  • 소투스 : 2번째 하이퍼레저 프로젝트. PoET 합의 알고리즘. 인텔 SGX 기술 기반. 이더리움 기반 스마트 컨트랙트 제공.
    PoET : 참여 노드 중 가장 빵빵한 애를 리더도 선정시킴.
  • 이로하 : 모바일 애플리케이션 전용. BFT 합의 알고리즘. YAC 알고리즘 적용.
  • 버로우 : 5번째 하이퍼레저 프로젝트. EVM 기반으로 퍼블릭 / 프라이빗 상호 보완이 가능함.
  • 인디 : 인증 특화.

하이퍼레저 툴

  • 컴포저 : 블록체인 (GUI) 개발 도구 제공. 비즈니스 Use Case 쉽게 개발 가능.
    2021년에 공식적으로 서비스가 종료되었다. 한번 써보고 싶었는데 아쉽네 ㅠ. 클라이언트로 Node/React를 제안하고 있다.

하이퍼레저 패브릭 5가지 특징

  1. 퍼미션드(Permissioned) 블록체인 : 허가된 참여자만 접근을 허용함.
  2. 일반 언어 사용 가능 : Go, Java 등 사용할 수 있음.
  3. 높은 성능 : 기존 비트코인, 이더리움 등의 채굴 및 채굴 블록 검증 과정이 없어 속도가 빠름.
  4. 교체 가능 : 모듈형 구조로 된 아키텍처. 합의 알고리즘 변경 슉슉 가능.
  5. 멀티 블록체인 : 하나의 블록체인 네트워크를 여러 개의 블록체인으로 분할할 수 있다.

하이퍼레저 합의 알고리즘(오더링 서비스)

: 블록체인 네트워크가 작동하도록 컨트롤 하는 오더링 서비스

  • Solo 오더링 서비스
  • 카프카 기반 오더링 서비스
  • RAFT 오더링 서비스

하이퍼레저 패브릭 환경 구성

  • Ubuntu 22.04
  • Docker, Docker Compose
  • Go
  • NodeJS

하이퍼레져

하이퍼레져 역시 객체지향 언어이다.

profile
개발하기

0개의 댓글