"챌린저스조"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(개발 과제의 목표 및 내용)
(관련 기술의 현황 및 분석(State of the art))
51번째 줄: 51번째 줄:
 
====관련 기술의 현황 및 분석(State of the art)====
 
====관련 기술의 현황 및 분석(State of the art)====
 
*전 세계적인 기술현황
 
*전 세계적인 기술현황
  ◇ 블록체인  
+
◇ 블록체인  
가. 블록체인 알고리즘 블록체인은 데이터를 ‘블록’이라고 하는 소규모 데이터들이 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기반 데이터 위변조 방지 기술이다.블록체인의 구조는 다음과 같다. 블록체인은 블록들이 순서를 갖고 나열돼 있다. 블록헤더에 이전 블록에 대한 해시값을 포함하고 있으며, 한 블록은 오직 하나의 부모 블록만을 갖고 있다. 부모가 없는 가장 처음 블록은 genesis block 이라고 부른다.
+
가. 블록체인 알고리즘 블록체인은 데이터를 ‘블록’이라고 하는 소규모 데이터들이 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기반 데이터 위변조 방지 기술이다. 블록체인의 구조는 다음과 같다.  
블록의 구조
+
[[파일:blockchain.jpg]]
각 블록은 위 그림과 같은 구조를 지니고 있다.
 
a) Block Version: 블록의 버전을 통해 어떤 규칙에 따르는지를 알려준다.
 
b) Merkle Tree Root Hash: 블록에 있는 모든 트랜잭션의 해시 값이다.
 
c) Time stamp: 현재 시간을 알려준다.
 
d) nBits: 타당한 블록 해시값(작업증명)의 임계 목표치를 나타낸다.
 
e) Nonce: 0부터 시작하여 매 해시 계산 때마다 증가하며 작업증명에 쓰이는 값이다.
 
f) Parent Block Hash: 이전 블록에 대한 SHA-256 해시값이다.
 
각 블록에 속한 트랜잭션(거래)을 바탕으로 Merkle tree root Hash를 계산하며 이 모든 블록의 내용 또한 이후 블록의 Parent Block Hash를 계산하기 위한 입력값이 된다. 만약 공격자가 어느 거래를 위조했다면 Merkel 해시값이 먼저 변경되며 그 이후 모든 블록에 있는 해시값에 전부 영향을 미치므로 공격을 감지할 수 있다.
 
 
1.2. 블록 추가 알고리즘
 
새로운 블록을 블록체인에 추가하기 위해서는 작업 증명(Proof of Work)을 해야 한다. 블록의 모든 정보는 이미 정해져있지만 단 하나 Nonce값은 정해져있지 않다. 이를 이용해 새로운 블록의 블록 해시 계산할 때 nBits로 정한 어떤 값 이하로 해시값이 나오도록 Nonce를 조정해주는 것이다. Nonce값이 0일 때부터 해시값을 계산하여 일정값 이하의 값이 나올 때까지 Nonce를 1씩 올려주며 계속 계산하여 충족하는 값을 구했을 때 증명이 완료된다.
 
nBits는 2의 nBits승을 의미한다. 즉 이하의 작업 증명용 해시값을 의미하며 256비트의 SHA-256을 사용할 시 의 확률로 Nonce값을 구할 수 있다. 따라서 nBits값을 조정하여 작업의 난이도를 조절할 수 있다.
 
 
    
 
    
 
   ◇ 구글맵
 
   ◇ 구글맵
(1) 구글맵 개요 구글맵은 세계의 지리학적인 지역에 대한 정보를 제공하는 웹 기반 서비스이다. 기존 로드 맵에 더하여, 구글맵은 많은 장소의 공중과 위성에서 바라본 뷰를 제공한다. 몇몇 도시에서, 구글맵은 차량에서 찍은 사진으로 구성된 스트리트 뷰도 제공한다. 이러한 구글 스트리트 뷰는 사용자들이 세계의 다양한 도시의 개괄적인 스트리트 뷰를 수평, 수직으로 볼 수 있도록 해준다. 또한 구글맵은 운전자, 자전거 타는 사람, 거리를 걷는 사람, 대중교통을 이용하는 사람들에게 방향을 제시해준다. 구글맵 API는 부동산 가이드나 커뮤니티 서비스 페이지 같은 곳의 웹 사이트 관리자들이 사이트에 구글맵을 넣을 수 있도록 해주며, 모바일에서의 구글맵은 모바일 장치의 GPS기능과 무선, 셀룰러 네트워크를 이용하여 운전자에게 위치 서비스를 제공한다.
+
구글맵은 세계의 지리학적인 지역에 대한 정보를 제공하는 웹 기반 서비스이다. 기존 로드 맵에 더하여, 구글맵은 많은 장소의 공중과 위성에서 바라본 뷰를 제공한다. 몇몇 도시에서, 구글맵은 차량에서 찍은 사진으로 구성된 스트리트 뷰도 제공한다. 이러한 구글 스트리트 뷰는 사용자들이 세계의 다양한 도시의 개괄적인 스트리트 뷰를 수평, 수직으로 볼 수 있도록 해준다. 또한 구글맵은 운전자, 자전거 타는 사람, 거리를 걷는 사람, 대중교통을 이용하는 사람들에게 방향을 제시해준다. 구글맵 API는 부동산 가이드나 커뮤니티 서비스 페이지 같은 곳의 웹 사이트 관리자들이 사이트에 구글맵을 넣을 수 있도록 해주며, 모바일에서의 구글맵은 모바일 장치의 GPS기능과 무선, 셀룰러 네트워크를 이용하여 운전자에게 위치 서비스를 제공한다.
 
(2) 구글맵 사용 구글맵을 사용하려면 구글에서 개발자로 등록한 후, 해당 서비스의 API키를 받아야 한다. Google Maps Platform에 소정액의 결제(1달러)를 하고 등록을 하면 API키를 받아와 사용할 수 있게 된다. Google Maps Platform은 매달 200달러만큼 Maps, Routes, Places를 무료로 사용할 수 있다. 즉 매달 200달러 이내의 범위에서만 사용한다면 사실상 무료나 다름없다.
 
(2) 구글맵 사용 구글맵을 사용하려면 구글에서 개발자로 등록한 후, 해당 서비스의 API키를 받아야 한다. Google Maps Platform에 소정액의 결제(1달러)를 하고 등록을 하면 API키를 받아와 사용할 수 있게 된다. Google Maps Platform은 매달 200달러만큼 Maps, Routes, Places를 무료로 사용할 수 있다. 즉 매달 200달러 이내의 범위에서만 사용한다면 사실상 무료나 다름없다.
 
(3) 대표적인 구글맵 오픈 API① Maps JavaScript API(지도)- 포함된 기능: 지도, 스트리트 뷰- Maps JavaScript API는 사용자로 하여금 자신만의 콘텐츠와 이미지를 사용하여 지도를 맞춤 설정하게 해준다. Maps JavaScript API는 Roadmap, Satellite, Hybrid, and Terrain의 4가지 기본적인 지도 타입을 제공하며 사용자는 레이어, 스타일, 이벤트, 라이브러리 등을 사용하여 그것을 변경할 수 있다.- Map 옵션: Zoom Level
 
(3) 대표적인 구글맵 오픈 API① Maps JavaScript API(지도)- 포함된 기능: 지도, 스트리트 뷰- Maps JavaScript API는 사용자로 하여금 자신만의 콘텐츠와 이미지를 사용하여 지도를 맞춤 설정하게 해준다. Maps JavaScript API는 Roadmap, Satellite, Hybrid, and Terrain의 4가지 기본적인 지도 타입을 제공하며 사용자는 레이어, 스타일, 이벤트, 라이브러리 등을 사용하여 그것을 변경할 수 있다.- Map 옵션: Zoom Level
 
  * 1: World
 
  * 5: Landmass/continent
 
  * 10: City
 
  * 15: Streets
 
  * 20: Buildings위의 그림에서 보이는 것처럼 Zoom Level을 설정하여 용도에 맞게 지도를 설정할 수 있다.
 
② Roads API(경로)- 포함된 기능: 경로, 거리 행렬, 도로 정보- Roads API는 다음과 같은 서비스를 제공한다.(1) Snap to roads: 이 서비스는 주어진 GPS 좌표 세트에 가장 적합한 도로 형상을 반환한다. 이 서비스는 경로를 따라 수집된 최대 100개의 GPS 지점을 가져와서 차량이 주행할 가장 가능성 있는 도로에 스냅된 지점과 유사한 데이터 세트를 반환한다. 필요에 따라 점을 보간하도록 요청하여 도로 형상에 부드럽게 따라가는 경로를 만들 수 있다.
 
(2) Nearest roads: 이 서비스는 주어진 GPS 좌표 집합에 대한 개별 도로 구간을 반환한다. 이 서비스는 최대 100개의 GPS 지점을 소요하고 각 지점에 가장 가까운 도로 구간을 반환한다. 통과 된 포인트는 연속적인 경로의 일부일 필요는 없다.
 
(3) Speed limits: 이 서비스는 도로 구간에 대해 게시된 속도 제한을 반환한다.
 
③ Places Library, Maps JavaScript API(장소)- 포함된 기능: 세부정보, 현재 장소, 장소 검색, 자동 완성, 지오코딩, 위치정보, 시간대- 웹사이트에 수백만 곳의 장소에 대한 다양한 세부정보를 추가한다. 또한 사용자의 검색어에 대한 자동 완성 결과를 제공한다. 주소를 지리 좌표로 또는 그 반대로 변환한다.- Places Library, Maps JavaScript API는 다음과 같은 장소 검색 종류를 지원한다.
 
(1) Find Place from Query: 텍스트 쿼리에 기반하여 장소를 반환한다.
 
(2) Find Place from Phone Number: 전화번호에 기반하여 장소를 반환한다.
 
(3) Nearby Search: 사용자의 위치에 기반하여 근처 장소들의 목록을 반환한다.
 
(4) Text Search: “Pizza”와 같은 검색 문자열에 기반하여 근처 장소들의 목록을 반환한다.
 
(5) Place Details requests: 특정 장소에 대해 더 상세한 정보(사용자 리뷰 포함)를 반환한다.
 
  
 
◇ 하이퍼래저(Hyperledger)- 리눅스 재단에서 주관하는 블록체인 오픈소스 프로젝트로 현재 10가지 블록체인 관련 프로젝트를 진행 중이다. 5개의 프레임워크(Frameworks)와 5개의 툴(Tools)이 포함된다. 금융, IoT, 물류, 제조, 기술 산업 등 여러 산업에 걸쳐 응용 가능한 블록체인 기술을 만드는 것이 목표이다.
 
◇ 하이퍼래저(Hyperledger)- 리눅스 재단에서 주관하는 블록체인 오픈소스 프로젝트로 현재 10가지 블록체인 관련 프로젝트를 진행 중이다. 5개의 프레임워크(Frameworks)와 5개의 툴(Tools)이 포함된다. 금융, IoT, 물류, 제조, 기술 산업 등 여러 산업에 걸쳐 응용 가능한 블록체인 기술을 만드는 것이 목표이다.

2018년 12월 19일 (수) 12:11 판

프로젝트 개요

기술개발 과제

국문 : 블록체인 기반의 군수 관리 시스템

영문 : A blockchain-based military logistics management system

과제 팀명

챌린저스 (Challengers)

지도교수

이병정 교수님

개발기간

2018년 9월 ~ 2018년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2011XXX0** 오**(팀장)

서울시립대학교 컴퓨터과학부 2011XXX0** 최**

서울시립대학교 컴퓨터과학부 2013XXX0** 정**


서론

개발 과제의 개요

개발 과제 요약

◇ 군에서 정보에 중요성은 매우 높다. 정보는 하나하나의 전투와 이를 넘어 전략, 심지어는 전쟁 그 자체의 승패에 곧장 직결되기 때문이다. 그렇기에 군은 정보의 획득과 기밀성 유지에 심대한 노력을 기울이고 있다. 군이 관리하는 정보에는 여러 종류가 있는데, 적군에 대한 정보, 부대의 작전 지역과 세부 전투 작전에 대한 정보, 군수품에 대한 정보, 부대원과 부대 자산의 배치 상태 등 그 종류가 매우 다양하다. 그 중에서도 군수품에 대한 정보는 그 중요성에 비해 관리가 까다로워 작성된 정보와 실제 군수품의 수량이 일치하지 않는 경향이 많다. 또 현재 한국군은 각 부대별로 각각의 서버를 따로 두고 관리하고 있으며, 군 특성상 연결망이 민간에 비해 전송 용량과 속도가 좋지 않아 필요한 정보가 통합되기 어렵다는 단점도 갖고 있다. 이에 대해 우리는 블록체인이 제공해주는 투명성과 분산 원장 기술에 주목하여 이를 군수물품 관리에 적용하려고 한다. 우리 조가 제시한 목표는 그 중에서도 군 차량과 이에 속한 군의 인적, 물적 자산 이동에 대한 정보를 블록체인에 적용시키는 것이다.부대에서 군수품이 이동을 할 때 부대원이 부대장에게 해당 군수품에 대하여 불출을 요구한다. 이 때 블록체인 거래가 시도되며 부대장이 이를 허가하는 순간 스마트 컨트랙트에 의해서 거래가 성사되게 된다. 부대마다 각각 군사기밀을 갖고 있으며 군수품 목록과 이동 현황도 군사기밀에 속한다. 따라서 이 정보들은 해당되는 상위 권한자만이 열람할 수 있어야 한다. 이에 따라 ACL(Access Control List)를 작성하여 군수품의 이동 현황을 마음대로 열람할 수 없도록 해야 한다. UI는 구글맵에서 이루어지며 차량을 이동시키는 것으로 한다. 차량은 기본적으로 차량 제원(차량 종류)이 있으며, 구성원과 갖고 있는 군수품목은 같을 수도, 다를 수도 있다. 또한 맵에서 비주기적으로 임의의 상황이 발생하여 군수품 목록이 변동하고 이를 블록체인에 적용할 수 있어야 한다.

개발 과제의 배경

◇ 블록체인 기반으로 군수품을 더욱 투명하고 효율적으로 관리할 수 있도록 한다. 기존의 군수품의 불출 절차는 대략 소요가 정식으로 제기되면 이에 대한 권한을 가진 사람이 승인하고 이후에 군수품이 실제로 불출하는 형태이다. 이를 블록체인의 스마트 컨트랙트로 구현할 수 있다. 그렇게 되면 먼저 소요품을 제기하는 측에서 해당 책임자에게 거래를 신청한다. 책임자가 이 거래에 응하면 거래가 이루어지고 이에 대한 트랜잭션이 블록체인에 기록된다.
◇ 군수 차량의 이동정보를 GPS로 받아들여 위치를 바로 알 수 있다. 차량에 군수품을 적재하여 이동시킬 때 해당 차량의 종류, 차 번호, 이동 인원, 내부 물품 등에 대한 정보가 블록체인에 입력된다. 이후해당 차량에 부착된 OBD를 통해 차량의 실시간 위치와 상태를 지속적으로 수신하여 관리한다.
◇ 블록체인의 분산원장 기술을 활용하여 각 부대가 갖고 있는 서버의 정보를 통합하는 효과가 발생한다. 군은 작게는 대대 단위, 크게는 군, 사령부, 본부 단위로 각각 다른 서버를 운영하고 있다. 서버들은 각기 다른 체계와 표준을 갖고 있기에 각 부대별로 정보를 통합하려면 통합용 서버와 표준이 따로 있어야 한다. 또한 군용 인트라넷망도 각 부대마다 전송용량이 달라 정보 전송에 걸리는 시간도 천차만별이다. 블록체인의 분산원장 기술을 적용한다면 모든 서버가 같은 하나의 원장을 가질 수 있기에 비용과 시간이 훨씬 절약될 수 있다.

개발 과제의 목표 및 내용

1) 블록체인 개발
하이퍼레저를 이용하여 군수품의 목록과 이동 현황을 블록체인의 형태로 저장한다. private 형태로 허가된 사용자만이 블록체인에 접근할 수 있도록 하고 적절한 분산합의 알고리즘을 사용하여 효율적인 작동이 이루어지도록 한다.
2) Smart Contract
개발 중개자가 없이 P2P로 쉽고 편리하게 계약을 체결하고 수정할 수 있어야 한다. 블록체인의 분산원장기술이라는 특성을 이용하여 다양한 형태의 계약과 계약의 결과에 대한 신뢰를 쌓아나갈 수 있는 자동화된 계약 처리의 형태를 개발하도록 한다.
3) 클라이언트 구축
JavaScript에서 대표적인 프론트엔드 라이브러리, 프레임워크는 vue.js, react.js, angular.js가 있다. vue.js 기반인 nuxt.js를 이용하여 클라이언트를 구축하도록 한다. nuxt.js는 클라이언트 사이드 렌더링(CSR)인 vue.js를 서버 사이드 렌더링(SSR)이 가능하도록 만든 프레임워크이다. 클라이언트 사이드 렌더링(CSR)은 빈 페이지를 받아와 JavaScript를 실행하여 렌더링하는 방식이고 서버 사이드 렌더링(SSR)은 서버에서 JavaScript가 실행된 결과를 렌더링하는 방식이다. 프레임워크로서 nuxt.js는 비동기 데이터, 미들웨어, 레이아웃 등과 같이 클라이언트 측과 서버 측 사이에서 개발하는 데 도움이 되는 많은 기능을 제공한다.
4) 서버 구축
JavaScript에서 가장 대표적인 서버 엔진은 node.js이다. node.js에서는 express, koa, hapi를 사용하여 서버를 만드는데, express를 활용하여 서버를 구축하도록 한다. express는 MVC 모델에 기반을 두며, node.js 패키지로 제공되고 있다. npm에서 간단히 설치하고, 이를 통합한 서버 프로그램을 만들 수 있다. express에는 웹 응용 프로그램을 위한 기본적인 시스템이 구축되어 있으며, 이에 필요한 처리를 추가하는 것이다. node.js에서만의 구현과 동일하게 이벤트 처리를 통합해 간다는 기본적인 개발 스타일은 변함이 없지만, 준비되어 있는 다양한 객체를 이용하여 아주 쉽게 필요한 처리를 조합할 수 있다.
5) 데이터베이스 구축
MySQL을 이용하여 데이터베이스를 구축한다. MySQL은 다중 스레드, 다중 사용자를 지원하는 구조 질의어 형식의 데이터베이스 관리 시스템이다. MySQL을 선택한 이유는 고성능이면서 상대적으로 단순한 DBMS이고 또한 설치 및 관리도 쉬운 편이기 때문이다. 그리고 응용 프로그램에서 MySQL 데이터베이스에 접근하기 위해 C, C++, JAVA, Python 등 다양한 프로그래밍 언어로 된 API를 사용할 수 있다는 장점도 있다.
6) 서버/데이터베이스 연동
서버 구축에 사용될 프레임워크인 node.js는 MySQL 연동 모듈을 지원한다. 먼저 npm을 이용하여 MySQL 모듈을 설치한 후 node.js와 MySQL을 연동함으로써 서버와 데이터베이스를 연동한다.
7) RBAC
시스템 보안을 위한 접근통제를 위해 역할 기반 접근통제(Role-Based Access Control)를 사용한다. 역할 기반 접근통제란, 조직의 사용자가 수행해야 하는 직무(역할)와 직무 권한 등급을 기준으로 객체에 대한 접근을 제어하는 접근통제 방식이다. 접근 권한은 직무(역할)에 허용된 연산을 기준으로 허용하므로 조직의 기능 변화에 따른 관리적 업무의 효율성을 높일 수 있다. 사용자가 적절한 직무(역할)에 할당되고, 직무에 적합한 접근 권한이 할당된 경우에만 자원에 접근할 수 있다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of the art)

  • 전 세계적인 기술현황

◇ 블록체인 가. 블록체인 알고리즘 블록체인은 데이터를 ‘블록’이라고 하는 소규모 데이터들이 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기반 데이터 위변조 방지 기술이다. 블록체인의 구조는 다음과 같다. 파일:Blockchain.jpg

  ◇ 구글맵

구글맵은 세계의 지리학적인 지역에 대한 정보를 제공하는 웹 기반 서비스이다. 기존 로드 맵에 더하여, 구글맵은 많은 장소의 공중과 위성에서 바라본 뷰를 제공한다. 몇몇 도시에서, 구글맵은 차량에서 찍은 사진으로 구성된 스트리트 뷰도 제공한다. 이러한 구글 스트리트 뷰는 사용자들이 세계의 다양한 도시의 개괄적인 스트리트 뷰를 수평, 수직으로 볼 수 있도록 해준다. 또한 구글맵은 운전자, 자전거 타는 사람, 거리를 걷는 사람, 대중교통을 이용하는 사람들에게 방향을 제시해준다. 구글맵 API는 부동산 가이드나 커뮤니티 서비스 페이지 같은 곳의 웹 사이트 관리자들이 사이트에 구글맵을 넣을 수 있도록 해주며, 모바일에서의 구글맵은 모바일 장치의 GPS기능과 무선, 셀룰러 네트워크를 이용하여 운전자에게 위치 서비스를 제공한다. (2) 구글맵 사용 구글맵을 사용하려면 구글에서 개발자로 등록한 후, 해당 서비스의 API키를 받아야 한다. Google Maps Platform에 소정액의 결제(1달러)를 하고 등록을 하면 API키를 받아와 사용할 수 있게 된다. Google Maps Platform은 매달 200달러만큼 Maps, Routes, Places를 무료로 사용할 수 있다. 즉 매달 200달러 이내의 범위에서만 사용한다면 사실상 무료나 다름없다. (3) 대표적인 구글맵 오픈 API① Maps JavaScript API(지도)- 포함된 기능: 지도, 스트리트 뷰- Maps JavaScript API는 사용자로 하여금 자신만의 콘텐츠와 이미지를 사용하여 지도를 맞춤 설정하게 해준다. Maps JavaScript API는 Roadmap, Satellite, Hybrid, and Terrain의 4가지 기본적인 지도 타입을 제공하며 사용자는 레이어, 스타일, 이벤트, 라이브러리 등을 사용하여 그것을 변경할 수 있다.- Map 옵션: Zoom Level

◇ 하이퍼래저(Hyperledger)- 리눅스 재단에서 주관하는 블록체인 오픈소스 프로젝트로 현재 10가지 블록체인 관련 프로젝트를 진행 중이다. 5개의 프레임워크(Frameworks)와 5개의 툴(Tools)이 포함된다. 금융, IoT, 물류, 제조, 기술 산업 등 여러 산업에 걸쳐 응용 가능한 블록체인 기술을 만드는 것이 목표이다. - 하이퍼레저 패브릭

하이퍼레저 패브릭은 모듈형 아키텍처 기반의 블록체인 애플리케이션 또는 솔루션 개발을 위한 근간으로 고안된 비즈니스 블록체인 프레임워크이다. 하이퍼레저 패브릭은 합의, 멤버십 서비스 등 구성요소의 플러그 앤 플레이를 지원한다. 하이퍼레저 패브릭의 기본적인 특징은 다음과 같다.

1) 허가형 네트워크 집단으로 정의된 멤버십과 접근권한을 비즈니스 네트워크에 제공한다. 2) 거래의 기밀유지 비즈니스의 유연성과 보안성을 제공하여 정확한 암호화 키를 가지고 있는 당사자들에게만 거래가 보이도록 한다. 3) 암호화폐 불필요 거래를 확인하기 위해 채굴이나 값비싼 컴퓨팅을 요구하지 않는다. 4) 설정 가능 스마트 계약의 탑재 논리를 활용하여 네트워크 상의 비즈니스 프로세스를 자동화한다.

하이퍼레저 패브릭과 기존 블록체인 기술과의 대표적인 차이점은 다음과 같다. 하이퍼레저 패브릭이 사용하는 대표적인 합의 알고리즘은 PBFT가 있다. 이러한 합의 알고리즘은 기본적으로 작업증명 방법에 비해 훨씬 빠르다. 하지만, 모든 노드를 알고 있어야 하고 전원의 의사 소통이 필요하기 때문에 노드가 증가할 수록 성능은 감소한다.. PoW나 PoS는 수천 개의 노드를 운영할 수 있지만 PBFT는 수십 개의 노드가 한계이다. 하이퍼레저 패브릭은 다양한 업무에 적용될수 있도록 PBFT 합의알고리즘에 한정하지 않고, 임의의 합의 알고리즘을 실현할 수있는 플러그인 구조를 채용하고 있다. 하이퍼레저를 이용하는 기술자는 업무 이용에 따른 합의 알고리즘을 실현하는 추가 플러그인을 개발하고 하이퍼레저에 통합 할 수 있다. 하이퍼레저 외에도 다른 블록체인 플랫폼들이 있지만 하이퍼레저만의 장점과 하이퍼레저를 사용하여 개발을 하는 이유는 다음과 같다. 1) 표준화기술

비영리 단체인 리눅스 재단에서 운영하고 있는 블록체인 오픈소스 프로젝트로 130여개의 회원사가 가입하여 운영되고 있다.
기업들의 다양한 비즈니스 영역에 사용될 수 있는 허가형 (permissioned)블록체인 플랫폼이다.

2) 뛰어난아키텍처

산업 표준에 따른 오픈소스 기반으로 사용자 정의 스마트 컨트랙트(SmartContract), 강력한 암호화 지원 및 인증(Identity) 기능을 제공한다.
플러거블(pluggable) 분산형 합의(consensus)을 지원하는 모듈러(modular) 아키텍처로 설계되었으며, 20년이상 검증된 PBFT (PracticalByzantine Fault Tolerance) 알고리즘 제공등 V1.0에서는 합의 알고리즘의 재정의를 통해 1000 tps 이상의 성능이 지원받는 아키텍처를 제공한다.

3) 거버넌스

하이퍼레저 프로젝트의 거버넌스를 기반으로 개방적이고 투명한 개발 프로세스를 통하여 향후 로드맵을 지원하고 가속화한다.
IBM은 OBC(Open BlockChain)를 하이퍼레저 프로젝트에 기부하였으며, 하이퍼레저를 기반으로 100개 이상의 글로벌 기관들과 First 프로젝트 수행경험이 많다.
  • 특허조사 및 특허 전략 분석
가. 특허조사
 ◇ 블록체인 기반의 개인 데이터 처리 방법 및 시스템 (1020180077340)

블록체인 기반의 개인 데이터 처리 방법 및 시스템을 제공한다. 본 발명의 실시 예들에 따른 개인 데이터 처리 방법을 통해, 동일한 사용자를 서로 다른 식별자로 식별하는 서로 다른 서비스들에서 해당 사용자에 대해 등록되는 블록체인 네트워크에서의 개인 식별키를 활용하여 해당 사용자에 대한 개인 데이터를 블록체인 네트워크상에 제공함으로써 서로 다른 서비스들에서의 해당 사용자에 대한 개인 데이터를 개인 식별키를 통해 추적 및 활용할 수 있다.

 ◇ 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 (1020160113774)

블록체인 기술을 이용하여 하나 이상의 노드들 간에 거래내역을 유지하는 방법에 있어서, 네트워크 트래픽을 감소하고 지연시간을 조절하는 방법을 제공한다. 블록체인을 기반으로 하여 블록을 하나 이상의 노드들 간에 분산 저장하는 방법에 있어서, 블록생성 주기에 해당하면, 해당하는 하나 이상의 트랜잭션들을 하나의 블록으로 생성하는 단계 및 상기 블록헤더를 매개변수로 하여서, 상기 하나 이상의 노드들 간에 합의를 수행하는 단계를 포함한다.

 ◇ 특허 현황

2018년 1월 기준 한국·미국·일본·중국·유럽 등 지식재산 선진 5개국(IP5)에 출원돼 공개된 블록체인 관련 특허출원은 모두 1천248건이었다. 건수는 많지 않지만 2009년 블록체인이 처음 구현된 이후 2013년 27건에서 매년 2∼3배 증가해 2015년에는 258건, 2016년에는 594건에 달했다. 블록체인의 기본 개념은 이미 공개돼 누구도 특허를 갖지 못하는 자유 기술이다. 따라서 특허출원은 주로 보안, 운용, 활용 등 주변 기술을 중심으로 이뤄진다.

 나. 특허전략
 ◇ 상기 팀이 개발하려는 블록체인 기반의 군수 관리 플랫폼은 그 구성 요소 중 대부분이 소프트웨어를 기반으로 하고 있다. 그런데 소프트웨어 산업이 전 세계적으로 오픈 소스화 되고 있는 추세라는 점에서, 그리고 상기 팀이 개발하려는 플랫폼 또한 상당 부분 오픈 소스를 활용해 개발된다는 점에서, 상기 팀이 개발한 소프트웨어적 플랫폼 자체를 특허 등록을 해야 하는가에 대해서는 고민을 조금 더 해볼 필요가 있다. 그리고 그것이 과연 가능한 것인가에 대해서도 특허 전문가에게 자문하여 알아볼 필요가 있다. 다만, 개발 과정에서 나올 수 있는 독창적인 아이디어나 특허 등록의 가치가 있을 것으로 판단되는 하드웨어적인 요소, 그리고 블록체인이라는 소프트웨어적 기술을 비즈니스에 적용하는 비즈니스 방법으로서의 특허에 대해서는 특허 전문가에게 자문하여 특허 등록을 하면 될 것이다.
  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용