Hyperledger Besu – 오픈 소스 Hyperledger 공용 블록 체인

Hyperledger Besu에 대해 배우고 싶으십니까? 그렇다면 올바른 장소에 온 것입니다..

블록 체인의 세계는 흥미 진진한 프로젝트로 꽃을 피우고 있습니다. 블록 체인을 활용하고자하는 기업을위한 최고의 솔루션을 제공하는 것입니다..

Hyperledger는 가장 큰 DLT 프로젝트 중 하나입니다. 블록 체인 기술 발전에 최선의 노력을 기울이는 오픈 소스 협업입니다. 글로벌 노력으로 Linux Foundation은 기업이 전 세계적으로 따를 수있는 프레임 워크를 구축하고자합니다. 은행, 공급망, 제조, 금융 및 기술을 포함한 다양한 업종의 리더가 프로젝트에 참여하고 있습니다..

Hyperledger는 가장 인기있는 Hyperledger Fabric을 포함한 여러 프로젝트로 구성됩니다..

최근 Hyperledger 프로젝트 목록에 추가 된 새로운 오픈 소스 프로젝트 인 Hyperledger Besu를 만나보세요..

Hyperledger Besu는 무엇입니까?

Hyperledger Besu는 공식적으로 Hyperledger에 합류 한 최초의 퍼블릭 블록 체인 프로젝트입니다. 인수하기 전에는 ConsenSys의 판테온으로 알려져 있습니다. 새로운 회원은 8 월 8 일 컨소시엄 회원 가입을 위해 처음 제안되었습니다..

우리가 각각 IBM과 Intel이 지원하는 Hyperledger Fabric 및 Hyperledger Sawtooth를 포함하여 컨소시엄 내에 훌륭한 프로젝트가 있다는 점을 고려하면 이는 큰 진전입니다..

2019 년 8 월 29 일 Hyperledger Besu가 컨소시엄의 일부로 발표되었습니다. 허가 된 블록 체인 만 속한 Hyperledger의 대열에 합류 한 최초의 퍼블릭 블록 체인이라는 점을 고려할 때 큰 추가였습니다..

그래서, Hyperledger Besu는 무엇입니까?

Apache 2.0 라이선스로 개발 된 오픈 소스 Ethereum 클라이언트입니다. 또한 Java로 작성되었으며 Ethereum 공용 네트워크를 사용합니다. Besu를 작동시키는 데 사용되는 다른 핵심 기술로는 Gorli, Rinkeby 및 Ropsten이 있습니다..

합의 방식은 권한 증명 (Clique 및 IBFT 2.0)과 작업 증명 (Ethash)을 활용합니다..

올인 올로 기업이 사설 네트워크에서 확장 가능한 고성능 애플리케이션을 구축 할 수 있도록 해주는 훌륭한 솔루션입니다. 또한 권한 및 개인 정보 보호도 지원합니다..


이더 리움 클라이언트 란??

주의를 기울 였다면 이미 Besu를 Ethereum 클라이언트로 언급했다는 것을 알고 있습니다. 그렇다면 이더 리움 클라이언트는 무엇일까요? 살펴 보자.

이더 리움 클라이언트는 이더 리움 프로토콜을 구현하는 데 사용되는 소프트웨어입니다. 간단히 말해서 다음 작업을 수행하는 데 사용할 수 있습니다.

  • 이더 리움 블록 체인에서 트랜잭션 처리를위한 실행 환경 생성
  • 트랜잭션 실행 저장을 포함한 영구 데이터 저장
  • 노드 간 P2P (Peer-to-Peer) 네트워크 통신 활성화
  • 안전한 개발 및 블록 체인 상호 작용을위한 API 제공.

Hyperledger Besu로 무엇을 할 수 있습니까? Hyperledger Besu 사용 사례

Hyperledger Besu 블록 체인에 대한 더 나은 아이디어를 얻기 위해 Hyperledger Besu 네트워크를 사용하여 수행 할 수있는 작업을 알아 보겠습니다..

Besu에 대해 가장 먼저 눈에 띄는 것은 명령 줄 인터페이스입니다. 또한 JSON-RPC API를 제공합니다. 이 두 가지 모두 이더 리움 네트워크에서 노드를 모니터링, 디버그, 유지 관리 및 실행하는 데 사용할 수 있습니다..

요컨대, 이더 리움 네트워크가 할 수있는 것과 매우 유사한 일에 사용할 수 있습니다.

  • 분산 형 앱 (dApp) 개발
  • 스마트 계약 개발
  • 에테르 채굴

기술 지원과 관련하여 dApp 및 스마트 계약 개발을위한 공통 도구를 제공합니다. Remix, Truffle 및 web3j와 같은 도구를 지원합니다. 그러나 Besu 내에서 키 관리 지원을 찾지 못할 수도 있습니다. 이를 위해서는 완벽하게 작동하는 EthSigner를 사용하여 적절한 키 관리를위한 도구를 제공해야합니다. Hyperledger Besu 네트워크는 많은 Hyperledger Besu 사용 사례가 있음을 의미하는 엔터프라이즈 요구에 이상적입니다..

Besu 주요 기능 : Hyperledger Besu 작동 방식

이제 Hyperledger Besu 네트워크에 대한 이해가 더 강해 졌으므로 이제 기능에 대해 논의 할 차례입니다. 기능을 살펴보면 Hyperledger 컨소시엄의 중요한 구성원과 같이 Besu를 만드는 이유를 이해할 수 있습니다..

EEA (Enterprise Ethereum Alliance) 사양

→ EEA (Enterprise Ethereum Alliance) 사양을 구현합니다. 이 사양은 폐쇄 및 오픈 소스가 될 수있는 다른 이더 리움 프로젝트와 연결할 수 있도록합니다. 이 사양은 프로젝트가 공급 업체 종속 문제에 대해 걱정할 필요가 없도록하기 때문에 매우 중요합니다. 또한 원활한 애플리케이션 구축을위한 표준 인터페이스도 제공됩니다. Besu는 EEA와 잘 작동하며 엔터프라이즈 기능 제공에 성공합니다..

EVM (이더 리움 가상 머신)

EVM은 Hyperledger Besu 블록 체인의 핵심입니다. 튜링 완료입니다. 이더 리움 블록 체인 거래를 통한 스마트 계약 실행에 도움이됩니다..

합의 알고리즘

Hyperledger Besu는 합의 알고리즘과 관련하여 좋은 옵션을 제공합니다. 기본적으로 작업 증명 및 권한 증명 합의 알고리즘을 모두 지원합니다. 알고리즘은 이더 리움 네트워크에서 트랜잭션을 수행하는 데 사용됩니다..

작업 증명 → 작업 증명을 통해 채굴자는 이더 리움 메인 넷에서 채굴 활동을 할 수 있습니다. 목적을 위해 Ethash가 사용됩니다..

권한 증명 → 권한 증명의 경우 여러 PoA 프로토콜을받습니다. 모르는 경우 네트워크에 참여하는 노드간에 이미 설정된 신뢰가있는 경우에만 PoA가 작동합니다. 이것이 PoA 알고리즘이 허가 된 네트워크, 특히 기업에서 구현하는 네트워크에 이상적인 이유입니다..

  • 기본적으로 IBFT 2.0을 사용할 수 있습니다. 승인 된 계정은 블록 및 트랜잭션 유효성 검사를 처리합니다. 승인 된 계정을 검증 자라고합니다. 그런 다음 검증 자 그룹은 검증 인 추가 / 제거에 투표 할 수있는 권한의 실체 역할을합니다. 한 가지 제한은 IBFT 2.0은 포크를 허용하지 않으며 항상 단일 메인 체인이 있다는 것입니다..
  • Clique는 내결함성을 보장하는 보호 알고리즘입니다. 실패한 검증 자의 절반까지 허용 할 수 있습니다. IBFT 2.0의 경우 블록 생성 프로세스를 계속하려면 최소 2/3의 유효성 검사기를 실행해야합니다..

저장

Hyperledger Besu 네트워크는 스토리지 지원을 제공 할 때 유연합니다. 다른 블록 체인 솔루션과 마찬가지로 키-값 접근 방식도 활용합니다. 기본적으로 RocksDB 키-값 데이터베이스를 사용합니다. 데이터 지속성을 제공하는 데 도움이됩니다. 그러나 저장된 데이터는 두 개의 하위 범주로 나눌 수 있습니다..

블록 체인

→ 블록 헤더는 체인을 형성하는 데 사용됩니다. 블록 헤더 내의 정보는 암호화 방식으로 블록 체인 상태를 확인하는 데 사용됩니다..

→ 반면에 블록 바디는 각 블록에 대한 주문 트랜잭션 목록을 포함합니다.

→ 거래 실행 메타 데이터는 거래 영수증에 저장됩니다..

세계 상태

→ stateRoot 해시는 모든 블록 헤더에서 세계 상태를 참조하는 데 사용됩니다..

→ 주소에 대한 계정 매핑

→ 이더 잔액은 외부 소유 계정에 저장됩니다.

→ 스마트 계약에는 코드와 저장소가 포함됩니다.

P2P 네트워킹

P2P 네트워킹과 관련하여 Besu는 devp2p Ethereum 네트워크 프로토콜을 구현합니다. 이 프로토콜은 클라이언트 간 통신을 보장합니다. 또한 추가 IBFT2 하위 프로토콜로 작동합니다. 검색은 인터넷 네트워크와 유사한 UDP 기반 프로토콜을 사용하여 이루어집니다. 통신을 위해 TCP 기반 프로토콜 인 RLPx를 사용합니다. 반면 RLPx는 ETH Wire Protocol (트랜잭션 상태 동기화 용) 및 IBF 하위 프로토콜 (합의 결정 용)을 포함한 다양한 하위 프로토콜을 사용합니다.

사용자 지향 API

Besu는 우수한 API와 함께 제공됩니다. HTTP 및 WebSocket 프로토콜을 통해 제공하는 API에는 EEA JSON-RPC API 및 메인 넷 Ethereum API가 포함됩니다. GraphQL API도 지원합니다..

모니터링

Hyperledger Besu 블록 체인은 네트워크 및 노드 성능 모니터를 포함한 모니터링 기능을 지원합니다. Prometheus는 노드 성능을 모니터링하는 데 사용됩니다. 또한 JSON-RPC API 메서드를 debug_metrics에 사용할 수 있습니다..

네트워크 성능과 관련하여 EthStats Network Monitor 또는 Block Explorer를 포함한 Alethi 도구가 사용됩니다..

은둔

개인 정보 보호를 위해 Besu는 개인 거래 관리자를 제공합니다. 거래에 관련된 당사자가 신원 도용이나 정보 유출에 대해 걱정할 필요가 없도록합니다..

허가

마지막으로 참여가 허용 된 노드 만 확인하는 적절한 권한 관리를 제공합니다..

Hyperledger Besu 아키텍처

Hyperledger Besu 아키텍처는 간단하고 효과적입니다. 기능 섹션에서 모든 주요 구성 요소에 대해 논의했습니다..

Hyperledger Besu 아키텍처

Besu의 핵심 세 가지 핵심 구성 요소는 다음과 같습니다..

  • 저장
  • 이더 리움 코어
  • 네트워킹

먼저 이더 리움 코어에 대해 논의하겠습니다. 핵심은 Ethereum Virtual Machine (EVM)으로 구성됩니다. 모든 거래 실행에 대한 책임이 있습니다. EVM 위에 EVM이 효율적이고 효과적으로 작동하도록 도와주는 Tx 프로세서가 있습니다..

합의 방법은 이더 리움 코어의 일부이기도합니다. 여기에는 PoW, Clique 및 IBFT2를 포함한 합의 방법이 있습니다. 이더 리움 코어의 다른 두 가지 주요 구성 요소는 다음과 같습니다.

  • 트랜잭션 풀 → 트랜잭션 풀은 트랜잭션 관련 정보를 저장합니다.
  • Synchronizer → 모든 노드와 네트워크 동기화 지원.

이상하게도 우리는 블록 체인과 세계 상태를 가지고 있습니다. World State는 계정 상태, 계정 저장소 및 코드 저장소로 구성됩니다..

마지막으로 Ethereum devp2p 프로토콜을 사용하여 운영되는 네트워킹이 있습니다. 네 가지 주요 구성 요소는 다음과 같습니다.

  • 발견
  • RLPx
  • ETH 하위 프로토콜
  • IBF 하위 프로토콜

Besu에 대한 시스템 요구 사항

Hyperledger Besu 블록 체인은 시스템 요구 사항과 관련하여 매우 유연합니다. 네트워크는 본질적으로 세계 상태 크기, 트랜잭션 수, 블록 가스 제한 및 쿼리 복잡성을 포함하여 동적 일 수 있으므로 시스템 요구 사항이 많이 달라질 수 있습니다..

그러나 대부분의 경우 다음이 필요합니다..

  • 4GB RAM. Ethereum Mainnet을 실행하기로 결정했다면 8GB의 RAM이 필요합니다
  • 디스크 공간 측면에서 이더 리움 메인 넷으로 작업하는 동안 전체 동기화를 위해 최소 3TB가 필요합니다.

여전히 혼란 스러우면 Prometheus를 사용하여 노드를 모니터링하여 정확한 디스크 및 CPU 요구 사항을 파악해야합니다. 또한 Grafana 대시 보드는 Besu와 함께 작동하므로 쉽게 모니터링 할 수 있습니다..

Hyperledger Besu 로드맵

2018 년 10 월부터 오픈 소스 화 되었기 때문에 이제 누구나 기여할 수 있습니다. Hyperledger Besu의 로드맵은 흥미로워 보입니다. 아래는 그들이 목표로하는 주요 로드맵 마일스톤입니다..

→ 개인 정보 그룹 구축, 계정 허가, 허가 UI, 이스탄불 네트워크 업그레이드

: Hyperledger Besu 1.2, 2019 년 7 월 31 일

→ 스트림 지원, IBFT에 대한 사용자 지정 모니터링, 권한 거버넌스 : Hyperledger Besu 1.3, 2019 년 10 월 7 일

→ 멀티 이더 리움 네트워크 클라이언트, 크로스 프라이버시 그룹, 고급 프라이버시 기능, 엔터프라이즈 통합, 이더 리움 2.0, 2020 년 초.

바이너리 배포판 설치, 소스에서 빌드 및 Besu 시작

이 섹션에서는 MacOS 및 기타 운영 체제에서 Besu를 설치, 빌드 및 시작하는 방법을 배웁니다..

바이너리 배포판 설치

Mac OS를 사용하는 경우 다음이 필요합니다. 홈브류 시작하려면 Java JDK를 사용하세요. 이전 Java 버전은 지원되지 않으므로 Java 11 이상도 필요합니다..

이제 다음 명령을 실행하여 Homebrew를 사용하여 설치하십시오..

양조 탭 하이퍼 레저 / 베수

양조 설치 besu

Besu가 성공적으로 설치되었는지 확인하려면 다음 명령으로 확인하십시오..

besu –help

Unix / Linux / Windows를 사용하는 경우 Besu를 다운로드해야합니다. 패키지 바이너리. 다운로드가 완료되면 파일의 압축을 풀고 besu- 디렉토리로 이동하십시오..

Besu가 올바르게 설치되었는지 확인하려면 besu –help 명령.

소스에서 빌드

소스에서 Besu를 빌드하려면 Besu 저장소를 복제해야합니다..

git clone – 재귀 https://github.com/hyperledger/besu.git

복제가 완료되면 다음 명령을 사용하여 테스트를 제거합니다.

./ gradlew 빌드 -x 테스트

이제 다음 명령을 사용하여 배포 디렉터리로 이동합니다.

cd 빌드 / 배포자 /

여기에서 다음 명령을 사용하여 배포 아카이브를 확장해야합니다..

tar -xzf besu-.tar.gz

파일이 확장 된 상태에서 이제 새 폴더로 이동하십시오..

cd besu- /

bin / besu –help

마지막 명령이 성공적으로 실행되면 소스에서 성공적으로 빌드 한 것입니다..

Windows의 경우 프로세스는 거의 동일합니다. 저장소 복제, 테스트 제거, 배포 디렉토리로 이동, 확장 한 다음 마지막으로 설치 성공 여부 확인으로 시작합니다..

Besu 시작

이제 Besu가 사전 설치되었으므로 이제 실행해야합니다. 시작하려면 다음 단계를 수행해야합니다..

  • 로컬 블록 데이터
  • Genesis 구성
  • 노드가 실행 중인지 확인
  • 테스트를 위해 노드 실행

첫 번째 단계는 로컬 블록 데이터를 설정하는 것입니다. 이전 네트워크에 연결 한 경우 로컬 블록 데이터를 제거해야합니다. –data-path 옵션을 구성하여 새 로컬 블록 데이터를 지정할 수도 있습니다..

besu / build / distribution / besu- 디렉터리에서 로컬 블록 데이터를 삭제할 수 있습니다. 거기에서 데이터베이스 디렉토리를 삭제하십시오.!

Mainnet, Goerli, Rinkeby 또는 Ropsten을 사용하는 경우 연결할 때 제네시스 구성이 지정됩니다..

또한 –network = dev 속성을 지정하여 빈 부트 노드로 제네시스 구성을 시작할 수 있습니다. 또한 고정 된 낮은 난이도로 제네시스 구성을 설정합니다..

노드가 실행 중인지 확인하려면 –rpc–http 사용 옵션을 사용해야합니다. 완료되면 cURL을 사용한 다음 JSON-RPC API 메서드를 호출합니다. 응답이 있으면 노드가 실행 중입니다..

마지막으로 테스트를 위해 노드를 실행하려면 다음 명령을 사용해야합니다.

besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-origins =”all”–host-whitelist =”*”–rpc-ws-enabled –rpc-http-enabled –data- 경로 = / tmp / tmpDatdir

Hyperledger Besu의 개인 정보

허가 된 네트워크는 개인 정보 보호 기능으로 유명합니다. Besu는 뛰어난 개인 정보 보호 옵션을 즉시 제공하므로 다르지 않습니다. Besu를 사용하면 EEA 준수 개인 정보 보호 또는 Besu-확장 된 개인 정보.

개인 정보 그룹을 만들고 관리하려면 이미 사용 가능한 JSON-RPC API 메서드를 사용할 수 있습니다. 이러한 방법을 사용하여 개인 정보 그룹을 만들고 관리 할 수 ​​있습니다.

  • priv_createPrivacyGroup
  • priv_findPrivacyGroup
  • priv_deletePrivacyGroup

거래와 관련하여 Besu는 제한된 거래 만 구현합니다. 이것은 개인 정보를 보장하고 거래를 개인 정보로 만들기 위해 수행됩니다.

트랜잭션은 특정 키 또는 임의의 키로 서명됩니다. 특정 키로 로그인하려면 Hyperledger Besu에서 사용할 수있는 –privacy-marker-transaction-signing-key-file을 사용해야합니다..

관심이 있다면 개인 거래 네트워크를 구성하는 방법에 대한 자세한 자습서를 확인할 수 있습니다. 여기. 자습서에서 Orion이 시작하기위한 전제 조건 중 하나임을 찾을 수 있습니다..

Hyperledger Besu에서 권한 부여

권한 부여는 모든 엔터프라이즈 블록 체인 프레임 워크의 중요한 부분입니다. 베 수도 마찬가지입니다. 모든 허가 된 네트워크는 특정 노드 만 허용한다는 아이디어를 둘러싸고 있습니다. 그들은 트랜잭션을 수행하거나 트랜잭션을 허용함으로써 네트워크에 참여하고 활성화합니다..

피어-투-피어 네트워크의 경우 권한 부여가 수행 될 수 있도록 노드에 규칙을 적용해야합니다. 분명히, 허가 된 네트워크가 활성화되기 전에 이미 신뢰 수준이 존재해야합니다. 여기에서 악의적 인 행위자가 최소한의 역할을 갖도록하려면 예방 조치를 취해야합니다. 예를 들어, 하나의 악의적 인 행위자는 네트워크의 의사 결정에 영향을 미칠 수 없습니다. 적절한 규칙과 규정은 악의적 인 행위를 적발 할 때 악의적 인 행위자를 식별하고 제거하는데도 도움이 될 수 있습니다..

노드 권한 외에도 더 많은 규칙과 규정을 적용하는 계정 권한 옵션도 있습니다. 계정 권한은 ID 요구 사항 및 온 보딩을 적용하는 데 사용할 수 있습니다. 또한 계정을 일시 중지하고, 위반 된 계약을 블랙리스트에 추가하고, 작업을 수행 할 때 계정을 제한하는 데 도움이됩니다..

Hyperledger Besu 블록 체인은 로컬 및 온 체인을 모두 제공합니다..

현지 허가 노드 수준에서 수행됩니다. 이를 구현하기 위해 권한 구성 파일이 사용됩니다. 권한은 로컬이므로 네트워크에 영향을주지 않습니다. 이것은 네트워크의 나머지 부분과는 독립적 인 노드 기능에 유용합니다. 또한 문제가 발생하면 노드를 보호해야합니다..

온 체인 허가, 반면에 스마트 계약 내에서 코딩됩니다. 온 체인 권한은 네트워크 전체에 적용되며 모든 노드가이를 읽고 업데이트 할 수 있습니다. 온 체인 권한은 조정을 통해서만 수정하거나 업데이트 할 수 있습니다. 또한 업데이트되면 네트워크 전체에 적용됩니다..

하이퍼 레저 베수

캡션 : 로컬 및 OnChain 허용 작동 방식

당신은 또한 따를 수 있습니다 이 가이드 Besu에서 허가 네트워크를 설정하는 방법을 알고.

언급할만한 다른 것들

Hyperledger Besu GitHub : Hyperledger Besu에 기여할 수 있다고 생각되면 Hyperledger Besu GitHub 저장소를 확인할 수 있습니다. 여기.

현재 Besu에 대한 최고의 Hyperledger 과정이 없기 때문에 사용자 문서를 확인할 수도 있습니다. 여기. 네트워크를 빠르게 시작하는 방법 또는 사설 네트워크를 만드는 방법에 대한 완전한 자습서가 있습니다..

결론

이것은 Hyperledger Besu 시작 안내서의 끝으로 이어집니다. 여기서 우리는 Besu에 대해 많은 것을 다루었습니다..

곧 Hyperledger Fabric과 Besu를 다룰 예정입니다. 그러니 저희 뉴스 레터 구독을 잊지 마세요.

또한 그것에 대해 어떻게 생각하십니까? 아래에 댓글을 달고 알려주세요..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map