의견.png

메인체인

해시넷
Asadal (토론 | 기여)님의 2019년 8월 6일 (화) 12:54 판
이동: 둘러보기, 검색
체인 구조도 A, B, C로 이어지는 A가 메인체인 이 된다.
최초 블록(파란색)을 시작으로 검은색 블록들로 가장 길게 연결된 체인이 메인(main)체인이다. 빨간색은 메인체인으로부터 중간에 파생된 체인으로 고아(Orphan)체인이라고 부르며 이 체인은 보통 버려진다.

메인체인(main chain)은 제네시스 블록부터 가장 최근의 블록까지 연결되어 있는 체인이다. 최장체인 또는 주요체인이라고도 부르며 가장 많은 해시파워가 투입되는 체인에 그 다음 블록이 연결된다. 네트워크 전파 속도 차이로 인해 하나의 체인으로 수렴하기 전에 같은 블록을 채굴하는 경우가 종종 발생하며 이는 분기, 즉 포크 를 유발한다. 동시 채굴이라는 용어는 정확히 같은 순간에 채굴에 성공했다는 개념이 아니며, 모든 노드들에게 블록이 전파되기 전, 같은 블록에 있어서 다른 노드에 의해 채굴이 완성되면 포크가 생겼다고 볼 수 있다.

개요

흔이 메인 체인은 가장 긴 체인 이라고 언급을 한다. 하지만 정확한 기준은 누적 난이도가 제일 높은 체인이며 대게 가장 긴 체인일 수록 누적 난이도가 높기에 흔히 긴 체인이라고 표현한다. 네트워크 전파속도 차이로 인해서 하나의 체인으로 수렴하기 전에 같은 블록을 채굴하는 경우가 종종 발생하며 이는 분기, 즉 포크를 유발한다. 동시채굴 이라는 용어는 정확히 같은 순간에 채굴을 성공한다는 개념이 아니며, 모든 노드들에게 블록이 전파되기전, 같은 블록에 있어서 다른 노드에 의해 채굴이 완성되면 포크가 생겼다고 볼 수 있다.[1]

특징

엉클블록

이더리움의 경우 현재 합의 알고리즘인 작업증명(PoW; Proof of Work) 방식으로 블록을 계속해서 생성한다. 만약 서로 다른 채굴자가 동시에 블록을 생성하는 경우, 더 어려운 난이도와 큰 Nonce 값을 가진 블록은 블록체인에 연결되고, 다른 하나는 버려지게 된다. 이 때, 버려지는 블록을 엉클블록(uncle block)이라고 한다.

고아블록

고아거래와 같이 네트워크 속도차이로 인하여 이전 블록을 찾을 수 없는 블록이 발생하며 이를 고아블록(orphan block)이라고 한다.

브랜치블록

블록체인은 단 하나의 체인으로 이루어져 있지 않다. 네트워크 전파의 속도 차이로 인해 메인체인의 다른 경우를 고려하여 서브체인을 보유하고 있다.

하드포크

하드포크란 모든 채굴자와 사용자가 반드시 업데이트를 필수적으로 즌행해야 하는 포크를 의미한다. 대표적인 예시로 비트코인캐시의 난이도 조절과 블록 사이즈 8MB 확장 등이 있다. 다수의 노드들의 반발로 새로운 암호화폐를 만든 케이스로는 비트코인에서 비트코인캐시의 탄생, 이더리움에서 이더리움 클래식의 탄생, 비트코인캐시에서 비트코인에스브이의 탄생 등이 있다.

소프트포크

소프트포크는 사용자의 경우 업데이트를 진행하지 않아도 호환이 가능하지만, 채굴자들의 업데이트를 진행해야 적용이 되는 포크이다. 이에 대표적인 예시로 세그윗(Segwit)이 있다.[1]

비교

비트코인과 이더리움의 메인체인을 비교하면 다음과 같다.[2]

비트코인 이더리움
블록해시 hash state_root
이전 블록해시 prev_lbock parent_hash
거래 관련된 루트해시 mrkl_root TRIEHASH(transaction_list)

TRIEHASH(uncle_list)

TRIEHASH(stack_trace)

난이도 bit difficulty
타임스탬프 time timestamp
넌스 nonce nonce
그외 데이터 size

ver n_tx

extra_data

numbber

coinbase address (채굴주소) ...등등

각주

  1. 1.0 1.1 손동하, 〈Bitcoin#8 : 메인 체인〉, 《개인 블로그》, 2019-04-10
  2. 이더리움 블록과 블록체인〉, 《티스토리》, 2018-08-17

참고자료

같이 보기


  의견.png 이 메인체인 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.