728x90
반응형

주제: 블록체인 구조와  개발 플랫폼


목차


1. 블록체인의 구조

    1-1 블록이란

    1-2 해쉬함수란

    1-3 블록해쉬의 구조

2. 블록체인 개발 플랫폼
    2-1. 블록체인 개발 플랫폼의 정의

    2-2. 블록체인 개발 플랫폼과 활용 사례
    2-3. Hyperledger 제공 서비스


 

1. 블록체인의 구조

 

1-1. 블록이란 무엇일까요?

블록체인의 구조를 이해하기 위해서 먼저 블록체인의 기본 원소이자 핵심이라고 할 수 있는 블록에 대한 이해가 필요한데요, 블록체인의 기본원소인 ‘블록(block)’ 은 다수의 거래(transaction) 정보의 묶음이라고 할 수 있습니다. 그리고 한 개의 블록에는 평균 1,800개의 거래정보를 저장할 수가 있으며 한 개의 블록 크기는 평균 1.05MB 바이트 입니다. 블록은 블록 Header와 블록 Body로 구성되어 있으며, 각각의 블록들은 이전 블록의 해쉬 값을 통해 연결되는 체인(chain)구조로 되어 있는 것이 특징입니다. 

 

1-2. 해쉬함수란?

블록체인의 개념을 이해하기 위해서우선 해쉬 함수에 대한 이해가 필수적인데요, 해쉬(Hash)란 임의의 길이를 갖는 메시지를 입력하면 고정된 길이의 메시지(해쉬 값)를 출력하는 함수입니다. 이러한 해쉬 함수의 특징은 다음과 같습니다.

 

  • 암호 알고리즘에는 키(key)가 사용되지만, 해쉬(함수)는 키를 사용하지 않기 때문에 동일한 입력 값에 대해 항상 같은 값을 결과 값으로 출력하는 성질이 있습니다.
  • 일방향성 출력 문자열을 이용해 원문 문자열을 계산하는 것은 이론상은 가능하지만 실질적으로 불가능에 가깝습니다. 

이러한 해쉬(함수)의 특성을 이용하여 전자서명(Digital Signature)이나 사용자의 패스워드를 데이터베이스에 저장할 때 많이 사용되며, 현재 가장 많이 사용되는 해쉬(함수)는 ‘SHA-256’ 입니다. 

 

1-3. 블록해쉬의 구조는?
블록해쉬는 블록 Header의 해쉬 값입니다. 블록 Header는 버전(version), 이전블록해쉬(Previous Block Hash), 머클해쉬(Merkle Hash), 시간(time), 난이도(bits), 난스(nonce) 등 6개의 정보로 구성되어 있고, 블록 Body는 거래정보들로 구성이 되어 있습니다. 다음에서 이 구성요소들에 대하여 자세히 살펴보도록 하겠습니다.

  • 버전(version)은 블록체인 소프트웨어 프토토콜 버전입니다.
  • 이전블록 해쉬(Previous Block Hash)란 이전 블록의 블록 해쉬 값입니다.
  • 머클해쉬(Merkle Hash)란 블록 Body 거래정보들의 해쉬 값들을 결합한 최종 해쉬 값으로 거래정보를 트리구조의 모양으로 표현했을 때 최상위에 위치한 해쉬 값입니다.
  • 시간(time)은 블록이 생성된 시간(timestamp)입니다.
  • 난이도(bits)는 채굴(mining) 난이도를 숫자로 나타낸 값입니다.
  • 난수(nonce)는 최초 0으로부터 조건을 만족하는 해쉬 값을 찾기 까지 계산횟수를 뜻합니다.

 

2. 블록체인 개발 플랫폼

2-1 블록체인 개발 플랫폼이란?
블록체인을 이용해 새로운 비즈니스나 서비스를 구축하려면 소프트웨어 프로그램을 개발하기 위한 기반 환경이 필요한데요, 이를 지원하기 위한 것이 바로 개발 플랫폼입니다. 블록체인 개발 플랫폼은 블록체인 서비스를 쉽게 개발할 수 있도록 블록체인 시스템의 인프라(infrastructure)에 해당하는 분산 네트워크, 통신 프로토콜 등 뿐만아니라, 블록체인 서비스를 위해 필수적으로 필요한 기능인 거래정보 검증, 합의 등과 같은 기능을 지원하고 있습니다.

 

2-2. 블록체인 개발 플랫폼과 활용 사례

블록체인 컨소시엄, 커뮤니티나 IT 기업 등에서 이러한 블록체인 개발 플랫폼을 제공하고 있는데 비즈니스 환경에 적합한 블록체인 개발 플랫폼을 선정하여 블록체인 서비스를 구축할 수 있습니다. 블록체인 개발 플랫폼은 금융권에 특화된 플랫폼과 전 산업 분야에서 활용하기 위한 범용 플랫폼으로 분류할 수 있습니다. 이러한 블록체인 개발 플랫폼 컨소시엄에 국내외 금융 및 IT기업들이 참여하고 있으며, 블록체인 개발 플랫폼 이용하여 각 분야별 서비스를 구축하는 사례는 다음과 같습니다. 

  1. Corda (R3CEV) - 국내은행(신한은행, 우리은행 등)의 대부분과 Bank of America, Barchlays 등 약 60개 금융회사가 참여하였으며 무역금융 분야 등에 활용됩니다.
  2. Chain OS(Chain) - VISA, Nasdaq, Citi 등 약 10개 금융회사가 참여하였으며 B2B 결제 분야 등에 활용됩니다.
  3. Hyperledger(리눅스 재단) - 리눅스 재단 IBM의 블록체인 소스코드를 기반으로 개발되었으며 한국예탁결제원, 삼성 SDS, IBM, Intel, JP Morgan, Wells Fargo 등 약 95개 IT·금융회사가 참여하고 있습니다. 무역금융, 고객신원 관리, 송금 분야 등에 활용됩니다. 범용 플랫폼인 Hyperledger 플랫폼 컨소시엄은 가장 많은 참여사를 보유하고 있으며, 신규 참여사도 급속히 증가하고 있는 추세입니다.

이 밖에도 Ethereum 블록체인 개발 환경을 제공하는 EBaaS MS, IBM Hyperledger 블록체인 개발 환경을 제공하는 Bluemix BaaS, 아마존 클라우드 시스템인 AWS 활용하는 Rubix Deloitte 가 있습니다.

 

2-3. Hyperledger 제공 서비스
대표적인 오픈소스 개발 플랫폼 Hyperledger의 구성요소와 세부 기능을 살펴보면 다음과 같습니다.

  • 신원(Identity) 서비스 - 블록체인 참여자 및 블록체인에 등록된 자산 등에 대한 신원 관리 기능을 제공합니다.
  • 정책(Policy) 서비스 - 거래·계약 정보에 대한 접근제어, 프라이버시, 합의정책 등과 관련된 기능을 제공합니다.
  • 블록체인(Blockchain) 서비스 - 분산 원장 관리, P2P 통신 프로토콜 등과 관련된 기능을 제공합니다.
  • 스마트 계약(Smart Contract)서비스 - 스마트 계약 검증 시 프로그램 코드를 안전하게 실행 및 검증하는데 필요한 기능을 제공합니다.

Hyperledger는 오픈 소스 소프트웨어로 제공되는 만큼 다양한 비즈니스 분야와 기업에서 활용할 것으로 예상됩니다.

 

 

 

<참고 문헌>
S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash Syste
금융위원회, 블록체인기술 금융분야 도입방안을 위한 연구, 2016. 6
금융보안원, 블록체인 개발 플랫폼 현황 및 활용 사례, 2016. 10
안드레아스 M. 안토노풀로스, 비트코인, 블록체인과 금융의 혁신, 고려대학교 출판문화원, 2015. 10

728x90
반응형

+ Recent posts