
Hyperledger Besu는 Apache 2.0 라이센스 하에 Java로 개발된 오픈소스 Ethereum 클라이언트입니다. Linux Foundation Decentralized Trust 프로젝트의 일부로, 공용 및 개인 네트워크 모두에서 실행할 수 있습니다.
주요 특징
공식 링크
EVM은 이더리움 블록체인 내에서 스마트 계약을 배포하고 실행하는 데 사용되는 튜링 완전(Turing-complete) 가상 머신입니다.
튜링 완전성이란?
Besu의 EVM 구현
Besu는 노드 실행, 유지보수, 디버깅, 모니터링을 위한 커맨드라인 인터페이스와 JSON-RPC API를 포함합니다.
지원 API
eth: Ethereum 표준 메서드net: 네트워크 정보web3: Web3 유틸리티debug: 디버깅 도구miner: 마이닝 관련 기능통신 프로토콜
Besu는 Hardhat, Remix, web3j 등의 도구를 사용한 스마트 계약 및 dApp 개발, 배포를 지원합니다.
호환 도구
Besu의 클라이언트 아키텍처는 세 가지 주요 컴포넌트로 구성됩니다.
Besu는 RocksDB 키-값 데이터베이스를 사용하여 체인 데이터를 로컬에 저장합니다.
저장 데이터 유형
트랜잭션 처리와 블록 검증을 담당합니다.
Besu는 클라이언트 간 통신을 위해 Ethereum의 devp2p 네트워크 프로토콜을 구현합니다.
프로토콜
Besu는 모듈식 아키텍처로 구축되어 플러그인을 통한 확장이 용이합니다.
플러그인 지원
Besu는 다양한 합의 알고리즘을 지원하여 네트워크 요구사항에 맞는 선택이 가능합니다.
| 특성 | QBFT | IBFT 2.0 | Clique | Ethash | PoS |
|---|---|---|---|---|---|
| 유형 | PoA (BFT) | PoA (BFT) | PoA | PoW | PoS |
| 즉시 완결성 | ✓ | ✓ | ✗ | ✗ | ✓ |
| 최소 검증자 | 4 | 4 | 1 | - | - |
| 장애 허용성 | 2/3 | 2/3 | 1/2 | - | - |
| 포크 가능성 | 없음 | 없음 | 있음 | 있음 | 없음 |
| 네트워크 유형 | Private | Private | Private | Public | Public |
| 권장 사용 | Enterprise | Legacy | Test | Ethereum Classic | Mainnet |
QBFT는 ConsenSys와 JP Morgan이 개발한 엔터프라이즈급 합의 프로토콜로, 프라이빗 네트워크에 권장됩니다.
핵심 특징
검증자 요구사항
사용 사례
공식 문서: https://besu.hyperledger.org/private-networks/how-to/configure/consensus/qbft
IBFT 2.0은 기존 프라이빗 네트워크를 위해 지원되지만, QBFT가 권장되는 엔터프라이즈급 프로토콜입니다.
동작 원리
특징
공식 문서: https://besu.hyperledger.org/private-networks/how-to/configure/consensus/ibft
Clique는 QBFT와 IBFT 2.0보다 장애 허용성이 높으며, 최대 절반의 검증자 실패를 허용합니다.
핵심 특징
트레이드오프
사용 사례
공식 문서: https://besu.hyperledger.org/private-networks/how-to/configure/consensus/clique
합의 클라이언트와 함께 Besu를 사용하여 Ethereum Mainnet의 Proof of Stake에 연결하고 참여할 수 있습니다.
특징
Ethereum Classic에서 마이닝 활동에 사용되는 작업 증명(PoW) 알고리즘입니다.
특징
합의 프로토콜 선택 시 핵심 질문은 즉시 완결성이 필요한지 여부입니다.
의사결정 트리
즉시 완결성이 필요한가?
├─ YES → QBFT 또는 IBFT 2.0
│ └─ 기업급 기능 필요 → QBFT (권장)
│ └─ 기존 네트워크 → IBFT 2.0
└─ NO → Clique
└─ 테스트 환경
└─ 빠른 트랜잭션 처리
성능 고려사항
QBFT 네트워크는 성능 저하 없이 최대 14개의 검증자까지 확장 가능합니다.
Besu는 클라이언트 내부에서 키 관리를 지원하지 않습니다. EthSigner를 Besu와 함께 사용하여 키 저장소에 액세스하고 트랜잭션에 서명할 수 있습니다.
EthSigner는 dApp과 Ethereum 클라이언트의 JSON-RPC 인터페이스 사이에 위치하는 passthrough 서비스입니다.
주요 역할
┌─────────────┐
│ dApp │
└──────┬──────┘
│ JSON-RPC Request
▼
┌─────────────┐
│ EthSigner │ ← 키 저장소 (V3/Vault)
└──────┬──────┘
│ Signed Transaction
▼
┌─────────────┐
│ Besu │
└─────────────┘
besu --network=dev \
--miner-enabled \
--miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 \
--rpc-http-cors-origins="all" \
--host-allowlist="*" \
--rpc-http-enabled \
--rpc-http-port=8590 \
--data-path=/path/to/datadir
ethsigner --chain-id=2018 \
--downstream-http-port=8590 \
file-based-signer \
--key-file=/path/to/keyFile \
--password-file=/path/to/passwordFile
중요: EthSigner는 Chain ID가 설정된 네트워크에서만 작동합니다. Genesis 파일에 최소한 Spurious Dragon 마일스톤(eip158Block)이 포함되어 있어야 합니다.
공식 문서
은행과 금융 기관이 무역 금융, 결제 네트워크, 국경 간 결제 시스템을 구축할 수 있습니다.
활용 분야
제조업체, 소매업체, 물류 제공업체가 투명하고 감사 가능한 공급망을 생성할 수 있습니다.
주요 기능
민감한 환자 데이터와 의료 기록의 안전한 공유를 보장합니다.
활용 영역
Besu의 확장성, 낮은 지연 시간, 스마트 계약 기능으로 분산화되고 투명한 게임 내 경제를 구축할 수 있습니다.
적용 사례
활용 방안
정부 기관이 시민 서비스, 투표 시스템, 규제 준수 플랫폼을 위한 기관 간 네트워크를 구축할 수 있습니다.
적용 분야
국가 통화의 안전하고 효율적인 디지털화를 위한 확장 가능하고 상호 운용 가능한 플랫폼을 구축할 수 있습니다.
최소 사양
권장 사양
# Homebrew (macOS)
brew tap hyperledger/besu
brew install besu
# Docker
docker pull hyperledger/besu:latest
# 바이너리 다운로드
wget https://github.com/hyperledger/besu/releases/download/VERSION/besu-VERSION.tar.gz
개발 네트워크
besu --network=dev \
--miner-enabled \
--miner-coinbase=<YOUR_ADDRESS> \
--rpc-http-enabled \
--rpc-http-cors-origins="all" \
--host-allowlist="*"
메인넷 연결
besu --network=mainnet \
--rpc-http-enabled \
--sync-mode=FAST
프라이빗 네트워크
# Genesis 파일 생성
besu operator generate-blockchain-config \
--config-file=config.json \
--to=network \
--private-key-file-name=key
# 노드 시작
besu --genesis-file=network/genesis.json \
--data-path=data \
--rpc-http-enabled
Developer Quickstart 사용
git clone https://github.com/ConsenSys/quorum-dev-quickstart.git
cd quorum-dev-quickstart
npx quorum-dev-quickstart
이 도구는 자동으로:
Besu는 Prometheus 또는 debug_metrics JSON-RPC API 메서드를 사용하여 노드 성능을 모니터링할 수 있습니다.
도구
hyperledger-besu 태그Hyperledger Besu는 Apache License 2.0 하에 배포됩니다.
Apache 2.0 라이센스 특징
라이센스 전문: https://www.apache.org/licenses/LICENSE-2.0
Hyperledger Besu는 공용 및 프라이빗 블록체인 네트워크 모두에서 사용할 수 있는 강력하고 유연한 Ethereum 클라이언트입니다. 다양한 합의 알고리즘 지원, 엔터프라이즈급 기능, 그리고 활발한 커뮤니티를 통해 기업 블록체인 솔루션 구축에 이상적인 선택입니다.
Besu를 선택해야 하는 이유