[김형중 칼럼] 엉클 마이닝

Printer-friendly versionPrinter-friendly versionSend by emailSend by email
Friday, October 13th, 2017
kim hyoung-joong

김형중 고려대 사이버국방학과 교수

비트코인에서 누군가가 마이닝에 성공하면 경쟁자들은 즉시 마이닝을 멈추고 다음 블록 채굴에 들어간다. 2등부터는 상급이 없기 때문이다. 2등이나 3등으로 채굴에 성공해봐야 고아 신세가 돼 바로 버려지기 때문이다. 다음 10분간 최선을 다하지 않으면 또 고아가 되는 비운을 맞게 된다. 그러니 경쟁자들은 뒤를 돌아볼 시간이 없다.

블록과 다음 블록 사이의 시간이 비트코인은 평균 10분이다. 이더리움은 평균 10초 언저리이다.
이더리움은 다르다. 2등이나 3등까지도 상급이 있다. 4등부터 국물도 없다. 그래서 누가 채굴에 성공했다고 선언해도 바로 멈출 이유가 없다. 1등으로 채굴에 성공한 메인 블록은 1에 해당하는 5이더를 상급으로 받는다. 엉클 자격으로 메인 블록에 포함되면 7/8에 해당하는 4.375 이더를 받으니 그리 나쁘지 않다.

비록 1등이 나와도 2등이나 3등을 목표로 계속 마이닝을 하는 것을 엉클 마이닝이라고 한다. 엉클 마이닝을 허용한 이유가 여러 가지로 추정해 볼 수 있다.
첫째, 블록과 블록 사이의 시간 10초는 너무 짧다. 10초 사이에 채굴도 하고, 채굴 소식을 전하고, 거기에 확인도 해야 한다. 그러다 보니 네트워크가 느린 마이너는 10초 사이에 채굴 소식을 듣지 못할 수도 있다.

둘째, 10분이 아닌 10초 사이에 채굴에 성공한다는 것은 상대적으로 난이도가 낮음을 의미한다. 난이도가 낮으면 동시에 문제를 푸는 노드들이 많아질 수 있다. 그런데 번번히 고아가 되면 그 노드들은 마이닝을 포기하고 다른 코인으로 갈아타는 게 더 이득이라고 여긴다. 그래서 2등이나 3등에게도 적지 않은 보상을 해 주는 게 마이너를 붙들 수 있는 인센티브가 된다.

아버지 블록으로부터 자식 블록으로, 이어 손자 블록으로, 그리고 증손자 블록으로 대를 이어 메인 블록체인이 만들어진다. 자식 블록 대에서 간발의 차이로 두 마이너가 채굴에 성공했다고 하자. 그 두 마이너는 형제인 셈이다. 그 중 빨리 채굴에 성공한 형 마이너가 자식 블록을 차지한다. 형 마이너가 동생 마이너의 결과를 알지 못할 수도 있다. 그러기에 10초는 너무 짧다. 그래서 형 블록이 동생 블록을 챙겨주지 못한다.

다시 한 세대가 지나가고 손자 블록이 시작된다. 손자 블록은 바로 위 세대에 남겨진 챙기지 못한 엉클 블록이 있다는 것을 안다. 그 엉클 블록을 손자 블록에 포함시켜 주면 엉클 블록은 7/8에 해당하는 상급을 받는다.

다른 스토리도 있다. 자식 대의 문제를 뒤늦게 풀어 채굴에 성공한 느림보 마이너가 있다고 하자. 그 느림보 마이너가 보니 막상 메인 블록은 손자 대를 막 지났다. 시간 상으로 보면 메인 블록의 손자 대에 이르러서야 뒤늦게 자식 대의 마이닝에 성공한 셈이다. 증손자 블록 관점에서 손자 대에 철 지난 그 블록이 갈 곳을 잃고 버려져 있는 것처럼 보인다. 즉, 증손자에게 그 방치된 블록은 실제 조카 블록이 아니지만 그냥 편의상 조카 블록이라고 부른다. 그래서 그 조카 블록을 증손자 블록에 포함시켜 주면 조카 블록은 6/8에 해당하는 상급을 받는다.

이런 식으로 해서 증조카는 5/8에 해당하는 상급을 받는다. 고조카는 4/8에 해당하는 상급을 받는다. 그러다 보면 1/8에 해당하는 상급을 받는 블록도 나온다.

그래서 족보를 잘 알아야 한다. 물론, 족보를 몰라도 상급은 받는다.

 

Comments

hyundai eng