"ERC-20"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
잔글 (같이 보기)
1번째 줄: 1번째 줄:
[[파일:이더리움 로고.png |썸네일|200픽셀|'''이더리움'''(Ethereum) 로고]]
+
[[파일:로커스체인 로고.png|썸네일|200픽셀|'''로커스체인'''(Locus Chain)]]
 +
[[파일:로커스체인 글자.png|썸네일|300픽셀|'''로커스체인'''(Locus Chain)]]
  
'''ERC-20'''<!--ERC20, ERC 20-->은 '''Ethereum Request for Comment 20'''의 약자이다. 20은 리퀘스트 숫자다. 이더리움 네트워크의 개선안을 제안하는 [[EIPs]](Ethereum Improvement Proposals)에서 관리하는 공식 프로토콜이다. 옆줄(-) 없이 'ERC20', 'ERC 20'이라고 쓰기도 한다. 이알씨이십<!--이알씨 이십-->, 이알씨이영<!--이알씨 이영-->, 이알씨이공<!--이알씨 이공-->, 이알씨트웨니<!--이알씨 트웨니--> 등으로 읽는다. ERC-20은 [[이더리움]] [[블록체인]] [[네트워크]]에서 정한 표준 [[토큰]] 스펙이다. 필요한 이더리움과 호환성이 있는 모든 요구 사항을 충족시키는 표준은 ERC-20으로 간주된다. ERC-20 토큰은 이더리움과 교환 가능하며 이더리움 [[지갑]]으로 전송이 가능하다.
+
[[파일:블룸테크놀로지 글자.png|썸네일|300픽셀|'''[[블룸테크놀로지]]'''(Bloom Technology)]]
 +
[[파일:이상윤.jpg|썸네일|200픽셀|'''[[이상윤]]''' 대표이사]]
 +
[[파일:김세정.jpg|썸네일|200픽셀|'''[[김세정]]''' 공동창업자]]
  
==개요==
+
'''로커스체인'''<!--로커스 체인|로커스체인|Locus Chain-->(Locus Chain)은 PC 및 휴대폰 등 널리 보급된 일반적인 디바이스로 구성된 블록체인 네트워크 상에서 초당 수천 트랜잭션을 처리하는 성능을 목표로 개발 중인 블록체인 플랫폼을 위한 [[암호화폐]]이다. 로커스체인의 슬로건은 "실제 사용을 위한 암호화폐"이다. 로커스체인의 창시자는 [[블룸테크놀로지]] 회사의 '''[[이상윤]]'''이다.
이더리움은 자체 블록체인을 기반으로 다양한 탈중앙화 된 [[애플리케이션]]들이 작동할 수 있도록 고안된 하나의 [[플랫폼]] 네트워크이다. [[디앱]]은 이러한 이더리움 플랫폼 상에서 [[스마트 계약]]을 이용하여 쉽고 빠르게 토큰을 발행할 수 있다. 이더리움 블록체인에서는 [[이더]](ETH)가 사용되고, 이더리움 블록체인 상의 디앱은 또 다른 다양한 분야에 적용될 수 있는 각각의 솔루션들로 그에 맞는 토큰을 발행하는 것이다. 이 때 발행된 토큰은 독자적인 토큰인 듯 하지만 실제로는 이더리움 생태계에서 호환 및 사용 가능하다.
 
  
예를 들어, [[안드로이드]] [[iOS]]가 하나의 플랫폼 역할을 하고 그 위에 존재하는 수많은 앱들이 있다. 단순 비교해보면, 안드로이드 iOS가 이더리움 플랫폼 역할을 하고 그 위에 존재하는 앱이 디앱과 같은 것이다. 이때 각각의 앱을 사용하면서 발생되는 일정부분의 포인트를 통합하여 사용하는 것은 같은 회사계열의 앱이 아닌 이상 거의 불가능하다. 하지만 이더리움 플랫폼에서는 각각의 디앱이 발행한 토큰을 통합하여 현금화하는 것이 가능하다. 디앱 내에서의 토큰 교환은 물론, 또 다른 이더리움 플랫폼을 기반으로 한 디앱의 토큰과 교환 가능한데 이를 위해서 ERC-20 토큰 표준이 만들어졌다. 다양한 디앱에 흩어져있는 ERC-20 표준 호환 토큰들은 나중에 통합되어 한 번에 이더로 모두 바꾸어 현금화 할 수 있다.
+
위 목표를 달성하기 위한 중요한 기술적인 문제점은 [[네트워크]] 전송량과 [[트랜잭션]] 계산량이다. 로커스체인에서는 네트워크 전송량과 계산량을 줄이는 방법으로서 [[샤딩]]을 통한 서브네트워크 구성 분산처리를 채택하고 있다. [[샤드]] 내 [[합의 알고리즘]]은 [[비잔틴 장애 허용]](BFT) 계열을 응용하여 트랜잭션 확정까지의 시간을 단축한다. 원장 구조는 [[방향성 비순환 그래프]](DAG) 계열 데이터 구조를 채택하여 리얼타임 동적 샤딩 및 [[프루닝]]을 구현하고 있다.
  
== 필요성 ==
+
로커스체인은 이더리움 기반의 [[ERC-20]] 토큰인 [[로커스]](LOCUS)를 발행했으며 글로벌 암호화폐 거래소인  [[비트레이드]], [[라토큰]]에 상장되었고 추후 메인넷이 발표되면 로커스 코인으로 [[아토믹스왑]](atomic swap)을 지원할 예정이다.
ERC-20이라는 표준을 사용하는 이유는 토큰끼리의 호환을 위해서이다. ERC-20 기반 토큰은 펀디엑스(NPXS), 오미세고(OMG), 비체인(VEN) 등이 있다. 이오스(EOS), 트론(TRX) 등은 이더리움 기반 토큰으로 생성되었지만, 자체 메인넷을 출시와 함께 독립적인 코인으로 재탄생했다. 안드로이드 운영체제를 사용하는 네이버 지도를 카카오톡으로 바로 공유할 수 있는 것처럼 ERC-20 기반으로 생성된 토큰은 상호 호환이 가능하다. ERC-20 기반 토큰들은 동일한 이더리움 지갑으로 전송이 가능하다.<ref>김승현 기자, 〈[http://www.dailytoken.kr/news/articleView.html?idxno=12210 '코린이 상식백과' 가깝지만 생소한 그대, 'ERC-20'], 《데일리토큰》, 2019-02-11</ref>
+
 
 +
== 개요 ==  
 +
'''로커스체인'''(Locus Chain)은 '''탈중앙화'''에 충실하면서 동시에 '''성능''' 및 '''확장성'''의 문제를 해결하려 한다. 먼저 로커스체인은 탈중앙화의 중요한 요소로서 누구나 쉽고 공정하게 참여할 수 있어야 한다는 점을 중시한다. 이를 위해 현재의 일반적인 PC와 휴대폰 및 IoT디바이스의 네트워크 성능, 저장 공간, CPU속도 및 계산량의 한계를 이해하고, 이 위에서 무리 없이 동작하는 알고리즘과 데이터 구조를 개발하여 이를 로커스체인 전체 시스템으로서 구현해 나가는 방향으로 연구가 진행되고 있다.
 +
 
 +
먼저, 원장 구조로서 처리 성능을 담보하기 어려운 선형구조 대신 비선형구조인 '''DAG(Directed Acyclic Graph)'''를 채용하였다. 로커스체인의 '''AWTC(Account-wise Transaction Chain)'''구조는 어카운트/유저를 중심으로 트랜잭션 그래프를 구성하여 각 트랜잭션을 관리하는 DAG구조이다. 각 트랜잭션의 전후 관계와 다른 트랜잭션들과의 관계가 그래프상에 직접 배치됨으로 고속 참조가 가능하면서도, 어카운트 단위로 정보를 총합 관리함으로써 샤드간 이동과 통합을 가능하게 하는 데이터 구조이다.  
 +
 
 +
다음, 로커스체인의 합의 알고리즘은 PoS(Proof-of-Stake)를 기반으로 하는 '''BFT합의'''를 채택하고 있다. PoW(Proof-of-Work)와  Nakamoto합의가 가지는 비효율적인 CPU계산량 소모와 불확정성을 피하기 위한 목적이다. BFT합의의 고속화를 위해, 로커스체인은 전체 네트워크 노드 중 합의에 참여하는 노드를 공정한 방법으로 랜덤하게 샘플링하는 방식을 채택하고 있다. 이 랜덤 선출에는 각 노드의 로커스체인 네트워크에 대한 여러 가지 기여도가 반영된다. PoS를 통해 코인의 지분 소유량이 반영될 수 있고, 노드의 온라인 시간 등 코인량 이외의 내용도 반영이 가능하다.
 +
 
 +
그리고, 네트워크 부하를 줄이기 위한 목적으로 '''다이내믹 샤딩(Dynamic Sharding)'''이 도입되어 있다. 각 샤드는 독립적으로 BFT합의 알고리즘을 수행하며, 하나의 어카운트는 한번에 단 하나의 샤드에서만 처리된다. 따라서 로커스체인에서는 노드 숫자가 늘어나면 이에 비례하여 트랜잭션 처리량이 늘어난다.
 +
 
 +
또한, 각 노드가 꼭 저장하여아만 하는 원장의 크기를 줄이기 위한 프루닝(pruning)방법으로써 '''[[베리파이어블 프루닝]]'''(Verifiable Pruning) 기술이 개발, 채택되어 있다. 베리파이어블 프루닝은 삭제된 과거의 데이터와 현재 가지고 있는 데이터간의 정합성을 암호학적인 방법으로 검증 가능한 알고리즘이다. 이를 통해 현재의 트랜잭션을 합의하는 데 당장 필요하지 않은 데이터는 스토리지에서 삭제할 수 있고, 이 상태에서도 과거 데이터와의 정합성 검증과 해쉬값 참조가 가능하다. 나아가 이 베리파이어블 프루닝 기술을 응용하여, 새로 네트워크에 참여한 노드가 비교적 소량의 최근 데이터만을 다운로드 받아서 짧은 시간 안에 곧바로 네트워크에 기여가 가능한 구조가 구축되어 있다. 그리고 [[사물인터넷]](IoT) 장치 등 제한된 저장 용량만을 갖는 디바이스에서도 로커스체인의 완전 동작이 가능할 것으로 보인다.
 +
 
 +
위와 같은 로커스체인의 특징은, IoT상의 디바이스 등 아주 적은 성능의 장치들이 제약없이 노드에 참여할 수 있게 하여, [[머신투머신]](M2M) 거래, 소매점 단말기, [[사물인터넷]](IoT), [[자율주행 자동차]] 등의 미래산업에 블록체인이 바로 적용될 있게 한다. 로커스체인의 개발자들은 초당 수십억 건의 이벤트를 처리해야 하는 게임 엔진 개발 경험을 살려 데이터 원장구조에서부터 합의알고리즘, 스토리지 및 네트워크 사용량을 최적화하기 위한 기술까지 로커스체인 프로젝트에 모두 담으려 하고 있다.
 +
 
 +
== 역사 ==
 +
[[파일 : BloomTechnology_logo.png|썸네일|250픽셀|오른쪽|'''로커스체인'''(Locus Chain)의 개발을 맡고 있는 '''블룸테크놀로지'''(Bloom Technology) 로고]]
 +
'실용가능한 퍼블릭 블록체인'을 목표로 로커스체인 개발을 책임지고 있는 [https://www.bloomtechnology.co.kr 블룸테크놀로지]는 한국게임산업의 1세대 개척자였던 이상윤 대표가 1994년 판타그램(Phantagram Limited)이라는 이름으로 설립한 회사이다. 판타그램은 파트너 회사인 [http://www.blueside.co.kr 블루사이드(Blueside Inc.)]와 함께 유명 게임 시리즈 '킹덤 언더 파이어(Kingdom Under Fire)', '나인티 나인 나이츠(Ninety Nine Nights)' 등을 만든 게임 엔진 개발회사이다. 20년 동안 판타그램은 마이크로소프트 사와 4개 이상의 콘솔 게임 타이틀을 성공적으로 출시했고 유수의 PC 게임 타이틀을 발표했다. 그중 '킹덤 언더 파이어: 크루세이더(Kingdom Under Fire: Crusaders)'는 2004년 대한민국게임대상을 수상하기도 했다. 하지만 킹덤 언더 파이어2는 약 1000억의 투자를 받았지만 10년이상 출시를 못하였고, 출시 후에도 흥행부진으로 심각한 경영난을 겪고있다. 게임 엔진 기술은 수십만 유저가 참여하여 실시간 초당 수십억개의 이벤트를 처리하기 위한 전문적인 기술로 블록체인과 같은 P2P 기술과 관련성이 높다. 판타그램은 3D 그래픽 최적화, 데이터 분산에 대한 기술력을 바탕으로 2017년 블록체인 개발 사업을 시작하고 2018년 법인명을 '블룸테크놀로지'로 변경했다. 블룸테크놀로지는 차세대 블록체인 플랫폼인 로커스체인의 개발을 맡았고 자회사인 '로커스체인 파운데이션(Locus Chain Foundation Pte. Ltd.)'은 사업전반을 맡고 있다.
 +
 
 +
== 주요인물 ==
 +
* '''[[이상윤]]''': 로커스체인 파운데이션 대표 및 블룸테크놀로지 대표를 맡고 있다. 이상윤 대표는 10대였던 1987년 처음으로 8-bit PC상에서 상용 게임을 만들어 이를 한국과 일본에 판매했으며, 판타그램 및 블루사이드를 통해 "킹덤 언더 파이어" 게임시리즈를 비롯하여 [Forgotten Saga (PC)], [Kingdom Under Fire Crusaders (Xbox)], [Ninety Nine Nights (Xbox360)] 등을 디렉팅 및 프로듀싱하였다.
 +
 
 +
* '''[[김세정]]''' : 로커스체인의 공동창업자이다. 게임 개발사 [[블루사이드]]의 대표이기도 하다. 2007년에는 문화관광부 표창장을 받기도 했다.
 +
 
 +
* '''[[주영현]]''': 1998년 판타그램에 합류한 이후 드래곤플라이, 엔플레버, 블루사이드 등을 거치면서 게임 엔진 및 게임 기술 개발 디렉터를 역임했다. 블룸테크놀로지의 테크니컬 디렉터로서 로커스체인의 기술 개발을 책임지고 있다.
 +
 
 +
* '''[[이길호]]''': 1987년부터 게임 프로그래머로 일했으며 1994년 판타그램의 설립자 중 하나로 개발 책임 및 매니지먼트를 맡았다. 로커스체인에 합류해서는 암호 기술 및 매니지먼트를 돕고 있다.
 +
 
 +
* '''[[장순목]]''' : 30년 이상 개발경력을 가지고 있으며  와이디온라인 CTO , 디지타워 엔터테인먼트 CEO, 나인버드게임즈 CEO 등을 역임했다. 게임을 비롯해 보안시스템, 비전센서, 시뮬레이터,  AI, IOT 등의 개발 및 운용 경험이 있고 스크린야구와 관련된 특허 10여종의 발명자다.
 +
 
 +
* '''[[오구라 타케유키]]''': 20년 넘게 IT 업계에서 프로그래머로 활동했으며 개발 프로젝트의 최고 책임자를 역임했다. GPGPU 프로그램과 프로토타입 등에 풍부한 경험을 갖고 있으며 마이크로소프트, Dena, 그리고 기타 유수의 세계적인 IT 업체에서 수석 프로그래머로 활동했다.
 +
 
 +
* '''[[문영배]]''' : IMF 및 국제기구등에 블록체인 기반의 CBDC, 국내 기업들의 블록체인 기반 다양한 프로젝트에 컨설팅을 수행하고 있다. 한국블록체인협회 부회장을 역임중이다.
 +
 
 +
* '''[[스티브 오]]''' : 미국 스탠퍼드 로스쿨 법학 박사이고, 삼성전자 기업변호사와 한국마이크로소프트 법무팀 대표 변호사 등 국내외 수많은 유수 기업의 법률 고문 역할을 했다.
  
== 생성 방법 ==
 
[[스마트 계약]]이 ERC-20 토큰을 만들어 낸다. 스마트 계약이 싸이클린(CyClean) 토큰을 만드는 데 사용되었고, 스마트 계약은 싸이클린의 채굴 시스템에서 중요한 역할을 한다. 스마트 계약을 통해 ERC-20 토큰을 생성하면 이 토큰을 다른 주소로 보낼 수 있으며, 토큰은 여러 가지 역할을 해준다.<ref name = "CyClean">CyClean, 〈[https://medium.com/cyclean-coin/erc-20%ED%86%A0%ED%81%B0%EC%9D%B4%EB%9D%BC%EB%8A%94-%EA%B1%B4-%EC%A0%95%ED%99%95%ED%9E%88-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C%EC%9A%94-a03f447be073 ERC-20토큰이라는 건 정확히 무엇일까요?]〉, 《미디엄》, 2018-09-17</ref>
 
  
 
== 특징 ==
 
== 특징 ==
=== 규칙 ===
+
=== DAG-AWTC 원장구조 ===
* totalSupply () 함수: 총발행량을 말하며, 총발행량은 토큰이 총 몇 개나 있는지 알려주고 생성되어 순황에 사용할 수 있는 토큰 수를 지정한다.  
+
[[파일 : DAG_AWTC.png|썸네일|400픽셀|오른쪽|선형체인구조와 '''로커스체인'''(Locus Chain)의 '''DAG-AWTC''' 비교]]
* transfer() 함수 : 송금을 말하며, 이 함수를 통해 토큰을 총 발행 주소에서 개인 계정으로 송금할 수 있다. 초기 토큰 배포를 지정된 지갑으로 실행한다. 이 함수는 ICO 토큰이 일반적으로 ERC-20 토큰이다.
+
'''고속 대량 처리를 위한 원장 구조''': AWTC원장 구조는 로커스체인의 고속 처리 및 분산 처리에 있어 중요한 기술적 요소이다. 비트코인, 이더리움 등의 많은 블록체인이 선형 체인구조를 갖고 있는 반면 로커스체인은 DAG(Directed Acyclic Graph) 기반의 비선형 원장구조인 AWTC(Account-Wise Transaction Chain)를 사용한다. 이 구조는 이름 그대로 어카운트 단위로 트랜잭션을 관리하는 병렬형 구조이며 [[나노코인]]의 [[블록격자]](block lattice)와 유사한 형태를 가진다. 선형 체인구조는 이전 블록에 다음 블록이 연결될 수 있는 곳이 한곳밖에 없고, 여러 노드가 같은 연결지점에 동시에 블록을 추가하려 하는 병목이 발생한다. 반면 로커스체인의 DAG-AWTC를 비롯한 블록 격자 구조는 트랜잭션을 추가하는 지점이 어카운트 수만큼 존재하고, 그 지점에 대해서는 소유 어카운트만이 독점적으로 기록이 가능하므로 충돌이 발생하지 않는다. 또한 트랜잭션을 추가한 어카운트가 자명하므로 어카운트 소유자 본인이 악의적인 사용자가 아니라면 트랜잭션은 추가 즉시 거의 확정된다. 이러한 성질을 갖는 로커스체인의 원장구조는 기존 블록체인이 가지고 있던 거래처리 지연 문제를 근본적으로 해결하기 위한 주요 기술적 특징 중 하나이다.
* balanceOf () 함수 : 잔액을 말하며, 계정에 있는 토큰을 반환하고, 모든 지갑의 토큰 균형을 추적한다.
 
* transferFrom () 함수 : 사용자는 송금 기능을 사용하여 측정 토큰을 사용자가 전송하고 교환한 수 있다. 이 함수는 지갑 주소, 수령인, 송금액을 얻은 중개인처럼 작동한 다음 거래를 수행한다.
 
* approve () 함수 : 승인 기능은 사람들이 위조 토큰을 만드는 것을 방지한다. 토큰의 총 발행 양을 확인해 트랜잭션을 허용하거나 거부하고, 최대 토큰 수를 유지 관리하고 어떤 지갑에 어떤 토큰이 있는지 추적한다.
 
* allowance () 함수 : 허용 기능으로 누군가가 시스템을 속이고 본인이 소유한 것보다 더 많은 토큰을 보내고자 하는 상황일 때, 허용 기능 덕분에 사용자들은 자신들이 가진 것보다 더 많은 토큰을 보낼 수 없다. 거래가 이루어지면 취소된다. 모든 트랜잭션은 트랜잭션이 실행되기 전에 유효한지 이중으로 확인된다.<ref name = "이더리움">이더리움, 〈[https://ko.coinnewstelegraph.com/erc-20-erc-223-erc-721-and-erc-777-ethereum-eth-token-types/ ERC-20, ERC-223, ERC-721 및 ERC-777 Ethereum (ETH) 토큰 유형]〉, 《코인뉴스텔레그래피》, 2018-04-08</ref>
 
  
=== 코인 ===
+
=== Locus BFT 합의알고리즘 ===
이더리움 네트워크에서 [[이더]]는 자유롭게 거래된다. 이더는 모든 종류의 거래에 사용되는 토큰이나 암호화폐로 간주한다. 이더리움 네트워크에는 이더와 교환 가치에 기반해 사용되는 다른 토큰들도 존재한다. 이더리움 블록체인에서 또 다른 토큰을 실행하려면 ERC-20이라고 불리는 스마트 계약에서 코드나 기술 표준을 설정해야 한다.<ref name = "황치규">황치규, 〈[https://brunch.co.kr/@delight412/224 ERC20은 뭐고 777은 뭐지? ERC토큰의 모든것]〉, 《브런치》, 2018-11-30</ref>
+
[[파일 : 로커스체인합의알고리즘.png|썸네일|400픽셀|오른쪽|'''로커스체인'''(Locus Chain)의 합의알고리즘]]
 +
'''확정 완결적 합의''': DAG-AWTC 구조는 기본적으로 어카운트간 충돌이 없고 이후에도 결과가 뒤집힐 확률이 거의 없어 소매처리시간(수 초) 이내에 거래가 확정된다. 대부분의 경우 트랜잭션은 정상적으로 추가되고 확정되지만, 만약 어카운트 소유자가 악의적이라면 더블스펜딩과 같은 문제를 발생시키는 것이 가능하다. 로커스체인에서는 수분 간격으로 정기적으로 BFT합의를 실시, 이 기간 동안 문제가 없었다는 사실을 확정하거나, 만약 문제가 생겼을 경우 이를 해결한다.
  
== 다른 이더리움 표준 ==
+
AWTC구조에서 더블 스펜딩은 한 어카운트의 트랜잭션 체인에 동일한 일련번호를 갖는 트랜잭션이 동시에 둘 이상 발생하는 경우로 명확하게 정의된다. 동시에 발생한 서로 다른 트랜잭션이 네트워크를 거쳐 전파되는 과정에서 통과한 각 노드상에서, 노드가 갖는 지분(PoS)에 따른 선택(pseudo-vote)이 발생하면서, 더 많은 지지를 받은 트랜잭션이 1차적으로 결정된다(비확정합의). 그 다음, 확률적지분증명(Stochastic PoS)을 통해 선출된 BFT참여 노드가 주기적(2분 정도 간격)으로 원장 상태를 확정해 거래의 완결성을 최종 확보한다(확정합의).
=== ERC-223 ===
 
[[ERC-223]]은 ERC-20의 토큰 표준 개선이다. 대부분의 사람은 ERC-20 표준에 지갑과 유사한 방식으로 스마트 계약서로 전송된 모든 전송이 유실될 수 있는 주요 결함이 있음을 알지 못한다. 즉, 트랜잭션이 무효로 등록되는 대신 토큰이 사라지고 회복할 수 없게 된다.<ref name = "이더리움"></ref> 이더리움 커뮤니티가 ERC-20에 있는 결정, 즉, 토큰들이 우연히 사라질 수 있는 오류에 대해 손 놓고 있는 것은 아니다. 그럼에도 많은 [[디앱]] 프로젝트들이 ERC-20을 수행했기 때문에 토큰들이 사라졌다. 손실이 70만 달러에서 100만 달러 정도로 추정이 가능하다. [[ERC-223]]은 토큰 스마트 계약에서 직접 보냈을 때 토큰 손실이 될 수 있다는 ERC-20의 문제를 수정한 것이다. ERC-223의 또 다른 혜택은 본질적으로 토큰들이 스마트 계약에서 한 번에 다른 지갑으로 보내질 수 있도록 지원한다. 이 기능 때문에 지갑은 원장 업데이트를 위해 토큰 스마트 계약을 필요로 하지 않는다. 이 새로운 기능에 따른 부산물은 두 개가 아니라 하나의 기능을 확인하는 것이기 때문에 가스비가 절반 정도밖에 안 된다는 것이다. 가스비는 소액 결제로 스마트 계약이나 간단한 거래를 실행할 때 필요하다. 거래를 실행할 때마다 이더리움 네트워크 채굴자들에게 보상을 주기 위해 지불하는 소액 수수료 개념이다.<ref name = "황치규"></ref>
 
  
=== ERC-777 ===
+
DAG는 병렬형 구조이기 때문에 각 노드가 병렬적으로 원장을 갱신한다. 따라서 현재 리얼타임의 절대적인 원장 상태를 특정하는 것은 불가능하다. 로커스체인은 샤드 내에서 데이터가 충분히 전송되는 데 필요한 시간을 감안하여, 이 시간만큼 약간의 과거 시점에 대한 합의를 시도함으로써 DAG 상에서 BFT 확정합의를 최초로 구현했다고 2019년 2월 언론에 [https://www.locuschain.com/ko/socialView?blogSeq=77&blogLanguage=ko&blogCategory=press 발표]하였다. 로커스체인의 합의 알고리즘은 실행 중에도 새로운 트랜잭션의 발생을 막지 않아 DAG의 고속처리에 간섭하지 않으므로 기존의 stop-and-go방식이었던 BFT의 성능적 단점을 개선하였다.
ERC-20의 버그를 위한 또 다른 해결책이 2017년 11일 20일에 제안됐다. 이더리움 커뮤니티에는 [[ERC-777]]로 제출됐고, ERC-20에 대한 해결책이면서 ERC-223과 같이 고유의 혜택도 제공한다. [[ERC-777]]은 ERC-820의 기능을 가져와 모든 사람에게 스마트 계약 주소를 볼 수 있게 하고, 그것들의 기능을 체크할 수 있게 한다. 그리고 이를 트랜잭션이나 요구된 액션들을 검증하는 데 사용한다. ERC-20의 간단한 전송과 확인에서, ERC-777의 보내기 기능으로 본질을 바꾸면서, 토큰과 스마트 계약 그 자체로 더욱 많은 것들을 할 수 있게 된다. 새로운 기능으로 ERC-777은 실행하려는 행동들의 본성을 체크하고 액션을 실행할지 말지 결론을 내릴 수 있다. 그러나 아쉽게도 ERC-777은 당장 ERC-20을 사용하는 모든 프로젝트에 적용되는 것은 아니다. 하지만 전체적인 이더리움 커뮤니티 합의는, 결과적으로 시간이 걸리겠지만, 결국 ERC-777은 수행될 것이다.<ref name = "황치규"></ref>
 
  
=== ERC-721 ===
+
기술적으로 DAG와 BFT를 동시 구현하는 것이 유의미한 이유는, 이것이 이후 스토리지 문제와 네트워크 부하 문제를 해결할 프루닝 및 샤딩 기술의 전제조건이 되기 때문이다. 블룸테크놀로지는 BFT 확정합의 방식의 DAG-AWTC 원장 시스템에 대한 특허 출원을 신청한 상태로 알려져 있다.
[[ERC-721]]은 NFT(Non-Fungible Token)이다. ERC-721은 개발자들이나 복수의 소유자들 사이에서 공유될 수 없는 토큰을 개발할 수 있게 한다. 개별적인 각각의 NFT를 위한 기능과 상태를 포함하게 해준다. ERC-721 기능은 [[디앱]] 게임들에 광범위하게 적용됐다. 캐릭터나 아이템을 나타내기 위해 NTF를 구현한 게임들이 있다. 대표적인 사례가 이더몬이다. <ref name = "황치규"></ref> ERC-721은 본질적으로 토큰이 디앱 내에서 공유될 수 있고 미래 NFT 생성에 영향을 미칠 수 있는 수집물이 되도록 한다. NFT는 무제한으로 공급이 가능하다. 하지만 NFT의 가치가 떨어지지 않게 하려고 대부분의 디앱 프로젝트는 전체 공급량을 제한한다.<ref name = "황치규"></ref>
 
  
* 이더몬 : 각각의 [[이더몬]]은 ERC-721의 기능을 수행하는 NFT다. 플레이어들은 서로 자신들의 이더몬을 거래할 있고, 이더몬의 한 조작을 공유할 수는 없다. 누군가가 다른 사람에게 전송할 경우에 전체 NFT로서만 전송이 가능하다. 반면, 게임에서 플레이어들은 그들의 이더몬을 훈련하고 싸우게 할 있다. 이것은 이더몬의 상태를 늘리거나 줄이는 결과로 이어진다. 게임에서 육성 기능의 경우 새로운 이더몬이 생성됐을 때 새 NTF가 이더리움 네트워크에 생성된다. 소유권은 자동적으로 액션을 요구한 개인에게 돌아간다.<ref name = "황치규"></ref> 
+
=== Stochastic PoS 기반 공정한 커미티 선출 ===
 +
'''완전한 탈중앙화''': 로커스체인은 [[알고랜드]]의 무허가형 순수지분증명방식과 유사한 알고리즘을 사용한다. 더 자세히 설명하자면 로커스체인은 [[ 확률적지분증명 ]] (Stochastic PoS: 지분이 많을수록 커미티로 선출될 확률이 높아지는 방식)을 기반으로 무작위검증가능함수(VRF: Verifiable Random Function)에 의해 매 라운드마다 합의 알고리즘에 참여하는 새로운 프로포저 커미티를 선출한다. 누가 프로포저로 선출될지 미리 알 없기 때문에 해킹, 담합 등 악의적인 공격이 어렵다. 또한 최근 투표 참여 횟수 및 네트워크 참여도(온라인 시간 등)에 기반해 매 라운드마다 새로운 밸리데이터 커미티를 선출, 프로포저가 제안한 라운드 상태에 대해 PBFT 방식에 따라 2회의 투표를 거쳐 결과를 확정한다. 이러한 방법은 합의에 참여할 노드(프로포저, 밸리데이터)를 특정하거나 미리 예측할 없기 때문에 악의적 공격에 의한 조작이 어려워져 합의결과의 공정성과 네트워크의 안정성(security)이 확보된다고 로커스체인은 주장한다.
  
=== ERC-998 ===
+
=== 베리파이어블 프루닝 ===
[[ERC-998]]은 ERC-721과 함께 사용되는 기술로 플레이어들이 모든 통계와 항목 및 토큰을 포함한 전체 캐릭터를 한 번에 전송할 수 있게 한다.<ref name = "황치규"></ref>
+
[[파일:배리파이어블프루닝.png|썸네일|400픽셀|오른쪽|'''로커스체인'''(Locus Chain)의 '''베리파이어블 프루닝''']]
  
== 사례 ==
+
'''노드 저장 부하감소''': 로커스체인은 일정 기간(하루) 이전의 과거 데이터를 능동적으로 로컬환경에서 삭제(프루닝)하여 로컬 데이터의 양을 줄이면서도, 블록체인의 데이터 검증 기능에 지장을 주지 않는 '''[[베리파이어블 프루닝]]'''(Verifiable Pruning) 기술을 개발했다고 2019년 7월초 [https://www.locuschain.com/ko/socialView?blogSeq=187&blogLanguage=ko&blogCategory=tech 발표]하였다.
=== 선거 캠페인 자원봉사자 지급 사례 ===
 
플로리다 의회 선거의 후보가 자신의 캠페인 자원봉사자에게 토큰을 지급할 예정이다. 2019년 07월 10일 블록체인 전문 매체 코인데스크에 따르면, 플로리다주 22구역에 무소속으로 출마한 오마르 레이예스는 "잠재적 자원봉사자와 우리의 암호화폐 실험에 참여하고자 하는 유권자에게 토큰을 배분하려 한다. 연방 선거위원회(FEC)의 승인을 구하고 있다."고 밝혔다.  FEC는 이 같은 토큰이 여러 유형의 선거 기념품과 유사해 연방 법령을 위배하지 않는다고 입장을 밝혔다. ERC-20 규격에 맞춰 생성된 토큰 [[OMR]]은 다음과 같이 활용된다. 오마르 레이예스 캠프가 선거 당국에 보낸 서한에 따르면 Omar2020 위원회는 총 1,000만 개의 OMR 토큰을 발생한다. 이 토큰은 금전적 가치를 지니지 않고 마치 기념품 혹은 점수와 같은 기능을 갖는다. 암호화폐 튜토리얼 이벤트에 참여하면 1ORM, 이벤트에 등록하면 10ORM을 지급하는 방식으로 토큰을 활용한다. 캠페인 자원봉사자로 등록하면 50ORM이 지급되고, 다른 자원봉사자를 추천할 때마다 75ORM이 주어진다. 메일링 리스트에 등록하거나 캠페인 이벤트에 참석해도 각각 다른 규모의 ORM이 사람들에게 배포된다. 이처럼 ORM을 지급한 후 선거 캠페인 막바지에 캠프는 많은 ORM을 보유한 사람에게 보상을 지급할 예정이다.<ref>심두보 기자, 〈[https://decenter.kr/NewsView/1VLNH4WK0A/GZ01 미국 정치인이 ERC-20 토큰을 선거에 활용하는 방법]〉, 《디센터》, 2019-07-11</ref>
 
  
=== 퓨즈더블유 업그레이드 통해 모든 ERC-20 토큰 사용 가능 ===
+
늘어나는 원장 사이즈 문제<ref>현재의 저속이 아닌 비자 카드의 최대 처리량이라고 하는 4k TPS(Transaction Per Second)에 이르는 실용적인 성능을 내는 블록체인을 가정하고, 트랜잭션을 한 번 전송하는 데 드는 용량이 0.5kB 정도라고 가정했을 때 노드가 감당해야 하는 원장 사이즈는 매일 약 172GB 정도씩 늘어난다. (계산법: 0.5kB/Tx * 4kTx/sec * 3.6ksec/hour * 24hour/day = 172.8GB/day)</ref>를 해결하기 위해 오래된 데이터를 단순 삭제하여 원장의 크기를 줄이는 일반적인 프루닝과 달리, 로커스체인의 베리파이어블 프루닝은 '''스큐드머클트리(Skewed Merkle Tree)''' <ref>스큐드머클트리는 이진 머클트리와 링크드리스트의 복합체로서 머클트리의 데이터 검증 능력을 링크드리스트에 적용시킨 구조이다.</ref> 구조를 사용하여 과거 대부분의 데이터가 로컬 환경에 존재하지 않는 상황에서도 데이터의 정당성을 검증할 수 있는 기술이다.
글로벌 핀테크 기업 브릴리언츠(BrilliantTS)의 카드형 암호화폐 하드웨어 지갑인 [[퓨즈더블유]](FuzeW)가 업그레이드를 통해 모든 ERC-20 토큰을 사용할 있게 되었다. 퓨즈더블유의 신규 구매 고객뿐만 아니라, 기존 구매 고객도 이번 업그레이드를 통해 모든 ERC-20토큰을 사용할 수 있다. 최고 보안등급 CC EAL 5+ 인증을 받은 [[콜드월렛]] 방식의 암호화폐 하드웨어 월렛 퓨즈더블유는 카드 자체에 암호화폐 정보와 [[QR코드]] 등을 실시간으로 보여주는 고해상도 디스플레이(e-paper display)가 탑재되어 세계 최초로 실물 카드에서 직접 암호화폐 잔고 확인할 있는 카드형 하드웨어 월렛이다. 0.84mm로 신용카드와 동일한 두께를 가지고 있는 퓨즈더블유는 전용 애플리케이션(W Manager)을 이용해 언제 어디서나 이용할 수 있는 편의성을 가지고 있으며, 동시에 암호화폐를 이용한 결제(Crypto to Crypto payment)까지 가능해서 하드웨어 월렛의 미래로 평가 받는다. 브릴리언츠 배재훈 대표는 퓨즈더블유는 최초의 보안성, 편리성, 이용성을 가지고 계속 진화하고 있으며, 앞으로 사용자의 편의성을 위해 최고의 기술력으로 최고의 노력을 아끼지 않을 것이다."고 밝혔다.<ref>서동영 기자, [http://www.bitweb.co.kr/news/view.php?idx=1998&referer=coinsosik 퓨즈더블유(FuzeW) 업그레이드를 통해 모든 ERC20토큰 사용가능], 《비트웹》, 2018-11-21</ref>
+
 
 +
로커스체인은 관련된 모든 데이터를 전부 보유하지 않아도 필요한 부분의 해시값만으로 정당성 검증이 가능하기 때문에 로컬 노드의 데이터 저장량이 대폭 줄어든다. 시중의 SD카드정도의 저장량으로 노드 운용이 가능하다는 사실은, 누구나 부담 없이 로커스체인 네트워크에 참여할 수 있는 중요한 기반이 되고, 이는 높은 탈중앙화를 달성하는 데 중요한 요소이다.
 +
 
 +
여기에 추가로 로커스체인은 초당 수천 트랜잭션이 수년 이상 쌓인 상황에서도 먼 과거에 발생한 데이터를 효율적으로 검증할 수 있도록 필요한 계산 정보량을 지수함수적으로 단축시키는 알고리즘인 '''계층적 스큐드머클트리(Hierarchical Skewed Merkle Tree)'''를 도입했다고 한다. 이로써 노드의 스토리지 부담을 줄이면서 동시에 고속 검증이 가능한 블록체인을 구현하였다고 한다.
 +
 
 +
반면에, 일부 노드 상에만 데이터가 보존되는 경우 주목도가 낮은 데이터는 아무도 저장하지 않고 사라져 버리는 경우가 발생할 수 있다는 우려가 있다. 이런 우려에 대해, 로커스체인에서는 우선 각 어카운트의 과거 이력(history)은 기본적으로 어카운트 자신 또는 자신이 위임한 노드가 저장하므로, 소유자 본인은 언제나 자신의 과거 이력의 열람 및 백업이 가능하므로 대부분의 경우 문제가 없다고 한다. 이것으로 불충분하다면 로커스체인 외부의 과거 데이터의 저장에 특화된 별도 기구에 저장을 맡길 수 있는데, 예를 들어 수백테라바이트의 저장공간을 가진 디렉토리 서비스 운영 사업자가 코인을 대가로 과거 트랜잭션 데이터의 열람 서비스를 제공하는 등의 전개를 생각할 수 있다. 로커스체인 외부에서 읽은 과거의 데이터도 모든 로커스체인 노드에서 검증할 능력이 있다는 것을 이용하여, 저장과 검증 기능을 각각 잘하는 쪽에 일임함으로써 굳이 로커스체인 위에 모든 데이터를 저장하지 않고도 블록체인의 모든 이점을 효율적으로 누릴 수 있을 것이라고 한다.
 +
 
 +
블룸테크놀로지는 베리파이어블 프루닝에 대한 특허 출원을 신청한 상태로 알려져 있다.
 +
{{인용문|"'''로커스체인'''은 '''베리파이어블 프루닝'''을 통해 이미 원장에서 지워진 데이터라고 해도 나중에 참ㆍ거짓의 증명이 가능한 데이터 구조를 가지게 함으로써 극단적인 원장 사이즈 축소가 가능해졌으며, ​일자형체인 구조가 아닌 '''DAG-AWTC''' 원장구조를 사용해 수초 내 거의 모든 요청을 처리할 수 있게 됐다"<ref>여용준 기자, <[http://www.enewstoday.co.kr/news/articleView.html?idxno=1318677 로커스체인, 플랫폼 기술 집약한 엔터프라이즈 메인넷 개발]>, 《이뉴스투데이》, 2019-07-04</ref><br>
 +
&nbsp; - 주영현 테크니컬 디렉터}}
 +
 
 +
=== 다이내믹 샤딩 ===
 +
[[파일: 다이내믹샤딩.png|썸네일|400픽셀|오른쪽|'''로커스체인'''(Locus Chain)의 '''다이내믹샤딩''']]
 +
'''계산량 증가 및 노드부하감소''': 로커스체인은 노드가 부담하는 네트워크 사용량<ref>고속 블록체인의 초당 처리량을 4K TPS로 가정했을 때 노드가 감당해야 하는 네트워크 통신량은 초당 2MB(=0.5kB/Tx * 4kTx/sec )정도이다. 이는 일반 가정집에서 사용하는 네트워크 대역폭이 100Mbit/s라고 할 때 전체의 20%에 해당하는 수치이다. 이것은 언뜻 작은 수치로 보일 있지만 P2P 가십 프로토콜에서 통신을 주고받는 리피트(repeat)를 고려하면 초당 20MB 정도로 일반인이 가정집 PC로 노드에 참여하기에는 어렵다고 볼 수 있다.</ref>을 낮추고 네트워크 전체의 트랜잭션 처리량을 높이기 위해 다이내믹 샤딩을 도입한다고 한다.
 +
 
 +
[[샤딩]]이란 네트워크 혹은 원장 상태를 샤드(shard) 단위로 작게 쪼개는 기술이다. 일반적인 샤딩은 통신 비율이 샤드 수에 비례해 증가하고 샤드 간 데이터 참조 및 검증이 어렵다는 단점이 있다. 또한 샤드마다 트랜잭션의 빈도, 노드의 수 등에서 차이가 날 경우 네트워크 안정성에 불균형이 발생할 있다. 로커스체인은 이런 문제를 해결하기 위해 네트워크 사용량에 따라 적절한 샤드 수를 조절하는 한편 알고리즘으로 샤드간 균형을 유지하는 다이내믹 샤딩(Dynamic Sharding: 동적 샤딩)을 적용해 성능이 한쪽으로 치우치는 것을 방지하겠다는 계획이다. 로커스체인은 원장 구조가 어카운트 별(AWTC)로 되어 있기 때문에 샤드간 불균형이 일어났을 경우 계정 단위로 샤드를 재배치하여 샤드의 수와 사이즈, 밸리데이터 비율 등을 조절하는 것이 용이해 보인다. 다이내믹 샤딩을 적용하면 한 노드가 감당해야 하는 네트워크 사용량은 샤드 수를 N 으로 할 때 2/N 으로 줄어들고 동일 노드의 네트워크 사용량 대비 네트워크 전체 TPS는 그만큼 증가하게 되는데, 여기에 추가적으로 원장을 쪼개는 스테이트 샤딩을 더해 스토리지 사용량 역시 샤드 수만큼 추가적으로 나눌 계획.  2020년 3월 개발 완료하였다
 +
7월 초순경 다이나믹샤딩까지 적용된 퍼블릭블록체인 공개테스트가 진행될 예정이다.
 +
 
 +
([http://m.dtoday.co.kr/news/articleView.html?idxno=352580&fbclid=IwAR30zqNTAGkNR_qaLY4bevg5gs5E1aVbYzV22Hn0L2MAwa9ElcEue60EG1g#_enliple 기사]가 올라왔다.
 +
 
 +
=== 양자내성 암호서명 ===
 +
'''암호학적 미래대비성''': 블록체인 프로젝트에 큰 위협이 되는 것 중 하나가 바로 양자컴퓨터의 등장이다. 양자컴퓨터 시대가 도래하면 현재 주류로 사용되고 있는 많은 서명 알고리즘이 무효화될 것으로 예상되고, 이에 전 세계 많은 암호학자들이 양자컴퓨터에 대비한 양자내성암호(PQC) 연구를 진행하고 있다. 다만 지금까지 발표된 양자내성암호는 현재의 비 양자내성 암호(non-PQC)에 비해 계산량과 데이터량이 막대하여, 개인용 PC나 모바일기기에서 처리하기에는 성능 부담이 있다. 그리고 양자내성암호는 아직 표준이 정착되지 않아 실제 사용했을 때 안전한가에 대한 수학적, 기술적 검증이 부족한 점이 있다.
 +
 
 +
로커스체인은 이러한 상황을 고려하여 서명 체계를 마스터 서명과 노멀 서명으로 이원화했다고 한다. 일반적인 트랜잭션에서는 현재의 암호체계를 적용한 노멀 서명과 이를 위한 키(페어)를 사용하고, 노멀키를 분실하거나 타인에게 노출되었을 때는 양자내성암호를 적용한 마스터 서명을 사용해 노멀키를 교체하는 방식이다. 마스터 서명은 꼭 필요한 경우 이외에는 사용하지 않기 때문에 양자내성암호의 데이터량 및 계산량 부담이 적다. 그리고 노멀 서명은 키 이외에 알고리즘 자체를 플러그인 방식으로 교환하는 것이 가능하다. 향후 양자컴퓨터가 상용화되거나 개인용PC로 양자내성암호 알고리즘을 처리 가능한 시대가 오면 로커스체인은 노멀 서명 자체를 양자내성 알고리즘으로 교체하는 것이 가능하다고 주장한다.
 +
 
 +
그리고 양자내성암호에 대한 안전성 자체도 아직 증명되지 않았으므로 마스터 서명은 당분간 양자내성암호와 기존의 암호시스템을 병렬로 사용한 하이브리드 체계로 운영한다는 계획이다. 향후 양자내성암호서명 알고리즘에 취약점이 발견되어도 현용 암호서명 알고리즘으로 커버가 가능하며, 나아가 문제가 없는 마스터 서명 알고리즘으로 넘어갈 수 있는 migration방식을 연구하고 있다고 한다.
 +
 
 +
=== 데이터 위변조 검증 API ===
 +
로커스체인 개발팀은, 블록체인 기술의 중요한 포인트는 데이터의 보관보다 제출된 데이터의 위변조와 정당성을 오픈된 환경에서 누구나 검증 가능하다는 점에 있다고 주장한다. 많은 블록체인 프로젝트에서 기존의 DBMS(Database Management System) 대신 블록체인 원장에 직접 데이터를 담으려는 노력을 하고 있으나, 로커스체인 개발팀의 주장은 블록체인 플랫폼이 기존 DBMS의 대량의 데이터 저장과 완전 무결한 트랜잭션 처리 기능을 대체하는 것은 어렵다는 입장이다. 대신, 로커스체인은 다른 DBMS등의 방법으로 저장된 데이터의 정당성과 위변조 여부를 먼 미래 시점에서도 효율적으로 검증 가능한 능력을 갖고 있다고 주장한다.
 +
 
 +
이러한 입장에서 로커스체인은, 사용 단체가 개별적으로 독자 블록체인 시스템을 구축하지 않아도, 로커스체인의 위변조 검증API를 통해 데이터의 위변조를 검증할 수 있도록 하는 플랫폼을 개발하였다고 2019년 7월 [https://www.locuschain.com/ko/socialView?blogSeq=196&blogLanguage=ko&blogCategory=press 발표] 하였다.
 +
 
 +
== 전망 ==
 +
 
 +
사람 사이의 직접 거래뿐만이 아니라 사람-디바이스, 디바이스-디바이스 간의 거래 비율이 기하급수적으로 늘어나는 미래에는 탈중앙화의 중요성이 수면 위로 떠오를 것이다. 미국 IT 시장조사 기업인 IDC(International Data Corporation)는 앞으로 연결될 IoT 디바이스의 수가 2025년까지 416억개이며 모든 디바이스가 만들어내고 소비하는 데이터 양이 79.4제타바이트(ZB)에 달할 것으로 전망했다.
 +
<ref> Michael Shirer, [The Growth in Connected IoT Devices Is Expected to Generate 79.4ZB of Data in 2025, According to a New IDC Forecast], IDC, 18 Jun 2019</ref> 머신끼리 서로 수없이 주고받는 통신과 여기에서 파생되는 데이터를 처리하려면 해킹, 담합, 조작 등 범죄에 악용되거나 단일장애지점(single point of failure)이 발생할 가능성이 있는 현재의 중앙화된 서버-클라이언트 방식은 사용하기 어려워 보인다.
 +
 
 +
로커스체인의 주장대로 저용량 기기에서도 블록체인이 충분히 동작할 수 있도록 개발이 된다면, 블록체인 기술의 실용화에 도움이 될 것으로 전망된다.
 +
특히, 국가화폐의 경우 대량의 거래를 감당할 수 있는 고성능의 블록체인 기술이 필요하기 때문에 크게 도움이 될 것으로 기대된다.
 +
 
 +
==평가==
 +
 
 +
로커스체인은 퍼블릭 블록체인 플랫폼을 목표로 하고 있으며, 대부분의 블록체인에서 사용하는 일자형 블록구조가 아닌 DAG원장구조에서 PoS+BFT합의를 취하고 있다.
 +
이로인해 탈중앙화 기반의 확장성과 고성능이 담보되고 있다. 이외에도 네트워크 부하를 줄여주는 다이나믹 샤딩과 원장의 크기를 줄여주는 베리파이어블 프루닝 기술은 한차원 높은 고난이도의 기술로 보인다. 현재 테스트넷이 오픈되어 운영중이다.
 +
 
 +
 
 +
== 관련영상 ==
 +
 
 +
<youtube width="450">GvsA-zDOFQI</youtube>
 +
<youtube width="450">bLvFh5GAQac</youtube>
 +
<youtube width="450">-Zjev82LSzU</youtube>
 +
<youtube width="450">bzTEj-4p594</youtube>
 +
<youtube width="450">lUCMHkGoTg4</youtube>
 +
<youtube width="450">K2iXljBPTxc</youtube>
 +
<youtube width="450">cUnIacGXC4I</youtube>
 +
<youtube width="450">ARPc51UrKqg</youtube>
  
== 문제점 ==
 
[[스마트 계약]] 결제 수단으로 ERC-20 토큰을 사용할 경우 토큰이 파괴되는 현상이 나타난다.<ref name = "CyClean"></ref>ERC-20 토큰은 다른 이더리움 주소 사이에서 이동할 수 있다. 그러나 이더리움 블록체인의 일반적인 에테르 거래는 근본적으로 다르다. 트랜잭션 양 및 추가 정보에 대한 트랜잭션 필드, 정보 필드의 필드를 포함하는 이더넷을 전송한다. 그러나 토큰 트랜잭션에서 보낼 토큰 수에 대한 정보는 두 번째 필드에 있다. 따라서 양쪽의 당사자의 주소 간에 전송이 가능하지만 다른 스마트 계약 기능의 트리거로 토큰을 사용하면 작동하지 않는다. 사용자가 트랜잭션을 스마트 계약으로 보내고 스마트 계약이 인식되지 않으면 트랜잭션의 에테르가 영구적으로 손실된다.<ref>에테르, 〈[https://ko.0xzx.com/2019/04/17/erc777-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%86%A0%ED%81%B0-%ED%91%9C%EC%A4%80%EC%9D%B4-erc20%EC%9D%84-%EB%8C%80%EC%B2%B4%ED%95%A9%EB%8B%88%EA%B9%8C/ ERC777 – 새로운 토큰 표준이 ERC20을 대체합니까?]〉, 《블록체인뉴스》, 2019-04-17</ref> [[이더]]로만 결제해야 하는 버그가 존재하게 되었다. 현재까지 이 버그 때문에 약 3백만 달러어치의 토큰이 사라져버렸다.<ref name = "CyClean"></ref>
 
  
 
{{각주}}
 
{{각주}}
  
==참고자료==
+
== 참고자료 ==
* kims172, 〈[https://steemit.com/kr/@kims172/erc20-smart-contract ERC20 토큰과 Smart contract에 대해서 알아보자.]〉, 《스팀잇》
+
 
* CyClean, 〈[https://medium.com/cyclean-coin/erc-20%ED%86%A0%ED%81%B0%EC%9D%B4%EB%9D%BC%EB%8A%94-%EA%B1%B4-%EC%A0%95%ED%99%95%ED%9E%88-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C%EC%9A%94-a03f447be073 ERC-20토큰이라는 건 정확히 무엇일까요?]〉, 《미디엄》, 2018-09-17
+
* 로커스체인 공식 홈페이지: https://www.locuschain.com 
* 황치규, 〈[https://brunch.co.kr/@delight412/224 ERC20은 뭐고 777은 뭐지? ERC토큰의 모든것]〉, 《브런치》, 2018-11-30
+
* 로커스체인 백서: https://www.locuschain.com/en/whitepaper
* 이더리움, 〈[https://ko.coinnewstelegraph.com/erc-20-erc-223-erc-721-and-erc-777-ethereum-eth-token-types/ ERC-20, ERC-223, ERC-721 및 ERC-777 Ethereum (ETH) 토큰 유형]〉, 《코인뉴스텔레그래피》, 2018-04-08
+
* 로커스인사이트: https://www.locuschain.com/en/social
* 김승현 기자, 〈[http://www.dailytoken.kr/news/articleView.html?idxno=12210 '코린이 상식백과' 가깝지만 생소한 그대, 'ERC-20']〉, 《데일리토큰》, 2019-02-11
+
* 블룸테크놀로지 공식홈페이지: https://www.bloomtechnology.co.kr
* 심두보 기자, 〈[https://decenter.kr/NewsView/1VLNH4WK0A/GZ01 미국 정치인이 ERC-20 토큰을 선거에 활용하는 방법]〉, 《디센터》, 2019-07-11
+
* [https://youtu.be/bLvFh5GAQac 로커스체인 소개 영상]
* 서동영 기자, [http://www.bitweb.co.kr/news/view.php?idx=1998&referer=coinsosik 퓨즈더블유(FuzeW) 업그레이드를 통해 모든 ERC20토큰 사용가능], 《비트웹》, 2018-11-21
+
* [https://youtu.be/-Zjev82LSzU 베리파이어블 프루닝 기술 소개 영상]
* 에테르, [https://ko.0xzx.com/2019/04/17/erc777-%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%86%A0%ED%81%B0-%ED%91%9C%EC%A4%80%EC%9D%B4-erc20%EC%9D%84-%EB%8C%80%EC%B2%B4%ED%95%A9%EB%8B%88%EA%B9%8C/ ERC777 – 새로운 토큰 표준이 ERC20을 대체합니까?], 《블록체인뉴스》, 2019-04-17
+
* [https://youtu.be/bzTEj-4p594 AWTC 원장 구조 및 확장성 관련 영상]
 +
* [https://www.youtube.com/watch?v=cUnIacGXC4I&t=1207s 실용 가능한 고성능 퍼블릭 블록체인…'로커스 체인' 소개 (1부)]
 +
* [https://www.youtube.com/watch?v=ARPc51UrKqg&t=7s 실용 가능한 고성능 퍼블릭 블록체인…'로커스 체인' 소개 (2부)]
 +
* [https://www.locuschain.com/ko/socialView?blogSeq=186&blogLanguage=ko&blogCategory=movie 로커스체인기술밋업 하이라이트 영상]
 +
* [https://www.locuschain.com/ko/socialView?blogSeq=185&blogLanguage=ko&blogCategory=movie 로커스체인 기술밋업 개발현황 소개 영상]
 +
* 임영택 기자, 〈[https://www.mk.co.kr/news/it/view/2018/02/136480/ 블록체인 연구개발 전문업체 '블룸테크놀로지' 출범]〉, 《매일경제》, 2018-02-28
 +
* 김은지 기자, 〈[http://www.enewstoday.co.kr/news/articleView.html?idxno=1177492 인터뷰-'킹덤언더파이어 신화' 이상윤 "로커스체인, 이더리움 잇는 기술혁신 할 것"]〉, 《이뉴스투데이》, 2018-04-10
 +
* 김다운 기자, 〈[http://www.inews24.com/view/1092893 '로커스체인 파운데이션 2018 런칭쇼', 두바이서 성황리 종료]〉, 《아이뉴스24》, 2018-05-04
 +
* 〈[https://cointelegraph.com/press-releases/fast-light-and-flexible-the-next-generation-blockchain-platform-locus-chain-has-emerged Fast, Light and flexible, the Next-Generation Blockchain Platform 'Locus Chain' Has Emerged ... !!]〉, 《Cointelegraph》, 2018-06-25
 +
* 홍하나 기자, 〈[http://www.ddaily.co.kr/news/article/?no=170420 로커스체인 파운데이션, IES 선정 '2018 우수 글로벌 리더십 어워드' 수상]〉, 《디지털데일리》, 2018-07-06
 +
* 방은주 기자, 〈[http://www.zdnet.co.kr/view/?no=20180905220620 로커스체인, 싱가포르서 '역대 최대 월드 서밋' 개최]〉, 《지디넷코리아》, 2018-09-05
 +
* 서진욱 기자, 〈[https://news.mt.co.kr/mtview.php?no=2018092009513040421 '블록체인 서울' 성황리 폐막…'블록체인 3.0' 화두 던졌다]〉, 《머니투데이》, 2018-09-20
 +
* 여용준 기자, 〈[http://www.enewstoday.co.kr/news/articleView.html?idxno=1273849 로커스체인, 세계 최초 'DAG-BFT 확정 합의 알고리즘' 블록체인 기술 구현 성공]〉, 《이뉴스투데이》, 2019-02-21
 +
* 정두용 기자, 〈[http://www.greened.kr/news/articleView.html?idxno=95048 로커스체인-리드텍 '전략적 제휴 계약'…블록체인 기술로 웨어러블 시장 확대 추진]〉, 《녹색경제신문》, 2019-02-26
 +
* 노진우 기자, 〈[http://www.wikileaks-kr.org/news/articleView.html?idxno=50945 로커스체인, 국제 스마트시티 엑스포에서 '선도적인 블록체인 기술 기업' 선정돼]〉, 《위키리크스 한국》, 2019-03-22
 +
* 류순열 기자, 〈[http://www.upinews.kr/news/newsview.php?ncode=1065599151224065 세계무대서 자신감 드러낸 '로커스체인']〉, 《UPI뉴스》, 2019-04-05
 +
* 이상일 기자, 〈[http://www.ddaily.co.kr/news/article/?no=180666 블룸테크놀로지, 로커스체인 밋업행사 성료]〉, 《디지털데일리》, 2019-04-26
 +
* 여용준 기자, 〈[http://www.enewstoday.co.kr/news/articleView.html?idxno=1318677 로커스체인, 플랫폼 기술 집약한 엔터프라이즈 메인넷 개발]〉, 《이뉴스투데이》, 2019-07-04
 +
* 류순열 기자, 〈[http://www.upinews.kr/news/newsview.php?ncode=1065596656344043 소리 없는 혁명…블록체인과 '소셜벤처'의 만남]〉, 《UPI뉴스》, 2019-07-18
 +
* 〈[https://cointelegraph.com/press-releases/locus-chain-harbinger-of-the-credit-revolution Locus Chain, Harbinger of the Credit Revolution]〉, 《Cointelegraph》, 2019-07-25
 +
* 유경석 기자, <[http://m.dtoday.co.kr/news/articleView.html?idxno=352580&fbclid=IwAR30zqNTAGkNR_qaLY4bevg5gs5E1aVbYzV22Hn0L2MAwa9ElcEue60EG1g#_enliple 로커스체인, 다이나믹 샤딩 구현…사용량 따라 저장]> , 《일간투데이》, 2020-03-06
 +
* 장순관 기자, <[http://www.popsci.co.kr/news/articleView.html?idxno=11425 블룸테크놀로지 '로커스체인' 블록체인 기술의 날개 달다]>, 《파퓰러사이언스》, 2020-03-17
 +
* 안재후 기자, <[http://www.fortunekorea.co.kr/news/articleView.html?idxno=12434 포스트 코로나 시대..언택트 경제, 블록체인 주목..블룸테크놀로지 로커스체인]>, <<포춘코리아>> , 2020-05-18
 +
* 임민철 기자, <[http://www.upinews.kr/newsView/upi202006160079 "세계 최고 블록체인" 로커스체인, 이달말 공개 테스트]>, <<UPI뉴스>> , 2020-06-16
 +
* 박동선 기자, <[https://www.etnews.com/20200617000143 블룸테크놀로지, 이달말 '로커스체인' 공개테스트 예정…'탈중앙-확장' 양립 특성]>, <<전자신문>>, 2020-06-17
 +
* 장순관 기자, <[http://www.fortunekorea.co.kr/news/articleView.html?idxno=12638 블룸테크놀로지, 초고성능의 퍼블릭 블록체인 ‘로커스체인’ 테스트넷 글로벌 오픈]>, <<포춘코리아>>, 2020-07-14
 +
 
 +
== 같이 보기 ==
  
==같이 보기==
+
* [[블룸테크놀로지]]
* [[이더리움]]
+
* [[이상윤]]
* [[스마트 계약]]
+
* [[김세정]]
* [[ERC]]
+
* [[확률적지분증명]]
* [[KRC-20]]
+
* [[DAG]]
 +
* [[BFT]]
 +
* [[다이내믹 샤딩]]
 +
* [[베리파이어블 프루닝]]
  
{{블록체인 기술|검토 필요}}
+
{{블록체인 플랫폼}}
 +
{{암호화폐 역사}}

2020년 7월 15일 (수) 17:39 판

로커스체인(Locus Chain)
로커스체인(Locus Chain)
블룸테크놀로지(Bloom Technology)
이상윤 대표이사
김세정 공동창업자

로커스체인(Locus Chain)은 PC 및 휴대폰 등 널리 보급된 일반적인 디바이스로 구성된 블록체인 네트워크 상에서 초당 수천 트랜잭션을 처리하는 성능을 목표로 개발 중인 블록체인 플랫폼을 위한 암호화폐이다. 로커스체인의 슬로건은 "실제 사용을 위한 암호화폐"이다. 로커스체인의 창시자는 블룸테크놀로지 회사의 이상윤이다.

위 목표를 달성하기 위한 중요한 기술적인 문제점은 네트워크 전송량과 트랜잭션 계산량이다. 로커스체인에서는 네트워크 전송량과 계산량을 줄이는 방법으로서 샤딩을 통한 서브네트워크 구성 및 분산처리를 채택하고 있다. 샤드합의 알고리즘비잔틴 장애 허용(BFT) 계열을 응용하여 트랜잭션 확정까지의 시간을 단축한다. 원장 구조는 방향성 비순환 그래프(DAG) 계열 데이터 구조를 채택하여 리얼타임 동적 샤딩 및 프루닝을 구현하고 있다.

로커스체인은 이더리움 기반의 ERC-20 토큰인 로커스(LOCUS)를 발행했으며 글로벌 암호화폐 거래소인 비트레이드, 라토큰에 상장되었고 추후 메인넷이 발표되면 로커스 코인으로 아토믹스왑(atomic swap)을 지원할 예정이다.

개요

로커스체인(Locus Chain)은 탈중앙화에 충실하면서 동시에 성능확장성의 문제를 해결하려 한다. 먼저 로커스체인은 탈중앙화의 중요한 요소로서 누구나 쉽고 공정하게 참여할 수 있어야 한다는 점을 중시한다. 이를 위해 현재의 일반적인 PC와 휴대폰 및 IoT디바이스의 네트워크 성능, 저장 공간, CPU속도 및 계산량의 한계를 이해하고, 이 위에서 무리 없이 동작하는 알고리즘과 데이터 구조를 개발하여 이를 로커스체인 전체 시스템으로서 구현해 나가는 방향으로 연구가 진행되고 있다.

먼저, 원장 구조로서 처리 성능을 담보하기 어려운 선형구조 대신 비선형구조인 DAG(Directed Acyclic Graph)를 채용하였다. 로커스체인의 AWTC(Account-wise Transaction Chain)구조는 어카운트/유저를 중심으로 트랜잭션 그래프를 구성하여 각 트랜잭션을 관리하는 DAG구조이다. 각 트랜잭션의 전후 관계와 다른 트랜잭션들과의 관계가 그래프상에 직접 배치됨으로 고속 참조가 가능하면서도, 어카운트 단위로 정보를 총합 관리함으로써 샤드간 이동과 통합을 가능하게 하는 데이터 구조이다.

다음, 로커스체인의 합의 알고리즘은 PoS(Proof-of-Stake)를 기반으로 하는 BFT합의를 채택하고 있다. PoW(Proof-of-Work)와 Nakamoto합의가 가지는 비효율적인 CPU계산량 소모와 불확정성을 피하기 위한 목적이다. BFT합의의 고속화를 위해, 로커스체인은 전체 네트워크 노드 중 합의에 참여하는 노드를 공정한 방법으로 랜덤하게 샘플링하는 방식을 채택하고 있다. 이 랜덤 선출에는 각 노드의 로커스체인 네트워크에 대한 여러 가지 기여도가 반영된다. PoS를 통해 코인의 지분 소유량이 반영될 수 있고, 노드의 온라인 시간 등 코인량 이외의 내용도 반영이 가능하다.

그리고, 네트워크 부하를 줄이기 위한 목적으로 다이내믹 샤딩(Dynamic Sharding)이 도입되어 있다. 각 샤드는 독립적으로 BFT합의 알고리즘을 수행하며, 하나의 어카운트는 한번에 단 하나의 샤드에서만 처리된다. 따라서 로커스체인에서는 노드 숫자가 늘어나면 이에 비례하여 트랜잭션 처리량이 늘어난다.

또한, 각 노드가 꼭 저장하여아만 하는 원장의 크기를 줄이기 위한 프루닝(pruning)방법으로써 베리파이어블 프루닝(Verifiable Pruning) 기술이 개발, 채택되어 있다. 베리파이어블 프루닝은 삭제된 과거의 데이터와 현재 가지고 있는 데이터간의 정합성을 암호학적인 방법으로 검증 가능한 알고리즘이다. 이를 통해 현재의 트랜잭션을 합의하는 데 당장 필요하지 않은 데이터는 스토리지에서 삭제할 수 있고, 이 상태에서도 과거 데이터와의 정합성 검증과 해쉬값 참조가 가능하다. 나아가 이 베리파이어블 프루닝 기술을 응용하여, 새로 네트워크에 참여한 노드가 비교적 소량의 최근 데이터만을 다운로드 받아서 짧은 시간 안에 곧바로 네트워크에 기여가 가능한 구조가 구축되어 있다. 그리고 사물인터넷(IoT) 장치 등 제한된 저장 용량만을 갖는 디바이스에서도 로커스체인의 완전 동작이 가능할 것으로 보인다.

위와 같은 로커스체인의 특징은, IoT상의 디바이스 등 아주 적은 성능의 장치들이 제약없이 노드에 참여할 수 있게 하여, 머신투머신(M2M) 거래, 소매점 단말기, 사물인터넷(IoT), 자율주행 자동차 등의 미래산업에 블록체인이 바로 적용될 수 있게 한다. 로커스체인의 개발자들은 초당 수십억 건의 이벤트를 처리해야 하는 게임 엔진 개발 경험을 살려 데이터 원장구조에서부터 합의알고리즘, 스토리지 및 네트워크 사용량을 최적화하기 위한 기술까지 로커스체인 프로젝트에 모두 담으려 하고 있다.

역사

로커스체인(Locus Chain)의 개발을 맡고 있는 블룸테크놀로지(Bloom Technology) 로고

'실용가능한 퍼블릭 블록체인'을 목표로 로커스체인 개발을 책임지고 있는 블룸테크놀로지는 한국게임산업의 1세대 개척자였던 이상윤 대표가 1994년 판타그램(Phantagram Limited)이라는 이름으로 설립한 회사이다. 판타그램은 파트너 회사인 블루사이드(Blueside Inc.)와 함께 유명 게임 시리즈 '킹덤 언더 파이어(Kingdom Under Fire)', '나인티 나인 나이츠(Ninety Nine Nights)' 등을 만든 게임 엔진 개발회사이다. 20년 동안 판타그램은 마이크로소프트 사와 4개 이상의 콘솔 게임 타이틀을 성공적으로 출시했고 유수의 PC 게임 타이틀을 발표했다. 그중 '킹덤 언더 파이어: 크루세이더(Kingdom Under Fire: Crusaders)'는 2004년 대한민국게임대상을 수상하기도 했다. 하지만 킹덤 언더 파이어2는 약 1000억의 투자를 받았지만 10년이상 출시를 못하였고, 출시 후에도 흥행부진으로 심각한 경영난을 겪고있다. 게임 엔진 기술은 수십만 유저가 참여하여 실시간 초당 수십억개의 이벤트를 처리하기 위한 전문적인 기술로 블록체인과 같은 P2P 기술과 관련성이 높다. 판타그램은 3D 그래픽 최적화, 데이터 분산에 대한 기술력을 바탕으로 2017년 블록체인 개발 사업을 시작하고 2018년 법인명을 '블룸테크놀로지'로 변경했다. 블룸테크놀로지는 차세대 블록체인 플랫폼인 로커스체인의 개발을 맡았고 자회사인 '로커스체인 파운데이션(Locus Chain Foundation Pte. Ltd.)'은 사업전반을 맡고 있다.

주요인물

  • 이상윤: 로커스체인 파운데이션 대표 및 블룸테크놀로지 대표를 맡고 있다. 이상윤 대표는 10대였던 1987년 처음으로 8-bit PC상에서 상용 게임을 만들어 이를 한국과 일본에 판매했으며, 판타그램 및 블루사이드를 통해 "킹덤 언더 파이어" 게임시리즈를 비롯하여 [Forgotten Saga (PC)], [Kingdom Under Fire Crusaders (Xbox)], [Ninety Nine Nights (Xbox360)] 등을 디렉팅 및 프로듀싱하였다.
  • 김세정 : 로커스체인의 공동창업자이다. 게임 개발사 블루사이드의 대표이기도 하다. 2007년에는 문화관광부 표창장을 받기도 했다.
  • 주영현: 1998년 판타그램에 합류한 이후 드래곤플라이, 엔플레버, 블루사이드 등을 거치면서 게임 엔진 및 게임 기술 개발 디렉터를 역임했다. 블룸테크놀로지의 테크니컬 디렉터로서 로커스체인의 기술 개발을 책임지고 있다.
  • 이길호: 1987년부터 게임 프로그래머로 일했으며 1994년 판타그램의 설립자 중 하나로 개발 책임 및 매니지먼트를 맡았다. 로커스체인에 합류해서는 암호 기술 및 매니지먼트를 돕고 있다.
  • 장순목 : 30년 이상 개발경력을 가지고 있으며 와이디온라인 CTO , 디지타워 엔터테인먼트 CEO, 나인버드게임즈 CEO 등을 역임했다. 게임을 비롯해 보안시스템, 비전센서, 시뮬레이터, AI, IOT 등의 개발 및 운용 경험이 있고 스크린야구와 관련된 특허 10여종의 발명자다.
  • 오구라 타케유키: 20년 넘게 IT 업계에서 프로그래머로 활동했으며 개발 프로젝트의 최고 책임자를 역임했다. GPGPU 프로그램과 프로토타입 등에 풍부한 경험을 갖고 있으며 마이크로소프트, Dena, 그리고 기타 유수의 세계적인 IT 업체에서 수석 프로그래머로 활동했다.
  • 문영배 : IMF 및 국제기구등에 블록체인 기반의 CBDC, 국내 기업들의 블록체인 기반 다양한 프로젝트에 컨설팅을 수행하고 있다. 한국블록체인협회 부회장을 역임중이다.
  • 스티브 오 : 미국 스탠퍼드 로스쿨 법학 박사이고, 삼성전자 기업변호사와 한국마이크로소프트 법무팀 대표 변호사 등 국내외 수많은 유수 기업의 법률 고문 역할을 했다.


특징

DAG-AWTC 원장구조

선형체인구조와 로커스체인(Locus Chain)의 DAG-AWTC 비교

고속 대량 처리를 위한 원장 구조: AWTC원장 구조는 로커스체인의 고속 처리 및 분산 처리에 있어 중요한 기술적 요소이다. 비트코인, 이더리움 등의 많은 블록체인이 선형 체인구조를 갖고 있는 반면 로커스체인은 DAG(Directed Acyclic Graph) 기반의 비선형 원장구조인 AWTC(Account-Wise Transaction Chain)를 사용한다. 이 구조는 이름 그대로 어카운트 단위로 트랜잭션을 관리하는 병렬형 구조이며 나노코인블록격자(block lattice)와 유사한 형태를 가진다. 선형 체인구조는 이전 블록에 다음 블록이 연결될 수 있는 곳이 한곳밖에 없고, 여러 노드가 같은 연결지점에 동시에 블록을 추가하려 하는 병목이 발생한다. 반면 로커스체인의 DAG-AWTC를 비롯한 블록 격자 구조는 트랜잭션을 추가하는 지점이 어카운트 수만큼 존재하고, 그 지점에 대해서는 소유 어카운트만이 독점적으로 기록이 가능하므로 충돌이 발생하지 않는다. 또한 트랜잭션을 추가한 어카운트가 자명하므로 어카운트 소유자 본인이 악의적인 사용자가 아니라면 트랜잭션은 추가 즉시 거의 확정된다. 이러한 성질을 갖는 로커스체인의 원장구조는 기존 블록체인이 가지고 있던 거래처리 지연 문제를 근본적으로 해결하기 위한 주요 기술적 특징 중 하나이다.

Locus BFT 합의알고리즘

로커스체인(Locus Chain)의 합의알고리즘

확정 완결적 합의: DAG-AWTC 구조는 기본적으로 어카운트간 충돌이 없고 이후에도 결과가 뒤집힐 확률이 거의 없어 소매처리시간(수 초) 이내에 거래가 확정된다. 대부분의 경우 트랜잭션은 정상적으로 추가되고 확정되지만, 만약 어카운트 소유자가 악의적이라면 더블스펜딩과 같은 문제를 발생시키는 것이 가능하다. 로커스체인에서는 수분 간격으로 정기적으로 BFT합의를 실시, 이 기간 동안 문제가 없었다는 사실을 확정하거나, 만약 문제가 생겼을 경우 이를 해결한다.

AWTC구조에서 더블 스펜딩은 한 어카운트의 트랜잭션 체인에 동일한 일련번호를 갖는 트랜잭션이 동시에 둘 이상 발생하는 경우로 명확하게 정의된다. 동시에 발생한 서로 다른 트랜잭션이 네트워크를 거쳐 전파되는 과정에서 통과한 각 노드상에서, 노드가 갖는 지분(PoS)에 따른 선택(pseudo-vote)이 발생하면서, 더 많은 지지를 받은 트랜잭션이 1차적으로 결정된다(비확정합의). 그 다음, 확률적지분증명(Stochastic PoS)을 통해 선출된 BFT참여 노드가 주기적(2분 정도 간격)으로 원장 상태를 확정해 거래의 완결성을 최종 확보한다(확정합의).

DAG는 병렬형 구조이기 때문에 각 노드가 병렬적으로 원장을 갱신한다. 따라서 현재 리얼타임의 절대적인 원장 상태를 특정하는 것은 불가능하다. 로커스체인은 샤드 내에서 데이터가 충분히 전송되는 데 필요한 시간을 감안하여, 이 시간만큼 약간의 과거 시점에 대한 합의를 시도함으로써 DAG 상에서 BFT 확정합의를 최초로 구현했다고 2019년 2월 언론에 발표하였다. 로커스체인의 합의 알고리즘은 실행 중에도 새로운 트랜잭션의 발생을 막지 않아 DAG의 고속처리에 간섭하지 않으므로 기존의 stop-and-go방식이었던 BFT의 성능적 단점을 개선하였다.

기술적으로 DAG와 BFT를 동시 구현하는 것이 유의미한 이유는, 이것이 이후 스토리지 문제와 네트워크 부하 문제를 해결할 프루닝 및 샤딩 기술의 전제조건이 되기 때문이다. 블룸테크놀로지는 BFT 확정합의 방식의 DAG-AWTC 원장 시스템에 대한 특허 출원을 신청한 상태로 알려져 있다.

Stochastic PoS 기반 공정한 커미티 선출

완전한 탈중앙화: 로커스체인은 알고랜드의 무허가형 순수지분증명방식과 유사한 알고리즘을 사용한다. 더 자세히 설명하자면 로커스체인은 확률적지분증명 (Stochastic PoS: 지분이 많을수록 커미티로 선출될 확률이 높아지는 방식)을 기반으로 무작위검증가능함수(VRF: Verifiable Random Function)에 의해 매 라운드마다 합의 알고리즘에 참여하는 새로운 프로포저 커미티를 선출한다. 누가 프로포저로 선출될지 미리 알 수 없기 때문에 해킹, 담합 등 악의적인 공격이 어렵다. 또한 최근 투표 참여 횟수 및 네트워크 참여도(온라인 시간 등)에 기반해 매 라운드마다 새로운 밸리데이터 커미티를 선출, 프로포저가 제안한 라운드 상태에 대해 PBFT 방식에 따라 2회의 투표를 거쳐 결과를 확정한다. 이러한 방법은 합의에 참여할 노드(프로포저, 밸리데이터)를 특정하거나 미리 예측할 수 없기 때문에 악의적 공격에 의한 조작이 어려워져 합의결과의 공정성과 네트워크의 안정성(security)이 확보된다고 로커스체인은 주장한다.

베리파이어블 프루닝

로커스체인(Locus Chain)의 베리파이어블 프루닝

노드 저장 부하감소: 로커스체인은 일정 기간(하루) 이전의 과거 데이터를 능동적으로 로컬환경에서 삭제(프루닝)하여 로컬 데이터의 양을 줄이면서도, 블록체인의 데이터 검증 기능에 지장을 주지 않는 베리파이어블 프루닝(Verifiable Pruning) 기술을 개발했다고 2019년 7월초 발표하였다.

늘어나는 원장 사이즈 문제[1]를 해결하기 위해 오래된 데이터를 단순 삭제하여 원장의 크기를 줄이는 일반적인 프루닝과 달리, 로커스체인의 베리파이어블 프루닝은 스큐드머클트리(Skewed Merkle Tree) [2] 구조를 사용하여 과거 대부분의 데이터가 로컬 환경에 존재하지 않는 상황에서도 데이터의 정당성을 검증할 수 있는 기술이다.

로커스체인은 관련된 모든 데이터를 전부 보유하지 않아도 필요한 부분의 해시값만으로 정당성 검증이 가능하기 때문에 로컬 노드의 데이터 저장량이 대폭 줄어든다. 시중의 SD카드정도의 저장량으로 노드 운용이 가능하다는 사실은, 누구나 부담 없이 로커스체인 네트워크에 참여할 수 있는 중요한 기반이 되고, 이는 높은 탈중앙화를 달성하는 데 중요한 요소이다.

여기에 추가로 로커스체인은 초당 수천 트랜잭션이 수년 이상 쌓인 상황에서도 먼 과거에 발생한 데이터를 효율적으로 검증할 수 있도록 필요한 계산 정보량을 지수함수적으로 단축시키는 알고리즘인 계층적 스큐드머클트리(Hierarchical Skewed Merkle Tree)를 도입했다고 한다. 이로써 노드의 스토리지 부담을 줄이면서 동시에 고속 검증이 가능한 블록체인을 구현하였다고 한다.

반면에, 일부 노드 상에만 데이터가 보존되는 경우 주목도가 낮은 데이터는 아무도 저장하지 않고 사라져 버리는 경우가 발생할 수 있다는 우려가 있다. 이런 우려에 대해, 로커스체인에서는 우선 각 어카운트의 과거 이력(history)은 기본적으로 어카운트 자신 또는 자신이 위임한 노드가 저장하므로, 소유자 본인은 언제나 자신의 과거 이력의 열람 및 백업이 가능하므로 대부분의 경우 문제가 없다고 한다. 이것으로 불충분하다면 로커스체인 외부의 과거 데이터의 저장에 특화된 별도 기구에 저장을 맡길 수 있는데, 예를 들어 수백테라바이트의 저장공간을 가진 디렉토리 서비스 운영 사업자가 코인을 대가로 과거 트랜잭션 데이터의 열람 서비스를 제공하는 등의 전개를 생각할 수 있다. 로커스체인 외부에서 읽은 과거의 데이터도 모든 로커스체인 노드에서 검증할 능력이 있다는 것을 이용하여, 저장과 검증 기능을 각각 잘하는 쪽에 일임함으로써 굳이 로커스체인 위에 모든 데이터를 저장하지 않고도 블록체인의 모든 이점을 효율적으로 누릴 수 있을 것이라고 한다.

블룸테크놀로지는 베리파이어블 프루닝에 대한 특허 출원을 신청한 상태로 알려져 있다.

"로커스체인베리파이어블 프루닝을 통해 이미 원장에서 지워진 데이터라고 해도 나중에 참ㆍ거짓의 증명이 가능한 데이터 구조를 가지게 함으로써 극단적인 원장 사이즈 축소가 가능해졌으며, ​일자형체인 구조가 아닌 DAG-AWTC 원장구조를 사용해 수초 내 거의 모든 요청을 처리할 수 있게 됐다"[3]
  - 주영현 테크니컬 디렉터

다이내믹 샤딩

로커스체인(Locus Chain)의 다이내믹샤딩

계산량 증가 및 노드부하감소: 로커스체인은 노드가 부담하는 네트워크 사용량[4]을 낮추고 네트워크 전체의 트랜잭션 처리량을 높이기 위해 다이내믹 샤딩을 도입한다고 한다.

샤딩이란 네트워크 혹은 원장 상태를 샤드(shard) 단위로 작게 쪼개는 기술이다. 일반적인 샤딩은 통신 비율이 샤드 수에 비례해 증가하고 샤드 간 데이터 참조 및 검증이 어렵다는 단점이 있다. 또한 샤드마다 트랜잭션의 빈도, 노드의 수 등에서 차이가 날 경우 네트워크 안정성에 불균형이 발생할 수 있다. 로커스체인은 이런 문제를 해결하기 위해 네트워크 사용량에 따라 적절한 샤드 수를 조절하는 한편 알고리즘으로 샤드간 균형을 유지하는 다이내믹 샤딩(Dynamic Sharding: 동적 샤딩)을 적용해 성능이 한쪽으로 치우치는 것을 방지하겠다는 계획이다. 로커스체인은 원장 구조가 어카운트 별(AWTC)로 되어 있기 때문에 샤드간 불균형이 일어났을 경우 계정 단위로 샤드를 재배치하여 샤드의 수와 사이즈, 밸리데이터 비율 등을 조절하는 것이 용이해 보인다. 다이내믹 샤딩을 적용하면 한 노드가 감당해야 하는 네트워크 사용량은 샤드 수를 N 으로 할 때 2/N 으로 줄어들고 동일 노드의 네트워크 사용량 대비 네트워크 전체 TPS는 그만큼 증가하게 되는데, 여기에 추가적으로 원장을 쪼개는 스테이트 샤딩을 더해 스토리지 사용량 역시 샤드 수만큼 추가적으로 나눌 계획. 2020년 3월 개발 완료하였다 7월 초순경 다이나믹샤딩까지 적용된 퍼블릭블록체인 공개테스트가 진행될 예정이다.

(기사가 올라왔다.

양자내성 암호서명

암호학적 미래대비성: 블록체인 프로젝트에 큰 위협이 되는 것 중 하나가 바로 양자컴퓨터의 등장이다. 양자컴퓨터 시대가 도래하면 현재 주류로 사용되고 있는 많은 서명 알고리즘이 무효화될 것으로 예상되고, 이에 전 세계 많은 암호학자들이 양자컴퓨터에 대비한 양자내성암호(PQC) 연구를 진행하고 있다. 다만 지금까지 발표된 양자내성암호는 현재의 비 양자내성 암호(non-PQC)에 비해 계산량과 데이터량이 막대하여, 개인용 PC나 모바일기기에서 처리하기에는 성능 부담이 있다. 그리고 양자내성암호는 아직 표준이 정착되지 않아 실제 사용했을 때 안전한가에 대한 수학적, 기술적 검증이 부족한 점이 있다.

로커스체인은 이러한 상황을 고려하여 서명 체계를 마스터 서명과 노멀 서명으로 이원화했다고 한다. 일반적인 트랜잭션에서는 현재의 암호체계를 적용한 노멀 서명과 이를 위한 키(페어)를 사용하고, 노멀키를 분실하거나 타인에게 노출되었을 때는 양자내성암호를 적용한 마스터 서명을 사용해 노멀키를 교체하는 방식이다. 마스터 서명은 꼭 필요한 경우 이외에는 사용하지 않기 때문에 양자내성암호의 데이터량 및 계산량 부담이 적다. 그리고 노멀 서명은 키 이외에 알고리즘 자체를 플러그인 방식으로 교환하는 것이 가능하다. 향후 양자컴퓨터가 상용화되거나 개인용PC로 양자내성암호 알고리즘을 처리 가능한 시대가 오면 로커스체인은 노멀 서명 자체를 양자내성 알고리즘으로 교체하는 것이 가능하다고 주장한다.

그리고 양자내성암호에 대한 안전성 자체도 아직 증명되지 않았으므로 마스터 서명은 당분간 양자내성암호와 기존의 암호시스템을 병렬로 사용한 하이브리드 체계로 운영한다는 계획이다. 향후 양자내성암호서명 알고리즘에 취약점이 발견되어도 현용 암호서명 알고리즘으로 커버가 가능하며, 나아가 문제가 없는 마스터 서명 알고리즘으로 넘어갈 수 있는 migration방식을 연구하고 있다고 한다.

데이터 위변조 검증 API

로커스체인 개발팀은, 블록체인 기술의 중요한 포인트는 데이터의 보관보다 제출된 데이터의 위변조와 정당성을 오픈된 환경에서 누구나 검증 가능하다는 점에 있다고 주장한다. 많은 블록체인 프로젝트에서 기존의 DBMS(Database Management System) 대신 블록체인 원장에 직접 데이터를 담으려는 노력을 하고 있으나, 로커스체인 개발팀의 주장은 블록체인 플랫폼이 기존 DBMS의 대량의 데이터 저장과 완전 무결한 트랜잭션 처리 기능을 대체하는 것은 어렵다는 입장이다. 대신, 로커스체인은 다른 DBMS등의 방법으로 저장된 데이터의 정당성과 위변조 여부를 먼 미래 시점에서도 효율적으로 검증 가능한 능력을 갖고 있다고 주장한다.

이러한 입장에서 로커스체인은, 사용 단체가 개별적으로 독자 블록체인 시스템을 구축하지 않아도, 로커스체인의 위변조 검증API를 통해 데이터의 위변조를 검증할 수 있도록 하는 플랫폼을 개발하였다고 2019년 7월 발표 하였다.

전망

사람 사이의 직접 거래뿐만이 아니라 사람-디바이스, 디바이스-디바이스 간의 거래 비율이 기하급수적으로 늘어나는 미래에는 탈중앙화의 중요성이 수면 위로 떠오를 것이다. 미국 IT 시장조사 기업인 IDC(International Data Corporation)는 앞으로 연결될 IoT 디바이스의 수가 2025년까지 416억개이며 모든 디바이스가 만들어내고 소비하는 데이터 양이 79.4제타바이트(ZB)에 달할 것으로 전망했다. [5] 머신끼리 서로 수없이 주고받는 통신과 여기에서 파생되는 데이터를 처리하려면 해킹, 담합, 조작 등 범죄에 악용되거나 단일장애지점(single point of failure)이 발생할 가능성이 있는 현재의 중앙화된 서버-클라이언트 방식은 사용하기 어려워 보인다.

로커스체인의 주장대로 저용량 기기에서도 블록체인이 충분히 동작할 수 있도록 개발이 된다면, 블록체인 기술의 실용화에 도움이 될 것으로 전망된다. 특히, 국가화폐의 경우 대량의 거래를 감당할 수 있는 고성능의 블록체인 기술이 필요하기 때문에 크게 도움이 될 것으로 기대된다.

평가

로커스체인은 퍼블릭 블록체인 플랫폼을 목표로 하고 있으며, 대부분의 블록체인에서 사용하는 일자형 블록구조가 아닌 DAG원장구조에서 PoS+BFT합의를 취하고 있다. 이로인해 탈중앙화 기반의 확장성과 고성능이 담보되고 있다. 이외에도 네트워크 부하를 줄여주는 다이나믹 샤딩과 원장의 크기를 줄여주는 베리파이어블 프루닝 기술은 한차원 높은 고난이도의 기술로 보인다. 현재 테스트넷이 오픈되어 운영중이다.


관련영상


각주

  1. 현재의 저속이 아닌 비자 카드의 최대 처리량이라고 하는 4k TPS(Transaction Per Second)에 이르는 실용적인 성능을 내는 블록체인을 가정하고, 트랜잭션을 한 번 전송하는 데 드는 용량이 0.5kB 정도라고 가정했을 때 노드가 감당해야 하는 원장 사이즈는 매일 약 172GB 정도씩 늘어난다. (계산법: 0.5kB/Tx * 4kTx/sec * 3.6ksec/hour * 24hour/day = 172.8GB/day)
  2. 스큐드머클트리는 이진 머클트리와 링크드리스트의 복합체로서 머클트리의 데이터 검증 능력을 링크드리스트에 적용시킨 구조이다.
  3. 여용준 기자, <로커스체인, 플랫폼 기술 집약한 엔터프라이즈 메인넷 개발>, 《이뉴스투데이》, 2019-07-04
  4. 고속 블록체인의 초당 처리량을 4K TPS로 가정했을 때 노드가 감당해야 하는 네트워크 통신량은 초당 2MB(=0.5kB/Tx * 4kTx/sec )정도이다. 이는 일반 가정집에서 사용하는 네트워크 대역폭이 100Mbit/s라고 할 때 전체의 20%에 해당하는 수치이다. 이것은 언뜻 작은 수치로 보일 수 있지만 P2P 가십 프로토콜에서 통신을 주고받는 리피트(repeat)를 고려하면 초당 20MB 정도로 일반인이 가정집 PC로 노드에 참여하기에는 어렵다고 볼 수 있다.
  5. Michael Shirer, [The Growth in Connected IoT Devices Is Expected to Generate 79.4ZB of Data in 2025, According to a New IDC Forecast], IDC, 18 Jun 2019

참고자료

같이 보기