4. 퍼블릭 블록체인, 프라이빗(컨소시움) 블록체인 비교

in #kr6 years ago (edited)

이전글보기

1. 블록체인이란?

2. 채굴방식(마이닝) POW, POS, DPOS 란?
3. 스마트 컨트랙트란(Smart Contracts)?
4. 퍼블릭 블록체인, 프라이빗(컨소시움) 블록체인 비교
5. 튜링 완전(turing-complete)이란?

블록체인의 종류

블록체인은 크게 퍼블릭 블록체인, 프라이빗 블록체인, 컨소시움 블록체인 3가지로 분류할 수 있습니다.

  • 퍼블릭 블록체인(Public Blockchain): 비트코인, 이더리움과 같이 누구나 네트워크에 참여할 수 있는 블록체인
  • 프라이빗 블록체인(Private Blockchain): 하나의 기관에서 독자적으로 사용하는 블록체인
  • 컨소시움 블록체인(Consortium Blockchain): 여러 기관들이 컨소시움을 이뤄 구성하고 허가된 기관만 네트워크에 참여할 수 있는 블록체인.

현재 활발하게 거래되는 대다수의 블록체인은 퍼블릭 블록체인으로 블록체인 네트워크에 참여할 수 있고 트랜잭션 내역을 검증할 수 있습니다.

퍼블릭 블록체인 VS 프라이빗(컨소시움) 블록체인

퍼블릭 블록체인
프라이빗(컨소시움) 블록체인
읽기 권한
누구나
허가된 기관
거래 검증 및 승인
네트워크에 참여하면 거래 검증 및 승인
승인된 기관 및 감독기관
트랜잭션 생성자
누구나
법적 책임을 지는 기관
합의 알고리즘
부분 분기를 허용하는 작업증명(PoW)이나 지분증명(PoS) 알고리즘
부분분기를 허용하지 않는 BFT계열의 합의 알고리즘
속도
7~20 TPS
1000 TPS 이상
권한 관리
누구나
통제된 인원
예시
비트코인, 이더리움
IBM Fabbric, LoopChain

퍼블릭 블록체인은 누구나 참여/운영할 수 있기 때문에 운영주체가 불분명하고 독자적인 화폐를 통해 금융활동을 하기 때문에 법적 구속력에 상대적으로 자유롭지만, 프라이빗(컨소시움) 블록체인은 운영주체가 명확하고 기존에 있던 금융거래를 하는 것이기 때문에 모든 금융 관련 법과 규제사항을 준수해야 합니다.

퍼블릭 블록체인은 읽기, 트랜잭션 생성을 누구나 할 수 있기 때문에 누구든지 모든 데이터를 확인할 수 있습니다. 그러나 기관 간 블록체인의 경우 누구나 트랜잭션을 생성할 수 있다면 금융사고가 일어났을때 책임 주체가 불분명해 질 수 있기 때문에 법적 책임을 가질 수 있는 기관만 트랜잭션을 생성해야 합니다. 또한 어플리케이션에 따라 개인의 금융정보가 담긴 데이터가 네트워크 상으로 오고 갈 수 있어 누구나 데이터를 확인 해선 안됩니다.

트랜잭션 검증 요구사항에도 차이가 있습니다. 퍼블릭 블록체인의 경우 트랜잭션 내역 모두에게 공개 되며 네트워크에 참여한 모든 노드가 트랜잭션을 검증합니다. 그러나 프라이빗(컨소시움) 블록체인에서 이해관계자가 아닌 모든 노드가 트랜잭션의 검증하는 것은 문제가 있을 수 있습니다.

퍼블릭 블록체인의 한계

  1. 퍼블릭 블록체인은 노드 별로 권한을 다르게 하는 것이 불가능하고 감독기관은 모든 데이터를 검증해야 되고 나머지 기관들은 자신에 관련된 데이터를 검증하는 등의 역할을 할 수 없습니다. 또한 엔진 수정이 어렵기 때문에 엔진에서 제공해야만 가능한 기능들을 추가하는게 매우 어렵습니다.

  2. 퍼블릭 블록체인은 참여가 자유롭습니다. 즉 인증 안된 참여자도 악의적인 목적을 가진 해커도 퍼블릭 블록체인에 접근할 수 있습니다. 악의적인 네트워크 참여자의 공격에 방어하면서 세계 각지에 있는 모든 노드들이 같은 데이터를 공유해야합니다. 퍼블릭 블록체인은 이런 요구사항을 만족 시켜야 하기 때문에 성능면에서 많은 것을 포기하였습니다.

  3. 퍼블릭 블록체인은 기본적으로 누구나 블록 후보를 만들어 제출하고 분산합의를 통해 하나의 블록을 선정하여 신뢰할 수 있는 블록으로 인정받는 구조입니다. 따라서 인터넷 상에서 블록을 공유해야하는 시간이 있고 너무 많은 블록이 동시에 만들어 지면 하나의 블록을 선택하기 어렵기 때문에 블록 생성시간에 제한을 두고 있습니다. 비트코인의 경우 약 10분 마다 하나의 블록을 생성하고 이더리움의 경우 약 12초 마다 하나의 블록을 생성합니다. 네트워크에 공유되는 시간을 고려했을때 이더리움에서 내가 보낸 트랜잭션 결과를 확인하려면 약 1~2분 정도 기다려야 합니다. R3에 제출한 이더리움 보고서에 따르면 현 이더리움의 TPS(Transaction Per Second)는 약 10tps이고 비트코인의 경우 약 7tps입니다. 즉각적인 처리가 필요한 금융권 서비스에는 그대로 적용하기에는 불가능한 수준입니다.

  4. 퍼블릭 블록체인에서 채택하고 있는 분산합의 알고리즘으로 작업증명(Proof of Work, PoW)이나 지분증명(Proof of Stake, PoS)을 사용하려면 내부 화폐가 필요합니다. 퍼블릭 블록체인에서의 분산합의 목표는 결국 거래 내역을 검증하여 신뢰할 수 있는 블록을 만들 수 있는 노드를 선택하는 것이고 이러한 수고를 하는 댓가가 필요하기 때문입니다. 이것이 채굴(mining)이라고 알려진 과정이 이러한 과정입니다. 작업 증명의 경우는 쓸모없는 컴퓨팅 파워를 많이 사용하는 친환경이지 않은 문제도 있습니다.

  5. 퍼블릭 블록체인에서 사용하는 알고리즘들은 나중에 블록 생성 후 블록이 확정되기 때문에 허용되는 시간 내에 네트워크 분기가 생길 수 있어 항상 확실한 데이터를 보장해야 하는 금융권에는 올바르지 않습니다. 때문에 프라이빗(컨소시움) 블록체인들은 Byzantine Fault Tolerance(BFT)계열의 분산합의 알고리즘을 사용하여 네트워크 분기를 허용하지 않습니다.

사이드체인

사이드 체인은 기존 비트코인 블록체인을 확장하기 위해서 나온 개념입니다. 기존 비트코인 블록체인은 비트코인만 거래할 수 있을 뿐 다른 용도로 사용하기에는 한계가 있었습니다. 사이드 체인은 블록체인에 저장되는 데이터가 조작 불가능하다는 것에 초점을 맞추고 비트코인 외의 다양한 거래를 수행하고 그 거래에 대한 증거 데이터를 블록체인에 저장하는 방식으로 거래를 수행하였습니다.

image2018-7-5 22_40_31.png
사이드체인 구조

가장 유명한 사이드체인인 Colored Coin은 트랜잭션에 구분되는 데이터를 집어넣어 다양한 자산을 거래하게 하였습니다. 나스닥에서는 주식거래를 위해 Colored Coin을 이용하려는 시도를 했지만 좋은 성과는 가지지 못하고 Colored Coin을 개발한 스타트업과 새로운 프라이빗 블록체인을 만드는 것으로 방향을 변경하였습니다.

비트코인은 인센티브 기반으로 운영되는 블록체인입니다. 컴퓨팅 파워를 이용해 해시 퍼즐을 푼 사람에게 인센티브가 주어지면서 해당 블록이 승인되고 복제됩니다. 현재 비트코인이 잘 운영되는 이유는 비트코인 네트워크를 독점하려면 51%이상의 컴퓨팅 파워를 가져야 하는데 51%를 점유한다고 해도 크게 경제적인 이득을 보기 어렵습니다. 그 이유는 특정 거래를 블록에 넣고 빼고 정도만 가능합니다. 또한, 누군가가 51% 이상을 점유했다는 불안감에 비트코인 가격이 내려가면 해당 업체는 마이닝 수익이 줄어듭니다.

그러나 만약 주식이 비트코인 위에서 거래된다면 경제적인 이득을 크게 볼 수 있습니다. 주식은 어떤 거래가 이뤄지는지에 따라 시시각각 가격이 변동합니다. 51%이상의 컴퓨터 파워를 독점해 특정 거래를 통과시키지 않고 자신의 거래만 승인하는 방식으로 시장에 영향을 미칠 수 있습니다. 예전에 특정 마이닝 풀이 70%이상의 컴퓨팅 파워를 가졌던 적이 있던 비트코인 네트워크 위에서 다른 금융 상품을 거래한다는 것은 매우 위험할 수 있습니다.

또한 기존 비트코인 블록체인의 운영 주체가 불분명 하다는 것 또한 문제가 될 수 있습니다. 내가 보낸 트랜잭션을 블록 안에 넣는 것은 블록 생성 노드의 마음이기 때문에 내 거래가 언제 승인될지는 알 수 없습니다. 실제 비트코인 블록체인에서 한 달 넘게 거래가 승인 되지 않는 경우도 있습니다. 그리고 퍼블릭 블록체인 위에서 돌아갈 경우 감사기관 검증을 받기도 힘들고 시스템에 문제가 생길 경우 책임 주체가 불분명 하다는 단점이 있습니다.

Sort:  

헤깔리는 부분 자세히 설명해 주셔서 감사합니다^^