1. 문제를 푸는 경쟁
교실에 있는 모든 학생(참여자)이 동시에 같은 수학 문제를 받습니다. 이 문제는 정답을 찾으려면 수많은 숫자를 하나하나 대입해봐야 하는 아주 어려운 문제예요. 하지만 정답을 찾기 어려운 대신, 답이 맞는지는 쉽게 확인할 수 있어요. 누군가 “정답을 찾았어요!”라고 외치면, 선생님(네트워크)은 그 답이 맞는지 바로 검증 가능해요.
2. 가장 먼저 맞힌 사람이 승자
경쟁에서 가장 먼저 정답을 맞힌 학생이 칠판에 자신의 답안지를 붙일 권리를 얻게 됩니다. 이것이 새로운 블록을 생성할 권리, 즉 거래 내역을 블록체인에 기록할 권한을 얻는 것과 같아요.
가장 먼저 정답을 맞힌 학생은 열심히 문제를 푼 노력에 대한 보상으로 사탕을 받습니다. 네트워크에 기여한 대가로 새로 발행된 코인과 거래 수수료를 받는 것과 같은 원리예요.
3. 답안은 쉽게 못 지워요
칠판에 이미 붙은 답안지를 바꾸고 싶다면 그 답안지 뒤에 붙은 모든 답안지를 전부 다시 풀어서 바꿔야 해요.
하지만 그동안 다른 학생들은 계속 새로운 문제를 풀고 다음 답안지를 붙이고 있으니, 과거의 답을 고치면서 현재의 속도를 따라잡는 건 사실상 불가능에 가까워요.
블록체인은 이전 기록 하나를 바꾸려면, 그 뒤에 연결된 모든 기록을 처음부터 다시 계산해야 합니다. 즉, 하나라도 바꾸면 전부 다시 계산해야 하니까 사실상 고치기 어렵다는 거죠.
4. 다수결 원리
학생들이 문제를 풀 때마다 자신의 정답지를 칠판에 차례로 붙이며 줄을 만들어간다고 생각해보세요. 이 줄은 시간 순서대로 이어지는 정답들의 기록이에요.
그런데 두 학생이 동시에 정답을 외쳐 각각 자신의 답안을 붙이려 한다면, 잠시 동안 칠판에 두 개의 줄이 생길 수 있겠죠. 이럴 때는 더 많은 학생들이 새로운 정답을 이어붙인 줄, 즉 ‘더 길게 이어진 줄(가장 긴 체인)’을 ‘진짜’로 인정합니다. 더 많은 사람들이 인정하고 이어서 만든 줄이 실제 기록으로 남는 거예요.
‘가장 긴 체인’은 가장 많은 컴퓨팅 파워(참여자)가 검증한 체인을 의미합니다. 비유하자면 정직하게 문제를 푸는 학생이 많을수록 줄이 더 빨리 길어지기 때문에, 나쁜 마음을 먹은 소수의 학생이 진짜 줄보다 더 긴 줄을 만드는 건 사실상 불가능해요.
5. 난이도 조정
선생님(네트워크)은 학생들이 문제를 너무 빨리 풀거나, 반대로 너무 오래 걸리지 않도록 지켜보고 있어요. 그래서 평균적으로 10분에 한 문제씩 풀 수 있게 시험 난이도를 계속 조절합니다.
예를 들어 똑똑한 학생들이 많이 들어와 문제를 너무 빨리 풀면 난이도를 높이고, 반대로 학생들이 문제가 어려워서 시간이 오래 걸리면 난이도를 조금 낮추는 식이에요.
이 비유는 블록체인에서 새 블록이 약 10분마다 만들어지도록 네트워크가 스스로 문제 난이도를 자동으로 조절하는 방식을 뜻해요. 블록을 만드는 속도가 너무 빠르면 문제를 어렵게 하고, 너무 느리면 조금 쉽게 바꿔서 항상 비슷한 속도로 블록이 만들어지게 하는 원리입니다.