블록체인의 유형들

코딩하는범이·2021년 3월 5일
0
post-thumbnail

저번에 썼던 블록체인과 P2P에 이어서 이번에는 마지막 부분에 말했던 블록체인의 유형들에 대해서 써보려고 한다. 각각의 유형들은 해시넷에 있는 정의를 인용해서 한번 보도록 하겠다.

Public Blockchain(퍼블릭 블록체인)


퍼블릭 블록체인(public blockchain)이란 누구든지 자유롭게 참여할 수 있는 개방형 블록체인 네트워크를 말한다. 공공 블록체인, 개방형 블록체인, 무허가형 블록체인(permissionless blockchain)이라고 한다. 권위 있는 조직의 승인이 없이 누구든지 인터넷에 연결된 PC, 노트북, 스마트폰, 서버컴퓨터, 채굴기 등 다양한 컴퓨터 장비를 이용하여 블록체인 네트워크에 참여할 수 있다.

여기서 중요한 특징은 누구든지 자유롭게 참여할 수 있다는 것이다. 4번째 그림을 보면 중앙에 서버가 없고 각각의 사용자들이 통신을 하고 있다. 앞서 보았던 Pure P2P 형식과 유사하다. 우리가 흔히 아는 비트코인은 Pure P2P 방식을 채택하고 있다. 특징을 정리해 보면 아래와 같다.

  • 퍼블릭 블록체인을 이용하면 전 세계 누구나 거래를 주고 받을 수 있다. (누구나 거래들을 검증할 수 있는 Node(peer)가 될 수 있다.)
  • 퍼블릭 블록체인 위에서 발생한 거래내역은 모든 사람들이 확인할 수 있다.
  • 퍼블릭 블록체인의 특성 덕분에 블록에 저장된 데이터의 위조 및 변조가 거의 불가능하다.
  • 퍼블릭 블록체인은 많은 사람들의 네트워크 참여에 동기를 부여하기 위해 특정 암호화폐를 인센티브 또는 보상으로 지급하여 네트워크를 유지하게 된다. 

그러면 중앙에 서버가 존재하지 않는데 어떻게 각각의 사용자들이 어디있는지는 어떻게 알며 통신하며 서로의 거래 내역을 알 수 있을까??

각각의 블록체인마다 지향하는 알고리즘이 있겠지만 여기에서는 우리가 흔히 알고있는 비트코인에서 사용하는 방식에 대해서 보겠다. 아래에서는 peer의 개념으로 작성을 하였다.

  • 먼저 클라이언트는 이전에 연결했던 Peer를 캐시에서 가져와 사용할 수 있다.
  • 다음으로 DNS Seed를 사용할 수 있다. 클라이언트가 처음으로 구동되었을 때는, 이전에 사용한 Peer가 없을 것이다. 이런 경우에 일반적으로 DNS Seeding이라고 불리우는 방법을 사용한다. 즉, 비트코인 클라이언트는 DNS Seed 라고 불리우는 하나 이상의 DNS 호스트명을 쿼리하여 Peer들의 IP 정보를 얻을 수 있다. 이러한 DNS 쿼리는 현재 사용중인 Full 노드들의 IP 주소들을 리턴하게 된다. 비트코인 클라이언트는 널리 알려진 DNS Seed 들을 하드코드하여 사용하곤 하는데, 이러한 DNS Seed들은 비트코인 커뮤너티에 의해 관리된다. DNS Seed에는 네트크워 스캔을 통해 자동으로 갱신되는 Dynamic DNS Seed와 수작업으로 IP를 갱신하는 Static DNS Seed가 있다.
  • 만약 위의 방법들이 실패하면, 클라이언트는 마지막으로 하드코드된 IP 주소들을 사용하게 되는데, 하드코드된 IP 주소는 IPv6 포맷으로 chainparamsseeds.h 파일에 저장되어 있다.

비트코인은 위와 같이 통신을 하고 있다. 읽어봐도 구현하기에는 어려운 내용같다.
여기에서는 최소한 퍼블릭 블록체인이 무엇인지는 알고 넘어가자!

Private Blockchain(퍼블릭 블록체인)


프라이빗 블록체인은 사적 블록체인, 폐쇄형 블록체인, 허가형 블록체인, 기업형 블록체인 또는 엔터프라이즈 블록체인이라고도 불리며 허가된 참여자 외 거래 내역과 여러 행동(Actions)은 공유되지 않고 추적할 수 없고, 프라이빗 블록체인 네트워크에 참여하기 위해 한 명의 주체로부터 허가된 참여자만 참여하여 블록을 생성할 수 있어, 대표적인 예로 나스닥(NASDAQ)의 링크(LINQ)와 미진(Mijin)이 있다.[1] 프라이빗 블록체인의 대표적인 사례로 하이퍼레저 패브릭(Hyperledger Fabric), R3 코다, 삼성SDS의 넥스레저(Nexledger) 등이 있다. 또한 ㈜엘지씨엔에스(LGCNS)의 모나체인(Monachain), 한화시스템의 에이치체인(H-Chain) 등이 있다.

퍼블릭 블록체인과 다른점은 허가된 참여자만 블록체인 네트워크에 참여할 수 있다. 4번째 그림을 보면 중앙에 서버가 있다. 앞서 보았던 Hybrid P2P 형식과 유사하다. 특징은 아래와 같다.

  • 프라이빗 블록체인은 네트워크 창립자/개발자가 미리 정해둔 규칙에 따라 또는 네트워크의 허가를 받은 노드만 참여가 가능하다.
  • 그래서 거래 내역을 볼 수 있는 권한을 받은 사람만 열람이 가능해 진다는 장점을 가지고 있다.
  • 믿을 수 있고 많은 거래를 처리할 수 있는 힘을 가지고 있는 소수의 노드들에 의해 블록체인이 운영되기 때문에 저렴하고 빠른 거래 처리 속도를 가지고 있다.
  • 퍼블릭 블록체인에서는 하드포크가 아닌 이상 소프트웨어 업데이트가 거의 불가능에 가깝다. 하지만 프라이빗 블록체인을 활용하게 되면 기업들은 자신들의 입맛에 맞춰 법률 규제 및 여러 규제사항을 충족하는 블록체인을 이용할 수 있게 된다.
    하드 포크란? 호환되지 않는 업데이트,모든 사람들이 업데이트를 해야함

다만 프라이빗 블록체인은 적은 사람들이 참여하고 소수에 의해 결정되기 때문에 중앙결정화 되어 공정성과 투명성이 떨어질 수 있다는 단점도 가지고 있다. 특성으로 미루어 보면 블록체인으로 인정하지 않는 사람들도 있다고 한다.

Consortium Blockchain(컨소시움 블록체인)


컨소시엄 블록체인(Consortium Blockchain)은 퍼블릭 블록체인과 프라이빗 블록체인의 중간 형태로 하이브리드 블록체인으로 분류된다. 중앙 관리자에 의해 승인받은 참여자만이 블록 생성에 참여할 수 있는 프라이빗 블록체인과 유사한 개념이다. 하지만 컨소시엄 블록체인은 프라이빗 블록체인과는 달리 같은 목적을 가지고 있는 여러 기관이 하나의 컨소시엄을 구성하여 공정성과 확장성을 보완하였다. 따라서 다수 참여자의 협의가 필요한 분야에서는 컨소시엄 블록체인이 프라이빗 블록체인보다 효과적이다. 컨소시엄 블록체인은 기관 간에 직접 거래함으로써 제3자에 대한 거래 수수료를 줄이고 거래 시간을 단축할 수 있다.

퍼블릭 블록체인과 프라이빗 블록체인의 짬뽕이다. 프라이빗 블록체인과 다른점은 데이터를 수정하고 싶어도 마음대로 수정 할 수 없다. 앞서 보았던 Super peer 형식과 유사하다. Super peer의 특징과 마찬가지로 구현하기가 쉽지 않아 보인다. 특징은 아래와 같다.

  • 컨소시움 블록체인에서는 여러 기관 또는 기업이 하나의 그룹을 이뤄 블록체인 네트워크를 구성하는 구조를 가지고 있다.
  • 퍼블릭과 프라이빗 블록체인의 성격 모두를 가진다.
  • 선별된 한 집단의 노드들 만이 합의 과정에 참여하지만, 다른 노드들은 거래를 생성하거나 확인할 수 있다.
  • 결론으로는 노드에게 특정 역할을 부여할 수 있는 통제권을 가진 블록체인 네트워크를 가지게 된다.

아래는 각각의 차이점들을 정리 해놓은 표이다

비트코인은 알지만 블록체인이 뭔지 모르는 당신이 글을 읽고 조금이라도 블록체인에 대해서 잘 알았으면 좋겠다. 다음 장에서는 블록체인의 블록에 대해서 알아보도록 하겠다. 끗~!

profile
기록 그리고 기억

0개의 댓글