의견.png

"쿼럼 플랫폼"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(콘스텔레이션 및 테세라)
(노드)
14번째 줄: 14번째 줄:
 
==특징==
 
==특징==
 
===노드===
 
===노드===
쿼럼 노드는 끊임없이 성장하는 이더리움의 연구 개발을 활용할 수 있도록 geth(Go-Ethereum)을 경량 포크하여 설게되었다. 따라서 쿼럼은 향후 geth가 업데이트 될 때마다 계속해서 함께 업데이트 될 것이다. 쿼럼 노드에는 geth를 위한 다음과 같은 수정 사항이 포함되어 있다.
+
쿼럼 노드는 끊임없이 성장하는 이더리움의 연구 개발을 활용할 수 있도록 geth(Go-Ethereum)을 경량 포크하여 설계되었다. 따라서 쿼럼은 향후 geth가 업데이트될 때마다 계속해서 함께 업데이트될 것이다. 쿼럼 노드에는 geth를 위한 다음과 같은 수정 사항이 포함되어 있다.
  
# 작업증명 합의 알고리즘(PoW) 대신 래프트 프로토콜(RAFT protocol) 또는 이스탄불BFT(Istanbul BFT) 방식을 사용하여 합의를 도출한다.
+
# 작업증명 합의 알고리즘(PoW) 대신 래프트 프로토콜(RAFT protocol) 또는 이스탄불BFT(Istanbul BFT) 방식을 사용하여 합의를 한다.
# P2P 계층은 권한이 부여 된 노드와의 연결만 허용하도록 수정되었다.
+
# P2P 계층은 권한이 부여된 노드와의 연결만 허용하도록 수정되었다.
 
# 블록 생성 논리는 'global state root' 검사를 새로운 'global public state root'로 대체하기 위해 수정되었다.
 
# 블록 생성 논리는 'global state root' 검사를 새로운 'global public state root'로 대체하기 위해 수정되었다.
 
# 블록 검증 로직이 [[블록헤더]]의 'global state root'를 'global public state root'로 대체하도록 하기 위해 블록 유효성 확인 논리를 수정했다.
 
# 블록 검증 로직이 [[블록헤더]]의 'global state root'를 'global public state root'로 대체하도록 하기 위해 블록 유효성 확인 논리를 수정했다.
27번째 줄: 27번째 줄:
 
쿼럼은 Geth 클라이언트를 수정하여 다음과 같은 특징을 갖게 되었다.
 
쿼럼은 Geth 클라이언트를 수정하여 다음과 같은 특징을 갖게 되었다.
  
* 기존의 Geth를 최소한으로 수정하여 이더리움 JSON-RPC를 사용하는 대부분의 도구들과 호환 가능하다.
+
* 기존의 Geth를 최소한으로 수정하여 이더리움 JSON-RPC를 사용하는 대부분의 도구와 호환할 수 있다.
* 작업증명 방식이 아닌 별도의 합의 알고리즘(QuorumChain, Raft)을 사용하여 빠르게 블록을 생성할 수 있다. 특히 RAFT의 경우 몇 십 밀리세컨드의 단위로 블록생성이 가능하다.
+
* 작업증명 방식이 아닌 별도의 합의 알고리즘(Quorum Chain, Raft)을 사용하여 빠르게 블록을 생성할 수 있다. 특히 RAFT의 경우 몇십 밀리세컨드의 단위로 블록생성이 가능하다.
 
* 프라이빗 트랜잭션이 가능하여 모든 사람에게 공개되는 트랜잭션 내역 외에도 오직 거래 상대방과 데이터를 주고받는 트랜잭션을 만들고 보관할 수 있다.<ref name="andybclee">andybclee, 〈[https://steemit.com/kr/@andybclee/jp-morgan-quorum JP Morgan의 Quorum 소개]〉, 《스팀잇》</ref>
 
* 프라이빗 트랜잭션이 가능하여 모든 사람에게 공개되는 트랜잭션 내역 외에도 오직 거래 상대방과 데이터를 주고받는 트랜잭션을 만들고 보관할 수 있다.<ref name="andybclee">andybclee, 〈[https://steemit.com/kr/@andybclee/jp-morgan-quorum JP Morgan의 Quorum 소개]〉, 《스팀잇》</ref>
  

2019년 6월 28일 (금) 14:33 판

쿼럼 플랫폼(quorum platform) 로고
쿼럼 플랫폼(quorum platform) 로고와 글자
제이피모건(J. P. Morgan)

쿼럼 플랫폼(Quorum Platform)은 글로벌 금융투자은행인 제이피모건(J. P. Morgan)이 빠른 처리 속도를 구현하기 위해 이더리움하드포크하여 개발한 기업용 블록체인 플랫폼이다. 사전적 의미로 쿼럼(quorum)은 의사결정에 필요한 최소한의 투표수, 즉 정족수(定足數)를 의미한다. 탈중앙화 기반의 블록체인 시스템에서 합의에 도달하기 위해 각 노드들은 전체 네트워크의 합의를 기다리지 않고, 신뢰할 수 있는 소규모 집단인 쿼럼의 합의를 따름으로써, 처리 속도를 획기적으로 개선할 수 있다. 제이피모건은 이러한 쿼럼 기술을 이용하여, 빠른 처리를 위한 쿼럼 블록체인 플랫폼을 개발했다.

가기.png 쿼럼에 대해 자세히 보기

개요

쿼럼은 2015년 JP모건이 개발한 자사 맞춤형 이더리움 스마트 계약 시스템으로, 파생상품의 청산 및 결제와 해외송금 등을 효율적으로 관리하기 위한 블록체인 플랫폼이다.[1] 블록체인 데이터 중 상당수는 퍼블릭의 성격을 띄고 있다. 이는 블록체인 관계자들에게 매우 특징적이면서도 도전적인 과제였다. JP모건 체이스가 만든 이더리움 포크인 쿼럼은 프라이버시와 효율적인 합의 수단을 위해 더 나은 옵션들을 섞는 프로젝트로, 이를 통해 파생상품 및 결제 등에 관한 트랜잭션을 효율적으로 처리할 수 있게 됐다. 쿼럼을 통해 더 작고, 더 빠르며, 더 단순하지만 채굴과 관련된 추가적인 비용 및 어려움 없이 공유 사실의 잠재력을 실현시킬 수 있는 블록체인을 만들 수 있다.[2] 기업 내부나 컨소시엄 구성원의 프라이빗 블록체인을 구현하려고 하는 경우 매우 적합한 기술이라고 할 수 있다.

쿼럼은 특정한 블록트랜잭션 해시를 선택적으로 볼 수 있게 하기 때문에 프라이빗 블록체인이다. 퍼블릭 블록체인인 이더리움 프로토콜을 기반으로 개발 중에 있지만 프라이빗 체인의 특성을 갖고 있다. 쿼럼은 승인된 참가자만 노드로 참여할 수 있으며 채굴비용 및 인센티브가 존재하지 않는다. 이렇듯 쿼럼은 프라이빗 트랜잭션을 만들고 컨소시엄의 다른 구성원으로부터 세부사항을 숨길 수 있는 승인 권한 기반의 메커니즘을 제공한다. 개별적인 노드가 퍼블릭 및 프라이빗 데이터에 대해 분리된 머클트리(Merkle Tree)를 유지하고 서로 진화할 수 있도록 만든다.[2]

특징

노드

쿼럼 노드는 끊임없이 성장하는 이더리움의 연구 개발을 활용할 수 있도록 geth(Go-Ethereum)을 경량 포크하여 설계되었다. 따라서 쿼럼은 향후 geth가 업데이트될 때마다 계속해서 함께 업데이트될 것이다. 쿼럼 노드에는 geth를 위한 다음과 같은 수정 사항이 포함되어 있다.

  1. 작업증명 합의 알고리즘(PoW) 대신 래프트 프로토콜(RAFT protocol) 또는 이스탄불BFT(Istanbul BFT) 방식을 사용하여 합의를 한다.
  2. P2P 계층은 권한이 부여된 노드와의 연결만 허용하도록 수정되었다.
  3. 블록 생성 논리는 'global state root' 검사를 새로운 'global public state root'로 대체하기 위해 수정되었다.
  4. 블록 검증 로직이 블록헤더의 'global state root'를 'global public state root'로 대체하도록 하기 위해 블록 유효성 확인 논리를 수정했다.
  5. The State Patricia trie는 public state trie 및 private state trie로서 두 가지로 나뉜다.
  6. 블록 유효성 검증 로직이 퍼블릭 트랜잭션을 처리하도록 수정되었다.
  7. 필요한 경우 개인 데이터를 보존하기 위해 트랜잭션 데이터를 암호화 된 해시로 대체할 수 있도록 수정되었다.
  8. 가스 자체가 남아 있더라도, 가스의 가격 설정은 제거되었다.

쿼럼은 Geth 클라이언트를 수정하여 다음과 같은 특징을 갖게 되었다.

  • 기존의 Geth를 최소한으로 수정하여 이더리움 JSON-RPC를 사용하는 대부분의 도구와 호환할 수 있다.
  • 작업증명 방식이 아닌 별도의 합의 알고리즘(Quorum Chain, Raft)을 사용하여 빠르게 블록을 생성할 수 있다. 특히 RAFT의 경우 몇십 밀리세컨드의 단위로 블록생성이 가능하다.
  • 프라이빗 트랜잭션이 가능하여 모든 사람에게 공개되는 트랜잭션 내역 외에도 오직 거래 상대방과 데이터를 주고받는 트랜잭션을 만들고 보관할 수 있다.[3]

콘스텔레이션 및 테세라

쿼럼의 개발자들은 하스켈(HASKELL) 기반의 개인 엔진 콘스텔레이션(Constellation)을 자바(Java) 기반의 테세라(Tessera) 개인 트랜잭션 관리로 대체하여 쿼럼의 개인 구조를 혁신화 했다. 테세라의 보안성은 메시지가 PGP(pretty good privacy)로 암호화되는 MTA(메시지 전송 에이전트)의 네트워크와 견줄만하다. 이는 블록체인에 국한되는 것이 아니며, 거래 상대방의 네트워크 내에서 개별적으로 봉인된 메시지 교환을 원하는 다른 유형의 애플리케이션에도 잠재적으로 적용될 수 있다. 콘스텔레이션 및 테세라 모듈은 두 개의 하위 모듈로 구성된다.

  • 트랜잭션 관리자(transaction manager)
쿼럼의 트랜잭션 관리자는 쿼럼 플랫폼에서 활동하는 기본 노드로서, 거래 프라이버시를 책임진다. 트랜잭션 관리자는 암호화된 트랜잭션의 데이터를 저장하고 접근할 수 있도록 하며, 다른 참여자의 트랜잭션 관리자와 암호화된 페이로드를 교환한다. 하지만 개인키에 대한 어떠한 접근 권한도 가지고 있지 않다. 트랜잭션 관리자는 암호화 기능을 위해 엔클레이브를 사용하는데, 엔클레이브는 선택적으로 트랜잭션 관리자 자체에 의해 호스팅 될 수 있다. 트랜잭션 관리자는 쉽게 로드 밸런싱을 조정할 수 있다.
  • 엔클레이브(The Enclave)
분산원장 프로토콜은 일반적으로 트랜잭션 인증, 참여자 인증 및 과거 데이터 보존을 위해 데이터 체인을 통한 암호화 기술을 활용한다. 특정 암호의 병렬화를 통해 성능 향상을 제공할 뿐만 아니라 우려 사항을 분리하기 위해 대칭키 생성과 데이터 암호화, 암호 해독을 포함한 많은 암호화 작업이 엔클레이브에 위임된다. 엔클레이브는 트랜잭션 관리자와 협력하여 암호화 및 암호 해독을 다른 방식으로 관리함으로써 프라이버시를 강화한다. 엔클레이브는 개인키를 보유하고 있으며 본질적으로 다른 구성 요소들과 분리된 가상 계층적 기억 장치 관리(HSM)이다.

트랜잭션

쿼럼은 계속해서 트랜잭션 처리 최적화에 초점을 맞추고 있으며, 초당 8,000건 이상의 트랜잭션 처리를 목표로 하고 있다. 트랜잭션 프라이버시 기능은 쿼럼의 주요 기능 중 하나로 쿼럼은 이를 완벽하게 구현하기 위해 퍼블릭 트랜잭션 및 프라이빗 트랜잭션이라는 개념을 도입했다. 쿼럼은 새로운 트랜잭션의 유형을 추가하지는 않았지만, 이더리움의 트랜잭션에서 선택적 privateFor 매개변수를 포함하여 트랜잭션을 확장시켰으며, IsPrivate라는 새로운 방식을 도입하여 트랜잭션을 식별하는 기능을 수행한다. 콘스텔레이션(Constellation)과 테레사(Tessera)는 이러한 방식을 쿼럼이 의도한 수신자에게 개인의 페이로드를 전송함으로써 암호화 과정에서 관련 작업을 수행하는데 사용한다.

  • 퍼블릭 트랜잭션 : 동일한 쿼럼 네트워크의 모든 참가자가 페이로드를 볼 수 있는 트랜잭션 방식이다. 퍼블릭 트랜잭션은 표준 이더리움 트랜잭션으로 생성된다.
  • 프라이빗 트랜잭션 : 거래의 privateFor 매개 변수에 공개키가 지정된 네트워크의 참가자에게만 페이로드가 표시 되는 거래다. 쿼럼 노드는 null이 아닌 privateFor 값을 가진 트랜잭션을 발견한 경우 트랜잭션 서명의 V 값을 37 또는 38로 설정한다.

합의 알고리즘

쿼럼과 같이 허가된 네트워크에서는 작업증명(PoW) 및 지분증명(PoW) 방식이 필요하지 않기 때문에, 쿼럼은 대신 컨소시엄 체인에 더 적합한 다중 합의 메커니즘(multiple consensus mechanisms)을 채택했다.

  • 쿼럼체인(QuorumChain) : 쿼럼이 자체적으로 개발한 쿼럼체인에서 각각의 노드는 블록을 생성할 수 있는 메이커 (Maker)와 보터(Voter)의 역할을 수행한다. 한 노드가 두 역할을 모두 맡는 것도 가능하고 아무런 역할을 하지 않아도 되는데, 이 경우 아무런 역할을 가지고 있지 않은 노드는 관찰자(Observer)가 된다. 관찰자는 단지 데이터의 변화를 지켜보고 전달된 블록을 보관하는 노드이다. 각각의 보터들은 스마트 계약을 사용하여 관찰자 노드에 전달받은 블록에 대해 투표를 하며, 이 투표 결과에 따라 블록을 체인에 연결하거나 연결이 거부되는 구조이다. 누가 블록을 생성할 것인지는 이미 정해진 최소·최대 시간 안에 결정되고 초 단위로 블록타임을 지정할 수 있다.[3]
  • 래프트 프로토콜(RAFT protocol) : 블록 생성 시간을 단축하고 트랜잭션 완료 및 주문형 블록 생성을 위한 프로토콜이다. 래프트 프로토콜 방식에서는 체인 콘텐츠에 대한 최종 결정을 내리고 이러한 결정을 수용하는 노드를 뽑는 리더 노드를 지정한다. 이 방식에서는 분쟁이 없기 때문에 트랜잭션이 밀리초 단위로 완료된다.[2] 또한 최소 50m/s 간격으로 블록 생성자를 결정할 수 있는데, 블록 생성자는 트랜잭션을 포함하고 있는 블록만 블록을 생성할 수 있다. 즉, 래프트 프로토콜 방식에서는 텅 빈 블록이 생성될 수 없다는 특징이 있다.[3]
  • 이스탄불 BFT(Istanbul Byzantine Fault Tolerance) : 대만 금융기관들이 공동으로 세운 블록체인 전문업체인 아미스(AMIS)가 개발한 비잔티움 장애 허용(Byzantine Fault Tolerance)기반의 합의 알고리즘으로, 해당 방식을 통해 더 적은 신뢰로 더 정교한 네트워크를 구현할 수 있다. 이스탄불 BFT는 기존 이더리움 구조상에서 메시지를 교환하는 효율성을 크게 높였으며, 이를 통해 블록체인 기반의 세계 금융 웹을 위한 인프라스트럭처를 가능케 한다. 비탈릭 부테린(Vitalik Buterin)역시 해당 알고리즈에 대해 걸작이라고 평가한 적이 있다.[4]
  • 클리크 개념증명(Clique PoA) : 클리크 개념증명 합의 알고리즘은 geth와 함께 제공되는 기본 개념증명(PoC) 합의 알고리즘이다. 해당 방식은 블록체인 망에 통합인증(SSO), 사설인증을 융합하는 방법으로 이를 통해 쿼럼을 다양한 서비스에 융합할 수 있게 된다.
  • 재더 프로토콜(Zether protocol) : 제더 프로토콜은 영지식증명(ZKP)을 사용하고 이더리움 및 기타 스마트 계약 플랫폼과 호환된다. 기존의 제더 프로토콜을 이용하면 계좌 잔액과 이체 대상에 대한 정보는 비공개되지만 해당 트랜잭션 참여자에 대한 신원은 공개된다는 문제점이 있었다. 쿼럼은 제더 프로토콜에 증명 프로토콜을 합쳐 확장함으로써 트랜잭션에 참여한 송금자와 수취인 모두의 익명성을 보장시킬 수 있도록 했다. 쿼럼은 익명성이 강화된 확장된 제더 프로토콜을 활용하여 사용자뿐만 아니라 이더리움을 기반으로 운영되고 있는 다양한 사업자들에게 다양한 이점을 제공한다.[5]

장점

쿼럼은 트랜잭션 승인까지 5초 미만의 시간이 걸려 빠른 속도를 자랑하며, 거래배포자 설정 기능을 통해 트랜잭션 주소를 선택적으로 보여줄 수 있다는 게 이더리움 플랫폼과 가장 큰 차이점이다. 이더스캔을 사용하지 못한다는 것도 쿼럼의 특징 중 하나인데, 이러한 특징 때문에 거래 내용이 공개되지 않아 기업들이 쿼럼의 가장 큰 장점인 프라이버시와 속도를 갖추게 되어 자기만의 영역과 규칙을 가질 수 있다. 쿼럼은 금융 관련 법들을 준수하며 블록체인의 활용을 도울 수 있어 금융권에서 활용 가능성이 매우 높다. 실제로 쿼럼은 이더리움을 통해 스마트 계약이 2년간 사용되면서 검증되어 왔다는 점에서 2017년 08월 브라질 중앙은행이 시행했던 테스트에서 매우 좋은 평가를 받았다. 또한 미국에서는 2018년 04월, 내셔널뱅크오브캐나다(National Bank of Canada)가 쿼럼 플랫폼을 이용해 1억5000만 달러 규모의 1년 만기 변동금리 달러 표시 양도성예금증서를 거래하는 데 성공한 바 있다.[6]

평가

2015년 쿼럼 플랫폼이 처음 등장한 이래로 쿼럼은 점점 주류 금융 회사들이 지지할 수 있는 블록체인의 조건을 갖추기 시작했다. 사용의 편리함과 개인 간의 메시징 도구인 콘스텔레이션이 많은 기업의 관심을 끌 만큼 프라이버시를 보장할 수 있다는 것을 보여줬기 때문이다. 또한 미래지향적인 영지식(ZKP) 보안 계층은 쿼럼 플랫폼이 향후 더 큰 가치, 즉 디지털 자산 교환을 개인 간 처리하는 것을 구현해낼 것으로 많은 기대를 모았다. 플랫폼뿐만 아니라 JP모건 체이스의 규제 시스템도 새로운 상품 문화를 수용할 수 있을 정도로 성숙해졌다. 주류 금융 회사, 특히 은행오픈소스 소프트웨어 라이선스 하에서 쿼럼 출시 준비를 마쳤을 때는 컴플라이언스를 충족시키는 방식으로 출시할 수 있을 만큼 준비되어 있었다. 몇몇 은행들이 공식적인 회사 계정을 통해 깃허브에서 쿼럼 출시 소식을 밝혔다.

그러나 JP모건 체이스와 다양한 금융사들이 쿼럼 플랫폼을 채택한 것이 그 플랫폼의 미래가 확실히 보장되었다는 것을 의미하지는 않는다. 쿼럼은 오픈소스이기 때문에 거래상대방이 될 수 있는 은행의 반독점 규제를 조심스럽게 피해가야 한다. 규제를 피하면서도 더 많은 금융 회사들과의 협업을 위해서는 은행들의 참여가 필요하다. 다양한 이유로 업계 내부자들은 쿼럼이 하이퍼레저(Hyperledger)나 피노스(FINOS)같은 금융산업 컨소시엄 단체의 감독을 받는 것이 훨씬 더 낫다고 판단한다. JP모건 체이스의 최고정보책임자인 로리 비어(Lori Beer)는 이에 대해 "쿼럼의 운명은 아직 결정되지 않았으며, 우리는 쿼럼이 정말 훌륭한 자산이 될 수 있다고 믿어 의심치 않는다. 쿼럼이 진화하고 성장해나가는데 가장 좋은 접근 방법이 무엇인지 지속적해서 평가할 것이다."라고 말했다.[7]

제휴

마이크로소프트(Microsoft) 로고와 글자

마이크로소프트(Microsoft)가 2019년 5월 발표한 애저(Azure) 기반 매니지드 블록체인 플랫폼인 애저 매니지드 서비스(Azure managed service)는 쿼럼을 우선 지원하고 있다. 즉, 쿼럼의 기반인 이더리움을 이미 지원하는 유일한 매니지드 클라우드 서비스가 바로 애저라는 것이다.[8] 마이크로소프트는 쿼럼 플랫폼을 설치해주는 것은 물론 소프트웨어 패치와 업데이트를 담당한다. 또한 필요한 애플리케이션 개발 툴을 제공하고 쿼럼 블록체인에 사용자를 추가하는 등 원장을 제어하는 템플릿도 지원한다.[9]

마이크로소프트는 쿼럼을 우선 지원하고 있는 이유에 대해 쿼럼의 기반이 되는 이더리움 네트워크가 가장 큰 블록체인 개발 생태계를 이루고 있다는 점을 높게 평가하기 때문이라고 설명했다.[10] 또한 쿼럼은 풍부한 오픈소스 툴과 통합되고 엔터프라이즈 고객들이 요청한 일부 노드끼리만 특정 데이터를 공유할 수 있게 하는 컨피덴셜 트랜잭션 기능을 지원하는 점이 마이크로소프트가 쿼럼을 지원하게 된 가장 큰 요인이었다. 마이크로소프트뿐만 아니라 스타벅스, 루이비통, MS 엑스박스 재무팀이 쿼럼을 사용하고 있다.[11]

각주

  1. 백소용 기자, 〈세계 금융회사들, 사업 표준 선점경쟁 치열〉, 《세계일보》, 2018-04-02
  2. 2.0 2.1 2.2 Peter Wayner, 〈기업 블록체인 개발을 쉽게... 베스트 툴킷 10선〉, 《CIO》, 2019-05-23
  3. 3.0 3.1 3.2 andybclee, 〈JP Morgan의 Quorum 소개〉, 《스팀잇》
  4. 이성주 기자, 〈대만 AMIS, 새로운 컨센서스 ‘이스탄불 BFT’ 개발 … JP모건 채택〉, 《토큰포스트》, 2017-07-06
  5. 코인니스, 〈JP모건, 블록체인 플랫폼 ‘쿼럼’에 프라이버시 기능 추가〉, 《블록체인포스트》, 2019-05-29
  6. 이정훈 기자, 〈미국 이어 캐나다서도 블록체인상 첫 채권 거래 성공〉, 《이데일리》, 2018-08-16
  7. 정재웅 기자, 〈(FORTUNE 500)JP모건은 어떻게 블록체인에 빠지게 됐나?〉, 《서울경제》, 2018-07-27
  8. Lucas Mearian, 〈'매니지드 블록체인' 달아오른다··· MS도 JP모건과 함께 BaaS 출시〉, 《씨아이오》, 2019-05-07
  9. 박상훈 기자, 〈토픽 브리핑 l 블록체인은 지금 ‘매니지드 서비스’로 진화중〉, 《아이티월드》, 2019-05-17
  10. 코인니스, 〈(글로벌 암호화폐 뉴스) 5월 20일 오후 브리핑〉, 《블록체인포스트》, 2019-05-20
  11. 임유경 기자, 〈마이크로소프트, 블록체인 개발자 전방위 지원〉, 《지디넷코리아》, 2019-05-04

참고자료

같이 보기


  의견.png 이 쿼럼 플랫폼 문서는 블록체인 플랫폼에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.