검수요청.png검수요청.png

토카막 네트워크

해시넷
Asadal (토론 | 기여)님의 2020년 6월 20일 (토) 14:40 판 (같이보기)
이동: 둘러보기, 검색
토카막 네트워크(Tokamak Network) 로고
토카막 네트워크(Tokamak Network) 로고와 글자
㈜온더(Onther)
정순형 ㈜온더 대표이사
김휘경 ㈜온더 최고운영책임자(COO)

토카막 네트워크(Tokamak Network)는 ㈜온더(Onther)가 만든 이더리움 플라즈마 개발 프로젝트이다. 토카막 네트워크는 플라즈마EVM(Plasma EVM) 기술을 기반으로 이더리움 메인체인과 연결되어 있으며, 탈중앙화되고 튜링완전플라즈마 블록체인이다. 토카막 네트워크는 2019년 3월 28일에 열린 온더콘2에서 온더가 6개월 동안 연구해온 이더리움 확장성 솔루션인 토카막 네트워크를 공개하게 되었다.

2019년 해시넷 블록체인 콘퍼런스 GIF 배너.gif
이 그림에 대한 정보
토카막 네트워크가 2019년 해시넷 블록체인 콘퍼런스에 참가했습니다.
2019년 업비트 개발자 컨퍼런스 배너.png
이 그림에 대한 정보
토카막 네트워크(Tokamak Network)가 2019년 업비트 개발자 컨퍼런스에 참여했습니다.

개요

토카막 네트워크(Tokamak Network)는 이더리움과 동일한 스펙의 사이드체인으로 퍼블릭 이더리움 블록체인의 애플리케이션 서비스를 위한 확장성 문제를 해결하는 솔루션으로 이더리움 메인체인의 애플리케이션들을 그대로 옮길 수 있고, 기존 이더리움 개발자 커뮤니티를 그대로 포용할 수 있도록 설계되어있다. 그리고 토카막 네트워크는 이더리움과 동일한 수준의 탈중앙성과 안전성을 보장하며, 높은 수준의 확장성을 제공하는 플라즈마 체인 구축 플랫폼이다.

지케이덱스(zk-DEX)를 목표로 하며 기존의 OTC마켓을 블록체인화한 것이다. 악의적인 자금세탁 이용 경로가 될 가능성이 있지만 프라이버시를 지키는 암호화폐 거래를 목적으로 한다.

주요인물

  • 정순형 : ㈜온더의 CEO이자 토카막 네트워크(Tokamak Network)의 대표로서, 토카막 네트워크의 프로젝트를 총괄하고 있다. 서울 이더리움 밋업 공동조직자 중 한 명이며 플라즈마 EVM(Plasma EVM), 이더리움재단으로부터 장려금(Grants)을 수여받았다. 이더리움 메인넷에 연결되는 사이드체인플라즈마 기술을 연구 중이다. 2018년 10월 한화시스템과 블록체인 분야 기술 및 사업을 위한 전력적 업무협약을 체결했다.
  • 김휘경 : ㈜온더의 COO이며 숭실대학교에서 소프트웨어공학을 전공했다.
  • 박주형 : ㈜온더의 CTO이며 연세대학교에서 컴퓨터과학을 전공했다. 2018년 서울 홍릉 카이스트 대강당에서 개최된 서울이더리움밋업에서 Plasma EVM: state-enforceable construction 를 주제로 발표하였다.

특징

플라즈마(Plasma)

이더리움 재단의 조셉 푼(Joseph Poon)과 비탈릭 부테린(Vitalik Buterin)에 의해서 제안된 플라즈마이더리움의 확장성 문제 해결을 위한 사이드체인 모델이다. 플라즈마는 블록체인의 요약본을 주기적으로 이더리움 메인 체인에 제출하고, 이렇게 제출된 요약 증거를 바탕으로 플라즈마 블록에 문제가 생겼을 때 검증과정을 통해 이를 바로 잡을 수 있다. 초기 플라즈마 연구는 토큰 등의 단순전송과 이에 대한 검증에 초점이 맞춰져 있었으나, 이후 플라즈마 Leap, Bits, EVM 등의 일반 상태를 다루는 방향으로 발전 및 개선되고 있다.

단순 전송(Simple Transfer)

  • 플라즈마 MVP
UTXO기반의 이진 머클트리(Binary Merkle Tree) 구조를 사용하여, 유효하지 않은 상태를 기반으로 한 탈출(Exit)을 방지하기 위해 챌린지 시스템을 두었고, 데이터 가용성 문제를 해결하기 위해 확인(Confirmation)과 탈출 우선권(Exit Priority)을 두었다. 그러나 트랜잭션 전송시 서명단계를 두 번이나 거쳐야 하는 확인 절차로 인해 UX가 매우 좋지 않아 실용적으로 쓰이기는 어렵다.
  • 플라즈마 Cash
플라즈마 Cash는 코인 각각에 고유한 ID와 액면가(Denomination)를 부여하고, Sparse Merkle Tree(SMT)를 활용한다. 또한 각 데이터 단말 노드의 index를 토큰 ID로 두고, 해당 토큰이 사용된 경우 그에 관련된 트랜잭션 정보를 값(Value)으로 기입하는 형태로 설계되었다. 만약 해당 블록에서 사용되지 않은 토큰이라면 해당 토큰에 대한 트랜잭션 정보 또한 없으므로 값(Value)은 비어있게(Null) 된다. 이렇게 해당 토큰이 특정 블록에서 사용되었는지, 혹은 사용되지 않았는지를 SMT의 포함증명과 비포함증명 기능을 통해 확인할 수 있기 때문에 해당 토큰의 사용기록에 대해 명확하게 검증할 수 있게 되었다.
  • 플라즈마 Group
플라즈마 Group은 플라즈마 Cash 기반의 플라즈마 체인 배포 프레임워크로, 누구나 쉽게 플라즈마 체인을 배포할 수 있도록 설계되었다. 또한 기존 플라즈마 Cash의 문제점들을 해결하기 위해 여러가지 개선안들을 도입했다. 먼저 Fixed Denomination 문제를 해결하기 위해 하나의 트랜잭션으로 하나의 코인이 아닌 다수의 코인(Large Range of Coins)을 전송할 수 있도록 하였다. 또한 이러한 과정에서 검증과정이 무거워지는 것을 피하기 위해 Merkle Sum Tree를 사용하였다. 이를 통해 기존 플라즈마 Cash에서 지적되었던 문제점들을 개선하였다.

일반 상태 변환(General State Transition)

  • 플라즈마 Leap
일반 상태에 관한 연산(General Computation) 기능을 비트코인의 Pay-to-Script-Hash(P2SH)와 유사한 사용 조건(Spending Condition)이라는 일종의 작은 프로그램으로 구현하였고, 상태(State) 모델을 사용하기 위해 스토리지 루트해시를 관리하는 기능을 가진 Non-fungible Storage Token(NST)를 제안했다. NST를 통해 기존의 More Viable Plasma에서 사용되는 탈출 모델(Exit Model)을 그대로 사용할 수 있게 됨으로써 데이터 가용성 문제를 해결하였다.
  • 플라즈마 EVM
플라즈마 EVM은 플라즈마 체인에서 EVM을 실행할 수 있는 모델이다. 상태 변환(State Transition)을 검증하려는 방법으로 트루빗 스타일의 검증게임(Truebit Like Verification Game)을 사용하고, 컨트랙트 계정(Contract Account:CA)의 탈출에 관한 권한과 방법을 정의하기 위해 요청 컨트랙트(Requestable Contract)라는 개념을 제시하였다. 플라즈마 EVM은 토카막 네트워크의 코어로 사용된다.

플라즈마 상태 검증(State Verification)

  • 트루빗 프로토콜(TrueBit Protocol)
트루빗은 검증 절차를 별도로 두는 방식을 통해 온체인(On-Chain)의 트랜잭션 수수료를 절약해 검증자의 딜레마를 해결하며, 복잡한 연산을 체인 밖(Off-Chain)에서 수행하고 결과만을 메인 체인에 올린다. 이때 사용된 방식이 검증게임(Verification Game)이다. 토카막 네트워크는 상태검증 절차로 트루빗 스타일의 검증게임(Truebit-Like Verification Game)을 응용한다.

퍼블릭 블록체인의 트랜잭션 수수료 모델

  • 이더리움(Ethereum)
이더리움은 이더리움 자원을 부정하게 사용하는 것을 방지하기 위해 모든 연산에 수수료를 부과한다. 즉, 이더리움 블록체인에서 이루어지는 모든 연산은 "가스"라는 수단으로 시-공간적 비용을 지불한다. 이더리움의 모든 트랜잭션은 가스 제한(Gas Limit)과 가스 가격(Gas Price) 필드를 가지고 있다. 여기서 가스 제한이란 해당 트랜잭션이 얼마나 많고 복잡한 연산을 수행했느냐에 대한 예산(Budget)의 성격을 가지고 있고, 가스 가격은 트랜잭션을 블록에 포함하기 위해 마이너들에게 지불하는 입찰가로서의 성격을 가지고 있다.
  • 스팀(Steem) : 대부분 블록체인에서 DoS 공격을 방지하기 위해 트랜잭션마다 수수료를 지불하는 반면, 스팀(Steem)은 계정에 대역폭(Bandwidth)을 두어 무분별한 트랜잭션이 생성되는 것을 방지한다.
  • 이오스(EOS) : 이오스의 경우, 블록체인의 엔드 유저는 블록체인 네트워크를 관리하는 21명의 BP로부터 Bandwidth, CPU, RAM이라는 3가지의 컴퓨팅 리소스를 할당받아 블록체인을 사용할 수 있다. 이오스 블록체인에서 트랜잭션을 만들 때 필요한 리소스는 Bandwidth와 CPU로서, 이오스(EOS)의 보유량에 따라 트랜잭션을 보내는 계정에 의해 부담되고, 계정간 리소스 임대도 가능하다. RAM은 시장에서 거래가 가능한 자산이고 블록체인에 기록할 데이터를 저장하는 Storage로서 기능한다.[1]

TON(TOKAMAK NETWORK TOKEN)

TON이란 'Tokamak Network Token'의 약자로 각각의 플라즈마 체인을 탈중앙화 시키는데 사용한다. 토카막 네트워크는 에코시스템에서 플라즈마 체인을 올바르게 탈중앙화 시키고 체인의 안정성 유지를 위해 TON이 핵심적인 역할을 한다고 볼 수있다.

로드맵

  • 2018년 8월 : Plasma EVM, 거래 수수료 위임
  • 2018년 10월 : Plasma EVM PoC
  • 2019년 1분기 : 요청가능 Contract, 송금 수수료 위임 구현
  • 2019년 2월 : 연속 리베이스, 성능 검사, 데모 (Dex), 데모 (MakerDAO), ERC20 (토큰)
  • 2019년 6월 : 백지 개발 문서, Public Testnet #1, 패러데이
  • 2019년 3분기 : Truebit- like Verification 게임, Public Testnet #2, Hertz
  • 2019년 4분기 : 토카막 DAO, 토큰 노믹스 적용, Public Testnet #3, Pascal
  • 2020년 1분기 : 대체 실행 모델, ZKP Dex PoC, Mother Plasma, Gauss
  • 2020년 2분기 : Grand Children Tokamak Plasma, ZKP Dex Stabilize, Child Plasma, Gauss-Tesla Tree
  • 2020년 3분기 : ZKP Dex Open
  • 2021년 1분기 : Serenity Applied Tokamak PoC
  • 2021년 3분기 : Serenity Tokamak[2]

이슈

플라즈마 트리(Plasma Tree)[1]

이더리움 2.0과 토카막 네트워크

플라즈마는 근본적으로 이더리움 메인체인의 스마트 컨트랙트를 베이스 레이어로 활용하는 레이어2 솔루션이다. 현재의 이더리움 1.0체인은 2.0체인으로 단계적인 네트워크 업그레이드가 예정되어 있고, 이를 루트체인으로 활용하는 플라즈마는 영향을 받게 된다. 하지만 레이어1 입장에서 레이어2는 스마트 컨트랙트의 일종이고, 이더리움 2.0으로의 업그레이드는 전적으로 프로토콜의 범위 내에서 일어나는 일이기 때문에 네트워크 업그레이드 과정에서 플라즈마가 받는 영향은 제한적이다.

플라즈마 블록체인의 확장성

플라즈마 블록체인에 유저와 트랜잭션이 늘어나면 플라즈마 체인 그 자체도 이더리움 메인넷과 같은 확장성 문제가 생길 수밖에 없다. 단일 플라즈마 체인은 단 하나의 로직으로 동작하고, 유저가 늘어나는 과정에서 단일 블록에 포함해야 하는 트랜잭션은 유저보다 더 빠르게 늘어날 수 있다. 이 경우 토카막 플라즈마의 장점인 튜링 완전성을 이용해서 플라즈마를 트리구조로 확장시키는것이 가능하다. 레이어2 플라즈마 체인은 레이어1체인의 자식체인이자, 레이어3 플라즈마의 부모체인이 되는 것이다.

플라즈마 체인의 다양성

플라즈마 블록체인은 현재의 EVM을 넘어서 더 다양한 기능을 담을 수 있다. 단편적인 예로 사전에 컴파일된 컨트랙트(Pre-compiled Contract)나 추가적인 옵코드(Opcode)를 플라즈마 체인에 탑재할 수 있다. 여기서 중요한 점은 부모체인이 이러한 기능을 검증 할 수 있는 적절한 검증자 컨트랙트의 존재 유무와 상태 반영 로직이다. 토카막 플라즈마의 프로토콜은 루트체인에 스마트 컨트랙트 검증자를 통해 플라즈마 체인이 올바른 방식으로 블록을 생성했는지 검증한다. 만약 새로운 옵코드나 사전에 컴파일된 컨트랙트를 담았다면, 새로운 연산을 지원하는 이더리움 가상 머신 컨트랙트를 구현해야한다. 다만 새롭게 추가된 옵코드는 상태 반영이 이뤄지는 과정에서 진입 및 탈출 컨트랙트 로직에 제약을 줄 수 있음을 감안해야 한다. 만들어 질 수 있는 특정한 영역에 특화된 튜링 완전한 블록체인은 다음과 같다.[1]

  1. 다양한 암호 연산이 추가된 플라즈마 체인
  2. 다양한 대수 및 수리 통계 연산을 지원하는 플라즈마 체인
  3. 대안적인 상태 변화 모델을 적용한 플라즈마 체인
  4. 실험적인 수수료 모델이 도입된 플라즈마 체인

전망

  • 토카막 네트워크이더리움 메인체인에 다양한 튜링 완전한 플라즈마 블록체인을 연결하고, 이더리움 블록체인의 확장성을 높이고, 사용성을 개선하는 목적을 가지고 있다. 토카막 프로토콜은 루트체인에 구현된 스마트 컨트랙트 검증자를 통해서 다양한 기능을 가진 튜링 완전한 플라즈마 체인을 연결할 수 있으며, 이들 블록체인 간 이뤄지는 데이터의 진입과 탈출에 필요한 규칙을 프로그래머가 직접 정의해 사용함으로써, 체인 간 탈중앙화된(Trustless) 상태 교환이 가능하다. 이렇게 만들어진 튜링 완전한 토카막 플라즈마 체인은 탈중앙화된 거래소, 게임, 지갑과 결제, 데이터 저장소, 가치안정화토큰 등 다양한 영역에서 활용될 수 있으며 블록체인 데이터의 프라이버시를 보장하는 것도 가능하다.
  • 토카막 프로토콜의 "올바른 상태 변화 검증"은 다양한 영역과 산업에 최적화된 플랫폼을 만드는 데 매우 유용하게 활용될 수 있다. 기존의 중앙화된 방식으로 블록체인 간 데이터를 교환하는 방식이나 체인 간 데이터를 중개하는 별도의 블록체인 레이어를 만들어 낼 필요 없이 매우 단순하면서도 탈중앙화된 방식으로 일관된 상태 변화를 일으키는 것이 가능하다. 토카막 플라즈마는 토큰 전송이라는 특정한 목적으로만 활용했던 전통 플라즈마의 응용 영역을 확장해 원래의 이더리움이 목표했던 금융과 비금융분야의 수많은 종류의 서비스를 만들 수 있는 주된 수단으로 자리 잡을 수 있을 것이다.[1]

동영상

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 토카막 네트워크 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.