메인체인
메인체인(main chain)은 제네시스 블록부터 가장 최근의 블록까지 연결되어 있는 체인이다. 최장체인 또는 주요체인이라고도 부르며 가장 많은 해시파워가 투입되는 체인에 그 다음 블록이 연결된다. 네트워크 전파 속도 차이로 인해 하나의 체인으로 수렴하기 전에 같은 블록을 채굴하는 경우가 종종 발생하며 이는 분기, 즉 포크 를 유발한다. 동시 채굴이라는 용어는 정확히 같은 순간에 채굴에 성공했다는 개념이 아니며, 모든 노드들에게 블록이 전파되기 전, 같은 블록에 있어서 다른 노드에 의해 채굴이 완성되면 포크가 생겼다고 볼 수 있다.
개요
특징
메인체인은 가장 긴 체인 이라고 불린다. 하지만 정확한 기준은 누적 난이도가 제일 높은 체인(the most cumulative PoW)이며, 대게 가장 긴 체인일 수록 누적 난이도가 높기에 흔히 긴 체인 이라고 표현한다. 네트워크 전파 속도 차이로 인해 하나의 체인으로 수렴하기 전에 같은 블록을 채굴하는 경우가 종종 발생하며 이는 분기, 즉 포크(Fork)를 유발한다. 동시 채굴 이라는 용어는 정확히 같은 순간에 채굴을 성공한다는 개념이 아니며, 모든 노드들에게 블록이 전파되기 전, 같은 블록에 있어서 다른 노드에 의해 채굴이 완성되면 포크가 생겼다고 볼 수 있다.[1]
- 고아블록
- 고아거래와 같이 네트워크 속도차이로 인하여 이전 블록을 찾을 수 없는 블록이 발생하며 이를 고아블록(orphan block)이라고 한다.
- 브랜치블록
- 하드포크
- 하드포크란 모든 채굴자와 사용자가 반드시 업데이트를 필수적으로 즌행해야 하는 포크를 의미한다. 대표적인 예시로 비트코인캐시의 난이도 조절과 블록 사이즈 8MB 확장 등이 있다. 다수의 노드들의 반발로 새로운 암호화폐를 만든 케이스로는 비트코인에서 비트코인캐시의 탄생, 이더리움에서 이더리움 클래식의 탄생, 비트코인캐시에서 비트코인에스브이의 탄생 등이 있다.
- 소프트포크
- 소프트포크는 사용자의 경우 업데이트를 진행하지 않아도 호환이 가능하지만, 채굴자들의 업데이트를 진행해야 적용이 되는 포크이다. 이에 대표적인 예시로 세그윗(Segwit)이 있다.[1]
- 블록의 분기
- 각 노드는 독자적으로 블럭을 만들 수 있는데, 여러 노드가 비슷한 시기에 블럭을 만들어서 제출 할 수 있어 노드가 분기 될 것이다. 이 중 하나의 블럭체인을 정식 블럭체인으로 승인하고, 다른 증복된 블럭체인은 버려야 할 것이다. 비트코인은 가장 빠르게 성정한 블럭체인을 메인 체인으로 인정한다. 어떤 노드가 블럭을 제출했다고 가정해 보면, 채굴자들은 가능한 빠르게 이전블럭으로 부터 새로운 블럭을 만들어야 자신 소유의 블럭을 만들 확률이 높아져 이기적인 목적하에, 가장 성공 할만한 블럭을 찾게 될 것인데, 가장 성공 할만한 블럭이란 가장 빠르게 제출된 블럭이 된다. 만약 충분한 수의 노드와 컴퓨팅 파워를 보유하고 있다면, 자신의 블럭이 메인 체인이 포함되도록 조작 할 수 있어 이 문제는 네트워크의 규모로 해결 할 수 있지만, 초반 규모가 충분하지 않을 때, 체인의 조작을 어떻게 막을지에 대한 설계도 필요 하다.[2]
활용
이더리움
이더리움(Ethereum) 플라스마의 주된 아이디어는 메인 체인과 가능한 한 여유롭게 통신하고 상호작용하는 사이드 체인의 기초를 구축하는 것으로, 이러한 기초 작업은 블록체인 트리로 작동하도록 설계되고 있으며, 블록체인 트리는 메인 체인 위에 수 많은 작은 체인들이 생성될 수 있도록 계층적으로 배열되어 있다. 이처럼 작은 체인들을 플라스마 체인 혹은 차일드 체인(child chains)이라 한다. 플라스마 구조는 스마트 콘트랙트(smart contracts)와 머클 트리(Merkle trees)를 사용하여, 기본적으로 페어런트(parent) 이더리움 블록체인의 작은 복사본인 무한한 숫자의 차일드(child) 체인을 만들 수 있게 하는데, 각 차일드 체인 위에 더 많은 체인들이 만들어질 수 있고, 이는 트리(tree)와 같은 구조를 이룬다. 기본적으로 각 플라스마 차일드 체인은 서로 다른 요구를 충족시키는 단일 방식으로 설계될 수 있는 맞춤형 스마트 콘트랙트이다. 이는 체인들이 공존할 수 있으며, 독립적으로 작동할 수 있음을 의미하고, 결과적으로, 플라스마는 기업과 회사가 자신들의 구체적인 상황과 필요에 따라 다양한 방법으로 확장성 해결책을 마련할 수 있게 할 것이다. 그러므로, 플라스마가 이더리움 네트워크에서 성공적으로 개발되고 구현된다면, 차일드 체인이 특정 목적-메인 체인의 목표와 반드시 연관될 필요는 없음을 위해 구별된 방식으로 작동하도록 설계될 것이기에, 메인 체인은 덜 붐비게 될 것이고, 그 결과 차일드 체인은 메인 체인의 전반적인 작업 부담을 덜게 될 것이다. 플라스마는 기본적으로, 트리처럼 생긴 구조를 가진 수많은 작은 체인들을 만들어, 이더리움 네트워크의 전반적인 성능을 향상시키고자 하는 오프체인(off-chain) 해결책으로 이러한 체인들은 메인 체인의 작업 부담을 완화시킬 것이고, 이로 인해 초당 더 많은 트랜잭션들을 처리할 수 있다.[3]
- 부정행위 방지
- 차일드 체인과 루트 체인(root chaini)의 통신은 부정 행위를 방지함으로 보안을 유지하며, 루트 체인은 네트워크를 안전하게 유지하고 악의적인 행위자들을 처벌할 책임을 갖고 있는데, 각 차일드 체인에는 다양한 합의 알고리즘 위에 구축될 수 있는, 유효한 블록을 검증하고 특정한 부정 행위 방지를 구현하는, 자체 메커니즘이 있다. 가장 일반적인 것은 작업 증명, 지분 증명, 그리고 권위 증명으로, 부정 행위 방지는 악성 행위들이 이뤄질 때, 사용자가 부정직한 노드를 보고할 수 있게 하고, 자신들의 자금을 보호하며, 거래를 종료하면, 메인 체인과의 상호 작용을 포함 시킬 수 있게 되며, 부정 행위 방지는 플라스마 차일드 체인이 자신의 페어런트 체인이나 루트 체인에 이의를 제기하는 메커니즘으로 사용된다.[3]
- 엉클블록
- 이더리움의 경우 현재 합의 알고리즘인 작업증명(PoW; Proof of Work) 방식으로 블록을 계속해서 생성한다. 만약 서로 다른 채굴자가 동시에 블록을 생성하는 경우, 더 어려운 난이도와 큰 Nonce 값을 가진 블록은 블록체인에 연결되고, 다른 하나는 버려지게 된다. 이 때, 버려지는 블록을 엉클블록(uncle block)이라고 한다.
비교
비트코인과 이더리움의 메인체인을 비교하면 다음과 같다.[4]
비트코인 | 이더리움 | |
블록해시 | 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 (채굴주소) ...등등 |
- DTPS 비교
- 비트코인, 이더리움에 확장성 기술을 추가했을 때는 다음과 같다.
비트코인 = = [메인체인] + [라이트닝 네트워크] 이더리움 = = [메인체인] + [플라즈마] + [스테이트 채널] + [컨소시엄]
- 이더리움의 경우 플라즈마 트랜잭션 결과만 메인체인에 전달해 처리 속도를 향상시키는 알고리즘 등의 확장성 기술이 추가되면 비자 카드에 버금가는 45,000 DTPS도 가능할 것으로 예상된다.[5]
각주
- ↑ 1.0 1.1 손동하, 〈메인체인〉, 《브런치》, 2019-08-10
- ↑ 조앤 공식 홈페이지 - https://www.joinc.co.kr/w/man/12/blockChain/about
- ↑ 3.0 3.1 〈이더리움 플라스마란?〉, 《바이낸스 아카데미》, 2019-09-17
- ↑ 〈이더리움 블록과 블록체인〉, 《티스토리》, 2018-08-17
- ↑ Coinness, 〈좋은 블록체인의 기준은 무엇일까?〉, 《코인니스》, 2019-07-08
참고자료
- 조앤 공식 홈페이지 - https://www.joinc.co.kr/w/man/12/blockChain/about
- 〈블록체인 기본용어〉, 《오케이코인》
- 〈블록체인〉, 《슈코인》
- 손동하, 〈Bitcoin#8 : 메인 체인〉, 《개인 블로그》, 2019-04-10
- 〈이더리움 블록과 블록체인〉, 《티스토리》, 2018-08-17</ref>
- 〈이더리움 플라스마란?〉, 《바이낸스 아카데미》, 2019-09-17
- Coinness, 〈좋은 블록체인의 기준은 무엇일까?〉, 《코인니스》, 2019-07-08
같이 보기