실습을 통해 블록의 원리, 채굴 과정을 이해해봅니다.
https://tools.superdatascience.com/blockchain/block
위 사이트로 이동 후 아무 숫자나 입력합니다. 입력했을 때 빨간색으로 표시되는 이유는 유효한 해시가 없기 때문입니다.
Mine 버튼을 눌러 블록을 채굴하면 논스와 해시가 업데이트 되고 블록 번호와 데이터는 변화하지 않습니다.
이후 데이터의 값을 조금이라도 변경하게 되면 해시가 완전히 달라져 블록을 다시 채굴해야 합니다.
블록체인 탭을 눌러 보면 5개의 블록이 있는 블록체인을 확인할 수 있습니다. 블록들은 이전 블록의 해시를 나타내는 새로운 필드를 포함하고 있습니다.
즉, 모두 암호화되어 연결되어 있는 것입니다. 더불어 각 블록은 유효한 해시를 가지고 있습니다.
이제 무작위로 값을 입력하고 모든 블록을 2번과 동일한 형식으로 채굴합니다.
중간의 블록을 하나 변경해보면 이후 블록의 해시값이 모두 변경되어 채굴할 수 없게 됩니다. 즉, 링크가 깨지게 됩니다.
분산 탭을 눌러 분산에 대해 확인해 봅니다. 동일한 블록체인이지만 피어로 분리되어 있습니다. 피어 A, B, C는 모두 복사본이 있습니다. 여기서 살펴볼 것은 분산 P2P 네트워크에서 다뤘던 것을 생각하면 됩니다. 해킹을 통해 모든 블록의 해시값을 알아내어 탈취에 성공했다고 하더라도 복사된 해시값과 일치하지 않는 것을 확인할 수 있습니다.
전체를 재계산하는 것뿐만 아니라 업데이트하기 전에 모든 블록을 동시에 공격해야 하기 때문에 분산되어 있으면 공격하기 더 어렵습니다. 또한 네트워크에 피어가 많을수록 공격하기는 더욱 어려워집니다.
토큰 탭을 확인해 보면 이전과 비슷하지만 트랜잭션이 존재합니다. 이것은 3개의 피어에 블록체인이 분산된 개념을 잘 보여주고 있습니다.
작성되어 있는 금액을 수정 후 채굴을 합니다. 토큰이 있으면 부당거래를 찾기 위해서 모든 값을 비교할 필요는 없습니다.