실용 Plasma (1권): 게이밍

플라즈마 기술의 실용적 사용에 대한 시리즈 by Loom Network

Loom Network Korean
Loom Network Korean
13 min readMay 7, 2018

--

Loom Plasma가 공식적으로 여러분과 가까운 상호 연결된 블록체인에 찾아옵니다.

이 글은 Matthew Campbell가 쓴 Practical Plasma (Volume I): Gaming를 번역한 글입니다. 오역이 있으면 Private Note 기능으로 알려주세요!

업데이트:

이 시리즈에 해당하는 글:

  1. Loom Network DAppChains에서의 Plasma: 이더리움 기반 자산을 사용하는 확장성 있는 DApp
  2. 실용 Plasma (1권): 게이밍 👈
  3. 플라즈마 캐시 최초 릴리즈 — 이제 Loom Network 사이드체인에서 플라즈마 기반의 NFT를 사용할 수 있습니다.

플라즈마가 무엇인지 잘 모른다면…

여기서 말하는 플라즈마(Plasma)는 생물학에서 쓰이는, 혈장과 같은 의미로 사용한 것이아닙니다 — 블록체인 세계에서, 플라즈마는 블록체인 간 입금과 출금을 안전하게 하는 기술입니다.

이는 절대 잠을 자지 않는 디지털 보안관과 같은 것이지요 — 또한 모든 도둑을 100% 막습니다.

… 그리고 점점 주목을 받고 있죠.

사실 요즈음엔 이더리움 커뮤니티에서 누군가와 플라즈마를 언급하지 않고 5분간 대화를 하는 건 거의 불가능할 정도입니다.

모두가 플라즈마에 대해 얘기를 하고 있지요.

…그리고 그거 아세요?

Loom Network 역시 플라즈마의 가능성에 대해 굉장히 흥분하고 있습니다.

하지만, 플라즈마의 기술적 측면에만 너무 매몰되지 않는 것도 중요합니다.

결국 새로운 기술은 최종 사용자들이 새로운 경험을 하고 더 편한 삶을 살 수 있도록 해야 합니다 — 그저 기술 자체에만 집중해선 안 되는 것이지요.

오늘, 우리가 구현한 플라즈마가 사용될 수 있는 새로운(그리고 엄청나게 멋진) 타입의 게임에 대해 한번 알아보겠습니다.

플라즈마에 기반한 상호 연결된 블록체인 시스템에서 어떤 것들이 가능한지 알려드리기 위해, 흥미로운 예시들을 몇 개 보도록 하겠습니다.

…그리고 이 예시들은 언젠가 먼 훗날 확인할 수 있는 것들이 아니라, 모두 조만간 실제로 나올 것들입니다.

1. 사이드체인에서 플레이할 수 있도록 덱 전송하기

“크립토좀비 배틀그라운드”는 Loom Network에서 만들고 있는 카드 배틀 게임입니다. 카드들은 이더리움 상에 저장된 대체 불가 토큰(NFT, Non-Fungible Token)을 나타내고, 결투는 사이드체인에서 일어납니다.

맥주를 마시며 친구들과 Magic the Gathering 같이 유명한, 재밌는 카드 게임을 한다고 상상해보세요.

딱 하나의 차이점은, 이 경우 전체 카드 게임을 블록체인에서 플레이한다는 것입니다.

여러분의 카드는 우리가 대체 불가 토큰(Non-Fungible Token, 줄여서 NFT)이라고 부르는 것을 나타낸다는 것입니다 — 즉, 각각의 토큰이 유일하고 분간이 가능하며, 한 명만 가질 수 있는 것이지요. 현실의 카드처럼요.

하지만 여기서 유의할 것은 — Magic the Gathering 같은 카드 배틀 게임을 이더리움 상에서 플레이하는 것은 적절하지 않다는 것이죠.

문자 그대로, 게임에서 일어나는 모든 액션에 대해 여러분이 가스 비용을 지불해야만 할 것이기에, 정말 정말로 돈을 많이 쓰게 될 것입니다. 거기에, 모든 이동 동작에 대해 트랜잭션에 서명을 해야만 할 것이기에, UX 관점에서 굉장히 좋지 않지요.

즉, 어떤 블록체인 게임이든 너무 부담스럽게 될 겁니다.

사이드체인이 바로 자연스러운 블록체인 게이밍을 위한 해답입니다.

이더리움 상에서 결투를 하는 것 대신, 단지 이더리움에 NFT로서 카드를 저장하고, 게임 & 결투 로직을 Loom Plasma Chain에서 다룰 수 있습니다.

플레이어들은 오직 결투를 하는 동안만 Loom Chain으로 그들의 카드를 보내고, Loom Chain은 결투가 끝나면 카드를 되돌려줄 겁니다.

이런 방식으로, 사용자들이 게임을 하지 않는 동안에는 보안에 대해 걱정할 필요가 없는 것이지요.

게임을 진행하지 않는 동안 게임의 자산은 완벽히 안전한 것입니다.

하지만 잠깐 !— 게임을 진행하는 도중에는요? Loom Chain이 사용자의 카드를 훔치면 어떡하죠?

만약 사용자들이 게임을 진행하는 동안 Loom Chain으로 그들의 자산을 옮겨야 한다면, 이는 즉 그들이 Loom Chain의 합의 알고리즘을 신뢰해야 한다는 말입니다. 그렇지요?

어쨌든, 사용자들은 게임을 진행하기 위해 Loom Chain으로 카드를 전송해야 하고, 게임이 끝나면 Loom Chain이 그들의 카드를 돌려줄 거라고 믿어야 하니까요.

여기서 Plasma가 등장합니다.

플라즈마가 구해주러 옵니다!

플라즈마는 자산의 원래 소유자가 사이드체인의 합의 알고리즘을 신뢰할 필요 없이 해당 자산을 전송할 수 있도록 합니다.

어떤 검증자에 의해 사기 트랜잭션이 발생하더라도, 소유자는 Plasma Exit을 시작하고 그의 카드를 메인 체인으로 빼낼 수 있습니다 — 어렵게 얻은 게임의 자산을 디지털 강도로부터 효과적으로 지키는 것이죠.

이는 두 세계에서 가장 좋은 요소들을 이용할 수 있도록 합니다.

  • 플레이어들은 이더리움과 같은 완전히 분산화된 블록체인에서 그들의 자산에 대한 완전한 소유권을 가질 수 있습니다.
  • 이러한 자산들은 높은 처리량을 갖도록 최적화한 사이드체인에서 게임을 하는 데에 사용될 수 있습니다.
  • 사이드체인의 자산은 플라즈마에 의해 안전해집니다 — 플레이어들이 안심하고 자산을 사이드체인으로 보낼 수 있다는 것이지요. 사이드체인에서 자산을 훔치기 위해 사기를 치려 한다면 이더리움 자체에서 쉽게 막아낼 수 있습니다.

본질적으로, Loom Chain은 카드 배틀이 일어날 수 있는 높은 성능의 사이드체인을 제공하고, Plasma는 Loom Chain에 여러분의 카드가 있을 때에도 Loom Chain에서 해당 카드를 훔칠 수 없도록 보장합니다.

추가적인 보안을 위한 만료 날짜 설정

모든 개별 결투에 대해 카드를 이더리움 메인넷과 주고 받을 때, 매번 전송할 때마다 가스를 지불해야만 합니다.

그러니, 많은 경우에 카드를 Loom Chain으로 한 번만 보내고 여러분이 원하는 만큼 게임을 플레이한 다음, 게이밍 세션이 끝나면 이더리움으로 엑싯을 개시할 수 있습니다.

하지만 여러분이 게임을 끝냈을 때 이더리움으로 카드를 되돌려보내는 것을 잊으면 어떡하죠?

이 경우를 처리하기 위해, 사용자들은 만료 시간을 미리 설정하여 플라즈마 체인에 덱을 보낼 수 있습니다 — 1시간, 1일, 1주 등으로 말이죠.*

이런 방식을 통해 세션이 끝날 때 메인넷으로 자산을 다시 보내는 것을 잊어버리더라도, 만료 날짜가 지나면 플라즈마 체인이 엑싯을 개시할 것입니다.

* 이는 핵심 프로토콜이 아니기 때문에, 미들웨어로 구현될 수 있습니다.

2. 내기하기

위험한 내기에 이겨 다른 플레이어의 카드를 가져오기

위에서 본 카드 배틀 게임 예시에서 규칙을 조금 바꿔보도록 하지요:

진짜 내기를 할 수 있는 게임으로 만들어보겠습니다. 상대방과 서로 카드를 걸고 — 라운드에서 지면, 카드를 잃습니다.

또는 심지어 이를 포커&블랙잭 같은 게임을 올리는 카지노 기반 사이드체인으로 일반화할 수도 있습니다.

일반적으로 여러분이 온라인 카지노를 이용하려면, 먼저 판돈을 송금해야 합니다. 그리고서 게임을 플레이하고 베팅을 할 수 있죠. 하지만 여러분이 판돈을 크게 쓴다면, 수천 달러의 자금을 카지노에 맡기고 그저 믿어야 하는 위험이 있습니다.

Plasma Chain은 여기서 게임을 하는 동안만 자산을 맡기도록 하여 신뢰 수준을 줄일 수 있습니다.

예를 들어, 여러분과 여러분의 상대가 5 ETH를 구매하여 Heads-Up No-Limit Hold’em 한 라운드를 플레이한다면, 두 플레이어 모두 플라즈마 체인이 가지고 있는 이더리움 상의 스마트 컨트랙트에 5 ETH를 보낼 것입니다.

게임이 끝난 후, 플라즈마 체인은 게임의 결과에 따라 자금을 여러분과 상대에게 전송합니다. 여러분의 자금은 오직 한 게임에서만 위험 요인이 있고, 게다가 전체 자금을 포커 주최자의 소유에 무기한 맡겨놓을 필요도 없습니다.

카드 배틀 게임에서처럼, 여러분은 특정 카드 혹은 내기에 사용하고자 하는 카드들을 플라즈마 컨트랙트에 맡겨놓을 수 있고, 맡긴 카드만 위험 요인을 가질 것입니다.

위에서처럼, 많은 게임이 일괄적으로 처리될 수 있고 자금/카드는 만료 날짜와 함께 보내질 겁니다 — 그리고 플라즈마 체인이 모든 사람들의 자금을 가지고 도망가려 한다면, 사용자들은 그들의 자금을 출금하기 위해 플라즈마 엑싯을 개시할 수 있고, 메인넷의 플라즈마 컨트랙트로 자금을 지킬 수 있을 것입니다.

3. 사이드체인에서 좀비로 결투하기

“CryptoZombies Rancher”에서, DAppChain 상의 포켓몬 스타일 결투에 놓여진 좀비들

여러분의 첫 번째 게임을 CryptoZombies.io(이더리움 상에 자신만의 DApp을 만드는 방법을 배울 수 있는우리의 대화형코드 스쿨)로 만드신 분들은, 다른 플레이어의 좀비와 싸울 수 있도록 여러분의 좀비에 ZombieBattle 기능을 추가했던 것을 기억하실 겁니다.

하지만 우리의 결투는 이더리움의 한계 때문에 대화형이 아니었죠 — 여러분은 그저 특정 좀비를 선택하여 공격하고, 결투의 결과는 확률에 의해 결정됐습니다.

이는 이더리움에서는 대화형 결투를 만들기가 어렵기 때문이었습니다 — 사용자들은 모든 움직임(공격, 방어, 기타 등등)에 대해 가스를 지불해야 하고, 상대방은 그의 차례 이전에 액션이 검증되어 블록에 추가되기를 15초 이상 기다려야 할 것입니다.

그건 전혀 재미가 없죠 — 게임 관점에서나 여러분의 지갑의 관점에서나요.

하지만 Loom DAppChain에서는, 우리는 매초 수십 개의 블록을 처리할 수 있는 더 성능이 좋은 합의 알고리즘을 쓸 수 있습니다. 이를 통해 현실적이고, 대화형의 포켓몬 스타일 결투를 할 수 있죠.

카드 덱들처럼, 여러분은 메인넷에 여러분의 좀비를 ERC721 대체 불가(Non-Fungible) 토큰으로 저장해 놓을 수 있습니다. 그러고 나서 DAppChain에 여러분의 좀비(모든 게임 통계 포함)를 넣고, 모든 결투 로직이 거기서 발생하도록 할 수 있습니다.

여러분이 루트 체인으로 좀비를 빼낼 때, DAppChain에서 일어난 모든 싸움의 결과에 따라 상태가 업데이트될 것입니다.

4. 게임 캐릭터 업그레이드와 합치기

CryptoZombie Rancher에서 더 좋은, 업그레이드된 좀비를 만들기 위해 좀비들을 합치는 중

곧 출시될 게임 “CryptoZombies Rancher”에서, 여러분은 2마리의 좀비를 더 좋은 좀비 하나로 합칠 수 있을 것입니다. 이는 크립토키티에서새 고양이를 얻기 위해 고양이들을 교배하는 것과 비슷하지요.

또한 크립토키티가 제일 인기있을 때, 크립토키티에서 발생한 트랜잭션으로 이더리움 메인넷을 완전히 막아버린 사건을 기억하실 겁니다.

이에 대해 사용자들을 비난할 수는 없습니다 — 그들은 그저 모든 종류의 다른 조합 방법을 시도하여 가능한 한 가장 좋은 고양이를 얻고 싶을 뿐이었죠. 하지만 여러분은 이런 트랜잭션을 사이드체인에서 처리하여 실험하고자 하는 플레이어들이 소모할 비용을 줄일 수 있고, 이더리움이 열심히 즐기는 게이머들에 의해 막혀버리는 일을 방지할 수 있습니다. 😉

이 경우, 사용자는 그의 좀비를 플라즈마 체인으로 보내고, 여기서 합치기를 다루게 할 것입니다. 이후 다른 합치기를 할 수 있도록 새 좀비를 플라즈마 체인에 그대로 둘 수도 있고, 또는 원할 경우 메인넷으로 빼낼 수 있습니다.

이 예시는 기술적인 관점에서 특히 흥미로운데요. 바로 두 개의 다른 토큰을 하나로 합치는 과정을 포함하기 때문입니다. 이에 대한 세부사항은(토큰 분할에 대한 것도 함께) 현재 플라즈마 구현 그룹과 열심히 논의 중입니다.

5. 게임 자산을 위한 분산 거래 하우스

사용자들은 분산 거래 시장에서 그들의 게임 자산을 거래, 구매하거나 팔 수 있을 것입니다. 거래소에 그들의 자산을 저장해놓을 필요 없이 말이죠.

게임 자산을 사고 파는 등 다른 플레이어들과 거래를 할 수 없다면 게임 자산을 토큰화하는 것이 무슨 의미가 있을까요?

분산 게임 아이템 시장은 미래에 반드시 필요한 것이고, Loom Network에서 정말 흥미롭게 보고 있는 것입니다.

여러분은 말 그대로 모든 블록체인 기반 게임에서 완전히 토큰화된 게임 내 아이템과 캐릭터만을 위한 eBay 스타일의 매매 하우스를 가질 수 있습니다.

워우.

하지만 과거에 우리가 암호화폐 거래소에서 보았듯이, 일반적으로 이를 위해 사용자들은 그들의 모든 자산을 거래소에 저장해 놓아야 합니다 — 그리고 이로 인해 해킹이나 내부 횡령의 타겟이 되기 쉽고, 사용자들은 큰 위험을 감수해야 합니다.

여기서 플라즈마 캐시를 사용하여 사이드체인에서 분산 거래소를 운영하고 위험성을 줄일 수 있습니다.

위의 예시에서처럼, 개별 거래가 발생하는 동안만 자산에 위험성이 있고, 플라즈마 체인이 뭔가 부정을 저지르거나 모든 이의 돈과 아이템을 가지고 달아나면 플라즈마 엑싯(Plasma Exit)을 통해 사용자들의 자산을 되돌려놓을 수 있습니다.

이를 통해 사용자들이 그들의 캐릭터나 아이템, 카드들을 교환하거나 사고 팔 수 있는 완전히 분산화된 매매 시장을 만들 수 있고, 중앙 단체에 자산을 맡겨놓을 필요가 없습니다.

Loom Network는 플라즈마로 채워진 DAppChain을 만드는 데에 집중하고 있습니다.

지금까지는 암호화 체계에서 게임 플레이어들이 원하는 수준의 보안을 제공하기 위해 모든 게임 코드를 이더리움 메인 체인에서 실행해야 했습니다.

하지만, 이 글에서 보았듯이, 믿을 만한 플라즈마 체인이 완전히 지각 변동을 일으키고 있습니다 — 이더리움만으로 이전에는 불가능했던 완전히 새로운 종류의 게이밍 경험을 가능케 하면서 말이지요.

위에서 본 것들은 Loom Network가 자체 게임에서 만들고 있는 약간의 예시일 뿐입니다. 메인 이더리움 체인 기반의 자산을 사용하는 DAppChain의 응용 범위는 오로지 개발자의 상상이 제한할 뿐입니다.

그리고 Loom Network에서는, 그러한 상상이 현실이 될 수 있도록 신뢰할 수 있고 테스트가 완료된 시스템을 위해 열심히 달리고 있습니다.

그러니, 계속 지켜봐 주세요 😉

P.S. 여러분이 개발자자이고, 아직 신청을 안 하셨다면 —Loom SDK Beta를 신청하세요.

그리고 개발자가 아니시더라도, 프라이빗 메일링 리스트에 가입하여 우리가 현재 무엇을 하고 있는지 매주 업데이트를 받아보세요.

Loom Network는 고성능 디앱을 확장하기 위한 멀티체인 상호운용 플랫폼입니다 — 이미 상용 가능한 상태이며, 감사 및 실제 테스트를 거쳤습니다.

Loom 베이스체인에 여러분의 디앱을 한 번 배포하고 나면, 오늘날 모든 주요 블록체인에 걸쳐 가능한 가장 광범위한 사용자 기반에 접근할 수 있습니다.

Loom Network를 처음 접하시나요? 여기서 시작하세요.

LOOM 토큰을 스테이킹해서 베이스체인을 보호하는 데 참여하고 싶으신가요? 여기서 그 방법을 알아보세요.

우리가 하는 일이 마음에 드시나요? 그렇다면 어서 우리의 프라이빗 메일링 리스트에 가입하고, 우리가 계속 전달하는 모든 업데이트를 계속 받아보세요.

--

--