비트코인에서는 상금, 즉 채굴보상금을 채굴된 블록 위에 100개의블록이 쌓인 후에야 쓸 수있게 돼 있다. 평균 10분에 하나가 쌓인다고 보면 1000분, 즉 16시간 넘게 지난 후 에야 채굴 보상금을 쓸 수 있다.
중간에 갈라지더라도 100개가 쌓일 정도의 시간이면 승자가 가려진다는 가설이다. 실제로 그렇다. 그러니까 결정되면 주는게 아니라, 충분히 가려질 시간을 설정하고, 그 시간 이후에 지급하는 방식.
경쟁에 의해 제일 많은 노드가 인정하여 전체의 절반이 넘는 노드가 자신의 블록체인에 채택한 블록
그러니까 누구보다 빨리 전파되어서 마지막까리 살아남은 블록이 위너가 된다.
자신이 채택하여 블록체인에 기록한 바로 그 블록이 살아남고 승자가 돼야 그 위에 쌓아올린 자신의 노력, 즉 채굴이 헛되지 않기 때문이다.
내가 채택하고 그 블록위에 다시 채굴을 할거기 때문에 내가 채택한 블록이 승자가 되는것이 나에게 유리하다. 블록체인은 철저하게 나에게 이득이 되는 방식으로 행동하겠끔 되어 있다.
각 노드는 자기의 이익을 최대로 얻기 위해 더 긴 블록체인으로 갈아 타게 되는 것이다.
각 노드 입장에서 선택지가 주어졌을때에는 보다 긴 체인을 선택하는게 항상 유리하고 그렇게 행동한다.
무효한 블록에 있고 승리한 블록에 없는 거래는 각 노드에서 거래 기록 저장소에 보관하여 다음 번 채굴을 기다리게 된다.
경쟁에서 진 블록에 담겨있던 정보는 사라지는게 아니라, '거래 기록 저장소' 라는곳에 보관되어있다가 다음번에 채굴되는 블록에 기록되게 된다. 즉 정보는 사라지지 않는다.
블록이 분기되면 그 블록을 채택한 노드는 지지층을 넓히기 위해 자발적으로 열심히 전파한다.
우리편이 이겨야 나의 노력이 헛되지 않게 되니까, 당연하다.
개인의 이기심과 전체 시스템의 안정을 위해 가는 방향이 일치한다.
블록체인에서 이 문장이 가장 멋지다. 개인의 선함을 믿는게 아니라, 개인의 이기심을 믿는것. 각 개인이 이기적으로 행동하기만 하면 시스템은 안정적으로 돌아가는 원리. 멋지다.
피투피 노드의 자율적 판단으로 승자를 가리는 방식은 총 노드수가 적을 때는 동작이 불안정하여 체계가 자리잡기도 전에 무너질 수 있다는 약점이 있다.
총 노드가 어느 정도 갯수가 되어야, 안정적으로 돌아간다. 즉, 해킹이 불가능해진다.
그리고 2012년 이후에는 블록체인의 분기가 6블록을 넘어선 적이 없을 정도로 안정적으로 운영되고 있다.
겨우 6블로그 분기내에 분쟁이 해결된다.
우리 실생활에서는 데이터가 분산돼 저장되더라도 굳이 시간에 정밀하게 맞출 필요가 없는 경우도 있다. 이럴때 블록체인은 좋은 해결방안이 될 수 있다.
데이터가 분삭 저장되었을때, 항상 동일함을 유지해야 한다면 블록체인이 불가능하겠지만, 약간의 딜레이가 있어도 된다면 훌륭한 대안이 된다.