전链 게임 핵심 분석: MUD 엔진과 월드 엔진

YBB 캐피탈
2023-08-10 20:32:40
수집
전체 체인 게임을 블록체인을 기반으로 한 세계로 본다면, 이 분산화된 세계는 무한한 자율성을 가지고 있으며, 자율 세계라고도 할 수 있다.

저자 Solaire, YBB Capital Researcher

과거 블록체인 체계의 한계로 인해 체인 위에 실용적인 DApp을 구축하는 것은 결코 쉬운 일이 아니었습니다. 하지만 이러한 제약에도 불구하고 탐험가들은 결코 나아가는 발걸음을 멈추지 않았고, "x * y = k"라는 유명한 고정 곱셈 풀 공식이 세상에 태어나면서, 불과 몇 백 줄의 코드로 이루어진 Uniswap이 DeFi를 이끌며 Crypto의 서사를 완전히 변화시켰습니다. 간단한 DApp이 개발자의 기발한 아이디어로 이렇게 높은 성과를 이룰 수 있다면, 복잡한 DApp 애플리케이션은 어떨까요? 예를 들어 게임이나 소셜 플랫폼을 완전히 체인 위에 구축하는 것은? 과거에는 미친 생각일 수 있었지만, Rollups가 확장성을 열어준 오늘날, 이러한 가능성은 미묘하게 변하기 시작했습니다.

DeFi는 Crypto에 수천억 달러의 TVL을 가져왔고, 복잡성이 배가된 DApp은 어떻게 실현될까요? Crypto를 다시 새로운 높이로 이끌 수 있을까요? 아마도 발전 초기 단계에 있는 전 체인 게임이 우리에게 답을 줄 수 있을 것입니다. 본문의 내용은 전 체인 게임의 역사, 전 체인 게임 현재의 정의, 전 체인 게임의 창조 및 운영 방식, 전 체인 게임이 Crypto의 미래에 미치는 의미라는 네 가지 부분으로 전 체인 게임을 분석합니다.

전 체인 게임의 기원과 발전

전 체인 게임의 역사는 10년 전으로 거슬러 올라갑니다. Mikhail Sindeyev는 Namecoin을 포크하여 세계 최초의 블록체인 게임인 《Huntercoin》을 구축했습니다. 《Huntercoin》은 2013년 실험 프로토타입으로 시작되었고, 빠르게 온라인 열렬한 추종자들을 발전시켰으며, 많은 유명한 bitcointalk.org 회원들의 지지를 받았습니다. 기술 애호가들의 비디오 게임에 대한 열정 덕분에 가장 인기 있는 Huntercoin 게시물은 38만 회 이상의 조회수를 기록했습니다. 그러나 안타깝게도 Mikhail Sindeyev는 2014년 2월 뇌졸중으로 사망하였고, 《Huntercoin》의 개발도 어려움에 처하게 되었으며, 토큰 HUC는 2015년에 거의 제로에 가까워졌습니다. 전 체인 게임의 첫 번째 시도가 성공하지 못했지만, 다행히도 전 체인 게임의 이야기는 계속되고 있습니다.

2020년 Gubsheep(Brian Gu), Alan Luo, SCOTT SUNARTO는 소설 《삼체: 어두운 숲》에서 영감을 받아 동명의 MMORTS 우주 정복 게임 《Dark Forest》를 개발했습니다. 이 게임은 이더리움 위에 구축되었으며, 모든 규칙과 논리를 스마트 계약에 작성하여 각 행동이 체인 상의 거래가 되는 전 체인 게임입니다. 게임 내용의 핵심 부분은 ZK-Snarks(제로 지식 증명) 기술을 활용하여 전쟁 안개를 제작하여 삼체 소설의 어두운 숲 법칙의 정의를 재현합니다(어떤 우주 문명이 발견되면 반드시 다른 우주 문명의 공격을 받게 됩니다).

예를 들어 플레이어가 행동을 취하고자 할 때, 어두운 숲의 법칙에 따라 자신의 좌표를 노출할 수 없지만 A 행성에서 B 행성으로 이동해야 합니다. 그들은 A와 B의 좌표를 제출하여 이것이 유효하다는 것을 증명해야 하지만, 이더리움의 블록 정보는 완전히 투명합니다. 《Dark Forest》는 다음과 같은 방식으로 정보 숨기기를 구현합니다. 플레이어는 떠날 행성과 목적지 행성을 선택하며, 이 두 행성의 위치는 플레이어의 개인 정보입니다. 떠날 행성과 목적지 행성의 위치 해시 값을 계산한 후, 이 두 해시 값을 블록체인에 제출합니다. 이 단계에서 플레이어는 Commit 단계에서 약속을 제출합니다. 해시 함수의 단방향성 덕분에 제출된 해시 값은 플레이어의 실제 행성 위치를 결정하는 데 사용될 수 없습니다. 다음 단계는 검증(Reveal 단계)입니다. 이 단계에서 플레이어는 자신의 행동이 유효하다는 것을 증명하기 위해 제로 지식 증명을 생성하고 제출합니다. 이 증명은 누구나 검증할 수 있지만, 플레이어의 행성 위치에 대한 정보는 공개되지 않습니다.

이렇게 정보가 투명한 이더리움에서 정보를 숨기는 첫 번째 전 체인 게임이 탄생했습니다. 이 미친 아이디어의 실험은 곧 Crypto 커뮤니티에서 큰 반향을 일으켰고, Vitalik(이더리움 창시자)조차 Twitter에서 이 게임을 직접 리트윗하며 칭찬했습니다.

하지만 《Dark Forest》가 출시된 후 1만 명 이상의 플레이어가 몰리면서 어려움이 시작되었습니다. 이더리움의 성능은 이러한 복잡한 애플리케이션의 운영을 지원하기에 부족했습니다. 게임 출시 당일, 전체 블록체인이 막히고 수조의 Gas가 소모되었습니다. 또한 게임이 DeFi 애플리케이션의 라이브러리와 아키텍처 설계에 기반하고 있기 때문에, 후속 최적화는 고통을 완화할 뿐 문제를 해결하지 못했습니다.

이 실험이 ZK-Snarks의 전망에 미친 영감과 전 체인 게임의 어려움에 대한 고민을 바탕으로, 게임 창립자 Brian Gu는 ZK-Snarks 연구소로서 0xPARC를 설립하여 제로 지식 증명의 발전을 촉진하고, 0xPARC의 또 다른 분기인 Lattice는 전 체인 게임 엔진 MUD의 설계 및 유지 관리를 담당하게 되었습니다. 다른 창립자 SCOTT SUNARTO는 전 체인 게임 운영 전용의 분할 Rollup 프레임워크인 World Engine을 개발하기 시작했습니다.

제로 지식 증명은 오늘날 널리 사용되기 시작했으며, 많은 사람들이 잘 알고 있습니다. 우리가 다음에 논의할 주요 내용은 후자의 두 가지, MUD 엔진과 World Engine, 즉 창조와 운영입니다. 하지만 그 전에 우리는 0xPARC가 전 체인 게임에 대한 정의와 새로운 인식 방식을 이해할 필요가 있습니다.

자율 세계

0xPARC의 암호 게임 논문 모음집 《Autonomous Worlds》의 관점에 따르면, 전 체인 게임은 최소한 다섯 가지 기준을 따라야 합니다:

  • 데이터는 블록체인에서 유래해야 한다: 블록체인은 단순한 데이터 보조 저장소가 아니라, 전용 서버에 저장된 데이터의 "거울"이 아닙니다. 모든 의미 있는 데이터는 블록체인에서 접근 가능해야 하며, 자산 소유권과 같은 데이터에 국한되지 않아야 합니다. 이렇게 하면 게임은 프로그래머블 블록체인의 장점을 충분히 활용할 수 있습니다. 즉, 투명한 데이터 저장소와 무권한 상호 운용성을 제공합니다;
  • 논리와 규칙은 스마트 계약을 통해 구현된다: 예를 들어, 게임 내의 전투는 단순한 소유권이 아니라 체인에서 이루어집니다;
  • 게임 개발은 개방 생태계 원칙을 따라야 한다: 게임 계약과 접근 가능한 게임 클라이언트는 모두 오픈 소스입니다. 제3자 개발자는 플러그인, 제3자 클라이언트, 상호 운용 스마트 계약을 통해 완전히 재배포하고, 맞춤화하며, 심지어 자신의 게임 경험을 포크할 수 있습니다. 이는 다시 게임 개발자가 전체(인센티브 일치) 커뮤니티의 창의적 산출물을 활용할 수 있게 합니다;
  • 게임은 영구적으로 체인에 저장된다: 이 점은 위의 세 가지와 밀접하게 관련되어 있습니다. 암호 원주율 게임인지 여부를 검증하는 시험은: 만약 내일 핵심 개발자가 제공한 클라이언트가 사라진다면, 게임을 계속할 수 있을까요? 대답은 종종 긍정적입니다. 만약(그리고 오직 그때) 게임 데이터 저장소가 무권한이라면, 게임 논리가 무권한으로 실행될 수 있다면, 커뮤니티가 핵심 팀이 제공한 인터페이스에 의존하지 않고 핵심 스마트 계약과 상호 작용할 수 있다면;
  • 게임은 우리가 가치 있다고 생각하는 것들과 상호 작용할 수 있어야 한다: 블록체인은 가치 개념 자체에 대한 로컬 애플리케이션 인터페이스를 제공합니다. 디지털 자산은 기본적으로 우리가 관심 있는 다른 자산과 상호 운용될 수 있습니다. 이는 게임의 깊이와 의미를 반영할 뿐만 아니라 게임의 깊이와 의미를 높이는 데도 기여하며, 게임 세계와 "실제" 세계를 연결합니다.

이 기준에 따라 구축된 전 체인 게임은 블록체인을 기반으로 한 저층 세계로 볼 수 있으며, 또는 자율 세계(Autonomous Worlds)라고 할 수 있습니다.

그렇다면 세계란 무엇일까요? 세계는 현실 세계만을 지칭할 수 없습니다. 세계의 매개체는 소설, 영화, 게임, 시가 심지어 법률 체계일 수 있습니다. 하지만 이러한 세계에서는 중심(저자, 개발자 또는 집단)이 프레임과 규칙을 정하고 이를 우리에게 전달합니다. 이러한 세계에서 자율성의 정도는 다릅니다. 예를 들어, 매우 유명한 오픈 월드 게임인 《Minecraft》에서는 플레이어가 매우 높은 자율성을 가지고 있으며, 다양한 블록을 조합하고 규칙을 수정하여 자신만의 세계를 창조할 수 있습니다. 반면 자율성이 낮은 세계는 소설 세계일 수 있습니다. 예를 들어 《Harry·Potter》의 마법 세계는 JK 롤링이 만든 규칙과 프레임에 기반하고 있습니다.

블록체인을 세계의 기초로 삼으면, 블록체인은 상태에서 모든 노드 실체의 집합을 명확하게 저장합니다. 또한, 이들은 컴퓨터 코드로 규칙을 공식적으로 정의합니다. 블록체인 기반의 세계는 주민들이 합의에 참여할 수 있게 합니다. 이들은 컴퓨터 네트워크를 운영하며, 새로운 실체를 도입할 때마다 합의에 도달합니다.

세계의 관점에서 두 가지 블록체인 개념을 정의해야 합니다:

  • 블록체인 상태 루트: 상태 루트는 세계의 모든 실체에 대한 압축입니다. 상태 루트가 있으면 사람들은 어떤 실체가 가상인지 여부를 확인할 수 있습니다. 한 세계의 상태 루트를 믿는 것은 그 세계 자체를 믿는 것과 같습니다. 0x411842e02a67ab1ab6d3722949263f06bca-20c62e03a99812bcd15dce6daf26e는 2022년 7월 21일 07:30:10PM UTC의 이더리움 상태 루트입니다. 이 상태 루트를 계산할 때, 이더리움 세계의 모든 실체가 고려됩니다. 이는 특정 시간에 해당 세계의 모든 내용을 나타냅니다;
  • 블록체인 상태 전환 함수: 각 블록체인은 상태 전환 함수를 정의합니다. 이는 명확한 도입 규칙으로 볼 수 있습니다. 이는 "세계"의 이전 상태인 가상 실체의 집합이 사람과 기계의 입력을 통해 새로운 가상 실체를 도입하는 방법을 정의합니다. 비트코인의 경우, 상태 전환 함수는 잔액이 주소 간에 소비되고 이전되는 방법을 정의합니다.

따라서 전 체인 게임을 블록체인을 기반으로 한 세계로 간주하면, 이 분산된 세계는 무한한 자율성을 가지며, 자율 세계라고도 부를 수 있습니다.

창조의 딜레마

전 체인 게임의 새로운 디자인을 탐색하는 초기 단계에서 개발자들은 전통적인 DApp 아키텍처와 DeFi 애플리케이션을 구축하는 데 사용되는 라이브러리의 한계에 여러 번 영향을 받았습니다. 《Dark Forest》와 다른 초기 전 체인 게임은 당시 DeFi 애플리케이션을 구축하는 데 사용되는 아키텍처와 라이브러리를 따라야 했고, 이러한 아키텍처는 당시 전 체인 게임을 구축하는 기본 선택이 되었습니다.

초기 전 체인 게임 창조에 대한 패턴은 네 가지로 요약할 수 있습니다:

  • 다양한 계약이 동일한 상태에 접근할 때: 여러 스마트 계약이 동일한 데이터나 상태를 수정할 수 있으며, 이는 데이터 불일치 또는 기타 문제를 초래할 수 있습니다. 때때로 다이아몬드 패턴을 사용하여 해결합니다(다이아몬드 패턴은 Solidity 스마트 계약에서 다중 상속 문제를 해결하는 방법입니다);
  • 다양한 데이터 구조 작성: 각 실체(예: 게임 내의 병사, 행성 등)는 고유한 데이터 구조와 유형을 가집니다;
  • Getters 함수 작성: 이는 데이터 구조가 배치 요소를 반환하는 함수로, 체인에서 초기 상태나 데이터를 가져오는 데 사용됩니다. 예를 들어, getPlanets() 함수는 모든 행성의 목록을 반환할 수 있습니다;
  • 이벤트: 각 데이터 구조는 이벤트를 포함하고 있으며, 이는 스마트 계약 내의 특정 기능으로, 새로운 블록이 체인에 추가될 때 애플리케이션이 상태를 동기화하거나 업데이트할 수 있도록 합니다. 예를 들어, 새로운 행성이 생성될 때 이벤트가 발생할 수 있으며, 애플리케이션은 이 이벤트를 수신하여 표시되는 행성 목록을 업데이트합니다.

이러한 패턴으로 전 체인 게임을 구축하는 것은 매우 고통스럽습니다. 최적화를 통해 고통을 완화할 수 있지만, 우리는 이러한 구축 방식이 진정한 범용 엔진을 사용하는 것과는 거리가 멀다는 것을 알고 있습니다.

세계의 창조자------MUD 엔진

MUD 엔진의 탄생은 개발자들이 과거와 현재의 문제를 고민한 결과입니다. MUD는 복잡한 애플리케이션을 구축하기 위한 이더리움 애플리케이션 프레임워크입니다. MUD는 데이터를 조직하고 논리를 구성하는 몇 가지 규약을 제공하며, 저급 복잡성을 추상화하여 개발자가 애플리케이션의 기능에 집중할 수 있게 합니다. 이는 체인 상의 데이터 저장 방식을 표준화합니다. 이러한 표준 데이터 모델을 통해 MUD는 모든 네트워크 코드를 제공하여 계약과 클라이언트 상태를 동기화할 수 있습니다.

MUD의 최신 버전은 현재 다섯 가지 구성 요소를 갖추고 있습니다:

  • Store: 체인 상의 데이터베이스;
  • World: 표준화된 접근 제어, 업그레이드 및 모듈을 제공하는 진입점 프레임워크;
  • tools: Foundry 기반의 초고속 개발 도구;
  • 클라이언트 데이터 저장소: 체인 상의 상태를 마법처럼 반영할 수 있습니다;
  • MODE: SQL 쿼리를 사용할 수 있는 Postgres 데이터베이스.

EVM 완전 호환성, 높은 자유도

MUD의 범용성은 이더리움 메인넷에 국한되지 않습니다. 언어가 지원되는 한, MUD는 Polygon, Arbitrum, Optimism 또는 Gnosis Chain과 같은 모든 EVM 호환 체인에서 원활하게 작동할 수 있습니다.

또한 MUD는 자율 세계(Autonomous Worlds)와 체인 상 게임 커뮤니티에서 선호되는 프레임워크이지만, 그 응용은 이보다 훨씬 넓습니다. 동시에 MUD는 개발자가 특정 데이터 모델에 제한받지 않도록 큰 자유도를 제공합니다. 간단히 말해, Solidity로 매핑 및 배열을 통해 구현할 수 있는 모든 기능은 MUD에서 쉽게 수행할 수 있습니다. 데이터 가용성 측면에서도, 메인넷이나 Rollups에 배포된 MUD 애플리케이션은 ENS 및 Uniswap과 같은 전통적인 이더리움 애플리케이션과 견줄 수 있습니다.

핵심 사상

MUD는 체인 상의 복잡한 애플리케이션을 위해 설계된 고도로 협력적인 라이브러리와 도구 세트로, 그 핵심 사상은 세 가지를 중심으로 구성됩니다:

  • 모든 체인 상 상태는 MUD 체인 상 데이터베이스 Store에 저장됩니다: Store는 SQLite 데이터베이스와 유사한 내장형 EVM 데이터베이스로, 테이블, 열 및 행의 개념을 가지고 있습니다. Store를 사용하면 데이터를 보다 구조적으로 관리할 수 있으며, Solidity 컴파일러가 제공하는 저장 방법에 의존할 필요가 없습니다. 또한, 런타임에 테이블을 생성할 수 있으며, 자동으로 인덱스 뷰를 생성하기 위해 후크를 등록할 수 있어 더 많은 유연성을 제공합니다;
  • 논리는 무상태이며, 사용자 정의 권한을 통해 서로 다른 계약 간에 분할됩니다: "World"는 진입점 역할을 하여 서로 다른 스마트 계약의 "Store" 접근을 조정합니다. "World"가 배포되면 즉시 "Store"가 생성되며, "Store" 내의 각 테이블은 특정 네임스페이스 아래 등록됩니다. 기능(예: 주소 간의 송금 논리)이 "World"에 추가될 때도 네임스페이스 아래 등록되며, "시스템"이라고 불립니다. 이러한 "시스템"은 실제로 스마트 계약이지만, 전통적인 스마트 계약과는 달리 무상태이며 데이터를 직접 보유하지 않습니다. 대신 "World Store"를 통해 데이터를 읽고 씁니다. 이러한 설계 덕분에 동일한 체인에 배포된 한, 이러한 "시스템"은 서로 다른 "World" 간에 재사용할 수 있습니다;
  • 인덱서나 서브그래프가 필요 없으며, 프론트엔드도 동기화를 유지할 수 있습니다: Store(및 확장된 World)를 사용할 때, 체인 상 데이터는 자동으로 자기 점검(Introspection)됩니다. 모든 변경 사항은 표준 이벤트를 통해 방송됩니다. "MODE" 노드를 통해 실시간으로 체인 상 상태를 SQL 데이터베이스로 변환하여 최신 상태를 유지합니다(밀리초 단위 지연). 또한 MUD는 MUD QDSL 및 GraphQL과 같은 다양한 쿼리 도구를 제공하여 프론트엔드 동기화를 더욱 간소화합니다. React 개발자를 위해 MUD는 자동으로 컴포넌트 상태를 바인딩하고 업데이트할 수 있는 전용 Hooks를 제공합니다.

족쇄를 깨다

세 가지 핵심 사상을 통해 과거의 딜레마를 예로 들어 MUD가 복잡한 애플리케이션의 족쇄를 어떻게 깨는지 살펴보겠습니다.

  • 다양한 계약이 동일한 상태에 접근할 때: "World"와 "Store" 구조를 사용하여 체인 상 상태를 집중 관리합니다. 모든 스마트 계약(MUD에서는 "시스템"이라고 함)은 "World"를 통해 "Store" 내의 데이터에 접근하고 수정합니다. 이는 모든 상태 수정이 중앙 집중식 진입점을 통해 이루어지도록 하여 데이터 불일치 또는 충돌의 위험을 줄입니다. 네임스페이스와 경로를 통해 MUD는 데이터에 대한 세밀한 접근 제어를 제공합니다. 서로 다른 "시스템"은 서로 다른 권한을 가질 수 있어 특정 데이터나 상태를 수정할 수 있는 권한이 있는 "시스템"만 수정할 수 있도록 보장합니다;
  • 데이터 구조: 전통적인 Solidity 저장 방법과 달리, MUD의 "Store"는 SQLite와 유사한 테이블, 열 및 행의 개념을 제공하여 데이터를 보다 구조적으로 저장하고 관리할 수 있습니다. 각 실체(예: 게임 내의 병사, 행성 등)는 고유한 테이블을 가질 수 있으며, 각 테이블은 해당 실체의 다양한 속성을 저장하기 위해 여러 열을 가질 수 있습니다;
  • Getters 함수: MUD의 "Store"가 구조화된 데이터 저장소를 제공하므로, 데이터를 가져오는 것이 더 간단하고 직관적입니다. 개발자는 특별한 getters 함수를 작성할 필요 없이 SQL 유사 쿼리 언어를 사용하여 데이터를 가져올 수 있습니다. 예를 들어, 모든 행성을 가져오려면 개발자는 행성 테이블을 간단히 쿼리하면 되며, getPlanets() 함수를 작성할 필요가 없습니다;
  • 이벤트: MUD는 자동 자기 점검 기능을 제공하므로, 데이터 변경 사항은 시스템에 의해 자동으로 인식되고 해당 이벤트가 발생합니다. 애플리케이션은 이러한 이벤트를 수신하여 상태를 동기화하거나 업데이트할 수 있으며, 각 데이터 구조에 대해 수동으로 이벤트를 정의할 필요가 없습니다.

이상은 MUD의 기본 구성 요소 및 일부 사용 방식에 대한 설명이며, MUD는 더 복잡한 시나리오와 애플리케이션을 구축할 수 있습니다.

세계 운영, World Engine

전 체인 게임의 운영은 이더리움에게 항상 큰 도전이었습니다. Rollups의 빠른 발전과 칸쿤 업그레이드의 임박으로 인해 비용이 크게 감소하고 속도가 크게 향상될 미래가 다가오고 있습니다. 전 체인 게임은 이미 준비가 되어 있지만, 현재의 주류 Rollups는 기본적으로 거래를 위해 설계되었으며, 전 체인 게임을 위해 진정으로 맞춤화된 Rollup은 없습니다.

Argus의 핵심 제품인 World Engine은 전 체인 게임을 위해 진정으로 설계된 분할 아키텍처 Rollup입니다. 현재 공개 테스트는 없지만, 우리는 프로젝트의 블로그와 발표를 통해 World Engine을 분석할 것입니다.

전 체인 게임에 필요한 Rollup

  • 높은 처리량과 높은 TPS: 더 빠른 거래 처리, 더 낮은 지연, 더 나은 확장성;
  • 확장 가능한 읽기 및 쓰기: 대부분의 Layer2는 높은 동시 처리를 위해 대량의 쓰기를 수행하도록 설계되지만, 게임은 플레이어 위치를 얻기 위해 읽기가 필요하므로 읽기와 쓰기가 모두 중요합니다;
  • 수평 확장 가능한 체인: 수평 확장성은 더 많은 노드와 자원을 추가하여 시스템의 처리 능력을 증가시켜 지속적으로 증가하는 수요에 적응하는 것을 의미합니다. 이렇게 하면 Noisy Neighbor 문제(하나의 애플리케이션 또는 실체의 활동이 다른 애플리케이션이나 실체에 부정적인 영향을 미쳐 자원 경쟁과 성능 문제를 초래할 수 있음)를 피할 수 있습니다;
  • 유연성과 맞춤화: 유연성과 맞춤화는 상태 기계를 수정하기 쉽게 하여 게임 디자인에 맞출 수 있습니다. 여기에는 자가 실행되는 게임 루프가 포함됩니다;
  • Tick rate: Ticks는 게임 시간의 원자 단위로, 게임이 충분히 낮은 지연을 원한다면 더 높은 Tick rate 또는 초당 더 많은 블록이 필요합니다.

분할 아키텍처

위의 목표를 달성하기 위해 팀은 21세기 초와 20세기 90년대 말의 상황을 되돌아보며 영감을 받았습니다. MMOs와 같은 온라인 게임이 막 등장했을 때, 초기 온라인 게임은 서버와 네트워크 기술이 상대적으로 제한된 상황에서 많은 플레이어의 상호작용을 지원할 방법을 찾아야 했습니다. "분할"은 그 중 하나의 해결책으로, 핵심 아이디어는 플레이어를 서로 다른 서버 또는 "분할"에 분산시키는 것입니다. 각 분할은 독립적으로 일부 플레이어, 게임 맵 및 데이터를 호스팅할 수 있습니다.

예를 들어, Ultima Online은 초기 MMORPG로서 서버에서 분할 개념을 구현했습니다. 게임 내의 서로 다른 분할은 서로 다른 가상 세계를 나타내며, 각 분할은 일정 수의 플레이어를 수용할 수 있습니다. 이렇게 하면 다음과 같은 이점이 있습니다:

  • 확장성: 플레이어를 서로 다른 분할에 분산시킴으로써 게임은 더 많은 플레이어의 참여를 수용하기 위해 더 쉽게 확장할 수 있습니다;
  • 부하 감소: 분할은 단일 서버의 플레이어 수와 데이터 양을 줄여 서버의 부하를 낮추고 성능을 향상시킵니다;
  • 혼잡 피하기: 분할은 플레이어가 동일한 지역에 혼잡해지는 상황을 줄여 더 원활한 게임 경험을 제공합니다;
  • 지리적 위치 최적화: 플레이어를 가까운 분할에 할당함으로써 네트워크 지연을 줄이고 게임 응답 속도를 높일 수 있습니다.

이 개념을 World Engine에 어떻게 적용할까요? 과거의 많은 분할 정렬기와는 달리 "World Engine"의 설계는 특정 요구에 더 적합합니다. 그 최적화 방향은 처리량과 실행 시간입니다. 높은 "Tick rate"(즉, 초당 업데이트 빈도)와 블록 시간을 보장하기 위해 기본적으로 동기화됩니다. 설계 목표는 거래가 신속하게 처리되어 효율적인 게임 경험이나 시스템 성능을 유지하는 것입니다. 정렬 방식은 모든 거래에 대해 총 정렬을 강제하는 것이 아니라 부분 정렬 방식을 채택합니다. 이는 각 거래가 모든 다른 거래 이후에 발생해야 한다는 요구가 없음을 의미합니다. 이는 정렬의 부담을 줄여 높은 처리량과 빠른 블록 시간의 요구를 더 잘 충족할 수 있습니다.

여기에는 두 가지 핵심 구성 요소가 있습니다. EVM Base Shard(이더리움 분할)과 Game Shard(게임 분할)입니다. EVM 분할은 순수한 EVM 체인입니다. 진정한 비밀 무기는 게임 분할로, 본질적으로 고성능 게임 서버로 설계된 미니 블록체인입니다. World Engine은 사용자가 원하는 구현을 가져올 수 있는 인터페이스를 가지고 있어, 우리는 우리의 선호에 따라 이 분할을 맞춤화할 수 있습니다. 구축된 분할은 기본 분할에 주입됩니다. 표준 인터페이스 세트를 구현하기만 하면 되며, 이는 우리가 익숙한 Cosmos와 유사합니다. Cosmos에는 IBC 인터페이스가 있습니다. 우리는 기본적으로 이 통합을 유사한 규범으로 만들 수 있으며, 우리의 분할을 World Engine 스택으로 가져올 수 있습니다.

Cardinal은 World Engine의 첫 번째 게임 분할 구현입니다. 이는 Entity-Component-System (ECS) 게임 아키텍처를 사용하며, 데이터 중심 아키텍처를 가지고 있습니다. 이는 게임을 병렬화하고 게임 계산의 처리량을 높일 수 있게 합니다. 이는 초당 최대 20회의 Tick에 도달할 수 있는 구성 가능한 "Tick rate"를 가지고 있습니다. 여기서 블록체인은 초당 20개의 블록을 의미합니다. 또한, 이는 자체 인덱싱이 가능하여 외부 인덱서가 필요하지 않습니다.

또한 분할은 지리적 위치를 통해 지연을 줄일 수 있습니다. 예를 들어, 게임에는 미국에 있는 정렬기가 있을 수 있으며, 아시아 플레이어는 거래가 정렬기에 도달하기 위해 300밀리초의 지연을 기다려야 합니다. 이는 게임에서 큰 문제입니다. 왜냐하면 300밀리초는 긴 시간이며, 200밀리초의 지연이 있는 FPS 게임을 시도하면 기본적으로 PPT를 하고 있는 것과 같습니다.

결론: 전 체인 게임에 대한 생각

전 체인 게임은 아시아 암호화폐 커뮤니티 내에서 다소 덜 알려진 방향이었지만, Starknet의 게임 엔진 Dojo 출시와 OP Stack 개념 검증형 드롭 체인의 개발 시연으로 인해 전 체인 게임에 대한 논의가 점차 활발해지고 있습니다. 본문에서 논의된 범위는 《Dark Forest》에서 파생된 생태계이며, 현재 전 체인 게임에서 가장 강력한 생태계입니다.

그 역사와 기술적 탐구를 통해 우리는 Rollup과 DApp이 여전히 높은 한계를 가지고 있음을 발견할 수 있습니다. 더 넓은 시각으로 보면, 인프라 시설의 향상에 따라 게임뿐만 아니라 다양한 복잡한 아이디어의 구축과 구현이 MUD를 통해 이루어질 것이며, 더 복잡한 Rollup 솔루션에서 상호작용이 융합될 것입니다. 블록체인의 새로운 패러다임은 아마도 전 체인 게임에서 시작될 것입니다.

전 체인 게임에 대한 확장 가능한 내용이 많이 있습니다. 예를 들어 Loot에서 파생된 전 체인 게임 생태계가 Starknet의 발전을 촉진했거나, 상태 동기화의 구현, ESC 아키텍처의 활용 등이 있습니다. 관련 읽을거리를 아래 표에 링크로 남겼으니, 관심 있는 분들은 읽어보시기 바랍니다.

참고 문헌

원문:Modular Summit Day 1 (Galois Stage)

번역문:World Engine:전 체인 게임을 위해 설계된 분할 Rollup 프레임워크

2.Lattice History

3.MUD 개발 문서

4.AUTONOMOUS WORLDS

관련 읽을거리

1. 디지털 신을 위한 시간 기록

2. 전 체인 게임 발전사를 한눈에

3. OPStack을 사용하여 전 체인 게임의 시계 주기를 구축하는 방법

4. 온체인 게임의 미래: 'MUD ECS 엔진의 약속'

5. 자율 세계 구축을 지원하는 MUD 개요 및 MUD를 사용하는 주요 게임 프로젝트, OP Craft 및 Sky Strife

6. 전 체인 게임이 왜 부상하고 있으며, 그 매력은 무엇인가?

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축