블록체인이란 무엇인가

다이엘 드레셔라는 금융전문가가 지은 책 블록체인 무엇인가라는 책을 용어 중심으로 요약합니다

블록체인이란 무엇인지 공부하려고 정리했습니다만 입문서도 너무 어렵습니다.

국방통합데이터센터가 작성한 블록체인 기술 및 산업 분야별 적용 사례가 블록체인이란 무엇인지 현황이 어떤지를 잘 정리한 것 같으니 참고하셔도 될 듯 합니다

초급 지식을 쌓기 위해 만든 포스팅 중 코딩이란 무엇인가도 한번 읽어봐주세요

블록체인이란 무엇인가

블록체인 정의

블록체인이란 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들의 정보 내용을 암호와 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장의 순수 분산 P2P시스템입니다

좀 더 쉽게 정의하면 누구나 열람할 수 있는 디지털 장부에 거래 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술이라고도 할 수 있습니다

일정 주기로 데이터가담긴 블록을 생성한 후 이전 블록들을 체인처럼 연결한다는 개념입니다

블록체인은 2008년 사토시 나카모토(Satoship Nakamoto)라는 가명으로 처음 제안됐습니다

블록체인의 목적은 분산 시스템의 무결성을 구현하고 유지하는 것입니다

블록체인은 참여자들 간에 네트워크 상에서 거래 장부 공유를 통해 중앙으로 집중된 네트워크 트래픽을 분산시킬 수 있고 거래상에서 발생하는 불필요한 비용을 최소화할 수 있으며, 네트워크 상에서 서로 간의 데이터를 공유하여 거래한 기록이 상호 투명하게 공개됨으로써 거래 기록의 위조 및 변조가 불가능한 등 기존 중앙화된 시스템이 제공하지 못하는 장점을 제공합니다

블록체인의 원리

아래는 국방통합센터가 간략하게 정리한 블록체인의 원리입니다

블록체인은 거래 발생 시 거래와 연관된 데이터가 장부에 저장 및 기록됩니다

각 노드별 장부와 일치하는지 모든 구성원들이 네트워크를 통해 수시로 대조 및 확인해 특정인이 임의적인 조작이 어렵도록 설계된 플랫폼입니다

블록체인은 기존의 데이터를 저장하는 방식과 달리 네트워크에 연결되어 있는 전 세계의 컴퓨터 자원을 이용하며 암호화폐가 보상으로 주어집니다.

블록체인의 원리
블록체인의 원리

블록체인은 신뢰성 및 안정성을 바탕으로 현재 금융, 유통, 물류, 제조, 공공 서비스 등 다양한 분야에 적용되고 있으며, 데이터의 보안성 및 신뢰성이 보증되어야 하는 보험,가상화폐, 개인인증, 유통 등의 분야를 중심으로 블록체인 활용이 확대되고 있습니다

암호화폐(crypto-currency)란 무엇인가

가상화폐, 암호화폐, 디지털 화폐, 전자화폐 등 여러 용어로 혼용됩니다

비트코인은 가상화폐이자, 암호화폐이면서 동시에 디지털화폐지만 통상 암호화폐로 많이 불립니다

해외에서는 점차 암호화폐로 명칭을 통일하고 있지만 한국정부는 가상화폐라는 용어를 사용합니다

  • 가상화폐는 실물이 없는 화폐의 측면을 강조
  • 암호화폐는 화폐의 생성, 저장, 거래 시 암호화하는 측면을 강조
  • 디지털 화폐나 전자화폐는 화폐 정보를 디지털화하는 측면을 강조

블록체인 관련 용어 정리

트랜잭션(transaction)

트랜잭션은 분야에 따라 조금씩 다른 의미로 쓰임
– 블록체인 분야에서는 소유권을 이전하는 행위를 의미함
– 금융계에서는 모든 금융거래를 폭넓게 의미하고
– 컴퓨터 과학은 업무처리 단위를 의미하는데 특히 데이터베이스에서는 더 이상 쪼갤 수 없는 최소한의 업무처리 단위를 뜻함

무결성(integrity)

  • 시스템이 의도한 대로 작동하는 것을 의미하고 보안과 정확성을 포함하는 개념으로 3가지 주요 요소로 구성됨
  • 데이터 무결성 : 시스템에서 사용하고 유지 관리하는 데이터가 완전하고 정확하며 모순이 없음
  • 작동 무결성 : 시스템이 의도한 대로 작동하며 논리적 오류가 없음
  • 보안 : 시스템은 허가받은 사용자에게만 데이터 및 기능에 대한 접근 권한을 부여함

시스템 아키텍처(system architecture)

  • 구성 요소를 구조화하기 구성요소간 관계를 설정하는 방식으로 중앙통제 방식(centralized)과 분산(distributed) 방식, 혼합시스템의 3가지 종류가 있음
  • 중앙통제 소프트웨어 시스템은 구성요소들이 모두 하나의 중앙요소에 연결되며 중앙요소를 두고 나머지 요소들이 빙 둘러싸고 있음
  • 분산 시스템은 시스템을 통제하거나 조정하는 요소 없이 서로 연결된 네트워크 구조를 이룸
  • 혼합시스템(hybrid system)은 중앙통제와 분산 시스템의 장점을 결합한 것으로 1) 분산 시스템 내 중앙통제와 중앙통제 시스템 내 분산시스템이 있음

※ 전체 시스템을 동시에 종료할 수 있는 스위치 역할을 하는 단일 구성 요소가 있을 경우 해당 시스템은 중앙통제 시스템임

노드(node)

  • 시스템의 기본 구성 요소를 노드라고 부름
  • 노드, 컴퓨터, 피더는 동일한 의미를 가질 때가 많지만 반드시 그렇지는 않음
  • 하나의 컴퓨터가 여러 개의 노드 역할을 하기도 하고 하나의 노드에 여러 개의 컴퓨터가 연결될 수도 있음

오버헤드(overhead)

  • 경영학적으로 오버헤드는 직접적으로 제품 생산에 기여하지 않는 임대료, 전기세 등의 간접비용을 의미함
  • IT에서는 특정 기능을 수행하기 위해 추가적으로 필요한 특정 자원을 의미함

P2P 네트워크(peer to peer network)

  • 분산 시스템의 특수한 형태
  • 개별 노드(컴퓨터)로 구성된 P2P 시스템은 중앙노드의 조정 없이 네트워크의 모든 구성원이 서로에게 계산자원(처리 능력, 저장공간, 데이터 또는 네트워크 대역폭)을 제공하는 네트워크.
  • 네트워크의 각 노드는 시스템 내에서 같은 권리와 역할을 가지며 모두가 자원의 공급자인 동시에 소비자가 됨

탈중개화(deintermediation)

  • 냅스터는 음악 시장의 전통적 사업모델을 파일 공유 시스템이라는 새로운 분야로 이끌며 P2P 시스템의 위력을 증명했음
  • 중개자를 대체하는 것을 탈중개화라고 함. P2P 시스템은 판매자와 구매자, 채권자와 채무자, 생산자와 소비자 등 두 그룹을 단순히 중개하는 역할을 주된 업무로 보험, 대출 등 금융업 관련한 산업을 위협할 것임

비잔틴 장군 문제(Byzantine general problem)

  • 레슬리 램포트(Leslie Lamport)가 1982년 분산 네트워크의 오류에 대처하는 방법을 논의하기 위해 제기한 명제로 전쟁터에서 비자틴 제국의 장국들이 풀어야 할 딜레마에 비유한 용어
  • 여러 곳에 흩어진 장군(프로세스)들은 공격(1) 또는 퇴각(0) 명령을 서로 주고받아 일사분란하게 적군을 공격해야만 승리할 수 있음
  • 반역자(오류 프로세스)가 함께 있어 명령이 정확하게 전달될 것이라는 보장이 없음
  • 따라서 단 하나의 합의된 진짜 명령어를 구별하는 방법을 만들어야 함

데이터 구조(data structure)

  • 구체적인 정보나 내용과 상관없이 데이터를 정리하는 방식
  • 데이터 구조는 건물 설계도의 평면도로 비유할 수 있음. 건물 평면도는 공간의 구체적인 용도와 상관없이 벽과 바닥 그리고 계단을 이용해 공간을 서로 분리하고 연결함
  • 블록체인이 데이터 구조의 명칭으로 사용될 때는 블록이라 불리는 단위에 모인 모든 데이터를 말함
  • 이 블록들은 책을 구성하는 페이지들과 비슷하게 체인처럼 서로 연결돼 있어 블록체인이란 이름이 붙음

알고리즘(algorithm)

  • 소프트웨어 공학에서 알고리즘은 컴퓨터가 실행해야 할 일련의 명령어
  • 블록체인이 알고리즘의 명칭을 사용될 때는 순수 분산 P2P 시스템에서 여러 블록체인 데이터 구조 내의 정보 내용을 민주주의 투표 방식과 비슷한 방법을 사용해 서로 협상하는 일련의 명령어

식별

  • 식별(identification)이란 이름 또는 다른 식별자를 사용해 누군가라고 주장하는 것

인증

  • 인증(authentication)이란 누군가와 누군가라고 주장한 둘이 서로 일치하는지 증명하는 것
  • 인증의 목적은 어떤 사람이 다른 누군가를 사칭하는 것을 방지하는 것

승인

승인(authorization)은 식별된 사람의 성질과 특성에 기반해 특정 자원이나 서비스에 접근을 허가하는 것

이중사용(double spending) 문제

  • 원장의 순수 분산 P2P 시스템에서 발생할 수 있는 취약성을 의미합니다

해시값

  • 해시값(hash value)은 복사된 디지털 증거의 동일성을 입증하기 위해 파일 특성을 축약한 암호같은 수치로 일반적으로 수사과정에서 ‘디지털 증거의 지문’으로 통한다.

해시 함수

  • 해시함수(hash function)는 임의의 길이의 데이터를 고정된 길이의 데이터(숫자)로 변환하는 함수이다.
  • 해시 함수에 의해 얻어지는 값은 해시 값, 해시 수, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다

확정적

  • 확정적(deterministic)일 경우 동일하게 입력하면 동일하게 출력된다는 의미임

의사난수

  • 의사난수(pseudorandom)란 입력 데이터가 변하면 해시값이 예측 불가능하게 변해야 한다는 뜻임

일방함수=비가역함수

  • 일방함수(one-way function)는 출력으로 입력을 아는 것이 불가능한 함수로 해시값을 이용해 원래 입력 값을 복원하는 것이 불가능함

충돌회피

  • 충돌회피(collision resistant)는 서로 다른 데이터가 동일한 해시값을 가질 확률이 매우 낮은 해시함수를 말함

독립해싱

  • 독립해싱(indepent hashing)은 각 데이터에 대해 독립적으로 해시 함수를 적용하는 방법

반복 해싱

  • 반복해싱(repeated hashing)은 해시 출력값에 해시 함수를 한번 더 적용한 것

결합 해싱

  • 결합해싱(combined hashing)은 하나 이상의 데이터에 해싱을 한번만 적용해 단일한 해시값을 얻는 방법

순차적 해싱

  • 순차적 해싱(sequential hashing)은 새로운 데이터가 도착할 때마다 해시값을 즉시 갱신하는 것이 목표로 결합해싱과 반복해싱을 동시에 사용한다

계층적 해싱

  • 계층적 해싱(hierachical hashing)은 두 해싱값에 결합해싱을 적용해 최상위에 단일 해시값을 가지는 작은 계층이 형성됨
  • 결합해싱과 유사하게 계층적 해싱도 데이터 묶음에서 단일 해싱값을 얻으려고 하는 것임

데이터

  • 데이터(data)는 파일 또는 트랜잭션 데이터를 의미함

이벤트

  • 시간의 흐름, 데이터베이스에 저장 또는 추출, 네트워크를 통한 전송 등을 말함

머클트리

  • 머클트리(merkle tree)는 나무가 거꾸로 서 있는 듯한 형상과 이 구조를 처음 제안한 과학자 머클의 이름을 결합해 만든 용어

난스

  • 난스(nounce)는 자유롭게 변경 가능한 데이터를 말함

암호화와 복호화

  • 암호화(encryption)는 디지털적으로 문잠그는 것을 구현한 것이고 복호화(decryption)는 문을 여는 것임

대칭 암호화 기법

  • 대칭 암호화 기법은 데이터를 암호화하고 복호화할 때 동일한 키를 사용하는 것을 말함

비대칭 암호화 기법

  • 비대칭 암호화 기법은 데이터를 암호화하고 복호화할 때 두 개의 상호 보완적인 키를 사용하는 것임
  • 두 키 중 하나를 사용해 생성된 암호문은 다른 하나의키로만 복호화되고 반대의 경우도 마찬가지임

불변성 데이터

  • 불변성 데이터(immutable data)는 한번 생성되면 절대 변경되지 않는 데이터로 읽기 전용(read-only) 데이터로 부르기도 함

마이닝

  • 마이닝(mining)은 블록 마이닝이라고도 부르며 해시 퍼즐을 해결해 블록체인-데이터-구조에 새 블록을 추가하는 행위를 의미함

온보딩

  • 온보딩(on-boarding)은 조직에 새로 합류한 사람이 조직 문화에 빨리 적응하도록 교육해주는 조직 문화 적응 프로세스를 말함

분산합의

  • 분산합의(distributed consensus)는 집단적 의사결정 문제에서 동의나 합의에 이르는 과정으로 순수분산 P2P시스템 구성원 사이의 동의를 의미함

51% 공격

  • 51% 공격(51% attack)은 집단적 의사결정 프로세스에서 대다수의 표를 얻거나 통제하려고 시도하는 것을 의미함

무승인형과 승인형 블록체인

  • 무승인형(permissionless) 블록체인은 모두에게 쓰기 권한을 부여하고 승인형(permissioned) 블록체인은 온보딩 프로세스를 거쳐 소수의 노드나 사용자 그룹에만 쓰기 권한을 부여함

스마트계약

  • 1994년에 닉사보가 주장한 개념으로 계약서에서 정의하는 모든 실행을 디지털화하되 공증 등의 제 3자가 필요없게 하자는 내용임
  • 이더리움은 스마트 계약을 구현한 최초의 블록체인임

블록체인의 기술적 개념과 목적 및 비유

개념목적비유
트랜잭션 데이터소유권 이전을 기술함은행 이체 양식
트랜잭션 이력소유권의 현 상태를 증명이어달리기
암호화 해시값모든 데이터 종류를 고유하게 식별함사람의 지문
비대칭 암호화 기법데이터 암호화 및 복호화자물쇠가 달린 공개 우편함
디지털 서명트랜잭션 데이터의 내용에 동의한 것을 표명자필서명
해시참조가리키는 데이터가 변경되면 무효가 되는 참조옷걸이 식별에 해시값을 사용하는
외투 보관소 티겟
변경-감지-데이터
구조
어떤 조작도 즉시 발견되는 형태로 데이터 저장외투보관소 티켓을 주머니에 넣어둔 외투
해시퍼즐비싼 계산량이 소요되는 과제를 부여시행착오로 번호키 열기
블록체인-데이터-구조트랜잭션 데이터를 변경-감지 방식으로
저장하고 그 순서를 유지
도서일람표를 사용하는 도서관
불변성트랜잭션 데이터 이력 변경을 불가능하게 만드는 것가짜 족보를 만들기 위한 시도
분산 P2P 네트워크트랜잭션 이력을 네트워크의 모든 노드에 공유서로 독립적인 목격자 집단
메시지 전달모든 노드가 궁극적으로 모든 정보를 수신
하는 것을 보장
사람들 사이의 소문
블록체인-알고리즘오직 유효한 트랜잭션 데이터만 블록체인-
데이터-구조에 추가될 수 있도록 보장
계약사원을 다루기 위한 당근과
채찍 접근방식
분산합의시스템의 모든 노드가 동일한 트랜잭션
이력을 사용한다는 것을 보장
관광객들이 자꾸 다녀 만들어
낸 길
보상무결성을 유지하는데 기여한 노드에 보상을
지급
입금을 돈 대신 빵으로 지급하는
빵집

(끝)

Leave a Comment