2022/블록체인

[블록체인 / NIST] 블록체인의 분류

코드아키택트 2021. 10. 29. 07:56
반응형

안녕하세요 갈아만든쌀입니다.

 지난번에 이어 NIST에서 나온 블록체인 개요 문서를 기반으로 블록체인 개념을 알아보겠습니다. 원문을 직접 보시는 편이 제일 정확할 것이고, 아래 내용은 제가 보기에 중요해 보이는 것 위주로 정리하면서 제가 아는 내용을 조금씩 첨가하였습니다.

https://nvlpubs.nist.gov/nistpubs/ir/2018/NIST.IR.8202.pdf

블록체인의 분류

개요

  • 블록체인은 Permissioned과 Permissionless으로 분류할 수 있음
  • Permissionless과 Permissioned을 나누는 기준은 누가 블록체인을 유지하는 권한을 가지는지에 따름(예를 들면 블록 생성 기능 등)
  • Permissionless : 누구나 참여할수 있으며, 누구나 블록 생성 가능
    • 누구나 참여할 수 있는 인터넷과 같음
  • Permissioned : 특정유저만 참여 가능하며, 특정 유저만 블록 생성 가능
    • 마치 사내 인트라넷과 같음
    • 보통 특정 단체, 개인 또는 컨소시움을 위해 배포됨
  • 추후 다룰 개념들을 이해하기 위해 블록체인의 분류를 이해하는것이 중요함

Permissionless

Permisionless 블록체인 네트워크는 분산된 장부 플랫폼이며, 누구나 권한 요청없이 블록을 발행할 수 있음(거래를 검증할 수 있음).

대부분 Permissionless 블록체인은 오픈소스 소프트웨어이며, 누구나 다운로드 할 수 있음.

누구나 블록을 발행할 수 있음 -> 누구나 블록체인의 내용을 읽을 수 있고 쓸 수 있음.

또한 누구나 참여 가능하기 때문에 의도적으로 공격하려는 사람도 있을 수 있음 -> 방지를 위해 합의 알고리즘 또는 협의 도입함.(자원을 소비하거나 유지하는 방식. 이더리움의 가스비) -> 쉽게 공격할 수 없게 만듬

이러한 합의 알고리즘으론 PoW(Proof of Work)와  PoS(Proof of Stake) 방식 등이 있음(4장에서 논의).

보통 Permissionless블록체인에선 고유 암호화폐로 보상을 지급함으로서 올바른 거래행위를 장려


Permissioned

 Permissioned 블록체인은 사용자가 블록 발행을 위해선 권한을 가진 참여자로부터 승인을 받아야함(권한자는 중앙화 되어있을수도 있고, 탈중앙화 되어있을수도 있음)

권한을 가진 사용자만 블록체인을 유지하기때문에, 읽기 또는 거래제출 제한 등을 할 수도 있음 -> 읽기 및 거래제출을 위해선 허가가 필요함

Permissioned 블록체인은 오픈 소스 또는 closed source software로 유지됨

 

permissioned 블록체인도 permissionless 블록체인 처럼 디지털 자산의 추적 뿐만 아니라 분산, 반복, 회복력 있는 데이터 저장 시스템을 제공

마찬가지로 합의 알고리즘을 사용하지만, 자원을 소비하지 않음(이더리움과 같은 가스비가 없음) -> 참여자가 누군지 알고 있음. 서로 어느정도 신뢰하고 있음. 이미 블록을 발행할 권한을 허가받았으며, 잘못된 행동을 했을땐 권한을 박탈하면 되기 때문.

보통 permissioned 블록체인의 합의 모델의 속도는 더 빠르고, 컴퓨터 적으로 자원 소모가 적음(신뢰 기반이기 때문으로 생각하면 될듯)

 

특정 단체가 자신들의 블록체인을 좀더 빡빡하게 관리하고 보호하기위해 permissioned 블록체인 이용도 가능함.

하지만 단 하나의 주체가 블록 발행권한을 독점한다면, 블록체인 사용자는 그 주체를 믿는수밖에 없음(만약 정부가 블록체인을 사용한다면?)

Permissioned 블록체인은 같이 협업하고 싶지만 서로를 완전히 믿지는 않는 주체 사이에도 사용 가능

Permissioned 블록체인을 구성한 후 협업하고 싶은 사업 파트너를 초대 하여 거래내역을 공유된 원장에 기록 가능

Permissioned 블록체인은 투명성을 제공, 사업 의사결정 인사이트 제공, 잘못된 거래 탐지 등의 장점 제공(사실상 투명성의 파생으로 보면 될듯)

이는 변경하는 주체에 대한 지속적인 변경과 감시를 명시적으로 포함할수도 있음(주기적으로 업데이트되는 시스템과 다르게 블록체인은 계속 변경 가능)

 

몇몇 Permissioned 블록체인은 유저의 권한 등에 따라 원하는 정보를 제공하는 기능을 제공

이를 이용해 어느정도의 Privacy가 보장

를 들면 두 유저 사이에 거래가 일어났지만, 내용 열람은 거래에 참여한 사람들만 열람 가능하도록 설정 가능(Hyperledger Fabric의 Private data가 예시 될듯)

 

몇몇 Permissioned 블록체인은 거래를 하기위해서 모두다 신원인증을 하도록 요구함(익명성이 아님.)

이러한 환경에선, 공동의 비즈니스 목표를 위해 움직이게함.(잘못된 행동을 하면 그 사람의 정체를 알 수 있기 때문에)

잘못된 행동이 일어나면, 어느 단체 소속인지 알수 있으며, 법적인 조치를 취할 수 있음.


정리

이번 챕터에선 Permissioned과 Permissionless블록체인에 대해 알아봤습니다. 인터넷에 보면 위와같은 그림들을 볼 수 있습니다. 다음에 Private과 Public의 차이에 대해서 나온다면 또 다뤄보겠습니다. 그럼 글을 보며 제가 인상깊었던것 위주로 정리해보겠습니다.

 

Permissioned과 Permissionless 블록체인은 허가가 필요한 인트라넷과 누구나(돈만 낸다면) 사용가능한 인터넷의 차이로 볼 수 있습니다. 

 Permissionless 블록체인누구나 참여가능 하며 누구나 동등한 권한을 가집니다. 사토시의 논문의 내용을 조금 인용하자면 서로가 신뢰하지 않는 환경(누구나 참여가능하며 서로가 누구인지 모름)에서 거래가 이루어진다고 생각하면 됩니다. 누구나 무엇이든 할 수 있기 때문에, 그 안에 bad actor들이 있을 수 있습니다. 비트코인의 경우 PoW와 거래에 대해 Loop가 안되는 Turing complete하지 않은 시스템을 통해 이를 방지했습니다. 이더리움의 경우 PoS와 Turing complete한 방식을 채택하고 있으며, Loop와 같은 방식으로 DoS(Denial of Service)가 가능하기 때문에 이를 방지하기 위해 가스비를 도입했습니다. 이게 위에 나온 개념을 좀더 어떻게 적용했는지 와닿게 설명하는 방식이라고 생각합니다. PoW와 PoS에 대한 부분도 상당히 큰 덩어리던데 이후 나오는 챕터 내용등과 섞어서 얘기해보도록 하겠습니다.

 Permissioned 블록체인은 블록체인 안에서 활동하기 위해선 특정 권한 단체로 부터 권한을 받아야 사용 가능합니다. 권한 문제만 제외한다면 기존 블록체인이 가지는 디지털 자산추적, 분산 장부 저장시스템의 특징이라고 할수 있는 탄력 회복성, 분산, 중복 저장등의 장점을 공유합니다. Permissionless와는 다르게 기본적으로 참여자에 대해 신뢰를 기반으로 하고 있으며 완전히 서로를 믿지 않는다는 특징을 지닙니다. 이러한점 때문에 거래검증에 대해서 컴퓨터 자원을 적게 소모하며 좀더 빠른 거래가 가능합니다. 우리 현실세계로 비유하자면 믿는 친구들 끼리는 검증을 깐깐히 하지 않는 것 등을 예로 들 수 있겠네요.(깐부) 더 직접적으로는 우리가 카드를 긁을때 거래가 바로 승인이 나지만 실제로 그 뒤의 시스템에서는 검증까진 시간이 좀 걸린다고 합니다. 하지만 카드사대 매점간 서로 신뢰로 빠른 거래처리가 된다 정도로 이해해도 될 것 같습니다.

 Permissioned 블록체인을 운영하는 방식에 따라 차이점도 볼 수 있었습니다. 자기자신이 실제로 누구인지(정체가 누구인지) 완전히 밝히거나, 어느정도 밝히는 수준으로 진행할 수 있으며, 거래가 일어나도 거래 당사자들만 열람 가능한 방식등을 통해 비즈니스에서 민감한 정보들을 가리고 거래가 일어났음만을 밝히는 것도 가능합니다(하이퍼래져 페브릭의 예시). 위의 글에선 협업 도구로서 블록체인을 바라보는 시선이 조금 느껴진게 재미났던 점이라고 생각합니다.

이상 정리 마치겠습니다. 글이 유용했다면 좋아요 부탁합니다

 

 

반응형