다시 돌아온 혁신성장 청년인재 집중양성 사업에서
듣는 수업을 정리해보려고 합니다.
오늘 정리할 내용은 Hyperledger Fabric의 첫시간을 정리할 예정입니다.
그럼 시작해 볼까요?
하이퍼 레저 첫 시간이라 흐름을 이해시키기 위해 참치 장사이야기, 각종 국가기관을 예로 들어 서로의 관계를 통해 하이퍼 렛저를 쉽게 받아드릴 수 있도록 설명해주셨어요
이후 Hyperledger Fabric의 기본용어를 Hyperledger Fabric 공식 문서를 통해서 요점만 쏙쏙 설명해주셨는데 이를 기반으로 간단하게 설명해볼게요 ~
Hyperledger Fabric란?
At the heart of a blockchain network is a distributed ledger that records all the transactions that take place on the network.
이를 단순히 말하게 되면 분산 원장 솔루션용 플랫폼(기밀성을 가진 블록체인 기술)을 의미합니다.
분산 원장이란?
At the heart of a blockchain network is a distributed ledger that records all the transactions that take place on the network.
즉, 네트워크에서 발생하는 모든 트랜잭션을 기록하는 것을 '분산원장'이라고 말합니다.
Hyperledger Fabric에서 블록의 생성 방식
① Peer에서 블록을 생성 → ② 근처에 있는 노드들에게 해당 블록에 대한 트랜잭션을 알림 → ③ 이 트랜잭션이 생성된 후
ChainCode(CC)란?
Chaincode is software defining an asset or assets, and the transaction instructions for modifying the asset(s); in other words, it’s the business logic.
체인 코드는 자산을 정의하는 소프트웨어이며 자산을 수정하기위한 거래 지침입니다. 즉, 비즈니스 로직입니다
이더리움과 비교해본다면 이더리움 상에 Smart Contract의 역할을 하게 되는 것이다.
ChainCode의 특성 중 은둔성
Hyperledger Fabric employs an immutable ledger on a per-channel basis, as well as chaincode that can manipulate and modify the current state of assets (i.e. update key-value pairs). A ledger exists in the scope of a channel
Hyperledger Fabric은 채널별로 변경 불가능한 원장과 자산의 현재 상태를 조작하고 수정할 수 있는 체인코드(Key-Values Update)를 사용합니다. 여기서 체인코드의 역할이 등장하게 됩니다.
체인코드는 호출되면 현재 가지고 있는 자산에 대해 C(Create), R(Read), U(Update), D(Delete)이 가능하다. 즉 해당 자산의 데이터를 생성, 읽기, 수정, 삭제가 모두 가능하다는 의미이다. 근데 불변성을 가졌는데 어떻게 수정과 삭제가 가능하냐고 물어볼 수 있는데 이는 데이터의 값은 변화할 수 있으나 변경시킨 내용에 대해서 추가적인 기록이 남게 된다는 의미이다.
결국엔 *월드 스테이트에 블록이 기록될 때 여기 기록된 내용은 최종 데이터의 형태가 저장되게 된다.
※ 이 때 마지막 블록의 내용과 월드스테이트의 저장된 내용이 같은 것은 아니다. 왜냐하면 최종 수정된 데이터의 내용을 월드 스테이트에서 저장하고 있기 때문이다.
*월드 스테이트
: 트랜잭션에 의해서 체인코드가 호출될 때 상태 및 데이터 저장을 위한 Key-value 데이터베이스
해당 내용을 여러가지 국가 기관에 비유하여 시나리오를 작성하고 이를 설명해주셨습니다.
자세한 내용들은 차후에 다른 게시물에서 정리해보도록 하겠습니다.
PKI란?
PKI는 네트워크에서 보안 통신을 제공하는 인터넷 기술 모음입니다. HTTPS를 사용하는 것이 PKI입니다.
Membership Service Provider(MSP)란?
HyperFabric에서 만든 PKI, 모든 네트워크 참여자들에게 책임을 부여하고 행위를 추적하는 역할을 합니다.
즉, 책임성이 보장하고 네트워크에 인증서비스를 제공하는 역할을 합니다.
해당 게시물은
Hyperledger Fabric의 공식문서(https://hyperledger-fabric.readthedocs.io/)에서
기재된 순서대로 필요한 부분만 찝어서 설명해주셨어요 ~
오늘은 여기까지 !