hursh1225 avatar

Hyperledger Fabric 백서 v1.1.0-rc1 한글 요약 (Chapter 4)

hursh1225

Published: 05 Mar 2018 › Updated: 05 Mar 2018Hyperledger Fabric 백서 v1.1.0-rc1 한글 요약 (Chapter 4)

Hyperledger Fabric 백서 v1.1.0-rc1 한글 요약 (Chapter 4)

원본: http://hyperledger-fabric.readthedocs.io/en/v1.1.0-rc1/

Chapter 4. Introduction

What is a Blockchain?

A Distributed Ledger(분산 원장)

블록체인 네트워크의 핵심은 분산 원장이다.
분산 원장은 블록체인 네트워크상에서 이루어지는 모든 트랜잭션(Transaction)들을 기록해 놓은 것이다.

  • Decentralized: 다수의 네트워크 참여자(Participant)들은 원장을 복사하여 가지고있음
  • Collaborate: 네트워크 참여자들은 블록체인 네트워크의 유지를 위해 서로 협력
  • Append-only: 트랜잭션이 한 번 원장에 기록되면 수정 불가능

Smart Contracts(스마트 계약)

스마트 계약은 원장에 대한 접근제어를 뜻한다.

  • 업데이트되는 정보의 일관성 유지
  • 원장에 대한 모든 기능(Transacting, Querying 등) 제공

스마트 계약으로 참여자간의 트랜잭션이 자동으로 실행되도록 할 수 있다.

Consensus(합의)

합의는 네트워크 상에서 원장 트랜잭션들을 동기화 시키는 절차이다.

  • 적법한 참여자(Appropriate Participant)가 승인한 트랜잭션만 원장에 추가됨
  • 참여자들의 원장은 모두 같은 트랜잭션에 대하여 동일 순서로 업데이트됨

Why is a Blockchain useful?

Today's Systems of Record

  • Expensive: 중앙집중화된 데이터베이스 필요 -> 비싼 비용을 들여 보안 강화 필요
  • Inefficient: 각 참여자들이 원장을 각각 저장 -> 매 거래가 일어날 때마다 트랜잭션 생성자부터 일련의 과정을 모두 검증해야 함 -> 비효율
  • Vulnerable: 원장은 언제나 해킹과 조작 위협을 가지고 있음

The Blockchain Difference

  • Consensus: 모든 참여자들이 원장을 복사하여 공유 -> 중앙집중화 데이터베이스 불필요 -> 비용 절감
  • Provenance: 트랜잭션은 최초 생성자가 명확 -> 트랜잭션 검증 비용 감소
  • Immutability: 원장 내용은 수정/삭제 불가능 -> 해킹 위협으로부터 안전

이전까지는 Private 프로그램으로 Private 원장을 관리했다면,
블록체인 시스템에서는 shared 프로그램으로 shared 원장을 관리한다.

What is Hyperledger Fabric?

  • 리눅스 재단(Linux Foundation)이 2015년 Hyperledger를 설립
  • 커뮤니티 프로세스를 통하여 공동/공개 개발 후 시간이 지나면 주요 표준을 채택하는 방식
  • Hyperledger Fabric은 Hyperledger 프로젝트 중 하나임
  • 기존 블록체인 시스템과는 다르게 private, permissioned 블록체인을 표방하기 때문에 네트워크 보호와 트랜잭션 검증을 위해 PoW 같은 작업을 할 필요가 없음
  • Membership Service Provider(MSP)에서 등록한 사용자만 네트워크에 참가 가능함
  • 채널(Channel)을 통하여 민감한 원장 정보를 공개하지 않고 이해 당사자끼리만 공유 가능함

Shared Ledger

Hyperledger Fabric에서 원장은 world state와 transaction log 로 구분됨

  • World state: 특정 시점에서 원장의 상태. 즉, 원장 데이터베이스. 기본으로 LevelDB 사용(key-value 모델 NoSQL DB)
  • Transaction Log: 현재 world state 값을 만들어 낸 모든 트랜잭션의 기록. 즉, world state의 히스토리 로그

Smart Contracts

  • Hyperledger Fabric에서는 체인코드(Chaincode)로 스마트 계약을 작성
  • 블록체인 외부 어플리케이션이 원장과 상호작용해야 할 때 수행됨
  • 현재 체인코드는 Go와 Java 언어로 개발 가능

Privacy

  • 채널을 이용하여 민감 정보들은 이해 당사자끼리만 공유 가능

Consensus

  • 서로 다른 참여 그룹에서 각각 트랜잭션을 생성했을 때, 원장에는 트랜잭션 순서대로 기록되어야 함
  • 따라서 거래 순서 설정 기능과 불량 거래(실수 또는 악의적 의도로 생성)를 거부하는 기능 필요
  • Hyperledger Fabric에서는 관리자(네트워크 시작자)가 사용할 합의 알고리즘을 선택할 수 있음
  • SOLO, Kafka 등 사용 가능(SBFT는 곧 추가됨)

Leave Hyperledger Fabric 백서 v1.1.0-rc1 한글 요약 (Chapter 4) to:

Written by

Read more #kr posts


Best Posts From hursh1225

We have not curated any of hursh1225's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From hursh1225