비트코인 블록체인의 분기 Bitcoin Blockchain Branch
지난 포스팅을 통해 https://steemit.com/kr/@niipoong/bitcoin-tx-and-block-store-process tx가 블록에 저장되고, 모든 노드에 전파되는 과정을 알아보았다. 지난 포스팅을 보면 이미 언급을 했으나, 블록체인 시스템은 BLOCKCHAIN 이라고 모두 대문자로 표기 할 것이며, 블록체인 데이터베이스는 Block-Chain 이라고 표기하도록 하겠다. 오해가 없길 바란다. 이번 시간에는 지난 포스팅 말미에 언급한 Block-Chain 분기에 대해서 설명하겠다. Block-Chain의 분기란? 먼저 Block-Chain에 연결한 새로운 블록이 거의 동시에 2개 혹은 여러개가 생길 때 발생한다. (사실 여러개가 발생하지 않도록 BLOCKCHAIN 네트워크에서는 고유한 Main Chain을 유지하기 위해 2016번 블록이 생성될때마다 난이도 조절을 통해 분기가 생기지 않도록 최대한 조절을 하고 있으나, 여러개가 생기지 않는다는 보장도 없다는 점다는 점은 인지하고 있어야 한다) 거의 동시에 2개의 새로운 블록이 생성 되었다고 생각하고 아래 포스팅을 진행하도록 하겠다. 그리고 지난 포스팅의 주인공인 채굴자 스테판커리가 다시 등장할 예정이다. 그리고 또다른 채굴자가 한명 더 등장할 것이다. 이름은 카와이 레너드다. 커리는 자신이 찾은 Hash값이 고유한 값인 줄 알고 주변 이웃에 전파를 하고 있었다. 그러나 우연히도 채굴자 레너드가 동시에 #279068번 블록에 Hash값을 찾아 주변에 전파하고 있었다. 자 그렇다면, BLOCKCHAIN 네트워크는 이 두개의 블록 중 어느 것을 선택해야 할까? 더 빨리 채굴된 것? 아니면 더 잘생긴 사람의 것? 어떤 것을 채굴 하게 될지는 P2P네트워크 만이 알수 있다. 커리와 레너드중 누가 진정한 채굴 경쟁의 승리자가 될지 알아보도록 하자. 만약 커리와 레너드 두개의 Hash