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

베리파이어블 프루닝

위키원
(Verifiable Prunning에서 넘어옴)
이동: 둘러보기, 검색

베리파이어블 프루닝(verifiable prunning) 기술이란 블록체인 시스템의 원장이 너무 비대해지는 문제를 해결하기 위한 기술로 이미 원장에서 지워진 데이터라고 해도 나중에 참/거짓의 증명이 가능한 데이터 구조를 가지게 함으로써 극단적인 원장 사이즈 축소를 가능케 한 기술이다.[1]

개요[편집]

베리파이어블 프루닝(Verifiable Pruning)은 2019년 7월초에 로커스체인이 개발한 기술로 데이터를 삭제하는데 있어서 일반적인 프루닝과 동일하지만 모든 데이터를 삭제하지않고 위변조 값을 증명할 수 있는 데이터는 별도로 보관한다. 즉 데이터를 삭제해도 블록체인 기능은 활용할 수 있다. 베리파이어블 프루닝을 하게되면 데이터 위변조를 검증하는데 하루에 수십KB만을 필요로 하게된다. 베리파이어블 프루닝은 테라바이트 시대에 블록체인 업계 전체에 대한 기술적 진보이다.[2]

특징[편집]

  • 스큐드 머클트리(Skewed Merkle Tree) 구조를 사용하여 과거 대부분의 데이터가 로컬 환경에 존재하지 않는 상황에서도 데이터의 정당성을 검증할 수 있는 기술이다
  • 모든 데이터를 전부 보유하지 않아도 필요한 부분의 해시값만으로 정당성 검증이 가능하기 때문에 로컬 노드의 데이터 저장량이 대폭 줄어든다
  • 누구나 부담 없이 로커스체인 네트워크에 참여할 수 있는 중요한 기반이 되고, 이는 높은 탈중앙화를 달성하는 데 중요한 요소이다
  • 초당 수천 트랜잭션이 수년 이상 쌓인 상황에서도 먼 과거에 발생한 데이터를 효율적으로 검증할 수 있도록 필요한 계산 정보량을 지수함수적으로 단축시키는 알고리즘인 확장스큐드머클트리(Hierarchical Skewed Merkle Tree)를 도입했다. 이로써 노드의 스토리지 부담을 줄이면서 동시에 고속 검증이 가능한 블록체인을 구현하고 있다
  • AWTC(Account-wise-transaction-chain)구조로 각 계정별로 체인을 구성하는 원장구조를 채택하였다

문제점 및 해결방안[편집]

각 노드 상에 데이터가 불완전한 상태로 보존되는 경우 주목도가 낮은 데이터는 아무도 저장하지 않고 사라져 버리는 경우가 발생할 수 있다는 우려도 있다. 이런 우려에 대해 로커스체인에서는, 첫째로 각 어카운트의 과거 이력(history)은 기본적으로 어카운트 자신이 저장하거나, 자신이 위임한 노드가 저장하므로, 소유자 본인은 과거 history의 열람이 가능할 것이고, 둘째로 필요하다면 과거 데이터의 저장에 특화된 별도 기구를 두는 것이 효율적이라 답한다. 즉 다른 노드들은 자신의 과거 정보를 저장해 주지 않으므로, 모든 노드가 모든 데이터를 저장하는 경우에 비하면 자신의 소중한 history가 사라질 위험이 높아지는 것은 사실이지만, 이는 로커스체인 본체 밖의 별도의 기구를 통해 대처 가능하다고 주장한다. 예를 들어 수백테라바이트의 저장공간을 가진 디렉토리 서비스 운영 사업자가 코인을 대가로 과거 트랜잭션 데이터의 열람 서비스를 제공하는 등의 전개를 생각할 수 있다.

로커스체인은 베리파이어블 프루닝에 대한 특허 출원을 신청한 상태로 알려져 있다.

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

각주[편집]

  1. 로커스 팀, 〈로커스체인 엔터프라이즈 메인넷이란?〉, 《로커스인사이트》, 2019-07-04
  2. 처음처럼, 〈로커스체인의 베리파이어블 프루닝기술?〉, 《코박》, 2019-04-27
  3. 여용준 기자, 〈로커스체인, 플랫폼 기술 집약한 엔터프라이즈 메인넷 개발〉, 《이뉴스투데이》, 2019-07-04

참고자료[편집]

같이 보기[편집]


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