라이트하우스
라이트하우스(Lighthouse)는 이더리움 2.0 소프트웨어 클라이언트이다. 미국의 블록체인 개발업체인 시그마프라임(Sigma Prime)이 개발하고 있다.
개요
라이트하우스(Lighthouse)는 러스트(Rust)라는 프로그래밍 언어로 작성되고 시그마프라임이 관리하는 오픈 소스 이더리움 2.0 클라이언트이다. 2018년 12월 20일 이더리움의 창시자 비탈릭 부테린(Vitalik Buterin)이 30만 달러, 한화 약 3억 4천만 원어치 암호화폐를 이더리움 스타트업인 시그마프라임 등 세 곳에 기부했다. 시그마프라임의 공동설립자 폴 호너는 라이트하우스를 개발하기 전에 여기저기 지원금을 신청했지만, 잇달아 선정되지 못했다. 그는 이더 1천 개만 있으면 개발자도 더 모아서 프로젝트를 제대로 추진할 수 있다는 내용을 호소문 같은 트윗에 올리자 비탈릭 부테린은 트위터에 이에 대한 답을 올리면서 결심을 실천에 옮긴 것이 였다. 스타트업인 시그마 프라임은 비탈릭 부테린이 기부해준 지원금인 이더리움(ETH) 1천 개를 받아 라이트하우스를 개발하였다. 한편, 시그마 프라임은 2018년 10월에 15만 달러를 이더리움 재단으로부터 지원받은 바 있다.[1]
로드맵
- 2019년 9월 초 : 라이트하우스-0.0.1 릴리스, 유용한 HTTP API를 보유한 개발자를위한 안정적인 테스트 넷.
- 2019년 9월 : 다른 이더리움 2.0 클라이언트와의 상호 운용성
- 2019년 10월 : 사용자용 기능이있는 공개 멀티 클라이언트 테스트 넷.
- 2020년 1월 : 생산 비콘 체인 테스트 넷.[2]
개발 현황
모든 이더리움 2.0 클라이언트와 마찬가지로 라이트하우스는 현재 작업이 진행 중이다. 클라이언트를 실행하기 위한 지침이지만, 이 지침은 프로젝트를 수행하는 개발자와 연구원을 위해 고안되었다. 라이트하우스는 아직 사용자를 위한 기능은 제공하지 않는다.
- 현재 개발 개요
- 사양 v0.8.1구현, 최적화 및 통과 테스트 벡터
- Gossipsub 및 Discv5가 포함된 Rust-native libp2p
- 프로메테우스(Prometheus)를 통한 메트릭스
- 기본 gRPC API. 곧 RESTful HTTP / JSON으로 대체 될 예정이다.[2]
특징
라이트하우스는 블록체인 연구의 최전선에서 기술을 구현하는 최첨단 분산 시스템 프로젝트이다. 지분증명 콘센서스, 병렬 트랜잭션 실행 및 상태분리(샤딩)를 포함한다. 라이트하우스는 이더리움 재단과 공식 제휴 관계가 없으며 이더리움 프로토콜과 주변 지역 사회의 이익을 위해 최선을 다하는 한 계속해서 지침을 따른다. 또한, 라이트하우스는 러스트(Rust)에서 구현되며 보안 및 효율성에 중점을 두었다.[3] OSI(Open System Interconnection) 네트워킹 프레임 워크에는 7계층 모델이 있으며 네트워크 계층 자체는 3위이다. 라이트하우스는 애플리케이션을 독립적으로 운영할 수있는 모듈식 네트워크 스택인 Libp2p의 활용을 전파 할 예정이다. 피어 투 피어 관점에서 가십은 통신 플랫폼으로 재정의된다. 이 경우 스케일링 속성을 제공하는 가십 가입 패턴으로 간주된다. 이 기능은 Libp2p와 함께 작동한다. 한편, 분산 네트워킹을위한 블록 체인 인프라를 제공하는 패리티 이더리움은 rust-libp2p 라이브러리를 수용한다.[4]
용법
라이트하우스는 여러 바이너리로 구성된다.
-
beacon_node/
: P2P에 연결된 유효성 검사기 및 P2P 네트워크에서 블록을 생성하고 확인한다. 외부 서비스가 이더리움 2.0과 상호 작용할 수있는 API를 제공한다. -
validator_client/
:beacon_node
지분 증명 유효성 검사기의 역할을 수행한다. -
account_manager/
: 유효성 검사기의 키 관리 및 생성을 제공하는 독립형 구성 요소이다.
디렉터리 구조
-
beacon_node/
: 비콘 노드 바이너리 및 전용으로 연관되어 있다. -
docs/
: 저장소와 관련된 문서. 기여자 안내서 등이 포함된다. 코드 문서는 포함되지 않는다. -
eth2/
: 라이트하우스 프로젝트에서 공통 논리를 포함한다. 예를 들어, 에테리움 2.0 및 단순 직렬화(Simple Serialize; SSZ)가 있다. -
protos/
: 라이트하우스 프로젝트에서 공통적인 protobuf / gRPC 정의 -
validator_client/
: 유효성 검사 클라이언트 바이너리 및 전용 상자 -
tests/
: 테스트에 특정한 코드, 특히 이더리움 파운데이션(Ethereum Foundation) 테스트 벡터를 포함한다.[2]
각주
- ↑ 〈시그마프라임〉, 《해시넷》
- ↑ 2.0 2.1 2.2 〈Lighthouse: Ethereum 2.0〉, 《GitHub》
- ↑ 〈Lighthouse Ethereum 2.0 Client〉, 《lighthouse.sigmaprime.io》
- ↑ Trevor Ballanger, 〈A Deeper Look at Sigma Prime’s Lighthouse: An Open-Source Ethereum 2.0 Client〉, 《CRYPTOSLATE》, 2018-09-19
참고자료
- 〈시그마프라임〉, 《해시넷》
- 〈Lighthouse: Ethereum 2.0〉, 《GitHub》
- 〈Lighthouse Ethereum 2.0 Client〉, 《lighthouse.sigmaprime.io》
- Trevor Ballanger, 〈A Deeper Look at Sigma Prime’s Lighthouse: An Open-Source Ethereum 2.0 Client〉, 《CRYPTOSLATE》, 2018-09-19
같이 보기