엔진코인 로고 |
엔진코인은 전 세계 2000만 명의 게이머가 사용하는 25만개의 온라인 게임 커뮤니티(엔진 네트워크) 플랫폼과 가상 재화 거래 플랫폼을 제공하는 소셜 게이밍 플랫폼이다.
2009년 개발자 출신의 막심 블라고프(Maxim Blagov, 현 엔진 CEO)와 비텍 라돔스키(Witek Radomski, 현 엔진 CTO)가 싱가폴에서 설립했다.
엔진 네트워크에서는 매월 x건의 글로벌 뷰와 수백만 달러의 게임 아이템 거래가 이뤄지고 있다.
이런 엔진코인이 발표한 ERC-1155표준코드의 특징 중 손꼽히는 특징은 블록체인 개발자가 아니어도 토큰을 제작할 수 있다는 점이다.
ERC-1155 토큰이 블록체인 플랫폼에 끼칠 편의성에 관심이 집중된다.
ERC-1155 크립토 아이템 표준 주요 특징
1) 토큰 제작의 대중화
ERC-1155을 활용하면 전문적인 블록체인 개발자가 아니어도 토큰을 제작할 수 있다.
스마트 컨트랙트가 단순히 데이터와 처리 프로세스의 저장소이기 때문에 ERC-1155 토큰 계약은 누구라도 자신만의 토큰을 제작할 수 있게 한다.
이 점은 엔진(Enjin)이 구현되는 방식이기도 하다.
무엇보다 그래픽 UI를 갖춰 편리성을 더했다.
사용의 편리성은 보다 창의적인 제작자가 게임만이 아니라 다양한 분야에서 P2P 사용 사례를 크게 늘릴 것으로 기대하고 있다.
2) 대체 가능과 대체 불가능 아이템의 혼합거래
최근 출시되는 블록체인 게임은 모두 수집품에 초점을 두지만, 대부분의 온라인 비디오 게임은 대체 가능한 아이템과 대체 불가능한 아이템 모두가 필요하다.
예를 들어, 전형적인 멀티 플레이어 게임을 생각해 보면 알 수 있다. 탄약, 비상키트 등은 사용량이 많고 대체 가능(fungible)하다. 대량 거래가 되기 때문에 개별 단위를 신경 쓰지 않아도 된다.
하지만, 고유 이력, 출처, ID를 갖는 특정 무기 아이템이라면 대체할 수 없는(non-fungible) 아이템으로 설계된다. 각각 ERC-20과 ERC-721의 특성이다. 둘은 서로 호환되거나 섞일 수 없다.
ERC-1155 크립토 아이템 표준은 이 두가지 표준의 장점을 결합했다.
게임을 예로 들면, 수천 가지 다양한 아이템을 만들 수 있으며, 각 아이템 마다 고유한 인덱스를 갖고나 다른 아이템을 완전히 대체할 수도 있다.
대체 불가능한 ERC-721 토큰 아이템은 계약 내에 하나의 그룹으로 취급될 수 있어서 일종의 대체성을 내부에 부여할 수 있다. 게임 아이템으로 자신만의 일련 번호 1234가 부여된 기관총 아이템을 예로 들 수 있다.
※3) 번들 토큰의 아토믹 스왑(atomic swap)
거래소와 같은 중간 매개 없이 각기 다른 코인을 서로 교환하는 것을 아토믹 스왑이라고 한다.
게임에서는 여러 아이템에 대한 아토믹 스왑이 필요하다.
예를 들어, 창과 방패를 보유한 게이머가 다른 게이머의 투구, 갑옷과 교환하는 경우를 들 수 있다.
기존 ERC 20 표준에서는 이 개별 게임 아이템을 아토믹 스왑 하기 위해서는 최소 4번의 개별 단계를 거쳐야 한다. (그림 1)
개별 아이템 각각에 대해서 처리 및 승인해야 하기 때문이다.
거래 아이템이 많아질 수록 추가로 거쳐야 하는 단계가 그만큼 늘어나는 비효율성이 문제가 되는 지점이다.
그러나 ERC-1155 토큰은 교환(swap)과정에서 여러 개의 아이템을 하나의 그룹으로 묶어서 처리를 한다.
한번에 교환할 아이템이 몇 개냐를 떠나서 단 두 단계만으로 거래를 처리할 수 있다.
4) 다중 전송 (Multi-transfers)
ERC-1155에서는 하나의 트랜잭션으로 한 명 이상의 수신자에게 원하는 수량 만큼의 아이템을 보낼 수 있다.
기존 ERC-20과 ERC-721 토큰의 거래는 비효율적인 방식으로 이뤄진다.
예를 들어 마트에서 사갈 장바구니에 담긴 사과와 빵, 우유 등 10개의 물건을 하나씩 따로 따로 계산해야 하는 경우, 카드를 긁어 사과를 하나 사고 영수증을 받고, 다시 빵에 대해서 카드를 긁고 영수증을 받는 식으로 10차례의 결제를 하고 10개의 영수증을 받아야 하는 식이다.
ERC-1155에서는 하나의 트랜잭션으로 한 명 또는 여러 수신자에게 원하는 수의 항목을 보낼 수 있다.
이더리움 트랜잭션시 발생하는 수수료인 가스(GAS)와 병목 현상을 크게 줄일 수 있는 장점이기도 하다.
전송(transfer), 승인(approve), 멜팅(회수, melting), 거래(trade) 함수는 모두 배열을 매개 변수로 사용하기 때문에, 단일 트랜잭션으로 100-200개의 연산을 수행할 수 있다. 즉, 단일 아이템을 전송하려면, 각 배열에 단일 요소를 제공하면 된다. 아이템이 두 개면 두 개의 요소, 세 개 아이템 이면 세 개의 요소를 사용하는 식으로 처리한다.
이 같이 두 가지 방식을 혼합하게 되면, ERC-20 아이템과 ERC-721아이템을 섞어서 거래 및 다중 전송이 가능해 진다.