이번 포스팅은 제가 스터디한 내용을 적으려고 합니다!
우선 개발하는 Hyperledger Composer을 정리 해 봐야겠습니다.
Development environment
Frameworks : Hyperledger Fabric
- Hyperledger 블록체인의 기본 틀을 제공해 주는 프레임워크
- 프레임워크를 이용하여 블록체인 환경을 개발
- 기본적으로 제공해 주는 Admin Card를 이용
Tools : Hyperledger Composer
- Fabric를 더 체계적으로 개발을 할 수 있도록 도움을 주는 Tool
- Playground를 이용한 GUI개발이 가능
- Development Tools를 이용하여 CLI환경 개발이 가능
- 여러가지 Key Concepts를 이용하여 개발에 도움을 줌
- Eclipse, Visual Studio, Android Studio등과 같은 개발 Tool
가볍게 이야기 하면 Fabric라는 프레임워크를 Composer이라는 툴 위에 얹어서 개발을 한다고 보시면 편하겠습니다.
뭐... Eclipse위에 JAVA를 얹어서 웹개발을 한다던가 Visual Studio위에 C#을 얹어서 개발을 한다는 의미로 보시면 됩니다.
사실 Fabric의 Chaincode가 어떻게 형성이 되고 작성이 되는지는 아직 정확히 알 수가 없네요...
다음으로는 Tools에서 언급했던 Key Concepts를 이야기 해보겠습니다.
(제가 아는 선에서 작성을 하는지라 부족한 부분은 댓글로 피드백 해주시면 좋겠습니다.)
Key Concepts
Blockchain State Storage
- 비즈니스 네트워크를 통해 이루어진 모든 트랜잭션은 블록체인 원장(Ledger)에 저장되고 현재 자산(Asset) 및 참가자(Participant) 상태는 블록체인 상태 데이터배이스에 저장 됨
- 뒤에서 말할 자산(Asset)과 참가자(Participant)들의 정보들은 상태 데이터베이스에 저장
- 참가자간의 자산 거래내역을 즉 트랜잭션 내역을 Ledger에 저장을 한다는 의미 입니다.
- 블록체인은 원장(Ledger)과 상태 데이터베이스를 피어(Peer) 집합에 분산 시키고 원장(Ledger) 및 상태 데이터베이스에 대한 업데이트가 합의 알고리즘을 사용하여 모든 피어(Peer)간에 일관성 있게 유지 되도록 함
- 저는 다루지 않았지만 실제 블록체인 네트워크는 여러 서버에 걸쳐서 연결되어 구성이 되는 하나의 네트워크 입니다.
- 이 여러 서버가 각자가 원장(Ledger)에 현재 이루어지는 모든 트랜잭션을 기록하고, 이 기록을 모든 서버가 일관성 있게 유지시키기 위해서 합의 알고리즘 이라는 기록한 원장(Ledger)의 유효성 검사를 합니다.
- 이 유효성 검사가 완료 되면 네트워크 내의 모든 서버가 동일한 원장(Ledger)를 기록하고 있게 됩니다.
Assets
- 자산(Asset)은 유형 또는 무형의 상품, 서비스 또는 거래를 하는 물품을 나타내며 레지스트리에 저장됨
- 거래를 진행하기 위해서는 거래를 하는 사람 외에 무었이 필요할까요? 당연히 거래를 진행하는 물품이 필요합니다.
- Hyperledger에서는 이 물품을 자산(Asset)이라 표현을 하고 있을 뿐 입니다.
- 당연히 디지털화 된 물품이기 때문에 현실에 존재하는 물건이 아닌 계약 내용등이 될 수도 있으며, 판매하는 주택, 특정 그룹의 회비, 실제 물품의 정보 등을 선언할 수 있습니다.
- 자산(Asset)은 비즈니스 네트워크의 거의 모든 것을 나타낼 수 있음
- 앞서 말한 판매하는 주택은 실제 주택을 등록하는 것이 아닌 주택의 정보를 등록한다는 의미 입니다.
- Hyperledger 네트워크 상에서는 이 주택의 소유주를 기록하여 저장한다고 보면 됩니다.
- 자산(Asset)에는 고유한 식별자가 있어야 하지만 그 외에는 정의한 모든 속성을 포함할 수 있음
- 거래를 진행하기 위해서 등록한 물품 혹은 자산(Asset)에는 그에 따른 식별자가 필요합니다.
- 특정 정보를 담고 있는 물품의 '이름'이라고 보시면 됩니다.
여담
티스토리가 바뀐뒤로 글꼴 설정을 어떻게 해야할지 몰라서 좀 난잡해 보이긴 하지만 최대한 정리는 하였습니다...ㅠㅠ
다음 포스팅에서는 Key Concepts에서 제가 사용했던
- Participants
- Transactions
- Queries
- Historian Registry
- Business Network Cards
등을 다루어 보도록 하겠습니다!
궁금하신 점이나 피드백은 언제나 환영합니다!! 하지만 비난은 하지 말아주세요...ㅠㅠ 저도 아직 학생이라 부족합니다..
'Blockchain (Hyperledger Fabric) > 작업 중인 Solution' 카테고리의 다른 글
Hyperledger Composer Logic(Transaction 수행) Ver. 0.0.3 (0) | 2019.03.30 |
---|---|
Hyperledger Composer 모델링 작업 Ver. 0.0.3 (0) | 2019.03.30 |
Hyperledger Composer Logic(Transaction 수행) Ver. 0.0.2 (0) | 2019.02.27 |
Hyperledger Composer 모델링 작업 Ver. 0.0.2 (0) | 2019.02.27 |
Hyperledger Composer Queries 작성 Ver. 0.0.1 (0) | 2019.02.22 |