세느비엔느
2026년 08월 03일 개발

완전 온체인 게임, 진짜 될까 — 좋아 보이는 설계를 뜯어봤다

싱글플레이 게임을 블록체인 위에 올리면, 서버 없이도 모두가 같은 세계를 공유하는 MORPG처럼 돌아가지 않을까? 아이템은 유저가 진짜 소유하고, 거래도 되고, 치트는 불가능하고, 가스비는 0원 — 이런 그림이 그려진다. 실제로 이런 설계서를 받았다: 가스비 0원 프라이빗 체인(Hyperledger Besu) + ZK로 전투 검증 + 실시간은 WebSocket, DB는 아예 없이 온체인이 유일한 진실.

멋져 보인다. 그래서 하나씩 뜯어봤다. 결론부터: 만들 수는 있다. 그런데 "해킹 불가능·탈중앙"은 과장이고, "운영비 0"도 조건부다. 그리고 대부분의 경우 애초에 블록체인이 필요 없다.

① 만들 수는 있나 — 있다

컴포넌트는 전부 실재한다. Besu 프라이빗 체인(가스비 0, ARM 구동), Solidity 컨트랙트(업그레이더블 프록시), Noir로 짠 ZK 서킷 → Solidity Verifier 생성, 브라우저에서 WASM으로 증명 생성, WebSocket 세션 서버. 공상 컴포넌트가 없다.

진짜 어려운 건 배관이 아니라 ZK 전투 서킷의 완전성이다. ZK는 "주어진 입력으로 계산을 정직하게 했다"를 증명할 뿐, 입력이 진짜인지는 증명하지 못한다. 전투 서킷이 몬스터 HP를 그냥 입력으로 받으면, 유저가 HP=1로 넣고 "정직하게 이겼다"는 유효한 증명을 만들 수 있다. 그래서 Verifier가 입력을 온체인 상태(캐릭터·던전 값)와 대조해야 하고, 난수 시드는 유저가 미리 못 갈게 커밋-리빌로 고정해야 한다. 서킷이 게임 규칙을 빠짐없이 담아야 하는데, 서킷 복잡도 = 보안 = 브라우저 증명 시간이 한 삼각형으로 묶인다. 여기가 이 게임의 진짜 난이도다.

② validator가 1개면 해킹당하나

여기서 두 개의 다른 위협을 분리해야 정확하다.

플레이어가 게임 규칙을 치트 → validator 수와 무관, 안 취약하다. validator가 1개든 100개든, 상태 변경은 서명 + 컨트랙트 규칙 + ZK 검증을 통과해야 한다. 랜덤 해커가 "validator가 하나니까" 아이템을 위조할 수는 없다. 치트 방어는 합의 탈중앙화가 아니라 컨트랙트+ZK에서 나오기 때문이다.

운영자 악의 / 서버·키 탈취 / 가용성 → 완전히 노출된다. 단일 validator는:

  • 단일 장애점 — 그 노드가 죽으면 게임 전체가 멈춘다.
  • 그 서버·키를 뚫으면 체인 전체 함락 — 아이템 무한 발행, 상태 재작성이 가능. 다중 validator면 하나 뚫어도 부족하지만, 1개면 한 번의 침투 = 게임 오버.
  • 업그레이더블 프록시의 admin 키 = 전권 — 규칙 변경·Verifier 우회까지.

그래서 이 구조는 이름과 달리 "탈중앙 진실원"이 아니다. 정확히는 운영자를 전적으로 신뢰하는 중앙화 서버 + 블록체인으로 변조를 감지 가능하게 만들고 + ZK로 플레이어 치트에 강한 구조다. 게임엔 나쁜 설계가 아니지만, "해킹 불가능·무서버 탈중앙"은 오도다. 실제 공격 표면은 딱 셋 — OCI 서버 · validator 키 · admin 키. 이 셋만 지키면 플레이어는 치트 못 한다.

③ 운영비가 정말 0인가

가스비는 진짜 0이다(자기 프라이빗 체인 + zerobasefee). 이게 설계의 진짜 강점 — 퍼블릭 체인이면 여기서 비용이 다 나간다.

하지만 "운영비 0"은 "무료 티어 서버 한 대가 버티는 동안 0" 이고, 유저가 늘면 곡선이 아니라 계단으로 비용이 붙는다. 그리고 의외로 먼저 터지는 건 네트워크가 아니다 — OCI는 월 10TB 송신이 무료라 여유가 크다. compute(블록 생산·상태트리·동시접속) → 온체인 저장(append-only 무한 누적) 순으로 4 OCPU/24GB가 포화하며, 그 지점에서 무료 티어를 이탈 = 실비가 된다. ZK가 전투 연산을 클라이언트로 넘겨 서버 부하를 낮게 유지하는 건 확실한 이득이지만, "0"은 어디까지나 한 박스 한도 안에서다.

④ 그런데 — 블록체인이 꼭 필요한가

이게 핵심 질문이다. 블록체인이 복잡성 값을 하는 건 딱 세 가지를 원할 때다: 진짜 소유권(운영자가 꺼도 남는 자산) · 무신뢰 거래 · 검열저항.

만약 요구가 "현금화 없는 인게임 재화 물물교환" 이라면? → 평범한 서버가 정답이다. P2P 거래는 서버에선 DB 트랜잭션 하나로 원자적 스왑이고, 아이템 복제(dupe) 방어도 ACID로 깔끔하다. 오히려 최종적 일관성인 P2P 체인보다 서버가 이 지점에선 더 안전하다.

반대로 "운영자가 꺼도 남는 진짜 소유권" 을 원한다면? 여기서 재밌는 벽이 나온다. 중앙 서버 없는 P2P 거래는 순수 서명 교환으로 불가능하다 — 이중지불(double-spend) 때문이다. A가 "아이템 X를 B에게"에 서명하고 동시에 "X를 C에게"에도 서명하면 둘 다 유효하다. "X는 이미 팔렸다"를 강제하려면 거래 순서에 합의하는 공유 원장 = 컨센서스 = 블록체인이 필요하다. 비트코인이 태어난 이유가 정확히 이거다.

그리고 그 원장의 신뢰는 공격 비용(스테이크) 에 비례한다. 작은 자체 체인은 51% 공격이 싸서 취약하다. 그래서 진짜 소유권을 원해도 답은 "내 이더리움"이 아니라 이미 수십억 달러가 지키는 기존 퍼블릭 L2다.

L2 가스는 0이 아니지만 EIP-4844 이후 건당 sub-cent이고, 대납(Account Abstraction)으로 플레이어에겐 공짜처럼 보이게 할 수 있다. 핵심은 게임 루프를 절대 온체인에 올리지 않는 것 — 전투·이동은 오프체인(서버), 온체인은 소유권 이전이 일어나는 정산 레이어로만. 그러면 tx는 "매 클릭"이 아니라 "희귀 자산 이벤트"에만 붙어 비용이 미미해진다.

⑤ 그리고 — 한국 규제 벽

현금화를 안 붙여도, 온체인 거래 가능 아이템은 장외에서 실제 화폐가치가 붙는다(NFT를 밖에서 돈 주고 사고팖). GRAC은 이걸 P2E로 보고 등급을 거부할 수 있다. 실제로 국내 P2E 게임들이 등급을 못 받았다. 거래가 현금화까지면 국내 서비스는 회색~위험지대다. 순수 인게임 물물교환이면 합법이지만, 그러면 앞서 말한 대로 블록체인일 이유가 약해진다.

결론 — 정직한 지도

원하는 것
공유 월드 + 인게임 물물교환(현금화 X) 평범한 서버 + DB. 블록체인 오버킬
운영자가 꺼도 남는 진짜 소유권 + 무신뢰 거래 게임=서버/클라, 자산만 기존 L2, 발행만 ZK/신뢰 게이트
자체 체인 직접 구축 블록체인의 모든 난제를 떠안고 보안은 하나도 못 받음 — 비추(학습 목적이면 O)

블록체인은 중앙 서버를 없애주지 않는다 — 중앙 서버가 하는 일을 바꿀 뿐이다. 그리고 "가스비 0 + 단일 서버 = 중앙화 / 진짜 탈중앙 = 퍼블릭 체인 = 가스비·지연"이라는 트레이드오프는 피할 수 없다. 둘을 동시에는 못 가진다.

멋진 설계서였지만, 뜯어보니 "블록체인으로 뭘 얻고 싶은가" 를 먼저 못 박는 게 90%였다. 나머지는 대개 서버가 더 잘한다.

#블록체인#온체인게임#ZK#아키텍처
조회 1

댓글 0

첫 댓글을 남겨보세요.