비콘체인 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''비콘체인'''<!--비콘 체인-->(beacon chain)이란 기존의 채굴자 대신 거래 검증인이 토큰(지분)을 걸고 투표한 뒤 투표 결과에 따라 거래를 검증, [[네트워크]]를 운영하는 방식의 [[이더리움]]의 거래 검증 시스템이다. 이더리움 2.0의 핵심에는 "비콘체인"이라는 시스템 [[체인]]이 있다. 비콘체인은 [[지분증명]](PoS) 유효성 검증인 집단(Active validator set)을 저장하고 관리한다. PoS 방식의 이더리움 2.0 초기 단계에서 검증인(Validator)이 되는 유일한 방법은 이더리움 1.0 [[작업증명]](PoW) 체인에 고정된 [[ETH]] 보증금(현재 32 ETH)을 예치하여 등록하는 것에서부터 시작된다. 이 보증금만 예치하고 등록한다면 기존 블록 마이너가 아니더라도 누구나 PoS 블록 검증 시스템에 검증인으로 참여할 수 있다. 검증인으로의 승인은 예치금 [[트랜잭션]]이 등록된 이후 대기 프로세스(Queuing process)와 비콘체인 프로세스에 의해 처리되며, 등록 취소는 본인이 자발적으로 하거나 부정행위 발생 시 강제적으로 이루어진다.<ref>protolambda, 〈[http://a.to/19zh1Ap Ethereum 2.0 Phase 0 -- The Beacon Chain]〉, 《Github》</ref>
+
'''비콘체인'''<!--비콘 체인-->(beacon chain)이란 기존의 채굴자 대신 거래 검증인이 토큰(지분)을 걸고 투표한 뒤 투표 결과에 따라 거래를 검증, [[네트워크]]를 운영하는 방식의 [[이더리움]]의 거래 검증 시스템이다. 이더리움 2.0의 핵심에는 "비콘체인"이라는 시스템 [[체인]]이 있다. 비콘체인은 [[지분증명]](PoS) 유효성 검증인 집단(Active validator set)을 저장하고 관리한다. POS 방식의 이더리움 2.0 초기 단계에서 검증인(Validator)이 되는 유일한 방법은 이더리움 1.0 [[작업증명]](PoW) 체인에 고정된 [[ETH]] 보증금(현재 32 ETH)을 예치하여 등록하는 것에서부터 시작된다. 이 보증금만 예치하고 등록한다면 기존 블록 마이너가 아니더라도 누구나 POS 블록 검증 시스템에 검증인으로 참여할 수 있다. 검증인으로의 승인은 예치금 [[트랜잭션]]이 등록된 이후 대기 프로세스(Queuing process)와 비콘체인 프로세스에 의해 처리되며, 등록 취소는 본인이 자발적으로 하거나 부정행위 발생 시 강제적으로 이루어진다.<ref>protolambda, 〈[http://a.to/19zh1Ap Ethereum 2.0 Phase 0 -- The Beacon Chain]〉, 《Github》</ref>
  
 
== 개요 ==
 
== 개요 ==
78번째 줄: 78번째 줄:
  
 
== 활용 ==
 
== 활용 ==
이더리움 2.0의 개발은 총 페이즈는 0, 1, 2, 3 이렇게 4단계로 이루어질 것으로 보인다. 우선 페이즈 0단계에서 비콘체인의 도입이 이뤄질 것으로 보인다. 비콘체인은 [[이더리움]] 2.0의 심장으로서 전체 시스템을 유지하는 중요한 역할을 한다. 즉, [[포스]](PoS) [[합의 알고리즘]]으로 변화된 이더리움 [[블록체인]]에서 [[샤드]] 체인과 [[지분증명]](PoS) 프로토콜의 실행을 감독하고 관리하는 역할을 한다고 할 수 있다. 또한 비콘체인은 블록 제안자를 지명하는 기능, 검증인들을 임명하고 관리하는 기능, 제안된 블록에 대해 정기적으로 투표하는 유효성 검증인 집단을 감독하는 기능, 처벌 및 보상을 통해 네트워크 규칙을 시행하는 기능, 샤드들 간의 신속한 크로스 샤드 거래의 실행을 위해 정기적으로 보고할 수 있는 중앙 앵커 포인트를 제공하는 기능을 한다. 자세하게 설명하자면 비콘체인은 블록 검증인으로서의 노드들의 집합을 유지하는 기능을 하며, 각 노드들은 32ETH를 [[스테이킹]]하여 비콘체인의 검증인이 되어 블록을 검증할 수 있다. 또한 비콘체인은 시스템에서 철수하는 검증인의 스테이킹이 출금되는 것을 관리한다. PoS 프로토콜에 따라 초기 이더리움 스테이킹 수량과 누적된 보상, 패널티 등을 관리하게 되는 것이. 그리고 비콘체인은 규칙적인 16초 간격으로 블록을 생성한다. 이때 무작위로 선택된 블록 제안자는 검증인에게서 이전 블록에 대한 모든 정보를 수신하고 블록을 생성하게 됩니다. 그리고 비콘체인의 [[트랜잭션]] 처리에 참여하는 샤드들은 블록 제안자들에 의해 무작위로 선택된다. 끝으로 비콘체인은 각 샤드들을 비콘체인의 중추에 연결하여 네트워크를 구성하는 '[[크로스링크]](Crosslinks)'를 통해 각 샤드들의 현재 상태를 기록하며 블록이 완성되면 샤드들 간의 교차 트랜잭션을 통해 다른 샤드의 블록도 자동으로 최종 확정된 것으로 간주하게 된다.<ref>erc20, 〈[https://www.a-ha.io/questions/41d44c2be9354d589fe291ff3930731c 이더리움 2.0의 개발에서 비콘체인의 기능은 무엇인가요?]〉, 《Aha》, 2019-06-23</ref>
+
이더리움 2.0의 개발은 총 페이즈는 0, 1, 2, 3 이렇게 4단계로 이루어질 것으로 보인다. 우선 페이즈 0단계에서 비콘체인의 도입이 이뤄질 것으로 보인다. 비콘체인은 [[이더리움]] 2.0의 심장으로서 전체 시스템을 유지하는 중요한 역할을 한다. 즉, [[포스]](PoS) [[합의 알고리즘]]으로 변화된 이더리움 [[블록체인]]에서 [[샤드]] 체인과 [[지분증명]](PoS) 프로토콜의 실행을 감독하고 관리하는 역할을 한다고 할 수 있다. 또한 비콘체인은 블록 제안자를 지명하는 기능, 검증인들을 임명하고 관리하는 기능, 제안된 블록에 대해 정기적으로 투표하는 유효성 검증인 집단을 감독하는 기능, 처벌 및 보상을 통해 네트워크 규칙을 시행하는 기능, 샤드들 간의 신속한 크로스 샤드 거래의 실행을 위해 정기적으로 보고할 수 있는 중앙 앵커 포인트를 제공하는 기능을 한다. 자세하게 설명하자면 비콘체인은 블록 검증인으로서의 노드들의 집합을 유지하는 기능을 하며, 각 노드들은 32ETH를 [[스테이킹]]하여 비콘체인의 검증인이 되어 블록을 검증할 수 있다. 또한 비콘체인은 시스템에서 철수하는 검증인의 스테이킹이 출금되는 것을 관리한다. POS 프로토콜에 따라 초기 이더리움 스테이킹 수량과 누적된 보상, 패널티 등을 관리하게 되는 것이. 그리고 비콘체인은 규칙적인 16초 간격으로 블록을 생성한다. 이때 무작위로 선택된 블록 제안자는 검증인에게서 이전 블록에 대한 모든 정보를 수신하고 블록을 생성하게 됩니다. 그리고 비콘체인의 [[트랜잭션]] 처리에 참여하는 샤드들은 블록 제안자들에 의해 무작위로 선택된다. 끝으로 비콘체인은 각 샤드들을 비콘체인의 중추에 연결하여 네트워크를 구성하는 '[[크로스링크]](Crosslinks)'를 통해 각 샤드들의 현재 상태를 기록하며 블록이 완성되면 샤드들 간의 교차 트랜잭션을 통해 다른 샤드의 블록도 자동으로 최종 확정된 것으로 간주하게 된다.<ref>erc20, 〈[https://www.a-ha.io/questions/41d44c2be9354d589fe291ff3930731c 이더리움 2.0의 개발에서 비콘체인의 기능은 무엇인가요?]〉, 《Aha》, 2019-06-23</ref>
  
 
비콘체인은 다음의 3가지 중요한 역할을 한다.
 
비콘체인은 다음의 3가지 중요한 역할을 한다.
86번째 줄: 86번째 줄:
 
* 셋 째, 고유한 블록별 합의 처리
 
* 셋 째, 고유한 블록별 합의 처리
  
비콘체인의 프로세싱은 기존 [[작업증명]](PoW) 체인 프로세싱과 근본적으로 유사하다. 클라이언트는 블록을 다운로드하고 처리하며 현재 '헤드'에 종료되는 '기준 체인'이 무엇인지에 대한 표기를 유지한다. 그러나 비콘체인과 기존 PoW 체인의 관계 그리고 비콘체인이 PoS 체인이기 때문에 발생하는 차이점이 있다.
+
비콘체인의 프로세싱은 기존 [[작업증명]](PoW) 체인 프로세싱과 근본적으로 유사하다. 클라이언트는 블록을 다운로드하고 처리하며 현재 '헤드'에 종료되는 '기준 체인'이 무엇인지에 대한 표기를 유지한다. 그러나 비콘체인과 기존 POW 체인의 관계 그리고 비콘체인이 POS 체인이기 때문에 발생하는 차이점이 있다.
  
 
비콘체인의 블록을 노드가 처리하려면 다음 네 가지 조건을 충족해야 한다.
 
비콘체인의 블록을 노드가 처리하려면 다음 네 가지 조건을 충족해야 한다.
92번째 줄: 92번째 줄:
 
* 첫 째, ancestor_hashes[0]에 지정된 부모 블록이 이미 처리되어 승인되어야 한다.
 
* 첫 째, ancestor_hashes[0]에 지정된 부모 블록이 이미 처리되어 승인되어야 한다.
 
* 둘 째, 블록 제안자(proposer)의 증명은 네트워크 메세지 객체의 블록과 함께 포함되어야 한다.
 
* 둘 째, 블록 제안자(proposer)의 증명은 네트워크 메세지 객체의 블록과 함께 포함되어야 한다.
* 셋 째, processed_pow_receipt_root에 지정된 PoW 블록은 이미 처리되어 승인되어야 한다.
+
* 셋 째, processed_pow_receipt_root에 지정된 POW 블록은 이미 처리되어 승인되어야 한다.
 
* 넷 째, 노드의 로컬 시간은 state.genesis_time block.slot*SLOT_DURATION 에 계산된 최소 타임스탬프 보다 같거나 커야 한다.
 
* 넷 째, 노드의 로컬 시간은 state.genesis_time block.slot*SLOT_DURATION 에 계산된 최소 타임스탬프 보다 같거나 커야 한다.
  
 
위 조건이 충족되지 않으면, 클라이언트는 조건이 모두 충족될 때까지 비콘 블록 처리를 지연해야 한다.
 
위 조건이 충족되지 않으면, 클라이언트는 조건이 모두 충족될 때까지 비콘 블록 처리를 지연해야 한다.
비콘 블록은 기존 PoW 블록에 비해 PoS 메커니즘에 의해 생성되기 때문에 의미 있는 차이점이 있다. 비콘 블록 클라이언트는 블록을 생성할 때 단순히 기준 체인뿐 아니라 슬롯 번호도 확인해야 하며 슬롯을 확인한 이후에 필요에 따라 블록을 생성하거나 증명하게 된다. 또한, 일정 시간 내에(즉, SLOT_DURATION의 표시된 수초 내에) 각 노드가 다른 노드와 동기화된 클럭을 가져야 한다는 것을 유의해야 한다.
+
비콘 블록은 기존 PoW 블록에 비해 POS 메커니즘에 의해 생성되기 때문에 의미 있는 차이점이 있다. 비콘 블록 클라이언트는 블록을 생성할 때 단순히 기준 체인뿐 아니라 슬롯 번호도 확인해야 하며 슬롯을 확인한 이후에 필요에 따라 블록을 생성하거나 증명하게 된다. 또한, 일정 시간 내에(즉, SLOT_DURATION의 표시된 수초 내에) 각 노드가 다른 노드와 동기화된 클럭을 가져야 한다는 것을 유의해야 한다.
  
 
== 향후 계획 ==
 
== 향후 계획 ==

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)