Hyperledger Whitepaper(하이퍼레저 백서)

Abstract(추상)

이 백서에서는 새로운 블록 체인 플랫폼의 기본 원리를 이끌어내는 산업 사례를 설명하고 이러한 사례를 기반으로 기본 요구 사항과 고급 아키텍처를 간략하게 설명합니다. 여기에 제시된 디자인은 비즈니스에서 비즈니스 및 비즈니스에서 고객으로의 트랜잭션을 위한 프로토콜로서 Hyperledger 라고 불리는 이 진화하는 오픈 소스 블록 체인 플랫폼을 설명합니다. Hyperledger는 경쟁 업체가 동일한 네트워크에서 함께 작업할 때 발생하는 다양한 요구 사항을 지원하면서 규정 준수를 허용합니다. 이 명세서의 핵심 요소(아래에서 설명함)는 스마트 계약, 디지털 자산, 레코드 저장소, 분산된 합의 기반 네트워크 및 암호화 보안입니다. 이러한 블록 체인 스테이플에 추가된 항목은 성능, 확인된 ID, 개인 및 기밀 트랜잭션 및 플러그 가능한 컨센서스 모델에 대한 산업 요구 사항입니다.

Background(배경)

Blockchain 은 금융, 공급망 및 기타 거래 네트워크를 근본적으로 개선하여 혁신과 성장을 위한 새로운 기회를 창출하고 관련 비즈니스 운영의 비용과 위험을 줄이는 신흥 기술 패턴입니다. 2009년부터 트랜잭션 도메인에서 Bitcoin이 급속하게 출현함에 따라 많은 기업 및 산업계에서는 대중적이면서도 논쟁의 여지가있는 cryptocurrency를 지원하는 기반 기술을 조사하는 데 상당한 자원을 투자했습니다.

Blockchain은 자산을 효율적으로 안전하게 발행, 교역, 관리 및 서비스 할 수 있는 능력으로 인해 금융 업계에서 처음으로 주목을 받던 피어 투 피어 분산 원장 기술입니다. 분산 원장은 생태계의 모든 구성원이 자체 원장 시스템을 유지하고 조정할 필요가있는 SoR (System of Records) 세계와 현저한 대조를 이루는 중앙 통제 지점을 필요로하지 않고도 비용 효율적인 비즈니스 네트워크를 쉽게 만들 수 있습니다. 비효율적이며 비용이 많이 소요되며 종종 표준화되지 않은 조직 간 작업 흐름에서 트랜잭션이 서로 업데이트됩니다.

공유 장부 개념이 비즈니스 세계에서 견인력을 얻음에 따라, 블록 체인 스마트 계약은 업계에서도 많은 주목을 받고 있습니다 [Eth]. 스마트 계약은 블록 체인에 배포되고 일련의 이해 관계자가 공동으로 공유하고 유효성을 검사하는 비즈니스 규칙 모음입니다. 스마트 계약은 모든 이해 관계자가 계약 규칙을 그룹으로 처리하고 유효성을 검증할 수 있게 하여 신뢰할 수 있는 방식으로 비즈니스 프로세스를 자동화할 수 있습니다.

Bitcoin 및 기타 크립토 통화는 완전히 개방되고 분산되며 무용지물이 되도록 설계되었습니다. 하나는 계산 사이클을 소비함으로써 기여해야합니다. Blockchain의 Bitcoin 모델에는 입학을 통제하는 중앙 권한이 없습니다. 이러한 네트워크는 무허가라고 불려 왔습니다. Bitcoin은 무수한 작업 증명 계산이 필요하기 때문에 작동하는 데 비용이 많이 듭니다[N09].

Hyperledger는 기존 블록 체인 모델보다 훨씬 유연한 합의 방식을 취합니다. 우리는 유스 케이스의 대부분(반드시 그런 것은 아님)이 cryptocurrencies가 직접적으로 지원하지 않는 허용된 블록 체인을 요구할 것으로 예상합니다. 그러나 허가된 블록 체인의 사용 사례 중 일부라도 다른 합의 알고리즘이 필요합니다. 예를 들어, 작고 신뢰할 수 있는 특정 블록 체인에 대해서는 라운드 로빈 컨센서스가 충분하지만 다른 블록 체인에는 Paxos 또는 PBFT 변형이 필요할 수 있습니다. 이러한 이유로 Hyperledger에는 모듈식 플러그 앤 플레이 컨센서스가 지원됩니다. 이러한 모듈성을 통해 Hyperledger는 ID, 감사 가능성 및 보안을 위한 안전하고 강력한 모델을 제공하여 계산주기를 절약하고 효율적으로 확장하고 다양한 엔터프라이즈 사용 사례 요구 사항에 대응할 수 있는 잠재력을 제공합니다.

Why a new blockchain?(왜 새로운 블록 체인인가?)

풋내기 기술로서, 기존 블록 체인 구현은  복잡한 비즈니스 트랜잭션 세계에 내재된 많은 요구 사항을 충족시키지 못했습니다.  확장성 문제와 기밀 및 개인 거래에 대한 지원 부족과 같은 여러 제한 사항으로 인해 업무상 중요한 여러 가지 응용 프로그램에서 이러한 기능을 사용할 수 없습니다. 플랫폼이 시간에 대한 탄력성과 산업 전반의 요구 사항을 지원하려면 다양한 구성 요소 (트랜잭션 유효성 검사기, 블록 컨센서스 등)의 구성 및 플러그 형을 통해 가볍고 모듈식이어야하며 확장성을 지원해야합니다. 현대 시장의 다양한 요구 사항을 충족시키기 위해 Hyperledger는 업계 중심의 다양한 유스 케이스에 맞게 설계되었으므로 기존 단점을 해결함으로써 현장에서 개척자의 작업을 확장할 수 있습니다.

Our vision(우리의 비젼)

Hyperledger에서는 블록 체인 기술의 미래 비전을 개발했습니다. Blockchain 기술은 상거래에서 데이터 저장 및 그 사이의 많은 것들에 이르기까지 온라인 삶의 여러 측면에 근본적으로 영향을 미칠 가능성이 있습니다. 이러한 생각을 염두에두고 블록 체인 / 분산 원장 기술에 대한 강력하고 효율적인 개방 표준을 마련하는 것이 중요하므로 이러한 기술을 주류 상업 채택으로 가져갈 수 있습니다.

우리는 미래가 많은 상호 연결된 분산 데이터베이스와 블록 체인을 가진 세계를 포함할 것이며, 각각은 사용자의 목적에 맞게 특수화 될 것이지만 다른 원장과의 통신이 필요할 수도 있다고 생각합니다.

따라서 블록 체인 기술에 대한 공개 표준은 최대한 모듈화되어야 한다고 생각합니다. 블록 체인의 다양한 구성 요소의 서로 다른 버전을 개발자의 의지에 따라 교환할 수 있도록 빌드해야합니다. 예를 들어, 일부 블록 체인 유스 케이스는 많은 신뢰를 필요로 하는 빠른 합의 알고리즘을 필요로하고, 다른 유스 케이스는보다 적은 속도와 더 적은 신뢰를 요구할 수 있습니다. 암호화 알고리즘, 스마트 계약 및 데이터베이스 스토리지는 “플러그 앤 플레이”해야한다고 생각하는 다른 기능입니다.

모듈성의 다른 중요한 면은 외부 개발을 용이하게 한다는 것입니다. 회사가 Hyperledger의 일부 모듈을 개선할 수 있다면, 회사는 이를 구축하고 원하는 대로 배포할 수 있어야 합니다. 실제로 회사나 개인은 Hyperledger에 적합하거나 Hyperledger와 상호 작용하는 모듈의 전체 모음(함께 사용하거나 다른 Hyperledger 구성 요소와 “플러그 앤 플레이”해야 할 수 있음)을 구축할 수 있어야 합니다. 본질적으로 Hyperledger 핵심 구성 요소를 사용하지 않고 여전히 Hyperledger 프레임 워크에 상주하는 블록 체인을 구축할 수 있어야합니다.

Hyperledger에 대한 우리의 장기적인 비전은 쉽게 개발하고 상호 운용할 수 있는 수많은 핵심 모듈과 함께 풍부하고 사용하기 쉬운 API를 포함하고 있다는 것입니다. 핵심 Hyperledger 모듈이 가능한 한 많은 유스 케이스를 만족시킬 수 있기를 원하지만 Hyperledger 코어가 모든 가능한 업계의 사용 사례를 처리 할 수는 없다는 것을 알고 있습니다. 그러나 API가 Hyperledger 코어 외부의 사용 사례용으로 구축된 블록 체인을 사용하여 핵심 Hyperledger 구성 요소 및 블록 체인과 쉽게 상호 작용할 수 있도록 충분히 유연한 경우여야 합니다.

Hyperledger 및 블록 체인 기술이 일반적으로 사용될 미래의 모든 방법을 상상할 수는 없습니다. 따라서 Hyperledger는 이러한 미래의 알려지지 않은 개발을 수용하기 위해 최대한 모듈화되고 확장 가능하도록 설계되었습니다. 또한 Hyperledger의 모듈성은 가능한 한 많은 사람들이 Hyperledger에서 작업할 수 있도록 해야합니다. 이러한 모듈성으로 인해 블록 체인과 관련된 새로운 기술을 발명하거나 개발하는 사람들은 Hyperledger에 통합하거나 사용하기가 쉽고 쉽지 않을 것입니다.  

블록 체인 플랫폼의 기본 요구 사항 중 하나는 권한이 없는 당사자가 장부를 검사하여 네트워크의 모든 당사자의 신원 및 트랜잭션 패턴을 확인해야 한다는 것입니다. 또한 블록 체인 사용자가 거래의 특정 비즈니스 로직 및 / 또는 기타 매개 변수를 기밀로 유지하여 계약의 이해 당사자 또는 양도 대상이 아닌 다른 사람이 액세스 할 수 없게 하는 요구 사항이 있을 것으로 예상합니다.

Hyperledger는 핵심 프로토콜 위에 쉽게 구현되는 다양한 응용 프로그램에 대한 지원을 제공해야합니다. 이를 위해서는 광범위한 트랜잭션 의미론, 암호화 알고리즘, 합의 메커니즘 및 데이터베이스 저장소 프로토콜에 대한 지원이 필요 합니다. 예를 들어, Hyperledger는 암호학적으로, 단순하고 빠른 대칭 암호화부터 복잡한 기능 암호화 및 특성 기반 서명에 이르기까지 모든 암호화, 서명 및 더 높은 기능의 암호화 방법을 포함해야한다고 생각합니다. 이러한 기본 기술 프리미티브는 보장 된 트랜잭션 최종성 및 감사 가능성의 정도와 같이 비즈니스 트랜잭션에 중요한 요소를 지원하도록 구성할 수 있어야합니다.

요약하면 Hyperledger는 블록 체인 소프트웨어를 만드는 데 관심이 있는 누구나 핵심 코드로 사용할 수 있는 사용하기 쉽고 기능이 뛰어나고 강력한 플랫폼이 되기를 바랍니다. Hyperledger는 모든 가능한 사용자 및 가능한 모든 유스 케이스에 대해 실제적인 고려 사항으로 인해 이상적인 기능에 미치지 못할 수도 있지만 가능한 한 Hyperledger를 이러한 이상에 가깝게 만드는 것이 우리의 목표입니다.

                                 그림 1 : 많은 블록 체인 네트워크의 세계

Industry use cases(업계 유스 케이스)

다음과 같은 추상 사용 사례 를 지원하는 데 필수적인 초기 블록 체인 요구 사항 집합을 컴파일했습니다. 이 사례는 Hyperledger의 전체 사용 사례 집합을 나타내지는 않지만 대신 Hyperledger의 기능 및 기능 중 일부를 보여주는 대표적인 샘플을 작성합니다.

(참고 : 여기에 있는 유스 케이스는 아키텍처 및 테스트 주도 개발을 안내하는 데 도움이되며, 진행중인 작업 중에는 컨텐트와 스택 순위가 지정된 우선 순위 모두에서 컨트 리뷰터가 동의하는 것이어야 합니다. 이 마크를 놓친다고 생각되면 변경을 제안하십시오. 추상 유스 케이스가 네 개 이상이고 세 개가 선호되는 경우 이상적입니다.)

Financial Asset depository(금융 자산 보관소)

금융 증권과 같은 자산은 블록 체인 네트워크에서 비 물질화 될 수 있어야 하므로 자산 유형의 모든 이해 관계자가 각 자산에 직접 액세스하여 중개 계층을 거치지 않고 거래를 시작하고 자산에 대한 정보를 얻을 수 있습니다. 거래는 필요한 경우 거의 실시간을 포함하여 이해 관계자 간에 합의된 시간 내에 이루어질 수 있으며 모든 이해 관계자는 거의 실시간으로 자산 정보에 액세스 할 수 있어야 합니다. 이해 관계자는 특정 자산 유형에 비즈니스 규칙을 추가할 수 있어야 하므로 자동화 논리를 구현하여 운영 비용을 절감 할 수 있습니다. 자산의 창작자는 자산과 그 자산의 거래와 관련된 모든 규칙을 개인 및 기밀로 만들 수 있어야하며, 유스 케이스가 보증하는 대로 공개할 수 있습니다. 예를 들어, 제작자는 자산 보유자의 거래 내역 및 현재 잔액을 다른 자산 보유자가 사용할 수 없으며 제작자 자신도 사용할 수 없도록 자산을 생성 할 수 있어야합니다.

Corporate Action(기업 행동)

회사 A는 자발적인 기업 행동 이벤트를 발표합니다. 회사 A는 프로세스에 관련된 중개자의 수와 상관없이 실시간으로 주주에게 완전한 정보가 전달되도록해야합니다(예 : 수령 / 지불 대행 인, CSD, ICSD, 지역 / 글로벌 보관 은행, 자산 관리 회사 등). 주주가 결정을 내리면 그 결정은 실시간으로 (기업 행동 사건의 일부인 경우 새로운 주식 발행을 포함하여) 처리되고 해결될 것입니다. 필요한 경우 투자자의 반응은 기밀로 유지되어 자신의 행동에 따라 강제 또는 응보를 두려워하지 않고 장점에 따라 결정을 내릴 수 있습니다.

Supply chain(공급망)

블록 체인 플랫폼은 공급망 네트워크의 모든 참가자가 원자재의 투입 및 추적, 원격 측정 장비 제조 기록, 선적을 통한 제품의 출처 추적, 생산 및 저장의 모든 측면에 대한 불변의 기록을 유지할 수 있는 수단을 제공해야합니다. 완성품을 판매 후까지 판매합니다. 이전에 설명한 비즈니스 계약과 자산 보관 패턴을 모두 사용하는 것 외에도 이 사례는 많은 트랜잭션 계층을 통해 거꾸로 검색 가능성을 제공해야할 필요성을 강조합니다. 이 요구 사항은 다른 구성 품목으로 제조된 제조 제품에 대한 출처를 설정하는 핵심입니다.

Master Data Management(마스터 데이터 관리)

일반적으로 비 트랜잭션 비즈니스 정보인 마스터 데이터는 많은 산업에서 핵심적이고 기본적인 구성 요소입니다. 이 핵심 데이터에 대한 한 가지 버전의 진실을 가지고, 승인된 당사자가 변경 사항을 제출할 수 있고 지정된 유효성 검사자가 이러한 변경 사항을 수락하면 많은 데이터 품질 및 무결성 문제를 해결할 수 있습니다.

Sharing Economy and Internet of Things(경제와 인터넷 공유)

공유 경제는 스마트 도시, 연결된 집, 자동차, 운송, 건강 관리, 소매, 건설, 교육 및 피트니스를 포함한 많은 산업 분야에서 새로운 유형의 수입을 창출합니다.

그러나 거래하면서 개인, 조직 및 규제 기관은 항상 서로를 신뢰하지는 않습니다. 올바르게 구현된 분산 블록 체인 원장 기술은 다양한 당사자 간에 존재하는 많은 신뢰 문제를 해결하는 데 도움이됩니다.

많은 거래가 처리되어야하며 자산의 상태가 거의 실시간으로 접근 가능해야합니다.Hyperledger의 많은 배포에서는 유연한 배포 모델, 플러그 가능한 합의, 개인 거래 및 기밀 계약이 중요합니다.

사용 사례 및 요구 사항에 대한 자세한 내용을 확인하고 이러한 유스 케이스를 블록 체인 기반 시스템에 연결 하는 방법을 시각화 하려면 여기를 클릭 하십시오.

다음으로 Hyperledger의 주요 요구 사항 중 일부를 설명합니다. 이러한 요구 사항으로 인해 Hyperledger의 제안 된 사용 사례 및 비즈니스 응용 프로그램이 많이 허용되지만 Hyperledger는 여기서 설명한 것보다 더 많은 기능을 제공할 것으로 기대합니다.  

Hyperledger의 첫 번째, 그리고 아마도 가장 중요한 요구 사항은 모듈형 구조입니다. 우리가 반복해서 말했듯이, 서로 다른 응용 프로그램은 잠재적으로 매우 다른 암호화 알고리즘, 합의 알고리즘 및 데이터베이스 저장소를 필요로합니다. 그러나 이를 염두에 두고 우리는 많은 일반적인 응용 프로그램에 유용할 몇 가지보다 구체적인 요구 사항을 자세히 설명합니다.

Private Transactions and Confidential Contracts(개인 거래 및 기밀 계약)

Hyperledger는 궁극적으로 원하는 다양한 기밀성 및 개인 정보를 사용할 수 있도록 다양한 암호화 도구와 접근 방식을 지원해야합니다. 신원 정보, 거래 특성, 스마트 계약 상태 등을 위해 정보를 선별적으로 공개하는 다양한 도구가 제공되어야합니다. 이러한 도구는 개인 정보 속성을 손상시키지 않아야합니다.

일부 유스 케이스 (예 : IoT)는 일부 재정적 유스 케이스에 적합하지 않을 수도 있는 성능을 위해 최적화된 기본 기밀 기능을 필요로 합니다. 암호 및 합의 알고리즘은 성능을 위해 최적화된 기본 기밀 기능과 복잡하고 맞춤형인 암호 요구 사항을 위한 정교한 알고리즘을 모두 처리해야합니다.

Identity and Auditability(신원 및 감사 가능성)

개인 트랜잭션 및 기밀 트랜잭션의 존재 외에도 성숙한 공개 키 인프라 (PKI)를 기반으로 하는 정체성 및 감사 가능성에 대한 잘 검사된 개념은 암호화 알고리즘을 완료하고 Hyperledger에서 완벽하게 구현된 기밀성을 허용합니다.

하이퍼레저는 사용자 및 해당 블록 체인의 관련 엔터티에 현재 액세스 및 신원을 제공하는 PKI의 순수한 존재 외에도 이러한 ID에 대한 이해하기 쉽고 불변의 문서화 / 기록화를 지원할 수있는 기능을 제공해야합니다(모든 기밀성 요구 사항 포함). 이것은 소유권 변경, 문서 변경에 대한 감사 추적 등을 둘러싼 유스 케이스를 구현할 수 있기 위해 필요합니다.

긍정적인 정체성 외에도, Hyperledger는 사용자에게 특정 상황에서 자신의 신분을 숨기고 필요할 때만 증명할 수있는 기능을 제공하는 것도 중요합니다. 이것은 물론 전통적인 정체성의 개념을 넘어서는 것입니다.  

또한 이 유연한 PKI를 통해 사용자는 특정 맞춤 요구 사항에 따라 암호화 측정 강도를 조정할 수 있습니다.

Interoperability(상호 운용성)

느슨하게 결합된 많은 네트워크의 세계에서 개별 네트워크는 각각의 네트워크가 어떻게 작동하는지를 알 필요가 없습니다. 그러나 이러한 개별 네트워크는 오류나 오해없이 메시지를 안정적으로 교환하기에 충분한 공통 토대를 가질 필요가 있습니다. 특히 향후 블록 체인 기술이 널리 보급되면서 다양한 블록 체인의 병행성을 고려해야합니다. 많은 유스 케이스가 여러 블록 체인에 걸쳐있을 가능성이 높습니다.

다양한 블록 체인 네트워크 구현의 차이점과 그 변화하는 동적 특성으로 인해 매우 다양한 특수화된 구현이 가능할 수 있습니다. 간접 원장 통신에 대한 표준화된 표준은 많은 네트워크에서 공통 언어로 이를 생성하는 데 많은 도움이 될 것입니다.

따라서 상호 운용성은 블록 체인 기술의 설계 및 구현의 차이점에도 불구하고 서비스가 서로 상호 작용할 수 있을 때 진정으로 발생합니다. 이는 둘 이상의 시스템 또는 구성 요소가 정보를 교환하고 교환된 정보를 사용하는 능력에 의해 정의됩니다. 업계 및 유스 케이스 전반에 걸쳐 Hyperledger의 광범위한 사용 가능성을 고려하기 위해 두 개 이상의 블록 체인 간의 상호 운용성을 허용하는 기능 / 프로토콜을 사용할 수 있습니다.

Portability(이식성)

Hyperledger 프로젝트는 핵심 구성 요소의 인터페이스에서 부가 가치 시스템을 추상화하여 이식성을 실현합니다. 예를 들어 스마트 계약은 다른 변경 작업없이 한 배포에서 다른 배포로 이동할 수 있습니다.

응용 프로그램, 확장 기능 개발을 위한 API 라이브러리 및 GUI[1]와 같은 부가 가치 시스템의 이식성은 궁극적으로 Hyperledger 프로젝트의 여러 버전, 구현 및 배포 전반에 걸쳐 이러한 부가가치 시스템의 적용을 보장합니다.

인프라 레벨에서의 이식성은 결국 많은 이질적인 컴퓨팅 플랫폼 및 네트워크 환경에서 Hyperledger 프로젝트가 동일한 방식으로 작동함을 보장합니다. 이는 실제로 대규모 블록 체인 네트워크를 실행하는 데 필수적입니다.

Architecture(건축물)

아래의 그림 2는  ID 서비스, 정책 서비스, 블록 체인 및 스마트 계약의 네 가지 범주로 정렬된 Hyperledger 참조 아키텍처를 보여줍니다. 이 범주는 구성 요소를 별도의 프로세스, 주소 공간 또는 (가상) 시스템으로 분할하는 것을 나타내는 물리적인 구조가 아닌 논리적 구조입니다.

신원 서비스는 개체, 참가자 및 자산 및 스마트 계약과 같은 원장 개체의 신원을 관리합니다.

정책 서비스는 액세스 제어, 개인 정보 보호, 컨소시엄 규칙, 합의 규칙 등을 관리합니다.

블록 체인 서비스는 피어 투 피어 통신 프로토콜을 통해 분산 원장을 관리합니다. 데이터 구조는 많은 참가자들에게 복제된 세계 상태를 유지하기 위한 효율적인 계획을 제공하도록 최적화되어 있습니다. 강력한 일관성을 보장하는 서로 다른 합의 알고리즘 (BFT의 오작동을 견뎌내며, 내결함성을 통한 지연 및 장애를 용인하거나 작업 증명으로 검열을 견뎌내는 것)은 배치마다 플러그인되고 구성될 수 있습니다.

스마트 계약 서비스는 유효성을 검사하는 노드에서 스마트 계약 실행을 샌드 박스에 안전하게 보호하는 경량의 방법입니다.  환경은 서명 기본 이미지 세트와 “아래로 잠겨”및 보안 컨테이너입니다.

Identity Services(신원 서비스)

신원은 Hyperledger 프로토콜에 대한 보편적인 요구 사항입니다. 신원 서비스는 참여 조직, 유효성 검사기 및 거래자의 신원을 관리합니다. 자산 및 스마트 계약과 같이 원장에 포함된 오브젝트; 네트워크, 서버 및 실행 환경과 같은 시스템 구성 요소가 포함됩니다. 신원 서비스에는 오브젝트가 원장에서 수행하는 다양한 역할이 표현되어 있습니다.

Policy Services(정책 서비스)

정책 서비스 기능을 사용하면 시스템 정책을 구성하고 관리할 수 ​​있습니다. 여기에는 출입 통제 및 승인 권한, 회원의 탑승 및 승차 규정, 신원 등록 및 확인 정책, 개인 정보 보호, 기밀 유지 및 책임 정책 및 합의 정책에 대한 합의된 정관 및 규칙을 성문화하는 컨소시엄 정책이 포함됩니다.

BLOCKCHAIN(블록 체인)

블록 체인 서비스는 피어 – 투 – 피어 (P2P) 프로토콜, 분산 원장 및 합의 관리자의 세 가지 핵심 구성 요소로 이루어져 있습니다.

P2P 프로토콜은 단일 연결을 통해 양방향 스트리밍, 흐름 제어 및 멀티플렉싱 요청을 비롯한 다양한 기능을 제공합니다. 가장 중요한 점은 방화벽, 프록시 및 보안을 비롯한 기존 인터넷 인프라와 함께 작동한다는 것입니다. 이 구성 요소는 지점 간 (point-to-point)에서 멀티 캐스트까지 피어 노드가 사용하는 메시지를 정의합니다.

Distributed Ledger(분산 원장)는 트랜잭션을 처리 및 유효성 검사하고 원장 오브젝트의 상태를 업데이트 및 유지 관리하여 블록 체인 및 세계 상태를 관리합니다. Distributed Ledger는 다음과 같이 필수적이며 기능 외적인 측면도 제공합니다.

  • 각 블록 이후 전체 데이터 세트의 암호화 해시를 효율적으로 계산합니다.
  • 피어가 동기화되어 있지 않아 “따라 잡을 필요가 있을 때” 최소한의 “델타”의 변경 사항을 데이터 집합에 효율적으로 전송합니다.
  • 각 피어가 작동하는 데 필요한 저장된 데이터의 양을 최소화하십시오.

분산 원장은 데이터 저장소를 사용하여 데이터 집합을 유지하고 세 가지 특성을 충족하는 상태를 나타내는 내부 데이터 구조를 작성합니다. 대용량 파일(문서 등)은 장부가 아닌 오프 체인 저장소에 저장됩니다. 그들의 해시는 파일의 무결성을 유지하는 데 필요한 트랜잭션의 일부로 체인에 저장할 수 있습니다.

컨센서스 모듈은 유효성 확인 및 합의 정책에 따라 제안된 블록에서 모든 거래의 정확성을 확인하는 책임이 있습니다. 합의 함수는 블록의 트랜잭션 순서 및 정확성에 대한 합의 (네트워크상의 노드 간)를 달성합니다. 이 함수는 트랜잭션의 정확성을 검증하기 위해 스마트 계약 모듈에 인터페이스하고 스마트 계약 모듈에 의존합니다.

모듈형 플러그 가능한 합의 기능을 지원함으로써 Hyperledger는 특정 위협 / 보안 모델을 위해 설계된 여러 유형의 합의 모듈 구성을 지원합니다.

Smart-Contract(스마트 계약)

이전 섹션에서 정의한대로 스마트 계약은 유효성을 검사하는 노드에서 실행되는 분산 트랜잭션 프로그램입니다.

스마트 계약 서비스에는 안전한 런타임 환경, 스마트 계약 레지스트리 및 라이프 사이클 관리가 포함됩니다.

Application programming interface(응용 프로그래밍 인터페이스)

사용하기 쉽고 유연한 API는 Hyperledger의 초석 중 하나입니다. Hyperledger의 각 모듈 유형에는 명확하고 잘 정의된 API가 있으므로 Hyperledger 알고리즘을 가능한 “플러그 앤 플레이”방식으로 사용할 수 있습니다. 예를 들어, 사람들이 코드의 다른 부분에 영향을 주지 않으면서 콘센서스 알고리즘을 쉽게 교체할 수 있도록 하는 합의 알고리즘 API가 있습니다. Hyperledger가 사람들이 개발한 많은 유스 케이스를 지원하려면 잘 정의된 API가 필수적입니다.

또한 모듈 간 통신을 위해 설계되지 않은 외부 API는 매우 유용하게 설계되어 비교적 익숙하지 않은 개발자가 너무 많은 문제없이 Hyperledger 위에 코드를 작성할 수 있습니다. 완전히 별개의 API, 현명한 계약 모델 및 합의는 생태계 참가자가 기여할 수 있는 기반을 마련할 것입니다. 이것은 궁극적으로 생태계의 급속한 성장을 가능하게 할 것입니다.

Network Topology(네트워크 토폴로지)

Hyperledger의 네트워크 토폴로지는 원칙적으로 매우 다양할 수 있습니다. 특히 참가자는 클라우드 서비스를 사용하여 노드의 유효성 검사를 포함하여 모든 종류의 피어 노드를 호스팅하거나 이러한 노드를 직접 실행할 수 있습니다. 그러나 Hyperledger는 근본적인 네트워크 구조에 대해 독립적인 방식으로 실행되므로 노드 뒤에 있는 하드웨어를 실제로 실행하는 사람은 별로 중요하지 않습니다. 그러나 클라우드가 노드를 호스팅하는 경우 악의적인 클라우드 서버가 비밀 정보를 손상시키지 않도록 주의해야합니다. 따라서 이 경우보다 강력한 암호화 솔루션을 사용해야 할 수도 있습니다.

일부 Hyperledger 배포는 네트워크의 노드 간 통신 대기 시간과 관련하여 큰 변동성을 경험하게 됩니다. 배포를 계획할 때 네트워크 장애, 노드 장애, 전반적인 네트워크 탄력성 및 복구 가능성을 요구 사항에 포함시켜야합니다.

Conclusion(결론)

Hyperledger의 사명은 블록 체인 기술의 주류 산업 채택을 가능하게 하는 것입니다. 업계 리더와 기술 전도사가 제공하는 블록 체인 솔루션 및 청문회 사례를 검토한 결과, 블록 체인은 많은 산업과 비즈니스에 혁명을 일으킬 수 있는 매우 중요한 기술 패턴이 될 것이라고 확신합니다.

우리는 업계에서 효율적이고 확장성이 뛰어난 비즈니스용 블록 체인 플랫폼을 긴급하게 요구하고 있으며 개인 정보 보호 및 기밀 유지를 위한 엔터프라이즈 급 지원을 제공하고 있음을 확인했습니다. 우리는 또한 여러 가지 카테고리의 유스 케이스를 발견했습니다. 각각의 유스 케이스는 서로 다른 기본 블록 체인 구현을 필요로 할 수 있습니다.

블록 체인 기술의 잠재력을 완전히 인식하고 다양한 용도로 채택 할 수있는 표준을 만들기 위해 Hyperledger 플랫폼은 유연하고 확장 가능 하도록 설계되었습니다.

Glossary(어휘)

Roles & Participants(역할 및 참가자)

Roles(역할)

용어설명
Chain Transactor(체인 트랜젝터)트랜잭션을 생성하고 네트워크 데이터를 쿼리할 수 있는 권한이 있는 개체.
Chain Validator(체인 밸리데이터)체인 네트워크의 스테이크를 소유한 개체. 각 체인 유효성 검사기는 트랜잭션이 유효한지 여부를 결정할 때 음성을 사용하므로 체인 유효성 검사기는 체인으로 보낸 모든 트랜잭션을 조사할 수 있습니다.

Types of Network(네트워크 유형)

Permissioned vs. Non-permissioned(허가된 사용자 vs 허가되지 않은 사용자)

용어설명
Permissioned Network(허가된 네트워크)식별 가능하고 검증 가능한 사업체 그룹이 집단적으로 소유하고 운영하는 블록 체인 네트워크.
Non-permissioned Network(허가되지 않은 네트워크)식별 가능한 소유 구조가 없는 블록 체인 네트워크로 식별이 가능하거나 그렇지 않을 수 있는 참가자 커뮤니티에 의해 운영됩니다.

Types of Chains(체인의 종류)

용어설명
Standard Chain(표준 체인)많은 참가자와 블록 체인 네트워크; 각 체인은 조직 / 사업체 그룹에 의해 검증된 하나 또는 여러 개의 애플리케이션 / 솔루션을 운영합니다.
Confidential Chain(기밀 체인)계약 이해 관계자만 액세스할 수 있는 기밀 비즈니스 로직을 실행하기 위해 만든 특수 목적 체인.

Transactions(거래)

Types of Transactions(거래 유형)

용어설명
Deployment Transaction(배포 트랜잭션)체인에 새로운 스마트 계약을 전개하는 트랜잭션.
Invocation Transaction(호출 트랜잭션)스마트 계약에서 함수를 호출하는 트랜잭션.

Confidentiality of Transactions(거래 기밀 유지)

용어설명
Public Transaction(공개 트랜잭션)열린 상태에서 페이로드가 있는 트랜잭션. 체인 네트워크에 액세스 할 수 있는 사람은 누구나 공개 거래의 세부 사항을 조사할 수 있습니다.
Confidential Transaction(기밀 트랜잭션)트랜잭션의 이해 관계자 외에 누구도 해당 콘텐츠를 조사할 수 없도록 암호가 숨겨진 페이로드가 있는 트랜잭션.
Confidential contract Transaction(기밀 계약 거래)유효성 검사기만 해독할 수 있도록 페이로드가 암호화된 트랜잭션. 스마트 계약 기밀성은 배포하는 동안 결정됩니다. 스마트 계약이 기밀 스마트 계약으로 배포된 경우 해당 스마트 계약에 대한 모든 후속 호출 트랜잭션의 페이로드가 암호화됩니다.

Inter-chain Transactions(체인 간 거래)

용어설명
Inter-Network Transaction(네트워크 간 거래)두 비즈니스 네트워크 간의 트랜잭션(표준 체인).
Inter-Chain Transaction(체인 간 거래)기밀 체인과 주 체인 간의 트랜잭션. 기밀 체인의 스마트 계약은 하나 또는 여러 개의 체인에서 트랜잭션을 트리거 할 수 있습니다.

Hyperledger Entities(하이퍼레저 엔티티)

Smart Contract(스마트 계약)

용어설명
Public Smart contract(공공 스마트 계약)공공 거래로 배포된 스마트 계약인 이 스마트 계약은 네트워크의 모든 구성원이 호출할 수 있습니다.
Confidential Smart contract(기밀 스마트 계약)기밀 거래로 배포된 스마트 계약인 이 스마트 계약은 네트워크의 구성원(체인 유효성 검사기)의 유효성 검사를 통해서만 호출할 수 있습니다.
Access Controlled Smart contract(액세스 제어 스마트 계약)승인된 인보커의 토큰을 포함하는 기밀 거래로 배포된 스마트 계약. 이러한 호출자는 유효성 검사자가 아니더라도 기밀 스마트 계약을 호출할 수 있습니다.

Ledger(원장)

용어설명
Smart contract-State(현명한 계약 상태)HPL은 주정부 지원을 제공합니다. 스마트 계약은 상태 API를 통해 내부 상태 저장소에 액세스합니다. 상태는 상태 액세스 논리를 사용하여 스마트 계약 함수를 호출하는 트랜잭션에 의해 작성되고 업데이트됩니다.
Transaction List(거래 목록)처리된 모든 트랜잭션은 원래 형식(기밀 트랜잭션에 대해 페이로드가 암호화 됨)으로 원장에 보관되므로 네트워크 참여자는 액세스 권한이 있는 과거 트랜잭션을 조회할 수 있습니다.
Ledger Hash(원장 해시)원장의 현재 스냅 샷을 캡처하는 해시입니다. 이것은 기원 거래 이후 네트워크에 의해 처리된 모든 유효성이 검증된 트랜잭션의 결과입니다.

Node(노드)

용어설명
DevOps Service(개발자 서비스)클라이언트가 자신의 노드 및 체인 네트워크와 상호 작용할 API를 제공하는 노드의 정면 모듈. 이 모듈은 또한 트랜잭션을 구성하고 구성원 서비스 구성 요소와 협력하여 모든 유형의 인증서와 암호화 키를 저장소에 저장합니다.
Node Service(노드 서비스)트랜잭션 처리, 스마트 계약 전개 및 실행, 원장 데이터 유지 보수 및 합의 프로세스 실행을 담당하는 노드의 기본 모듈.
Consensus(일치)Hyperledger 패브릭의 기본 컨센서스 알고리즘을 Sieve라고합니다.이것은 새로운 알고리즘으로, 노드가 비 결정적 트랜잭션을 식별하는 데 최선의 노력을 기울일 수 있도록 하는 “고전적” PBFT 메커니즘을 강화합니다.

References(참고 문헌)

  1. ↑ 그래픽 사용자 인터페이스(graphical user interface, GUI)

One thought on “Hyperledger Whitepaper(하이퍼레저 백서)

Leave a Reply

Your email address will not be published. Required fields are marked *

Bitnami