-
요타체인 궁금하신 분들을 위해~카테고리 없음 2019. 4. 17. 08:23
요타체인 궁금하신 분들을 위해~
안녕하세요. 블록패치의 다니엘입니다.
이번 글에서는 탈중앙화 블록체인 스토리지 관련 프로젝트인 요타체인에 대해 백서 기반으로 다뤄보겠습니다.
요타체인은 중국의 10대 청년 과학자 출신인 Alex.Wang 님께서 창시하신 프로젝트입니다. Alex.Wang님은 100개 이상의 특허를 보유하고 계시며, 중국의 법률을 함께 제정하신 이력 또한 가지고 계시다고 하네요.
본격적으로 요타체인을 다루기 앞서 인터넷 접속 원리, HTTP 및 IPFS에 대해 알 필요가 있습니다.
인터넷 접속 원리
인터넷 사이트는 고유의 숫자로 된 IP 주소를 가지고 있습니다. 우리가 인터넷 브라우저에서 주소를 입력하면, 이 브라우저는 인터넷 서비스 제공 사업자(KT, SK 등)에게 DNS(Domain Name System – IP가 주소로 변환된 형태) 서버에서 해당 사이트의 IP주소를 알려달라고 요청합니다. 이후 인터넷 서비스 제공 사업자의 DNS 서버는 해당 사이트의 IP 주소를 알려주고, 브라우저는 해당 IP 주소의 웹 서버에 찾아가서 해당 홈페이지 화면을 보내달라는 요청을 하게 되고 이후에 해당 홈페이지를 열람하게 됩니다.
* 참고 : URL(Uniform Resource Locator)은 네트워크 상의 자원의 위치를 알려주는 규약으로 웹사이트 주소보다 상위 개념.
HTTP(HyperText Transfer Protocol)
HTTP는 인터넷 상에서 사용자의 브라우저 및 웹 서버 사이에서 문서를 전송하기 위한 통신 규약입니다. 인터넷에서 하이퍼 텍스트의 전송을 위해 사용되는 통신 규약이며, HTTP의 보안 취약점을 해결하기 위한 프로토콜이 HTTPS(HTTP + Secure Socket) 입니다. HTTPS는 서버와 클라이언트 사이의 모든 통신 내용을 암호화시킵니다.
HTTP 통신 환경을 간단하게 표현하면, 사용자가 특정 서버에 자료를 요청하면, 서버는 이에 대한 응답으로 자료를 제공해주는 형태입니다. 즉 데이터를 저장하고 있는 중앙 서버에서 자료를 내다보는 형식입니다. (커뮤니티 사이트 등을 운영할 때, 서버비가 들어가는 것이 바로 이러한 이유입니다.) HTTP 환경에서는 동시에 많은 이용자가 서버에 접속할 경우, 서버가 다운되는 등의 문제가 있을 수 있습니다.
IPFS(Interplanetary File System)
IPFS의 경우, 탈중앙화된 웹 프로토콜 방식이라고 많이 이야기합니다. IPFS 프로토콜 환경에서는 HTTP처럼 중앙의 서버에 데이터를 요청 및 자료 제공이 아닌, 여러 사용자(클라이언트)들끼리 데이터를 쪼개서 공유합니다.
위의 그림에서처럼 어떠한 파일을 필요로 하는 사용자가 그 파일에 대한 요청을 하면, 여러 사용자로부터 그 파일에 대한 데이터 조각들을 제공받아 데이터에 접근하는 방식입니다. IPFS에서는 HTTP의 DNS와 비슷한 IPNS(Interplanetary name service)를 제공 하기도 합니다.
이러한 IPFS 프로토콜 환경의 생태계 확장 및 보상을 위해 IPFS + FileCoin 프로젝트 또한 생겨났었습니다. 이 프로젝트에서는 데이터의 중복 제거 까지는 가능하였으나, 데이터의 암호화가 되지 않은 단점이 있었습니다.
요타체인 (YottaChain)
요타체인은 위에서 설명한 IPFS+FileCoin의 한계를 해결하기 위해 나온 프로젝트입니다. 서두에서 말씀드린 바와 같이 요타체인은 중국 10대 청년 과학자 출신인 Alrex.Wang에 의해 창시된 프로젝트입니다. Alex.Wang은 20년 이상의 암호학 및 10년 이상의 분산 저장 시스템의 경험을 가지고 있으며, 100개 이상의 특허를 미국, 유럽, 일본 및 중국에서 보유하고 있습니다. 이 특허 중 TruPrivacy 기술의 경우 암호화 이후 데이터 중복 제거를 하는 기술입니다. 이 기술은 2015년 세계의 해커들이 모인 DefCon 자리에서 서버를 오픈하고 유저 데이터를 탈취하는 해커에게 큰 보상을 주기로 하였지만, 데이터 탈취에 성공한 해커는 아무도 없었다고 합니다. 요타체인은 이 TruPrivacy 기술을 활용하여 탈중앙화 스토리지를 구현합니다.
*TruPrivacy 기술 : 영지식 암호화 방식을 통해 데이터를 암호화 한 이후 중복제거를 행하는 기술.
관련 특허 : US patent No. 9164926B2, issued on October 20, 2015, Chinese patent No. 2024272, issued on April 13, 2016, and EUpatent No. 2830282,issued on September 19, 2016
1. 데이터 중복 제거의 의의
기존 조사에 의하면 클라우드 스토리지에서 모든 파일들은 평균적으로 5회 정도의 중복률을 보인다고 합니다. 데이터 중복을 제거할 경우 평균적으로 5배의 스토리지 비용 절감 효과를 가져올 수 있다는 의미입니다. 만약 데이터 중복률이 10이 될 경우, 물리적인 1GB의 저장 공간은 10GB의 데이터 저장 공간을 확보할 수 있으며, 스토리지 비용 또한 10배 절감 효과를 가져오게 되는 것입니다.
2. 중앙화 스토리지를 뛰어넘는 데이터 안정성 보장 매커니즘
YottaChain의 스토리지 서비스는 중복 인코딩을 사용하며 모든 데이터를 N개 (예를 들어 100개, 최종 수량은 향후 커뮤니티 관리위원회에서 결정됨)조각으로 인코딩하고 M개(예를 들어70개)의 조각이 있는 이상 데이터를 복구 할 수 있습니다.
데이터를 N 개로 인코딩하여 N 개의 노드에 저장하며 각 노드에 1개의 데이터 조각을 보유하도록 합니다. 이로인해 N-M + 1 (예를 들어 N이100개,M이 70개의 경우: 100-70+1=31개)의 노드가 동시에 오류가 생기지 않은 이상 데이터의 안전성이 보장됩니다.
*예: A가 한 동영상을 저장한후 요타 시스템은 이 동영상 데이터를 100개의 데이터조각으로 분할하여 100개의 노드에 저장, 그중 31개의 노드가 동시에 해킹당하지 않은 이상, A의 동영상은 잃어버리지 않음.
2. 토큰 디자인
요타체인은 두 가지의 토큰 모델을 가지고 있습니다.
1) YTA
암호화폐 거래소에서 유통되는 유틸리티 토큰으로, 요타체인 내의 리소스 토큰들의 거래는 YTA를 기축으로 거래되는 토큰입니다. 시장의 수요에 따라 가격 변동성이 있는 토큰으로, 일반 암호화폐 거래소에서 거래되는 토큰입니다. YTA 토큰은 ERC 20으로 만들어지고, 인센티브 관련 하여 DPOS 합의 알고리즘 기반으로 21개의 슈퍼 노드 및 100개 이하의 대기 노드를 구축 예정이라고 합니다.
요타체인의 노드는 상업적 노드와 일반 노드로 나뉘어집니다. 상업적 노드는 항시 구동되어야 하기 때문에 노드 사이즈, 퍼포먼스, 신뢰도, 안정성 등 여러 요건들이 필요합니다. 일반적인 노드는 보편적인 요건만을 필요로 하게됩니다. 요타체인은 유저를 개인유저, 패밀리유저, 기업유저로 나눌 예정입니다.
* 메인넷 이후 60년 간 마이닝 레이트
Time interval
Mining rate
Mining amount during the period
Turnover at the end of period
1년
1억/년
1억
41억
2년
0.9억/년
0.9억
41.9억
3년
0.8억/년
0.8억
42.7억
4년
0.7억/년
0.7억
43.4억
5-6년
0.6억/년
1.2억
44.6억
7-8년
0.5억
1억
45.6억
9-10년
0.4억
0.8억
46.4억
11-12년
0.3억
0.6억
47억
13-15년
0.2억
0.6억
47.6억
16-18년
0.1억
0.3억
47.9억
19-21년
9900만
2700만
48.17억
22-24년
800만
2400만
48.41억
25-28년
700만
2800만
48.69억
29-32년
600만
2400만
48.93억
33-37년
500만
2500만
49.18억
38-42년
400만
2000만
49.38억
43-47년
300만
1500만
49.53억
48-52년
200만
1000만
49.63억
53-57년
100만
500만
49.68억
58-62년
90만
450만
49.725억
2) Resource Token
요타체인에서는 리소스의 종류에 해당하는 토큰들이 발행됩니다. 예를 들어 하드디스크 스토리지, 메모리 스토리지, 대여폭 스토리지 같은 자원에 대한 토큰들입니다. 이 토큰들의 발행은 커뮤니티 고버넌스 위원회에 의해 결정됩니다.
리소스 토큰들은 채굴자들에 의해 생성됩니다. 채굴자들은 자신이 토큰화 하고 싶은 잉여 스토리지 자원을 토큰화합니다. 예를 들어, 10GB의 하드디스크 용량이 남을 경우 이를 1년간 대여해주고, 10 YTA-HDD 토큰을 받는 것입니다. 이 과정을 스토리지 토큰의 채굴이라고 합니다. 그러나 채굴 난이도는 매 년 50%씩 상향됩니다.
예를 들어, 처음 1년 동안은 1GB의 스토리지를 통해 1YTA-HDD를 채굴 할 수 있지만, 다음 년도에는 1GB의 스토리지로 0.5YTA-HDD만 채굴이 되는 것입니다. 이를 다르게 풀어서 설명하면 처음 1년 동안에는 1YTA-HDD로 1기가의 스토리지를 이용 가능하지만, 2년차에는 1.5GB를 스토리지를 이용할 수 있고, 이는 연차가 지속될수록 같은 양의 토큰으로 사용 가능한 스토리지 용량이 커져가게 됩니다.
3. 시스템 구조
1) Application Layer
요타체인에서는 스토리지 서비스들과 더불어 4개의 디앱을 구축합니다. 자체 디앱들과 외부 디앱들이 포함됩니다. 내부 디앱은 콘텐츠 공유 디앱, 클라우드 스토리지 디앱, 안전하고 편리한 계정 시스템을 제공하는 어카운트 에이전트 디앱, 탈중앙화 커뮤니티 고버넌스를 완성시키는 커뮤니티 고버넌스 디앱이 있습니다.
2) YTA Main Chain
요타 메인체인은 DAG 기반의 블록체인 시스템을 구현하며, 인센티브는 DPOS 기반으로 슈퍼노드 및 대기 노드들에게 제공될 예정입니다. 이 메인체인에는 내부 거래마켓 또한 위치하게 됩니다.
3) BSP Platform (Blockchain Storage Protocol)
BSP 플랫폼은 전체 블록체인 스토리지 산업에 공개되는 오픈 플랫폼을 구축하기 위해 사용됩니다. 블록체인 스토리지 시스템은 암호화 및 중복 제거를 포함한 이 BSP 오픈 플랫폼의 모든 기능을 즐길 수 있게 됩니다. 이 BSP 플랫폼은 오픈 소스로 구현되기 때문에, 요타체인의 자체 스토리지 시스템이나 외부의 스토리지 시스템은 BSP 오픈 플랫폼에서 모두 통용 가능합니다.
여기에는 CDN 또한 포함이 되는데, 이는 유명 콘텐츠만을 저장했다가 이를 분배시키는 네트워크입니다. CDN은 네트워크를 가속하기에 적절한 네트워크입니다.
4) Resource Token
Resource Token의 경우, 위에서 말씀드린 바와 같이 사용자가 자원을 공유하고, 이 자원이 토큰화 된 것입니다. 여기에는 하드웨어, 메모리, 대여폭 등이 있습니다.
5) Resource pool
Resource pool은 다양한 타입의 리소스들입니다. 마이너들이 마이닝을 위해 사용한 리소스들입니다. 하드디스크, 메모리, 대여폭 리소스 등이 있습니다.
6) Governance
이는 요타체인의 헌법 규정에 관한 부분이네요.
마무리
비트코인으로 세상에 알려지게 된 블록체인 기술은 저장박식의 한가지입니다. 과거에 있었던 플로피 디스크, 하드디스크, USB, 네이버 클라우드, 아마존 클라우드 등과 마찬가지로 데이터의 저장 방법 중 하나이죠. 블록체인의 경우 장부의 분산저장 및 P2P 거래를 가능케 하였다는 점에서 4차 산업 혁명의 요소 중 하나로 손꼽히곤 합니다. IPFS로부터 시작한 클라이언트들끼리 데이터를 공유하여 저장하고 불러들이는 탈중앙화 스토리지 기술을 앞으로 요타체인이 ‘어떻게 상용화 시킬지, 그리고 스토리지 산업에서 얼마나 많은 비율을 점유할지’가 요타체인의 모니터링 포인트로 보입니다.