블록체인과 하이퍼레저 패브릭 - 서중원 박사과정 연구원

강의 기간: 2019.12.27 ~ 2019.12.28



블록체인?


  • 금융: 돈이 된다 (암호화폐)

  • 사회: 신뢰를 보장하는 기술, 평등한 세상, 동등한 기회

  • 기술


여러가지 기술이 융합되어 탄생한 것


  • 블록체인의 뚜렷한 정의는 때로 말하기 어렵다.

  • 신뢰를 만드는 기계

  • 분산 디지털 원장 또는 여러가지 기술의 집합체



자세히 보기

이더리움 스마트 컨트랙트 실습 - 이동현 연구원

강의 기간: 2019.12.24



Remix


Ethereum IDE: http://remix.ethereum.org/ (JSON RPC를 통해 발행)



[Compiler setup]

  1. Solidity version select
    • Metamask 연결 시 Environment - Injected Web3 선택 (네트워크 주소가 바로 아래 표시됨)

  1. Auto compile

  2. File explorers (Solidity 파일들이 있는 곳)

  3. Create new file 클릭 후 코드 작성

자세히 보기

이더리움 이론 및 실습 - 이동현 연구원

강의 기간: 2019.12.24



이더리움 개요


  • 비트코인보다 훨씬 빠른 처리시간을 가진다. (블록 합의시간 약 20초)

  • 스마트 컨트랙트의 완전 튜링성을 제공한다. (Dapp 기반의 편리함 제공)

  • 기존 애플리케이션은 중앙 집중화된 서버와 여러 개의 클라이언트들이 통신하는 구조라면 Dapp (분산형 애플리케이션)은 각각의 클라이언트가 서로 간에 연결할 수 있어 데이터 및 스마트 컨트랙트를 공유하면서 탈중앙화 방식으로 통신을 한다.



이더리움 구성 요소


[상태]

  • 거래 기록뿐만 아닌 스마트 컨트랙트를 실행하기 위한 정보

  • 어느 한 시점에 대한 ETH의 잔액 및 기타 정보를 담고 있는 계정들의 집합

  • 상태 전이: 블록 채굴로 인한 거래내역 추가 시 상태 전이가 발생한다. (업데이트)

자세히 보기

블록체인과 산업혁신 - 박수용 교수님

강의 기간: 2019.12.23



블록체인을 도입하기 전 들었던 생각들


  • 식품으로 가공되는 과정을 확실하게 믿을 수 있는가?

  • 의료 정보는 민감한 정보인데 병원이 개인 데이터를 다른 곳에 쓰진 않을까?

  • 대형 포털 사이트는 개인 데이터를 다른 곳에 쓰진 않을까?



블록체인의 탄생


  • 블록체인은 신뢰를 만드는 기술이다.

  • 현재까지는 중앙화된 기관을 통해 신뢰를 보장받았지만 블록체인을 도입하면 인증기관 없이도 신뢰를 보장받을 수 있다.



자세히 보기

하이퍼레저 패브릭 동작환경

한이음 ICT 멘토링 - 하이퍼레저 패브릭 강의 자료 일부



  • 기존 하이퍼레저 패브릭은 암호화폐를 지원하지 않았는데 V2.0부터 FabToken을 지원한다.

  • 채굴하는 것이 아니기 때문에 최종성(블록이 무조건 생성되는 것)이 있다.

  • Kafka 합의 알고리즘을 가장 많이 사용하고 있고, SBFT를 지원할 예정이다.



HL.F 개발 구성 요소


  • 리눅스 기반 위에 Docker(실행 이미지)를 설치해서 Peer를 여러개 논리적으로 설치해서 운용한다.

  • 이후 하이퍼레저 패브릭 네트워크를 구성할 수 있다.

  • Go 또는 Node.js 언어를 이용하여 체인코드를 구현한다.


  • Docker: 컨테이너 기반의 오픈소스 가상화 플랫폼

자세히 보기

IBM 하이퍼레저 패브릭과 아키텍처

하이퍼레저 패브릭


  • IBM에서 최초로 제작되어 리눅스 재단에 기부한 기술이다.

  • 하이퍼레저 패브릭 프로젝트는 크게 하이퍼레저 프레임워크와 하이퍼레저 툴로 나뉜다.

  • 공개형 블록체인의 경우 프라이버시 문제가 발생할 수 있어 이를 보완하기 위해 개발되었다.

  • 비트코인이나 이더리움과 달리 실체/실무적인 부분에 적용하기 때문에 기업 측면에서 좋다.

  • 다른 블록체인에 비해 복잡한 구조로 되어있다.

  • 채널(Channel)이라는 개념을 도입하여 프라이버시 문제를 해결하였다.

  • 분산원장은 모든 정보가 해시화되어 Append-only 방식으로만 원장에 저장된다. (불가변성)



하이퍼레저 패브릭 합의 과정


  • 다른 블록체인에는 없는 개념으로, 기억해야 할 용어들이 있다.

  • Endorsing: 보증 정책 확인

  • Ordering: 트랜잭션을 정해진 순서에 맞춰 정렬

  • Validation & Commit: 정렬된 트랜잭션의 유효성 검증 및 최신 블록 업데이트


자세히 보기

스마트 계약 (Smart Contracts)

스마트 계약의 역사


  • Nick Szabo가 최초로 제안하였다.

  • 디지털 복사로는 쉽게 복제가 되다 보니 악의적으로 이용이 가능하게 되고 이러한 부분을 해결하고자 하였다.

  • 디지털화된 계약을 위해 블록체인이 등장하였고, 양자 간 신뢰를 바탕으로 거래를 할 수 있도록 하였다.

  • 서로의 조건을 모집화하고 코드화하여 정해진 틀에 따라 계약을 처리할 수 있도록 하는 것이 목적이다.



비트코인 스크립트


  • 비트코인이 최초로 블록체인 기반 스마트 컨트랙트를 구현하였다.

  • 비트코인 트랜잭션에 OP Code(원시 언어)로 스크립트를 작성한다.

  • 암호화 메커니즘에 의해 동작한다.

  • 비트코인 스크립트는 반복문을 사용할 수 없고 잔액 외의 정보를 다룰 수 없다.

  • 반복문의 오류로 인해 무한 루프가 발생하면 네트워크의 모든 트래픽이 하나에 집중되어 네트워크 전체가 멈출 수 있다. 이를 이용하여 DoS 공격이 일어날 수 있기 때문에 비트코인에서는 반복문의 사용을 원천 차단하였다.



스마트 계약


자세히 보기

블록체인 합의 알고리즘

  • 합의: 최소 2명 이상 특정 문제 해결을 위해 결과에 도달하는 과정 (다수결 비율에 따라 결정)

  • 합의 알고리즘은 기존 알고리즘의 단점을 보완하기 위해 계속해서 새롭게 나오고 있다.



작업 증명 (PoW, Proof of Work)


한이음 ICT 멘토링 - 하이퍼레저 패브릭 강의 자료 일부



  • 내가 얼마나 일을 많이 했느냐에 따라 보상을 받는 방식이다.

  • 자본주의 사상에 맞는 증명 방식

  • 블록체인의 블록 사이즈 한계 때문에 거래량과 거래 속도에 제한이 있다.

  • 일을 하기 위해 자원을 많이 필요로 하기 때문에 전기 에너지 소모가 크다.

  • 채굴 보상보다 더 많은 수익을 얻어야 할 만한 가치가 있다.

    • 보통 전기가 저렴한 나라에서 대량 채굴을 한다.
  • 빈익빈 부익부 현상이 발생한다.

    • 블록을 많이 생성하는 사람이 계속해서 생성할 확률이 높다.
  • 수학 문제를 가장 빨리 푸는 사람에게 보상해주는 개념이다.

  • 비트코인의 경우 약 10분 정도 안에 풀릴 수 있도록 난이도를 조절하였으며, 4년마다 반감기를 가진다.



지분 증명 (PoS, Proof of Stake)


자세히 보기