생활
사후 부패라는 개념은 이더리움만의 문제인가요?
블록체인의 한 무리가 과반 지분을 보유했다가 이 지분을 팔았다고 가정해 보자. POS 시스템에서 이러한 주체는 과거 자신들에 지배력을 부여했던 암호화 키를 여전히 보유할 수 있으며, 이 권한을 사용해서 현재 블록체인에서 새 블록체인을 만들 수 있다.
라는 "사후 부패"에 관해서 읽게 되었는데요 이런 문제 때문에 POW방식의 코인이 POS 로 변경하는데 걸림돌이 된다 라고 나와 있었습니다.
그런데 내용만 놓고 따져보면 일반적으로 POS 코인 대부분에 통용되는 내용같은데 다른 코인들은 이 문제를 해결하고 POS 를 채택한건지 아니면 이 문제를 감수하고 잔행하는건지 알고 싶습니다.
1개의 답변이 있어요!
'POSTERIOR CORRUPTION'에 대해 해외 자료들을 찾아봤습니다만 완벽하게는 이해할 수가 없었습니다. 하지만 제가 이해한 바대로 설명을 드리도록 하겠습니다. 또한 내용을 읽어보면 이것을 '사후 부패'로 번역하기 보다는 '사후 블록 재서명 공격'이라고 하는 것은 어떨까 하는 생각을 해 봤습니다.
앞서 말씀해 주신 질문의 내용을 먼저 인용하도록 하겠습니다. "블록체인의 한 무리가 과반 지분을 보유했다가 이 지분을 팔았다고 가정해 보자. POS 시스템에서 이러한 주체는 과거 자신들에 지배력을 부여했던 암호화 키를 여전히 보유할 수 있으며, 이 권한을 사용해서 현재 블록체인에서 새 블록체인을 만들 수 있다."
라고 되어 있습니다. 여기서 '새 블록체인'이란 어느 특정 블록에서 '분기(가지치기 된)' 블록을 생성해 나감으로써 그 길이를 체인으로 늘려나가려는 것을 의미합니다.
일단 블록체인에서 동시에 블록이 생성될 경우 어떻게 되는지부터 설명을 드려야 될 듯합니다. 동시에 블록이 생성될 경우 51% 이상이 봤을 때 조금이라도 더 많은 정보를 블록에 담고 있는 블록이 주된 블록으로 인정되어 다음 블록과 연결될 수 있고 나머지는 유효한 블록으로 인정받지 못하게 됩니다. 즉 블록체인이 연결될 때 조금이라도 길이가 더 긴 쪽이 메인 체인으로 인정을 받게 되고 그렇게 되지 못한 블록들은 고아 블록이 되어 버리는 것입니다.
다시 돌아와서 어느 사람이 블록체인을 공격할 목적으로 어느 블록에서 분기되는 블록을 생성했다고 해 보겠습니다. 그리고 그것을 메인 블록으로 인정 받게 하려고 노력을 하지만 쉽지가 않을 것입니다. 그런데 '블록체인의 한 무리가 과반 지분을 보유했다가 이 지분을 팔았다고 가정해 보자. POS 시스템에서 이러한 주체는 과거 자신들에 지배력을 부여했던 암호화 키를 여전히 보유할 수 있으며, 이 권한을 사용'한다면 어떻게 될까요?
저도 이 부분에서 조금 헷갈리고 막히는 부분이 있지만 제가 이해한 바대로 말씀드리도록 하겠습니다. 예를 들어 사토시가 10000번째 블록에서 스테이킹을 해제하여 보유한 지분을 팔았다고 해 보겠습니다. 그리고 나카모토가 블록체인의 길이를 더 길게 하여 자신이 생성한 블록 내역을 메인 체인에 포함시키려는 시도를 하고 있었다고 해 보겠습니다.
<참고 그림 1>
ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ... 10119번째 블록 : 메인 체인
ㅁ X ㅁ X X X ㅁ ㅁ X ㅁ ... 10110번째 블록 : 나카모토의 체인
위의 그림처럼 나카모토가 메인 체인보다 9개의 블록만큼 길이가 모자란 블록체인을 생성하고 있기 때문에 이 블록체인은 메인 체인으로 인정을 받지 못하게 됩니다. 그런데 말입니다. 아까 사토시가 과반 지분을 보유하고 있다가 10000번째 블록에서 스테이킹을 해제 했다고 말씀드린 것을 기억하시나요?
사토시는 현재 스테이킹을 하고 있지 않으므로 새로운 블록을 검증하지는 못하지만 첫 번째 블록부터 10000번째 블록 중 자신이 이미 서명했던 블록에 대한 재서명을 하는 것이 가능하다고 합니다. 이런 와중에 나카모토가 사토시의 프라이빗 키를 훔치든가, 사토시를 꼬셔서 첫 번째 블록부터 10000번째 블록 중 사토시가 서명했던 블록을 재 서명해 버린다면 어떻게 될까요?
<참고 그림 2>
ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ... 10119번째 블록 : 메인 체인 X
ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ... 10230번째 블록 : 나카모토의 메인 체인
위의 그림처럼 나카모토가 이어가고 있던 블록에다가 사토시가 다시 재서명한 블록이 결합되면서 결과적으로 나카모토의 체인의 길이가 더 길어져 버리는 결과를 낳게 됩니다. 따라서 나카모토가 만든 체인이 메인 체인이 되는 것이죠. 이런 것을 Long Range Attack이라고 합니다. 그 중에서도 이 방식은 체인의 후방에서 시작된 블록의 재서명으로 인해 공격자의 블록체인의 길이가 더 길어지고 그것이 메인 체인이 되게 하는 것이라고 할 수 있습니다.
답변이 도움이 되길 바랍니다.