허가형(private) 블록체인 대표적인 블록체인 플랫폼인 하이퍼레저 최근 버전은 2.2 입니다. 현재는 2.0 이상 버전에서는 raft로 완전히 전환되었으며, 더이상 kafka 방식의 합의유형은 지원하지 않습니다.그러면 하이퍼레저 패브릭의 새로운 기능을 알아보겠습니다.

하이퍼레저 패브릭 로드맵

하이퍼레저 패브릭 2.x 새로운 기능

  • 체인코드를 배포시 여러 조직이 체인 코드 배포에 동의해야합니다.
  • Fabric의 릴리스 1.x 버전에서 한 조직이 체인 코드 설치를 거부하거나 및 체인코드를 호출하는 트랜잭션을 수행에 참여하지 않는 다른 모든 채널 구성원에 대해 체인 코드 매개 변수 (예 : 보증 정책)를 설정할 수 있었다 . 하나의 채널에서 . 새로운 패브릭 체인 코드 라이프 사이클은 체인 코드가 활성화되기 전에 충분한 수의 조직이 승인 정책 및 기타 세부 사항에 동의해야하는 분산 형 모델뿐만 아니라 중앙화 된 신뢰 모델 (예 : 이전 라이프 사이클 모델)을 모두 지원하므로 더 유연합니다.

  • 보다 신중한 체인 코드 업그레이드 프로세스
  • 이전 체인 코드 라이프 사이클에서 업그레이드 트랜잭션은 단일 조직에서 발행 될 수 있으므로 아직 새 체인 코드를 설치하지 않은 채널 구성원에게 위험을 초래할 수 있습니다. 새 모델에서는 충분한 수의 조직이 업그레이드를 승인 한 후에 만 체인 코드를 업그레이드 할 수 있습니다.

  • 더 간단한 보증 정책 및 개인 데이터 수집 기능 업데이트
  • 패브릭 라이프 사이클을 사용하면 체인 코드를 다시 패키징하거나 다시 설치할 필요없이 보증 정책 또는 개인 데이터 수집 구성을 변경할 수 있습니다. 사용자는 또한 채널에있는 대다수 조직의 승인을 요구하는 새로운 기본 승인 정책을 활용할 수 있습니다. 이 정책은 조직이 채널에서 추가되거나 제거 될 때 자동으로 업데이트됩니다.

  • 검사 가능한 체인코드 패키지
  • Fabric 라이프 사이클은 쉽게 읽을 수있는 tar 파일로 체인 코드를 패키지합니다. 이를 통해 체인 코드 패키지를보다 쉽게 검사하고 여러 조직에서 설치를 조정할 수 있습니다.

  • 하나의 패키지를 사용하여 채널에서 여러 체인 코드 수행.
  • 이전 라이프 사이클은 체인 코드 패키지가 설치 될 때 지정된 이름과 버전을 사용하여 채널의 각 체인 코드를 정의했습니다. 이제 단일 체인 코드 패키지를 사용하고 동일한 채널 또는 다른 채널에 다른 이름으로 여러 번 배포 할 수 있습니다.

  • 체인 코드 패키지는 채널 구성원간에 동일 할 필요가 없습니다.
  • 조직은 자체 사용 사례, 예를 들면 조직의 이익을 위해 다른 유효성 검사를 수행하기 위해 체인 코드를 확장 할 수 있습니다. 필요한 조직들이 수만큼 일치하는 결과를 가지고 체인코드 거래를 보증하는 한, 랜잭션이 검증되고 원장에 커밋됩니다. 또한 조직은 전체 네트워크가 잠금 단계로 진행할 필요없이 자체 일정에 따라 사소한 수정 사항을 개별적으로 실행할 수 있게 합니다.

  • 새로운 체인 코드 라이프 사이클 사용
  • 기존 Fabric 배포의 경우 Fabric v2.x에서 이전 체인 코드 수명주기를 계속 사용할 수 있습니다. 새로운 체인 코드 라이프 사이클은 채널 애플리케이션 기능이 v2.0으로 업데이트 된 경우에만 유효합니다.

  • 협업 및 합의를위한 새로운 체인 코드 애플리케이션 패턴
  • 새로운 체인 코드 라이프 사이클 관리를 뒷받침하는 합의에 도달하는 동일한 탈 중앙화 방법이 거래가 ledger에 반영되기전에, 조직이 거래 데이터에 동의를 확인하는 것처럼 처럼, 체인 코드 애플리케이션에서도 사용할 수 있습니다.

    위에서 언급했듯이 자동화 된 검사은, 조직이 트랜잭션 제안을 승인하기 전에 추가 정보를 검증하기 위해 체인 코드 기능에 자동화 된 검사를 추가 할 수 있습니다.
    분산된 인간의 합의 결정은 여러 트랜잭션에 걸쳐 체인 코드 프로세스로 모델링 될 수 있습니다. 체인 코드는 다양한 조직의 행위자가 원장 거래에서 계약 조건을 표시하도록 요구할 수 있습니다. 그런 다음 최종 체인 코드 제안은 모든 개별 거래자의 조건이 충족되는지 확인하고 모든 채널 구성원에서 최종적으로 비즈니스 트랜잭션을 확정할 수 있습니다.

  • Private data의 개선
  • Fabric v2.0은 모든 조합의 채널 구성원이 원하는 거래를 하기 위해, 개인 데이터 콜렉션을 작성하지 않고도, 개인 데이터 작업 및 공유를 위해 새로운 패턴의 가능이 추가되었습니다.

    Fabric v2.x의 몇 가지 향상된 기능으로 다음과 같은 새로운 개인 데이터 패턴이 가능합니다.

    • 개인 데이터 공유 및 확인
    • 컬렉션 수준 보증 정책
    • 조직별 암시적 컬렉션
  • 외부 체인 코드 실행기(Launcher)
  • 외부 체인 코드 실행기 기능은 운영자가 선택한 기술로 체인 코드를 빌드하고 실행할 수 있도록합니다. 외부 빌더 및 실행기 사용은 Docker Api를 사용하여 이전 버전처럼 체인 코드를 빌드하고 실행하는 방식을 사용할 필요가 없습니다.

  • strong>CouchDB에서 성능 향상을위한 상태 데이터베이스 캐시
  • Alpine 기반 도커 이미지
  • Fabric v2.x로 업그레이드
  • 주요 새 릴리스에는 몇 가지 추가 업그레이드 고려 사항이 있습니다. 하지만 v1.4.x에서 v2.0으로의 롤링 업그레이드가 지원되므로 네트워크 구성 요소를 다운 타임없이 한 번에 하나씩 업그레이드 할 수 있습니다. 최신 릴리스로 업그레이드. 여기에서 구성 요소 업그레이드채널의 기능 수준 업데이트에 대한 설명서와 v2.x로 업그레이드하기위한 고려 사항의 구체적인 내용을 확인할 수 있습니다.

    하이퍼레저 패브릭 2.x 이전 버전의 주요 기능

    1.4 릴리스 다음과 같은 새로운 주요 기능이 포함됩니다.

    • Raft Consensus
    • 주문 서비스는 이제 Raft Consensus 알고리즘을 사용하는 옵션을 제공합니다.

    • 운영 메트릭 및 health check
    • Endorser 메트릭
    • Orderer 통신 메트릭
    • Raft 메트릭
    • 로그 레코드에 대한 메트릭
    • Kafka 건강 검진
    • CouchDB 상태 확인

    1.3 릴리스 다음과 같은 새로운 주요 기능이 포함됩니다.

    • 익명 트랜잭션을위한 Identity Mixer
    • zero 지식 증명을 사용하여 클라이언트 ID를 익명으로 유지하고 연결 해제 할 수 있습니다.

    • State 기반 보증
    • 기본 체인 코드 수준 보증 정책을 키별 보증 정책으로 재정의 할 수 있습니다.

    • 체인 코드가 쿼리 결과의 페이징 처리.
    • 클라이언트는 체인 코드 쿼리의 결과 집합을 페이징 할 수 있으므로 고성능으로 큰 결과 집합을 지원할 수 있습니다.

    • Java기반 체인 코드 지원
    • Go 및 Node.js로 작성된 체인 코드에 대한 현재 Fabric 지원에 추가로 Java가 이제 지원됩니다.

    1.2 릴리스 다음과 같은 새로운 주요 기능이 포함됩니다.

    • 채널 개인 데이터
    • 채널 구성원의 하위 집합간에 체인 코드 데이터를 기밀로 유지합니다.

    • 피어 기능에 대한 액세스 제어
    • 채널별로 피어 기능과 상호 작용할 수있는 클라이언트 ID를 구성 합니다.

    • 플러그 형 보증 및 검증
    • 체인 코드 당 플러그 형 보증 및 검증 로직을 활용합니다.

    • 서비스 검색
    • 주문자, 피어, 체인 코드 및 보증 정책을 포함한 네트워크 서비스를 동적으로 검색하여 클라이언트 애플리케이션을 단순화 합니다.

    1.1 릴리스 다음과 같은 새로운 주요 기능이 포함됩니다.

    • 블록 이벤트 서비스
    • 블록 거래 이벤트를위한 이벤트 서비스
    • CA의 인증서 해지 목록
    • CouchDB 인덱스의 피어 관리
    • 모든 구성 요소 간의 상호 TLS
    • 구성된 기능을 통한 롤링 업그레이드
    • Node.js 체인 코드 지원
    • Node.js SDK 연결 프로필
    • 체인 코드 용 암호화 라이브러리
    • 속성 기반 액세스 제어
    • 크리에이터 신원을위한 Chaincode API
    • 성능 개선