플라즈마 캐시 최초 릴리즈—이제 Loom Network 사이드체인에서 플라즈마 기반의 NFT를 사용할 수 있습니다.

by Matthew Campbell and Georgios Konstantopoulos

이 글은 Matthew Campbell가 쓴 Plasma Cash Initial Release — Plasma-Backed NFTs Now Available on Loom Network Sidechains를 번역한 글입니다. 오역이 있으면 Private Note 기능으로 알려주세요!

이 시리즈에 해당하는 글들:

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

2달 전, Loom Network가 플라즈마 캐시를 추가한다는 발표를 했었죠.

오늘, 우리는 Loom 사이드체인에서 ERC721 대체 불가 토큰(NFT)를 사용할 수 있게 해주는 플라즈마 캐시의 최초 구현 릴리즈를 자랑스레 알립니다.

이는 사용자들이 사이드체인 상에서 가스 없이 트랜잭션을 처리할 수 있고 확인 대기에 1초도 걸리지 않을 것이라는 말입니다. 이 모든 것이 이더리움 메인넷의 보안으로 완전히 뒷받침되면서 말이지요.

플라즈마 캐시 스마트 컨트랙트 소스 공개

개발자 여러분, 우리 Github에서 우리가 구현한 소스 코드를 찾으실 수 있습니다:

https://github.com/loomnetwork/plasma-erc721

또한 우리는 플라즈마 커뮤니티에 의한 공개적인 코드 검사를 위해 ethresear.ch에 릴리즈 발표를 했죠.

우리는 다른 개발자분들과 우리의 초기 코드 릴리즈를 기반으로 만드는 프로젝트들이 앞으로 여기에 기여하실 것으로 기대합니다.

현재의 구현과 다음 계획

Loom Network의 초기 초점은 Zombie Battleground와 같은 블록체인 게임을 구축하는 것이므로, 우리의 플라즈마 캐시 초기 구현은 특히 ERC721 대체 불가 토큰을 위한 것입니다.

ETH, ERC20 및 기타 유형의 토큰을 처리하기 위해 코드를 변환하는 것은 꽤 간단하지만 좀 더 포괄적인 테스트가 필요하죠.

우리의 목적을 위해, ERC721과 같은 대체 불가 토큰에 플라즈마 캐시를 활용할 수 있게 되면 게임에서 많은 중요한 사용 예시가 실제로 가능해지지요. 따라서 이것이 바로 우리가 열심히 파보기로 선택한 첫 번째 사용 사례였습니다.

다음 과정들 — 토큰 분할과 병합

우리의 다음 계획은 ERC20 토큰과 ETH를 위한 지원을 더하는 것입니다.

플라즈마 체인 상에서 토큰 분할 및 병합을 위한 효율적인 구조에 대한 연구가 계속 진행 중이며, 현재 이를 추진하기 위한 최선의 방법에 대한 명확한 합의에 도달하지 못했죠. Plasma Debit이라는 연구 조직은 이 문제를 부분적으로 해결하려 합니다.

우리는 플라즈마 체인에서 토큰 분할을 위한 가장 좋은 방법을 찾기 위해 향후 몇 개월 동안 플라즈마 연구팀과 적극적으로 협력할 것입니다.

지난주 우리의 리드 플라즈마 연구원인 Georgios Konstantopoulos는 Joseph Poon, Karl Floresch등과 함께 공식 플라즈마 구현 미팅(Plasma Implementer’s Call)에 참여했습니다:
지난주 플라즈마 구현 미팅에서 우리의 리드 플라즈마 연구원인 Georgios Konstantopoulos(왼쪽 위의 작은 박스에 있음)

플라즈마 체인에서 토큰 분할 및 병합을 처리하는 방법에 대한 합의가 이루어질 때까지, Loom SDK 개발자는 여전히 Loom Transfer Gateway를 사용하여 사이드체인에서 이러한 대체 가능한 자산을 사용할 수 있을 것입니다.

기술 개요: 메인넷과 플라즈마 체인 간의 토큰 이동

플라즈마 캐시의 구현은 이더리움 메인넷에 있는 플라즈마 스마트 컨트랙트, 해당 플라즈마 컨트랙트와 통신하는 Loom 사이드체인 스마트 컨트랙트로 구성됩니다.

사이드체인에서 ERC721 토큰을 사용하려면, 사용자는 먼저 플라즈마 컨트랙트에 토큰을 보내야 합니다.

토큰을 받은 후, 플라즈마 컨트랙트는 Deposit 이벤트를 발생시키며, 이 이벤트는 수신 대기 중인 사이드체인에 의해 수집됩니다. 해당 사이드체인은 입금된 자산을 포함하는 단일 트랜잭션(Exit 프로세스를 더 쉽게 함)이 있는 블록을 만들기 시작하죠.

그 후 사용자는 메인넷에서 자신의 토큰 소유권을 나타내는 특별한 플라즈마 캐시 토큰을 사이드체인에서 받게 됩니다. 사용자들은 해당 토큰을 어떤 방식으로든 자유롭게 거래하고 사용할 수 있습니다. 사이드체인의 다른 사용자들에게 토큰을 전달할 수도 있지요(다른 사용자가 토큰의 새로운 주인이라는 것을 증명하기 위해 서명한 트랜잭션을 제공).

사이드체인은 플라즈마 컨트랙트에 자신의 블록의 머클 루트를 보내 메인넷에 주기적으로 “체크포인트"를 만듭니다. 토큰 소유권에 어떤 변화가 있는지 보여주는 것이지요.

Plasma Exit

사용자가 사이드체인에서 토큰을 꺼내길 원하면, 해당 사용자는 메인넷의 플라즈마 컨트랙트에 직접 엑싯 요청을 보냅니다(다른 사람이 토큰을 자신에게 보낸 것이라면 그 증명으로 이전 소유자가 서명한 트랜잭션 내역과 함께 제출).

그 후 토큰은 “도전 기간(Challenge Period)”에 들어가며, 도전자(Challenger)는 서명된 트랜잭션 증거를 제출하여 토큰을 꺼내려는 사용자가 유효한 소유자가 아님을 증명할 수 있죠.

만약 도전 기간에 어떤 도전도 성공하지 못하면, 사용자는 플라즈마 컨트랙트에서 자신의 토큰을 인출할 수 있습니다.

따라서 사용자들은 자신의 토큰을 메인넷 플라즈마 컨트랙트에서 직접 입금하고 출금할 수 있으며, 이를 통해 사이드체인에 의해 토큰을 도난당할 위험을 없앨 수 있는 거죠.

Loom–Plasma 흐름 도표:

사용자, 이더리움 메인넷의 플라즈마 캐시 스마트 컨트랙트, 그리고 Loom 사이드체인 간의 기본 흐름은 다음 다이어그램과 같습니다:

Loom–Plasma 흐름. 메인넷과 Loom 사이드체인 사이의 토큰 흐름을 보여줍니다.

우리는 가까운 시일 내에 개발자들을 위해 더 많은 기술 문서를 릴리즈할 것이며, 그 시간 동안 개발자들은 Github의 소스 코드를 읽어볼 수 있습니다.

George는 최근 도쿄의 플라즈마 연구 밋업에서 우리의 연구 결과를 OmiseGo와 함께 발표했는데, 이에 대한 글은 1–2주 내에 쓸 예정입니다.

OmiseGo의 Masaharu Uno-san이 우리를 초대하여 그들의 플라즈마 연구 밋업에서 발표를 했습니다. 그들의 새로운 시부야 사무실에서 진행했지요.

사용자 경험 그리고 향후 개선

플라즈마 엑싯에 대한 사용자 경험은 MetaMask 또는 다른 모바일 지갑에서의 기존 경험과 매우 유사할 것입니다 — 사용자는 엑싯을 시작하기 위해 거래에 간단히 서명할 필요가 있을 겁니다:

Loom SDK와 Trust Wallet을 통한 딥 링크를 사용한 사용자의 서명 후 전송 예시

플라즈마와 가장 큰 차이점은 거의 즉시 트랜잭션이 처리되는 것이 아니라, 사용자가 그들의 엑싯이 도전 기간을 지나 완료될 때까지 기다려야 한다는 점이죠.

그러므로 플라즈마 캐시를 사용할 때의 사용자 경험은 아직 좋지 않습니다. 하지만 이는 향후 개발될 수 있는 몇 가지 선택적 서비스를 사용하여 잠재적으로 완화할 수 있습니다:

유동성 공급자(Liquidity Provider)

사용자가 자신의 토큰을 꺼내길 요청할 때, 전체 도전 기간을 기다릴 수 있는 사람들과 그 토큰을 “거래”할 수 있습니다.

유동성 공급자는 거래에 대해 서비스 요금을 부과할 것입니다. 이런 방식으로, 사용자가 비용을 내면 도전 기간을 기다리지 않고 바로 토큰을 돌려받을 수 있습니다.

이에 대해서는 thresear.ch의 최근 스레드에서 토론 중입니다.

위임 엑싯(Delegated Exit)과 감시탑(Watchtower)

플라즈마 캐시의 사용자 경험을 개선할 수 있는 다른 서비스로는 위임 엑싯과 감시탑이 있습니다.

플라즈마 기법은 사용자의 코인이 도난당하지 않도록 보장하기는 하지만, 사용자들이 토큰을 꺼내려면 그들이 직접 스마트 컨트랙트의 함수를 호출해야 합니다. 그들의 토큰에 대한 유효하지 않은 엑싯 시도에 도전(Challenge)할 수 있도록 컨트랙트를 감시하기도 해야 하지요.

이러한 UX 상에서의 불편한 점들은 사용자를 대신하여 이러한 기능을 수행하는 반-신뢰 서비스를 통해 완화할 수 있습니다.

예를 들면, “위임 엑싯” 서비스를 통해 토큰이 사이드체인에서 1시간 이상 변동이 없는 상태라면 사용자가 자신의 토큰을 자동으로 출금하도록 만들 수 있습니다.

마찬가지로, “감시탑” 서비스는 플라즈마 컨트랙트를 감시하고 사용자를 대신하여 유효하지 않은 엑싯에 도전할 수 있습니다.

이러한 프로세스를 신뢰 담보 없이(Trustless) 만드는 좋은 방법은 없는 것처럼 보입니다. 즉 이러한 서비스를 사용하는 사용자는 토큰을 훔치려는 적들과 공모하는 서비스에 공격을 받을 수 있습니다. 하지만 이런 서비스는 완전히 선택 사항입니다. 사용자가 완전한 비신뢰성 기반보다 편리함을 선택하는 시나리오인 것이지요.


여러분도 볼 수 있듯이, 플라즈마 캐시 UX에는 여전히 잠재적으로 까다로운 문제들이 많으며, 더 많은 연구가 필요한 분야입니다.

ZombieChain이 곧 옵니다.

다음 주에, 우리는 좀비체인의 테스트넷을 공개할 것이고, 메인넷도 곧이어 출시될 것입니다.

만약 이전 발표 내용을 놓치셨다면, ZombieChain은 1초 미만의 블록 시간을 가지는 이더리움에 연결된 공용 DPoS 사이드체인입니다.
개발자는 좀비체인에 자신의 솔리디티 컨트랙트를 배포하고 월 고정 호스팅 비용을 지불하여 이를 실행할 수 있으며, 사용자들은 가스를 지불할 필요가 없는 트랜잭션을 경험할 수 있습니다. 유저 대면 DApp과 게임에 이상적인 환경이지요.
전체 발표 내용은 여기서 확인해 보실 수 있습니다.

오늘 릴리즈는 Loom SDK에 플라즈마 캐시 기능을 추가하여, 자신만의 사이드체인을 사용하길 원하는 개발자들에게 제공합니다.

하지만 우리는 이러한 것들을 상용으로 배포하고 운영하는 것은 복잡하단 것을 압니다. 그리고 대부분의 DApp 개발자들은 그들의 애플리케이션을 만드는 것에 집중하고 싶어하지요 — 그들만의 블록체인 인프라를 돌리고 싶어하지는 않습니다.

그런 이유로, 우리는 ZombieChain에 플라즈마 캐시 기능을 추가하여 이 플랫폼의 모든 개발자들이 이용할 수 있도록 할 예정입니다.

이를 통해 ZombieChain 개발자들은 별도의 추가 구성 없이도 그들의 사용자들에게 플라즈마 캐시의 이점을 자연스럽게 제공할 수 있으며, 우리 역시 네트워크 상의 모든 사용자에게 서비스를 제공하며 실험을 해볼 수 있겠습니다 — 위에서 논의한 유동성 공급자(Liquidity Provider)처럼 말이지요.

우리는 블록체인 세계에 이러한 기여를 할 수 있게 되어 진정으로 기쁘고, 앞으로 추가적인 기능을 만들고 플라즈마 사용자 경험을 개선하기 위한 앞으로의 협력을 기대합니다.


Loom Network는 대규모 게임과 소셜 앱과 함께 이더리움에 확장성이 뛰어난 DPoS 사이드체인 만들기 위한 플랫폼입니다.

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

블록체인 게임 팬이세요? 세계 최초의 PC & 모바일 카드 게임인 좀비 배틀그라운드를 확인해 보세요.

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


https://loomx.io/

If you liked this article:

Follow us on:
Twitter | Telegram | Github

Visit us at https://loomx.io

Check out our Medium blog