검수요청.png검수요청.png

메인체인

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

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

개요

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

특징

  • 엉클블록
이더리움의 경우 현재 합의 알고리즘인 작업증명(PoW; Proof of Work) 방식으로 블록을 계속해서 생성한다. 만약 서로 다른 채굴자가 동시에 블록을 생성하는 경우, 더 어려운 난이도와 큰 Nonce 값을 가진 블록은 블록체인에 연결되고, 다른 하나는 버려지게 된다. 이 때, 버려지는 블록을 엉클블록(uncle block)이라고 한다.
  • 고아블록
고아거래와 같이 네트워크 속도차이로 인하여 이전 블록을 찾을 수 없는 블록이 발생하며 이를 고아블록(orphan block)이라고 한다.
  • 브랜치블록
블록체인은 단 하나의 체인으로 이루어져 있지 않다. 네트워크 전파의 속도 차이로 인해 메인체인의 다른 경우를 고려하여 서브체인을 보유하고 있다.
  • 하드포크
하드포크란 모든 채굴자와 사용자가 반드시 업데이트를 필수적으로 즌행해야 하는 포크를 의미한다. 대표적인 예시로 비트코인캐시의 난이도 조절과 블록 사이즈 8MB 확장 등이 있다. 다수의 노드들의 반발로 새로운 암호화폐를 만든 케이스로는 비트코인에서 비트코인캐시의 탄생, 이더리움에서 이더리움 클래식의 탄생, 비트코인캐시에서 비트코인에스브이의 탄생 등이 있다.
  • 소프트포크

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

활용

이더리움

이더리움(Ethereum)

이더리움(Ethereum) 플라스마의 주된 아이디어는 메인 체인과 가능한 한 여유롭게 통신하고 상호작용하는 사이드 체인의 기초를 구축하는 것으로, 이러한 기초 작업은 블록체인 트리로 작동하도록 설계되고 있으며, 블록체인 트리는 메인 체인 위에 수 많은 작은 체인들이 생성될 수 있도록 계층적으로 배열되어 있다. 이처럼 작은 체인들을 플라스마 체인 혹은 차일드 체인(child chains)이라 한다. 플라스마 구조는 스마트 콘트랙트(smart contracts)와 머클 트리(Merkle trees)를 사용하여, 기본적으로 페어런트(parent) 이더리움 블록체인의 작은 복사본인 무한한 숫자의 차일드(child) 체인을 만들 수 있게 하는데, 각 차일드 체인 위에 더 많은 체인들이 만들어질 수 있고, 이는 트리(tree)와 같은 구조를 이룬다. 기본적으로 각 플라스마 차일드 체인은 서로 다른 요구를 충족시키는 단일 방식으로 설계될 수 있는 맞춤형 스마트 콘트랙트이다. 이는 체인들이 공존할 수 있으며, 독립적으로 작동할 수 있음을 의미하고, 결과적으로, 플라스마는 기업과 회사가 자신들의 구체적인 상황과 필요에 따라 다양한 방법으로 확장성 해결책을 마련할 수 있게 할 것이다. 그러므로, 플라스마가 이더리움 네트워크에서 성공적으로 개발되고 구현된다면, 차일드 체인이 특정 목적-메인 체인의 목표와 반드시 연관될 필요는 없음을 위해 구별된 방식으로 작동하도록 설계될 것이기에, 메인 체인은 덜 붐비게 될 것이고, 그 결과 차일드 체인은 메인 체인의 전반적인 작업 부담을 덜게 될 것이다. 플라스마는 기본적으로, 트리처럼 생긴 구조를 가진 수많은 작은 체인들을 만들어, 이더리움 네트워크의 전반적인 성능을 향상시키고자 하는 오프체인(off-chain) 해결책으로 이러한 체인들은 메인 체인의 작업 부담을 완화시킬 것이고, 이로 인해 초당 더 많은 트랜잭션들을 처리할 수 있다.[2]

  • 부정행위 방지
차일드 체인과 루트 체인(root chaini)의 통신은 부정 행위를 방지함으로 보안을 유지하며, 루트 체인은 네트워크를 안전하게 유지하고 악의적인 행위자들을 처벌할 책임을 갖고 있는데, 각 차일드 체인에는 다양한 합의 알고리즘 위에 구축될 수 있는, 유효한 블록을 검증하고 특정한 부정 행위 방지를 구현하는, 자체 메커니즘이 있다. 가장 일반적인 것은 작업 증명, 지분 증명, 그리고 권위 증명으로, 부정 행위 방지는 악성 행위들이 이뤄질 때, 사용자가 부정직한 노드를 보고할 수 있게 하고, 자신들의 자금을 보호하며, 거래를 종료하면, 메인 체인과의 상호 작용을 포함 시킬 수 있게 되며, 부정 행위 방지는 플라스마 차일드 체인이 자신의 페어런트 체인이나 루트 체인에 이의를 제기하는 메커니즘으로 사용된다.[2]


비교

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

비트코인 이더리움
블록해시 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. 2.0 2.1 이더리움 플라스마란?〉, 《바이낸스 아카데미》, 2019-09-17
  3. 이더리움 블록과 블록체인〉, 《티스토리》, 2018-08-17

참고자료

같이 보기


  검수요청.png검수요청.png 이 메인체인 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.