목적
이 글에서는 블록체인의 '블록'이 무엇인지, 그리고 블록이 어떻게 기능하는지에 대해 설명합니다.
참고 정보
블록체인은 연쇄적으로 연결된 블록들의 모음입니다. 대부분의 블록체인에서 각 블록은 트랜잭션, 해쉬, 논스에 대한 데이터를 포함하고 있습니다. 해쉬는 블록에 담긴 데이터를 나타내는 '긴 숫자'라고 생각할 수 있고, 논스는 대기열과 유사하게 블록체인에서 질서를 유지하고 중복 블록을 방지하는 데 사용되는 '더 짧은 숫자'라고 생각할 수 있습니다. 해쉬와 논스에 대해서는 다음 도움글에서 더 자세하게 다루고 있습니다.
블록은 논스를 이용하여 블록체인에 들어오는 이벤트들의 올바른 순서를 유지합니다. 각 논스는 고유하므로 중복되는 블록이 없게 됩니다. 또한, 해쉬는 이전 블록의 해쉬를 포함하여 블록 정보를 요약하는 것처럼 계산됩니다. (아래 이미지 참고) 이 시스템에 따라, 블록들은 함께 연결되며, 이전 블록의 "다음" 해쉬는 다음 블록의 "이전" 해쉬와 동일해야 합니다.
이런 규칙을 따르면 블록체인은 변경 불가능한 방식으로 정보를 저장합니다. 이전 블록에 대한 모든 변경사항에 따라 다음 블록과 그 이전의 블록들의 "다음" 해쉬가 변경되기 때문입니다.
블록체인이 트랜잭션을 처리하는 방식은 사람들이 방에 모여 계산을 할 준비를 하며 메모지를 들고 있는 모습과 비슷합니다. 첫 번째 페이지에 그들은 이미 "1 페이지"라고 써두었습니다. 논스가 현재 블록을 설명하는 것처럼 말입니다. 그러다 아나운서가 와서 메모지에 "+5"라고 쓰라고 발표합니다. 그에 따라 모두 자신의 종이에 "+5"라고 적고, 다음 숫자를 기다립니다. 이러한 프로세스는 모든 사람이 첫 페이지를 채울 때까지 계속됩니다. 트랜잭션들이 블록을 채우는 것처럼 말이죠. 페이지가 꽉 차면, 총 값을 계산하여 페이지 하단에 기록됩니다. 해당 블록에 대해 해쉬가 결정되는 것처럼 말이죠.
여기까지 작업이 완료되면, 모두들 다음 페이지로 종이를 넘깁니다. 종이 맨 위에 "2 페이지"라고 쓰고, 이어서 이전 페이지의 하단에 기록했던 총 값을 씁니다. 이는 논스 값이 1 높아진 새로운 블록이 시작한다는 의미이며, 이전 블록의 '다음' 해쉬와 새로운 블록의 '이전' 해쉬는 동일합니다. 언제든 누군가 다른 숫자나 다른 총계를 작성하려고 하는 경우, 이는 바로 이상한 것으로 인식되어 거부됩니다. 이렇게 체인의 무결성이 유지되는 것입니다.