예전 rpg 게임을 하다보면 시스템 업데이트나 버그 수정 이런것들로 인해서 서비스를 중단하는 경우가 많이 있었습니다. 블록체인 게임도 시스템 업데이트나 버그 수정이 필요할텐데 이럴 경우 서비스 운영은 어떤식으로 관리되는것인지 궁금합니다. 그리고 만약에 그런 업데이트나 버그 수정이 하드포크를 필요로 한다고했을시에도 서비스가 중단되는것인지 같이 설명 부탁드립니다.
블록체인을 기반으로한 게임이 있다고 할 때 그 게임에 접속하고 있는 많은 유저들이 하나의 네트워크로 연결되어 있을 것입니다. 그리고 유저들들이 접속하여 거래를 검증하고 블록을 생성하며 그것을 기록하고 있습니다.
하지만 하드포크나 소프트포크를 할 때 서비스 정지가 필수적인 것은 아닐 수 있습니다. 어떻게 그것이 가능할까요?
힌트는 포크(Fork)에 있습니다. 우리가 하드포크나 소프트포크를 한다는 것은 어떤 '분기(나뉘어서 갈라짐)'를 의미하는데요, 체인의 분리가 있는 하드포크나 소프트포크의 경우 그러한 분기점이 '새로운 블록'이 되고 그것을 기준으로 새로운 블록을 생성하며 포크가 이루어집니다.
(우선 체인의 분리가 있는 하드포크의 경우 기존 하나의 블록체인에서 특정 블록을 기점으로 둘이 나눠지고 그 시점을 미리 예고하고 변경된 내용으로 새로운 블록을 생성할 수 있도록 미리 소프트웨어를 업데이트 함으로써 변경된 내용이 포함된 새로운 블록이 만들어지게 되고 두 체인으로 나뉘게 될 것입니다.)
다음으로 체인 분리가 없는 메이저 업데이트로서의 하드포크나 소프트포크의 경우에도 업데이트가 반영된 소프트웨어를 미리 업데이트 함으로써 유저들이 새로운 블록을 만들 때 변경된 내용이 포함된 블록을 생성하도록 합니다
따라서 특정 블록을 기준으로 다음 새 블록으로 자연스럽게 이어지면서 업그레이드가 이루어질 수 있습니다.
그러나 이 경우 하드포크의 성공 여부와 안전성을 확인하기 전까지 잠시 동안 아이템의 거래 중지가 있을 수 있다는 점에서 부분적으로 유저들이 불편이 있을 수도 있겠습니다.