"브랜치블록"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
(사용자 4명의 중간 판 12개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | 브랜치블록은 브랜치(분기)와, 블록(블록체인)의 합성어로 '블록체인의 분기'를 의미한다. | + | 브랜치블록은 브랜치(분기)와, 블록(블록체인)의 합성어로 '블록체인의 분기'를 의미한다. 블록체인에 연결한 새로운 블록이 거의 동시에 2개 혹은 여러개가 생길 때 발생하며 분기가 발생해서 충돌이 일어날 때 어느 블록체인을 믿을 것인가에 대한 기준이 마련되어 있다. 그렇지 않으면 분산되어 있는 장부 내용의 동기화가 깨지기 때문이다. 이에 대한 기준은 더 많은 작업증명이 수행되어 블록의 길이가 긴 것을 선택하도록 되어있고 블록의 길이가 짧고, 누적 난이도의 값이 작은 분기는 사라지게 된다.<ref name="오픈튜토리얼스"></ref><ref>HomoEfficio, 〈[https://homoefficio.github.io/2017/11/19/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%95%9C-%EB%B2%88%EC%97%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/ 블록체인 한 번에 이해하기]〉, 《Github》, 2017-11-19</ref><ref>niipoong, 〈[https://steemit.com/kr/@niipoong/bitcoin-blockchain-branch 비트코인 블록체인의 분기 Bitcoin Blockchain Branch]〉, 《steemit》, 2018-03-12</ref> |
− | == | + | ==예시== |
− | Block 55 다음에 두 개의 각기 다른 블록 Block 56, Block | + | Block 55 다음에 두 개의 각기 다른 블록 Block 56-1, Block 56-2가 생성되었다. 블록체인 네트워크는 이 상태를 유지한다. 분기한 Block 56-1과 Block 56-2는 각각 블록의 길이가 1이라 동등하기 때문이다. 그러나 다음 채굴과정에서 Block 57이 Block 56-2의 해시값으로 만들어졌다. Block 57의 [[이전블록해시]]는 Block 56-2의 해시값으로 되어 있다는 의미이다. 따라서 블록체인이 아래 그림과 같이 되었을 때, 분기된 블록의 길이가 달라지게 된다. 그리고 2차 체인으로 분리된 56-1 블록은 [[고아블록]]이라고 하며, 버려지게 된다. 56-1 블록을 채굴한 사람은 당연히, 채굴 보상을 받을 수 없다. 기록은 있으나 메인체인에 유지되지 않은 기록은 아무 의미 없기 때문이다.<ref name="오픈튜토리얼스"></ref> |
− | {| width=550 style="color: | + | {| width=550 style="color:black; text-align: center; background-color:#ffffff; margin: auto;" |
− | |colspan="6"| | + | |colspan="6"| |
− | | | + | |↗ |
− | |<code><del>Block 56</del></code>|| | + | |<code><del>Block 56-1</del></code>|| |
|- | |- | ||
− | |<code>Block 53</code>|| | + | |<code>Block 53</code>||→||<code>Block 54</code>||→||<code>Block 55</code> |
|- | |- | ||
| colspan="6" | | | colspan="6" | | ||
− | | | + | |↘ |
− | |<code>Block | + | |<code>Block 56-2</code>||→||<code>Block 57</code> |
|- | |- | ||
− | |} | + | |} |
− | <ref | + | |
+ | 두 개의 가지중에 한 가지만 선택되므로, 56-1 블록에 포함되는 트랜잭션은 유실되는게 아닌가 하고 생각할 수도 있는데, 56-1 블록과 56-2 블록은 같은 기간동안 모아진 트랜잭션에 대해 블록을 생성한 것이기 때문에 어차피 56-1에 있는 트랜잭션의 내용은 56-2 블록 또는 57 블록 어딘가에는 포함이 되어 있을 것이다. 때문에, 56-1 블록을 버리더라도 그 안의 트랜잭션은 56-2 블록에 똑같이 존재할 확률이 크다. 물론 트랜잭션이 네트워크에 전파되는 시간이 있기 때문에 56-1 블록과 56-2 블록의 트랜잭션 내용이 완전히 같다고 할 수는 없지만, 56-2 블록에 포함되지 못한 블록은 그 다음 블록인 57 블록에는 존재하게 될 것이다. <ref>SIMJAE 심심재, 〈[https://simsimjae.tistory.com/187 블록체인의 분기]〉, 《티스토리》, 2018-01-15</ref> | ||
{{각주}} | {{각주}} | ||
26번째 줄: | 27번째 줄: | ||
* 이타인, 〈[https://opentutorials.org/course/2865/16973 채굴 3 - 블락체인의 분기]〉, 《오픈튜토리얼스》, 2017-07-25 | * 이타인, 〈[https://opentutorials.org/course/2865/16973 채굴 3 - 블락체인의 분기]〉, 《오픈튜토리얼스》, 2017-07-25 | ||
* HomoEfficio, 〈[https://homoefficio.github.io/2017/11/19/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%95%9C-%EB%B2%88%EC%97%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/ 블록체인 한 번에 이해하기]〉, 《Github》, 2017-11-19 | * HomoEfficio, 〈[https://homoefficio.github.io/2017/11/19/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%95%9C-%EB%B2%88%EC%97%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/ 블록체인 한 번에 이해하기]〉, 《Github》, 2017-11-19 | ||
+ | * niipoong, 〈[https://steemit.com/kr/@niipoong/bitcoin-blockchain-branch 비트코인 블록체인의 분기 Bitcoin Blockchain Branch]〉, 《steemit》, 2018-03-12 | ||
+ | * SIMJAE 심심재, 〈[https://simsimjae.tistory.com/187 블록체인의 분기]〉, 《티스토리》, 2018-01-15 | ||
==같이 보기== | ==같이 보기== | ||
* [[논스]] | * [[논스]] | ||
* [[포크]] | * [[포크]] | ||
+ | * [[이전블록해시]] | ||
{{블록체인 기술|검토 필요}} | {{블록체인 기술|검토 필요}} |
2019년 9월 18일 (수) 03:28 기준 최신판
브랜치블록(Branch of Block)은 어떠한 두 채굴 노드가 동시에 논스(nonce)를 찾게 되었을 시 블록체인이 분기되는 것을 말한다.[1]
개요[편집]
브랜치블록은 브랜치(분기)와, 블록(블록체인)의 합성어로 '블록체인의 분기'를 의미한다. 블록체인에 연결한 새로운 블록이 거의 동시에 2개 혹은 여러개가 생길 때 발생하며 분기가 발생해서 충돌이 일어날 때 어느 블록체인을 믿을 것인가에 대한 기준이 마련되어 있다. 그렇지 않으면 분산되어 있는 장부 내용의 동기화가 깨지기 때문이다. 이에 대한 기준은 더 많은 작업증명이 수행되어 블록의 길이가 긴 것을 선택하도록 되어있고 블록의 길이가 짧고, 누적 난이도의 값이 작은 분기는 사라지게 된다.[1][2][3]
예시[편집]
Block 55 다음에 두 개의 각기 다른 블록 Block 56-1, Block 56-2가 생성되었다. 블록체인 네트워크는 이 상태를 유지한다. 분기한 Block 56-1과 Block 56-2는 각각 블록의 길이가 1이라 동등하기 때문이다. 그러나 다음 채굴과정에서 Block 57이 Block 56-2의 해시값으로 만들어졌다. Block 57의 이전블록해시는 Block 56-2의 해시값으로 되어 있다는 의미이다. 따라서 블록체인이 아래 그림과 같이 되었을 때, 분기된 블록의 길이가 달라지게 된다. 그리고 2차 체인으로 분리된 56-1 블록은 고아블록이라고 하며, 버려지게 된다. 56-1 블록을 채굴한 사람은 당연히, 채굴 보상을 받을 수 없다. 기록은 있으나 메인체인에 유지되지 않은 기록은 아무 의미 없기 때문이다.[1]
↗ |
|
||||||||
Block 53 |
→ | Block 54 |
→ | Block 55
| |||||
↘ | Block 56-2 |
→ | Block 57
|
두 개의 가지중에 한 가지만 선택되므로, 56-1 블록에 포함되는 트랜잭션은 유실되는게 아닌가 하고 생각할 수도 있는데, 56-1 블록과 56-2 블록은 같은 기간동안 모아진 트랜잭션에 대해 블록을 생성한 것이기 때문에 어차피 56-1에 있는 트랜잭션의 내용은 56-2 블록 또는 57 블록 어딘가에는 포함이 되어 있을 것이다. 때문에, 56-1 블록을 버리더라도 그 안의 트랜잭션은 56-2 블록에 똑같이 존재할 확률이 크다. 물론 트랜잭션이 네트워크에 전파되는 시간이 있기 때문에 56-1 블록과 56-2 블록의 트랜잭션 내용이 완전히 같다고 할 수는 없지만, 56-2 블록에 포함되지 못한 블록은 그 다음 블록인 57 블록에는 존재하게 될 것이다. [4]
각주[편집]
- ↑ 1.0 1.1 1.2 이타인, 〈채굴 3 - 블락체인의 분기〉, 《오픈튜토리얼스》, 2017-07-25
- ↑ HomoEfficio, 〈블록체인 한 번에 이해하기〉, 《Github》, 2017-11-19
- ↑ niipoong, 〈비트코인 블록체인의 분기 Bitcoin Blockchain Branch〉, 《steemit》, 2018-03-12
- ↑ SIMJAE 심심재, 〈블록체인의 분기〉, 《티스토리》, 2018-01-15
참고자료[편집]
- 이타인, 〈채굴 3 - 블락체인의 분기〉, 《오픈튜토리얼스》, 2017-07-25
- HomoEfficio, 〈블록체인 한 번에 이해하기〉, 《Github》, 2017-11-19
- niipoong, 〈비트코인 블록체인의 분기 Bitcoin Blockchain Branch〉, 《steemit》, 2018-03-12
- SIMJAE 심심재, 〈블록체인의 분기〉, 《티스토리》, 2018-01-15
같이 보기[편집]