/eos-wonderful

EOS-wonderful API and DEMO

Primary LanguageWebAssembly

EOS-Wonderful

EOS-Wonderful API and Test Network for DEMO

설명

EOS-Wonderful(이하 이오스 원더풀)은 이중검증 스마트 컨트랙트를 기반으로 이용하여 '탈중앙' 이라는 블록체인의 기본 컨셉을 유지함과 동시에 퍼블릭 블록체인인 이오스 메인 네트워크(이하 메인넷)에 계정을 생성하지 않고도 이용 할 수 있도록 한다.

현재 구현 된 기능들은 데모를 위한 최소한의 것들로서 이소스 원더풀이 궁극적으로 목표하고 있는 수준은 미치지 않는다. 아직 계정 없이 토큰을 전송 할 수 있는 정도만 구현되어 있지만 이것만으로도 현존하는 대부분의 dApp(분산 어플리케이션)을 지원할 수 있다. 서비스 제공자의 계정을 블록체인 내에서 자원을 소모하는 계정으로 사용하지만, 추후에는 탈중앙성을 위해 누구든지 자신의 계정을 이오스원더풀에 귀속해 잉여 자원을 소모하고 보상을 받을 수 있을것이다.

사용 설명

이오스 원더풀 기반의 dApp 제작을 위해서 숙지해야 할 사항은 다음과 같다.

  1. 이오스 원더풀 스마트 컨트랙트 계정
  2. 메인넷에 연결되는 자원 소모 계정과 API 서버
  3. 서버와 연동되는 dApp용 클라이언트 SDK

스마트 컨트랙트 계정(Smart Contract Account, 이하 CA)은 실제 유저들의 토큰과 수수료 등 모든 정보들이 저장되는 계정인데 현재 진행 단계에서는 한 유저당 210 바이트 미만의 램을 소모한다. 또한 CA의 멀티 시그는 개발진의 판단에 따라 분권화 또는 탈중앙이 가능하며, 직접적으로 CPU 사용 시간이나 네트워크 대역폭을 소모하지는 않는다. 전송 수수료 홀딩(추후 설명)등 사용 수수료 부과 방식을 지정할 수 있습니다.

자원 소모 계정(bandwidth Service Account, 이하 SA)은 실제로 자원을 소모하는 계정으로 경우에 따라서 CA가 SA 역할을 대체하여도 무방하다. 다음 개발 단계에서는 SA는 자원을 소모하는 대신 사용자 동의하에 계정주가 설정한 만큼의 수수료를 얻을 수 있습니다. 현재는 SA를 대상으로 하는 서비스 거부(이하 DOS) 공격을 방지하기 위해 수수료-홀딩 방식을 사용하고 있다. 원더풀 이오스의 유저가 발생시키는 트랜잭션의 서명은 SA 계정의 서명이기 때문에, 사용자는 계정 해킹의 위험없이 안전하게 계정을 제공하기 위해 API 서버를 구축해야합니다. 현재로서는 일반 사용자가 접근하기엔 어려운 영역이지만, 이후 일반인도 쉽게 가능하도록 사용자 경험을 최적화할 예정입니다.

유저가 수수료를 지불하고 SA 계정을 사용하기 위해서는 SA API SERVER와 연결하고 정해진 프로토콜에 맞춰 액션 데이터를생성해야 합니다. 이것을 간편하게 구현하기 위해서 EOSJS 기반의 클라이언트 SDK를 사용합니다.

사용 예시

1. CA,SA,dApp (원더풀) - 데모 사용

간단한 테스트를 위해 원더풀 플랫폼에서 구축한 데모용 CA와 SA로 구성된 가상 dApp을 이용하며 이 경우 모든 이오스 원더풀의 모든 유저 데이터는 데모용 서버에 저장된다.

2. CA,SA(원더풀), dApp(직접 개발) - 데모 서버에서 dApp 개발

직접 dApp을 개발하고 데모용 원더풀 SA에 연결한다.

3. CA(원더풀), SA,dApp(직접 개발) - 직접 개발한 dApp이 연결되는 SA 생성

자신의 계정을 SA로 만들고 데모용 원더풀 CA와 연동한 다음 이후 dApp을 직접 구축한 SA에 연결한다.

4. CA,SA,dApp(직접 개발) - 직접 이오스 원더풀 멀티버스 구현

데모용 서버를 사용하지 않고 완전히 별개의 이오스 원더풀 기반 멀티버스를 구축하여 이용한다. 이 경우 멀티버스를 구축한 제 3자는 수수료의 홀딩량과 홀딩 시간을 직접 설정할 수 있으며, 토큰 발행량 및 전체적인 컨센서스를 직접 개발할 수 있다. 다만 이 경우 CA는 유저당 210바이트 미만의 램 외에도 스마트 컨트랙트를 업로드하기 위해 약 700KB 미만의 램을 소모하기 때문에 사전에 충분한 램이 확보되어야 한다.

저작권 Licence

(C) 2018. Suntae Kim all rights reserved. All Page content is property of Suntae Kim

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외)

이 저작물은 비영리 목적하에 출처를 표기하여 자유롭게 사용할 수 있습니다. 영리 목적 사용을 원하는 경우 kstae@1thefull.com 로 연락 부탁드립니다.