avatar
Published on

서비스 지향형 블록체인 샤딩 기법

Author
  • avatar
    Name
    yceffort

Service-Oriented Sharding for Blockchains

원문

들어가면서

블록체인은 전통적인 산업에서 혁신을 촉진할 수 있는 많은 기회를 제공한다. 이들은 비잔틴 참가자들과 네트워크에서 제공하는 신뢰가 필요없는 감사 가능성, 위조 저항 및 투명성으로 인하여 광범위한 주목을 받았다. 당연히, 블록체인을 바탕으로 한 솔루션 개발에 많은 관심이 이어지고 있다. 디지털 자산관리, 지적 재산권 추적, 토지 기록 및 증서 유지, 온라인 투표,도메인 이름 등 기타 서비스의 기본계층으로 블록체인을 사용하겠다는 제안이 이어지고 있다. 진행중인 이러한 프로젝트는 Blockchain-as-a-Service (BaaS)를 사용하여 이러한 서비스를 쉽게 구축할 수 있는 방법을 모색하고 있다.

특수 목적을 위한 블록체인 채택이 증가하면서 위험한 추세가 나타나고 있다. 단일 블록체인 또는 별도의 블록체인에서 이러한 용도를 수용하기 위해서는 본질적으로 복잡하나 절충을 필요로 한다. 비트코인과 같이, 공격을 견딜 수 있는 충분한 채광력을 가진 기존의 안전한 블록체인 위해, 이러한 추가 블록체인을 layer화 간단한 접근방법은 거래를 비싸고 부담스럽게 만든다. 실제로, 이 목적을 위해 채택된 opcode는 layer된 블록체인의 사용 증가에 따라 그 사용량이 급속도로 증가하고 있다. 참고 그러나 이러한 거래는 시스템 참여를 위한 자원 요구 사항과, 노드를 부트 스트랩할 시간을 증가 시킨다. 대조적으로, 전용, 전문화된 블록체인을 만드는 것은 이러한 문제를 피할 수는 있지만, 인프라를 확보하기 위한 독립적인 마이닝파워 부족과 연결 된다. 비트코인을 확보하는데 사용되는 마이닝 인프라를 복제하는 것은 비용이 많이 들고, 환경 오염 문제도 있을 뿐만 아니라, 이러한 시스템을 부트스트랩하는 것은 어렵다. 이러한 딜레마에 직면한 일부 사람들은 개방형 아키텍쳐, 유연한 신뢰 모델 및 기존 비트코인 마이닝 생태계의 강력한 보안 보장을 포기하면서 폐쇄된 참여자가 있는 허가된 원장, 즉 프라이빗 블록체인으로 전환했다.

이 논문에서는 Aspen이라고 불리우는, 블록체인을 안전하게 파편화하여 서비스 사용자에게 높은 확장성을 제공하는 프로토콜을 선보인다. 이 프로토콜은 다음과 같은 접근법을 제공한다.

  1. 전체 블록체인을 안전하게 유지하기 위해 마이너의 총 연산 능력을 보존하고
  2. 사용자가 비트코인과 동일한 신뢰가 필요없는 환경을 유지하면서 더블 스펜딩 문제를 방지하고
  3. 관련 없는 데이터르르 저장, 처리, 전파하는 책임으로 부터 마이너를 배제하여 확장성을 개선하고, 관심있는 서비스의 유효성을 확인한다.

이 프로토콜에서, 커피숍은 지불 시스템을 검증하기 위해 블록체인의 토지 및 증서 기록에 대해 걱정할 필요가 없다.

샤딩이란 네트워크의 노드를 통해 데이터베이스 내용을 배포하여 확장성을 향상시키는, 잘 정립된 기술이다. 그러나 블록체인 샤딩은 사소한 일이 아니다. 가장 큰 어려움은 블록체인의 일부를 다른 노드에 숨기면서 신뢰할 수 없는 속성을 보존하는 것이다. 이 작업에서의 핵심은 블록으르 사용하는 서비스와 관련하여 블록에 트랜잭션을 분산시키는 것이다.

서비스 기반의 샤딩

여기에서 핵심 아이디어는 사용자가 서비스의 올바른 기능을 완전히 검증할 수 있도록 블록체인을 분할 하는데 있어서

  1. 신뢰할 수 있는 실체에 의존하지 않고
  2. 서비스와 관련된 블록체인의 하위 집합만 추적하여

목적을 이뤄내는 것이다. 이 기술은 비트코인 및 관련 암호 통화와 동일한 네트워크 및 신뢰 모델을 공유한다. 서비스 기반의 샤딩은 다중 블록체인 구조를 중심으로 구축되며, 여러 체인이 동일한 genesis 블록에 뿌리를 두고, 공통 체크 포인트를 공유한다. 서비스 지향 샤딩으로 구성된 빌딩 블록은 다음과 같이 요약할 수 있다.

채널. 블록체인에 있는 체인은 공유된 genesis 블록위에 만들어져 있으며, 이 블록에는

  1. 특정 서비스의 모든 거래
  2. 서비스 전반적인 관리를 위한 거래와 관련된 체크포인트

가 포함되어 있다. 예를 들어, DNS 서비스는 전용 채널을 사용하여, 사용자 정의 트랜잭션을 DNS 리소스 레코드 형태로 저장한다. 이러한 트랜잭션은 일반적인 체크 포인트와 별도로 유지된다. 따라서 서비스는 느슨하게 결합되므로 변화에 탄력적으로 대응할 수 있다.

Multiblockchain-structure-of-service-oriented-sharding
그림 1: 서비스 지향 샤딩 멀티 블록체인의 구조. 각 채널에는 특정 서비스의 독점적인 트랜잭션 뿐만 아니라, genesis 블록 및 체크포인트(벨브)가 포함되어 있다. 체크포인트 생성을 위해서는 작업증명이 필요하다. 마이너들은 체크포인트로 확보된 지정된 블록에 거래를 배포한다.

서비스 지향 샤딩은 각 채널에 주석을 달고, 특정 서비스와 관련된 요청을 처리하고, 해당 트랜잭션을 서비스 번호라고 불리는 동일한 고유 식별자로 처리한다. 두개의 특수 채널인

🚧 WIP 🚧