Security Insight

[Security Insight #17] 합의를 바탕으로 형성된 신뢰의 네트워크, 블록체인

2017.04.13

안녕하세요.

지니언스 김대리 입니다.

이번 포스팅에서는 '합의를 바탕으로 형성된 신뢰의 네트워크, 블록체인'이란 주제로 이야기를 하고자 합니다.

블록체인이란 일종의 ‘분산 데이터베이스 기술(Distributed Database Technology)’로 데이터를 기록, 보관, 관리하는 방법을 의미합니다[1]. 2016년 12월 한국은행 보고서에서 블록체인은 '거래정보를 기록한 원장을 특정기관의 중앙 서버가 아닌 P2P(Peer to Peer) 네트워크에 분산하여 참가자가 공동으로 기록하고 관리하는 기술'이라고 정의 내리고 있습니다[2].

 

Figure 1. 블록체인 태그 클라우드[3]

블록체인에서 발생한 데이터는 특정 값에 의해 서로 연결되며, 각각의 노드(참가자)에 지속적으로 쌓이게 됩니다. 기 등록된 데이터의 변경은 불가능하며, 지속적으로 저장된 데이터는 임의의 조작이 불가능하도록 설계되었습니다. 이러한 특성으로 인해 블록체인은 저장된 데이터의 신뢰성과 무결성을 보장하고 있습니다[4]. 따라서 참여자들은 중앙기관이나 중앙서버에 의존할 필요 없이, 자신의 데이터와 거래상대방이 가진 데이터와 동일하다는 것과 해당 데이터가 변조되지 않았다는 것을 믿고 의사결정을 할 수 있습니다. 블록체인은 데이터가 블록의 단위로 기록이 됩니다. 복수의 데이터를 넣어서 단일한 블록을 만들고, 이 블록들을 해시 값을 통해 이어 붙이는 형태로 ‘블록체인’을 생성합니다.  

Figure 2. 비트코인 거래절차[5]

블록체인의 블록과 그 안의 데이터는 해시와 암호서명을 통해 보호되기 때문에 변조가 사실상 불가능하며, 데이터가 참여자들의 서버에 분산복제 및 저장되어 있으므로 단일한 공격점(a single point of failure)이 존재하지 않습니다. 따라서 특정한 서버 또는 여러 서버가 해킹을 당하더라도 시스템 유지에 문제가 없다고 판단할 수 있습니다. 블록체인에서 또 다른 중요한 요소는 ‘합의 알고리즘(consensus algorithm)’입니다. 블록체인은 기록이 되는 데이터를 정의하고 서로 상충되지 않도록 관리함으로써 데이터의 정합성을 확보하고 있습니다. 모든 사용자가 완전한 데이터(data integrity)를 이용할 수 있도록 데이터를 검증하고, 선별적으로 기록하는 역할을 하는 것이 합의 알고리즘이고, 이를 실행하는 자가 ‘검증인(validator)’들입니다. 아래의 그림과 같이 블록체인은 중앙화 된 주체 없이도 데이터의 완전성을 보장하는 ‘분산 데이터베이스’의 기능을 수행합니다[6].  

Figure 3. 기존 시스템 vs. 블록체인 구성도[6]

최초의 블록체인은 누구나 모든 권한을 가지는 개방형 블록체인이었습니다. 그러나 개방형 블록체인의 산업별 활용의 한계로 인해 권한을 제한하는 방식의 폐쇄형 블록체인이 등장하게 되었고, 이를 통해 이제는 수많은 기업들이 블록체인의 도입을 연구하고 있습니다[7]. 블록체인은 운영 방식에 따라 개방형 블록체인과 폐쇄형 블록체인으로 나누어 볼 수 있습니다. 기본적으로 분산된 네트워크를 통해 정보를 관리한다는 개념은 동일하지만, 참여 기관의 제한 여부, 운영 체제의 차이, 합의의 도출 측면에서 차이점을 가진다고 볼 수 있습니다[5]. 개방형 블록체인은 누구나 제약 없이 블록체인에 참여할 수 있으며, 특정한 기능을 구현하는 하나의 고정된 형태로 존재하는 플랫폼입니다. 널리 알려져 있는 사토시 나카모토(Satoshi Nakamoto)에 의해 제안된 비트코인의 시스템이 개방형 블록체인의 대표적인 예시라고 할 수 있습니다([지니언스 Security Insight #16] 포스팅 참조).
http://blog.naver.com/geninetworks/220903203892
[지니네트웍스 Security Insight #16] BlockChain과 Bitcoin
안녕하세요.지니네트웍스 컨설팅팀 임용택 책임입니다. 이번에는 최근 Hot issue 가 되고 있는 Blockchai...
blog.naver.com
폐쇄형 블록체인은 개방형 블록체인의 활용상 제약을 극복하고 각 분야에 맞게 개량해서 만들어진 블록체인을 통칭하고 있습니다. 폐쇄형 블록체인의 기본적인 운영 원리는 기본적으로 특정 중앙서버가 없이 여러 노드들이 분산형 네트워크를 구성하고, 구성된 노드들의 승인 과정을 통해 데이터 모음이 완성되는 방식으로 이루어져 있으며, 이는 개방형과 폐쇄형 블록체인의 시스템이 동일합니다. 하지만 현재 개방형 블록체인이 가지는 한계(투명성, 익명성, 효율성, 개연적 결제의 완결성 등)가 명확하기 때문에 블록체인이 가지고 있는 비용, 보안, 속도 등의 강점만을 활용하기 위해 개발되었습니다. 폐쇄형 블록체인은 목적과 상황에 맞게 승인된 기관만이 거래에 참여할 수 있고, 거래 기관의 종류와 수도 제한할 수 있다는 특징이 있습니다. 하나의 블록체인을 만든 후 참여 기관을 제한하여 받아들이는 방법이 있고, 다수의 기관들이 같이 모여서 컨소시엄을 구성하는 형태로 서로 합의 하에 새로운 폐쇄형 블록체인을 함께 구성할 수도 있습니다. 다음 포스팅에서는 블록체인 이용 현황 및 활용 분야에 대하여 설명을 드리도록 하겠습니다. <Reference> [1] NAKAMOTO, S., BITCOIN: A PEER-TO-PEER ELECTRONIC CASH SYSTEM., 2008. [2] 한국은행, 분산원장 기술의 현황 및 주요 이슈, 2016. [3] http://www.centrodeinnovacionbbva.com/en/news/year-blockchain-technology-and-bitcoin-take (accessed on 13 April 2017) [4] Lansiti, Marco, and Karin R. Lakhani. "THE TRUTH ABOUT BLOCKCHAIN." HARVARD BUSINESS REVIEW 95.1 (2017): 119-127. [5] Finector, 블록체인 발전 과정과 이해, 2016. [6] Finector, 금융기관을 위한 블록체인의 이해, 2016. [7] SECURITY RESEARCH DEPARTMENT-2015-028 BLOCKCHAIN UTILIZATION TRENDS IN DOMESTIC AND OVERSEAS FINANCIAL SECTORS,” TECHNICAL REPORT, FINANCIAL SECURITY INSTITUTE, 2015.