반년 만에 다시 생각해 본 게임과 블록체인의 관계 정립
어느 날 2022년 가을 즈음에 게임과 블록체인에 대해 고민하며 썼던 글 게임과 블록체인의 관계 정립과 크립토 게임에 사용할 토큰 체계를 설계할 때 가질 마음가짐이 구글캘린더에 입력해 놓은 일정에 따라 타임라인에 나타났습니다. 2023년 봄 현재 이전 고민으로부터 반 년 정도 시간이 지났고 그 사이에 계속해서 일을 하며 생각을 반복하면서 이전에 비해 생각이 달라지기도 하고 또 달라진 생각을 정리하는 과정 역이 조금 달라졌다는 생각이 들어 ‘게임과 블록체인의 관계’에 대한 생각을 현재 시점에서 다시 한 번 정리하려고 합니다.
여전히 게임에 블록체인을 도입할 이유가 전혀 없음을 설명하는 글이 많고 이 글들의 주장에 동의합니다. 한편 기왕 블록체인을 게임에 붙이는 일을 시작했으니 그런 주장에 동의하면서도 게임에 블록체인을 붙일 이유를 설명하는 관점에서 생각하고 또 같은 관점으로 이야기를 진행하려고 합니다. 그래서 게임과 블록체인이 서로를 별로 필요로 하지 않는다고 생각한다면 그 생각이 옳으며 이 이야기는 어떻게든 서로를 필요하게 만들 방법을 찾고 있는 사람의 한 가지 의견이라고 생각하면 의견이 많이 다르더라도 크게 기분이 나빠지지는 않을 겁니다.
이전에 생각하고 또 설명한 게임과 블록체인의 관계에 대해 이미 알고 있거나 글을 이미 읽은 상태라고 가정하고 이전에 비해 가장 크게 생각이 달라진 점부터 시작하면 게임의 진행상황을 덜 중앙화된 데이터베이스인 블록체인에 직접 기록할 이유는 결국 찾지 못했다는 것입니다. 반 년 전에 이 생각을 할 때만 해도 여러 게임이 진행 상태를 온체인에 직접 기록하고 게임의 흥행에 따라 이 기록 자체가 가치를 갖는 형태였습니다. 전통적인 온라인 게임의 저장 방식에 비해 편리하지 않으며 압도적으로 느린 단점을 감수하기에는 일단 게임 경험이 나쁘고 게임 자체가 썩 매력적이지 않으며 게임 진행 상태가 블록체인에 기록되었다고 해서 이 기록에 직접적인 가치가 발생한다고도 보기 어려웠습니다.
물론 게임 진행 상태를 거래하려고 마음 먹었다면 블록체인에 기록된 상태인 편이 압도적으로 유리합니다. 거래 과정에 거래 상대를 제외한 아무 주체도 개입시킬 필요 없이 돈을 보내고 게임 진행 상태를 받으면 그만입니다. 심지어 이 거래 과정이 스마트컨트랙트에 정의되어 있다면 돈만 먹고 튄다든지 진행 상황을 받아 보니 설명한 것과 다르다든지 하는 문제 역시 일어날 여지가 없습니다. 구입할 데이터는 공개되어 있고 판매자의 정보 역시 공개되어 있어 전통적인 거래에 일어나던 문제들이 일어날 여지가 없고요.
또한 판매 대상을 설정하기도 더 쉬웠습니다. 가령 계정 전체를 판매하거나 장착한 무기만 판매하거나 특정 아이템만 판매할 수도 있었는데 이들 각각이 블록체인 상에 NFT 모양으로 기록되어 있기 때문입니다. 이들이 인게임에서 합쳐지면 전통적인 게임에서 캐릭터가 무기를 장착한 효과를 내고 블록체인 상에서 이들 각각이 NFT 모양으로 판매되는데도 아무런 문제가 없습니다.
한편 오직 이런 거래의 편리함을 위해 다른 모든 단점을 감수하는 접근은 오래 갈 수가 없습니다. 일단 게임에서 뭘 하든 시간이 걸립니다. 블록체인이 아무리 빨라져도 그건 블록체인일 뿐이어서 전통적인 온라인 게임이 서버와 직접 통신하는 것 보다 나은 경험을 줄 수 없습니다. 또 게임에서 뭘 하든 추가 비용이 필요합니다. 거래 비용이 아무리 낮아져도 없어지지는 않습니다. 거래 비용 감소는 필연적으로 보안 수준 감소, 운영 주체에 대한 더 큰 의존 같은 문제를 일으키며 이런 문제와 거래 비용 사이에 적당한 타협점을 찾았다고 하더라도 여전히 비용이 없어지지는 않습니다. 캐릭터가 장착한 무기를 좀 바꾸고 싶을 뿐인데 아무리 작은 비용이라도 이 때마다 거래 비용을 지불해야 하는 상황을 납득할 고객은 없습니다.
또한 근본적으로 블록체인을 도입한 게임이 충분히 매력적이지 않습니다. 그동안 블록체인을 도입한 게임들을 살펴보며 느낀 점은 앞에서 설명한 게임에 블록체인을 도입할 이유가 별로 없고 블록체인 업계에서 워낙 여러 가지 사건 사고가 일어나는 통에 전통적인 개발사 - 이후 플레이어라고 부르겠습니다 - 들이 게임에 블록체인을 도입할 필요를 별로 느끼지 못해 전통적인 플레이어들이 시장에 잘 진입하지 않았습니다. 그래서 블록체인을 도입한 게임들은 전통 시장의 플레이어들이 아닌 신규 플레이어들인 경우가 많았다고 생각합니다. 이들이 개발한 결과는 런칭 단계에 도달했다는 점은 인정하지만 게임 자체는 형편 없는 수준일 때가 대부분이었습니다. 블록체인 세계에서 태어나 자란 사람들에게는 이 정도 게임도 만족스럽게 보일 수 있지만 전통적인 업계의 플레이어들이나 고객 관점에서는 형편 없는 수준에 불과합니다. 이런 상황은 전통적인 업계의 플레이어들이 참여해 경쟁이 일어나기 전에는 잘 개선되지 않을 겁니다.
이런 문제들에도 불구하고 게임에 블록체인을 붙여야 했던 상태에서 반 년이 흐른 지금은 게임에 블록체인을 붙이더라도 이전처럼 인게임에 어떤 변화가 일어날 때마다 이 변화 하나하나가 트랜잭션을 직접 일으킬 필요는 없다는 점을 깨달았습니다. 게임은 전통적인 방식 그대로 동작하도록 만들어야 합니다. 그러면 전통적인 플레이어들 관점에서 이해하기 쉽고 만들기도 쉬우며 심지어 고객들에게 더 좋은 플레이 경험을 줄 수 있습니다. 말이 복잡했는데 그냥 이전에 온라인 게임 만들던 방식 그대로 개발하면 된다는 이야기입니다.
그 다음 고객이 인게임의 성장 상태를 게임 바깥에 복제하기로 결정한 시점에서 게임 운영 주체의 보증 하게 블록체인에 이 성장 상태와 연결되는 NFT 모양의 데이터를 처음으로 기록하면 됩니다. 이 데이터는 변경 가능한 메타데이터를 통해 인게임 성장 상태를 게임 바깥에 전달할 수 있으며 변경 가능한 메타데이터를 사용하므로 인게임 상태가 바뀌어도 거래 비용을 지불할 필요가 없습니다. 한번 게임 바깥에 기록된 데이터는 인게임 성장 상태가 소멸하기 전까지는 블록체인 상에 데이터 변경 없이 연결을 유지할 수 있습니다. 만약 이 NFT가 다른 지갑으로 옮겨지면 인게임에 연결된 지갑 정보에 기반해 이 데이터가 옯겨진 지갑에 근거한 캐릭터의 인벤토리에 아이템을 생성해 주면 됩니다.
이전과 가장 크게 달라진 접근은 게임 상태를 곧이 곧대로 블록체인에 기록하려 하지 않는다는 것입니다. 근본적으로 덜 중앙화된 데이터베이스를 사용하는 이유를 충분히 확보하기 위해서는 인게임 상태를 계속해서 게임 외부에 변경할 수 없도록 기록하는 것이 맞습니다. 하지만 위에서 잠깐 설명한 것처럼 오직 이 목적을 위한 불편함을 감수할 고객은 별로 없으며 이런 불편함을 감수한 채 개발된 게임이 충분히 매력적일 가능성도 별로 없습니다. 게임은 전통적이고 또 익숙한 방식으로 개발하고 동작하며 오직 인게임 상태를 게임 바깥에서 거래하고 싶을 때 단 한 번 블록체인에 기록하면 그 다음은 인게임은 여전히 이전과 똑같은 방법으로 동작하고 블록체인 상의 NFT는 여전히 블록체인 방식대로 거래되어야 합니다. 게임은 오직 지갑 상태에 근거해 성장 상태를 유효한 캐릭터에게 전달하기만 하면 됩니다.
결론. 반 년 전에는 과연 여러 단점에도 불구하고 인게임 상태를 항상 게임 바깥에 기록하는 사례를 보며 이게 과연 올바른지에 대해 고민해 왔습니다. 지금은 굳이 그럴 필요가 없으며 장기적으로 게임이 개발사에서 별도의 덜 중앙화된 운영 주체에 이관되는 시점 이전에는 중앙화된 주체인 개발사의 운영을 신뢰하는 상태에서 인게임과 블록체인이 변경 가능한 메타데이터를 기반으로 연결되어 등록, 거래에만 거래비용이 발생하는 방식으로 게임에 블록체인을 도입하는 편이 고객 경험, 플레이어들의 익숙한 개발, 전통적인 플레이어들의 유입을 통한 경쟁 등 여러 가지 장점이 있다고 생각하게 되었습니다.