[블록체인] 4주차_블록체인의 본질

8 분 소요

이 내용은 K-MOOC 알기쉬운블록체인 강의를 듣고 정리한 내용입니다.

컴퓨터들의 협업

분산 P2P 시스템의 신뢰성과 무결성

1. 분산 P2P 시스템에서 신뢰성과 무결성 보장이 어려운 이유

  • 중앙 통제 시스템을 알지 못하는 사용자
  • 중앙 통제 시스템에 따르지 않으려는 사용자

2. 분산 P2P 시스템의 두 가지 문제: 신뢰성과 이를 보장하는 무결성

  • 신뢰성 (reliability)
    • 별도의 증명 없이 믿어주는 확고한 신념
    • 사전에 형성된 이후의 상호작용에 따라 강해지기도 하고 약해지기도 한다.
  • 무결성 (integrity)
    • 비기능적 요구
    • 시스템의 완결성(completeness), 일관성(consistency), 정확성(accuracy), 안전성(security), 오류 없는(apsence of manipulation or error) 속성
    • 시스템의 신뢰성에 영향 주는 요소 무결성

3. 분산 P2P 시스템에 참여하는 사용자

  • 처음엔 시스템 신뢰 불가능 -> 사용(상호작용) 후 신뢰도가 오르면 시스템에 참여한다.
  • 시스템을 신뢰하지 못하면 사용자 감소 -> 참여자 감소로 전체 시스템 붕괴

4. 분산 P2P 시스템의 무결성 확보 방법

  1. 전체 시스템의 노드(node, peer) 개수를 알 수 있나?
  2. 개별 노드(피어)들을 얼마나 신뢰할 수 있는가?
    • 순수 분산 P2P 시스템에서 가장 최악의 시나리오는 전체 시스템 노드 개수를 알 수도 없고, 개별 노드의 신뢰도도 확보되지 않은 상황이다. 그러면 전체 시스템의 신뢰성과 무결성을 확보하기가 매우 어려워진다.

분산 P2P 시스템의 무결성 위협요소

1. P2P 시스템의 무결성을 위협하는 요소 2가지

  1. 기술적 결함(technological defects)
    • 개별 컴퓨터나 네트워크의 고장, 오류
    • 따라서 기술적 결함이 생길 경우를 미리 대처할 필요가 있음
  2. 악의적인 사용자(malicious users)
    • 시스템을 개인의 이익을 위해 착취하려는 개인의 악의가 원인
    • 기술적 결함로 인한 문제와 다르게 기술적 해결 불가능, 사회학적 측면에 연관됨
    • 악의적 사용자로 인해 다른 사용자들이 시스템을 신뢰하지 못하게 되면 시스템을 떠난다.
    • 사용자들이 P2P 시스템에서 자원을 공유하지 않게 되면 시스템 유지 불가

무결성 측면에서 블록체인의 역할

1. 블록체인의 역할, 과제, 목표

  • 분산 P2P 시스템 최악의 시나리오: 전체 노드 개수 모름 & 각 노드 신뢰 불가 -> 시스템 신뢰도, 무결성 확보 매우 어려움
  • 그럴 때 시스템의 무결성을 확보하여 전체 시스템의 신뢰도를 높이는 것이 블록체인의 과제

2. 비잔틴 장군 문제(Byzantine General Problem)

  • 1982, by Lesile Lamport의 논문
  • 분산 네트워크에서 어떤 문제에 대한 합의점을 이끌어내는 방법은?
  • 비잔틴 장군 문제
    1. 비잔틴 군대는 여러 장군들이 각각의 부대를 이끌고 있는 형태
    2. 각 군대는 물리적으로 떨어져 있어 파발로만 소통 가능하다.
    3. 전쟁에서 이기기 위해서는 중앙의 통제에 따라 한날 한시에 다같이 공격해야 한다.
    4. 장군들 사이에 배신이나 반역을 하려는 사람이 있을지도 모른다. 배신자들은 다른 장군에게 악의적으로 다른 명령을 전달할 수도 있다. (퇴각해야 하는데 공격하라고 전달한다던가)
    5. 배신자가 있을 때 군대의 모든 장군에게 올바른 명령을 전달하는 방법은?

블록체인의 정의

블록체인의 네 가지 의미

  • 데이터 구조의 명칭, 알고리즘의 명칭, 기술 묶음의 명칭, 순수 분산 P2P 시스템 자체
  • 어떻게 데이터가 저장되고 관리되는지, 어떻게, 무엇으로 데이터가 처리되는지, 그리고 그 데이터가 사용되는 환경은 어떠한지에 따라 정의가 달라진다.

1. 데이터 구조(Data Structure)의 명칭

  1. 데이터 구조(Data Structure)란?
    • 데이터를 저장하고 정리하는 방식
    • 건물을 지을 때, 재료를 어떻게 쌓고 방을 구분할 지 등을 적은 서레도, 평면도와 같다.
  2. 주요 데이터 구조의 종류 4가지
    • 링크드 리스트(Linked List): 1차원(one-dimensional)으로 연결된 (선형, Linear) 데이터의 리스트
    • 스택 (Stack): Last In First Out(LIFO) 구조의 Linked List
    • 큐 (Queue): First In First Out(FIFO) 구조의 Linked List
    • 트리 (Tree): 다차원(multi-dimensional, 비선형)으로 연결된 데이터의 리스트
  3. 데이터 구조로서의 블록체인
    • 블록 단위에 모인 데이터들이 체인처럼 서로 연결된 구조 (선형)
    • 예시) 책의 각 페이지들이 정보 담고 페이지 번호 순으로(in numerical order) 연결되어 있다. 각 페이지 안에도 내용이 시간 순서대로(in chronological order) 나열된다.

2. 알고리즘(Algorithm)의 명칭

  1. 알고리즘(Algorithm)이란?
    • 어떤 문제를 해결하기 위해 컴퓨터가 실행해야 하는 일련의 명령어와 그 순서
    • 사용하는 데이터 구조(자료구조)의 특징을 고려해야 한다.
  2. 자료구조 특징을 활용한 알고리즘 예시
    • 링크드 리스트에 저장된 데이터 검색: 앞에서부터 차례대로 찾기 = 선형 검색(Linear Search)
    • 이진 트리(Binary Tree)에 저장된 데이터 검색: 더 빠른 이진 검색(Binary Search)
  3. 알고리즘으로서의 블록체인
    • 분산 합의 알고리즘(distributed consensus algorithm): 순수 분산 P2P 시스템에서 여러 블록체인 내의 정보를 노드 간 상호 합의된(mutual) 방법을 사용해 서로 협상하는 일련의 과정
    • 서로 신뢰하지 못하는 수많은 노드들이 참여하는 분산 시스템에서 무결성 확보하기 위한 알고리즘
  4. 분산 합의 알고리즘(distributed consensus algorithm) 예시
    1. 비잔틴 장군 문제(Byzantine Generals Problem)
    2. 식사하는 철학자들 문제(Philosopher’s Dining Problem)
      • 많은 철학자들이 하나의 식탁에 둘러앉아 식사를 한다.
      • 앉은 자리 양쪽에 포크, 나이프 등 식기가 준비되어 있다.
      • 모두가 ‘포크는 오른쪽 것을 쓰고, 나이프는 왼쪽 것을 쓰자’ 등 합의를 하면 식기는 모두에게 돌아간다.
      • 그러나 누군가는 오른쪽 식기를 쓰고, 누구는 왼쪽 식기를 쓰면, 중간에 끼인 누군가는 식기가 부족한 경우가 생긴다.
    3. 함의점: 위 예시 두 개를 통해 순수 분산 시스템에서 공동의 목적을 달성하기 위해서는 합의 시스템이 반드시 필요함을 알 수 있다.

3. 기술 묶음(technology suite)의 명칭

  1. 기술 묶음으로서의 블록체인
    • 블록체인의 데이터 구조 + 블록체인 알고리즘 + 암호화 및 정보보안 기술 + etc의 조합
    • 응용 분야 상관 없이 순수 분산 P2P 시스템의 무결성 확보를 위해 사용됨

4. 응용 분야를 포함한 순수 분산 P2P 시스템의 명칭

  1. 일반 응용 분야를 가지는 순수 분산 P2P 시스템으로서의 블록체인
    • 블록체인 기술 묶음을 활용하는 거래 장부(Ledger)들의 순수 분산 P2P 시스템

블록체인의 정의와 응용

1. 블록체인의 정의 총 망라 (네 가지 관점 결론)

  • 목적 : 무결성을 확보하고 유지하기 위해
  • 데이터구조: 순서에 따라 연결된 블록들의 정보를
  • 알고리즘: 암호화 기법보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어를 활용하는
  • 시스템: 원장(Ledger)의 순수 분산 P2P 시스템

2. 블록체인의 응용 분야

  1. 암호화폐(cryptocurrencies)
    • 자산의 소유권을 관리하고 명확하게 검증하는 것(tracking assets for proof of ownership)
    • 그러나 암호화폐의 소유권을 관리하는 것은 블록체인 응용 분야의 하나일 뿐, 그 자체가 전부는 아님
  2. 블록체인이 암호화폐의 소유권 관리 측면에서 부각된 이유는?
    1. 이해하고 설명하기 쉬움
    2. 경제에 매우 큰(substantial) 영향을 미치는 실제 사례이기 때문
      • 은행, 보험, 법률 시스템의 많은 부분은 소유권 관리와 연관됨
    3. 소유권 관리는 관련 경제 규모가 크다.
      • 전통적 금융시장: 중앙 통제 시스템이 소유권 관리함
      • 소유권 관리 방법이 바뀐다면 시장에 큰 영향 줄 것
      • 블록체인은 특정 재화 종류와 상관없이 소유권을 관리하고 명료화하는 일반적인 환경에 적용 가능
  3. 추가조사 비트코인 등의 암호화폐 이외에 소유권 관리 측면에서 블록체인이 활용될 수 있는 다른 응용분야에는 어떤 것들이 있을까요?
    1. 암호화폐
    2. 금융기관: 은행 간 송금망에 블록체인 기술을 적용하여 중개 은행 없이도 상호 신뢰 하에 직접 거래하여 절차를 간소화하고 관련 수수료 비용 절감
    3. 산업 특화(4차 산업혁명): 다양한 산업 분야의 참여자들이 비즈니스 대상에 대한 정보 이력을 블록체인으로 연결하는 중 -> 플랫폼 이펙트 방지하고 사용자에게 맞춤형 서비스 제공 가능
    4. 공공 조직: 정부(중앙, 지방) 혹은 국가 차원에서 공공 행정 정보국민 신원 관리, 자산거래 내역 공증, 복지서비스 제공 등에 적극적 도입을 진행
    5. 민간 기업: 고객 이탈을 방지하고, 신사업보다는 기존 제공 사업에 접목하여 보안 및 분산화 등 보다 향상된 기능이 포함된 서비스 제공
    • 블록체인에 대한 기술 영향 평가안
      • 경제(산업, 거래 및 소비): 긍정적

        기술영향평가위원장인 한양대 이상욱 철학과 교수는 “블록체인은 서로 신뢰하기 어려운 협업 주체 간 상호 신뢰도를 높이고, 협력 과정의 시간과 비용을 줄일 수 있다”고 설명했다. (중략) 중개자의 역할을 시스템에 내재하는 블록체인의 특성상 개인 간 거래가 활성화할 것이라는 평가도 이어졌다.

      • 윤리: 부정적

        블록체인에 기록되는 정보는 정정 및 삭제가 어려워 ‘잊힐 권리’가 침해될 수 있다. (중략) 김 교수는 “최근 문제시 되는 디지털 성범죄 영상물이 블록체인에 기록될 경우 극대화한 투명성과 비가역성, (문제를 중재할) 중앙 주체의 부재로 더욱 문제가 된다”고 지적했다.

    • 출처
      • 블록체인투데이(http://www.blockchaintoday.co.kr)
      • 블로킹프레스(https://blockinpress.com/archives/10722)

소유권의 개념

소유권 증명의 세 가지 요소

1. 내가 가진 물건이 내 것이라는 것을 증명하는 방법

집에서 가져온 사과를 들고 과일 가게를 갔다. 다른 과일을 사고 계산을 하려고 하는데, 점원이 내 사과를 보고 과일가게의 물건이라고 생각하는 것 같다. 내가 가진 사과는 내가 집에서 가져온 것이라는 것을 어떻게 증명할까?

  • 위 사례: 목격자의 확보가 중요 (+동일한 사실을 증명하는 독립적인 목격자가 많을수록 유리) = 블록체인의 핵심 개념 중 하나

2. 소유권을 입증하는 세 가지 요소

  1. 소유자가 누구인가?
    • 내가 나임을 증명
  2. 소유 물건은 무엇인가?
    • 물건은 사과임을 증명
  3. 소유자와 물건의 매핑(Mapping)
    • 물건 ‘사과’는 ‘나’라는 인물이 가져온 물건이다.
  • 소유권 입증의 세 가지 요소를 밝히는 것은 목격자의 증언
  • 그러나 목격자의 증언에만 의지하면 많은 시간 소모 가능성 있음
  • 그래서 신뢰할 수 있는 기관이 발행한 문서로 대체

3. 소유권: 식별(Identification)

  1. 사람에 대한 식별
    • 그 사람은 누구인가?
    • 예시) 신분증, 출생증명서, 운전 면허증 등
  2. 물건(Asset)에 대한 식별
    • 그 물건이 무엇인가?
    • 예시) 일련번호, 제조날짜, 제조증명서, 상세설명서 등 - 사람, 물건에 대한 식별 공통점: 사람과 물건의 속성은 불변함
  3. 소유자와 물건의 매핑 식별
    • 소유자와 물건의 관계 (변할 수 있음)
    • 물건의 소유권이 이전될 때마다 새롭게 기록함
    • 예시) 원장, 등기명부 등

4. 소유권에 대한 증명 관리

  • 소유권에 대한 최신 원장, 명부 관리 매우 중요 -> 특수기관 설립
  • 소유물의 가치가 클 수록 정부에서 직접 규제
    • 원장을 공공에 공개하여 소유권을 쉽게 검색, 증명 가능
    • 예시) 미국 정부의 경우: 물건(부동산, 특허, 배, 비행기, 회사 등의 소유권에 대한 원장), 사람(결혼, 출생, 사망에 관한 등록 등)
    • 물건의 가치가 매우 크고, 무결성이 침해되었을 경우 사회적 혼란이 클 것으로 예상되는 정보의 경우 정부 차원에서 집중 관리한다.

소유권 개념 간의 상관관계

1. 소유권 관련 여러 개념들

소유권개념간상관관계

  1. 소유권 증명(->password): 자산과 소유자의 매핑, 사용자, 자산 자체가 맞는지 식별
  2. 소유권 사용(->signature 서명): 소유권을 가지고 있는 사람이 맞는지 인증-> 인증 받은 사람이 합당한 소유 권한을 승인 받았는지 확인해야 함

보안의 세 가지 개념

1. 보안의 세 가지 개념(블록체인 관련)

  1. 식별 (Identification)
    • 식별자(identifier)(이름 등)를 이용해 내가 누구라고 주장하는 것

      나는 ‘홍길동’이라는 이름을 가진 사람이다.

  2. 인증 (Authentication)
    • 누군가가 그 사람이 주장한 ‘누구’와 서로 일치하는지 증명하는 것
    • 방법: 지식 기반 인증(그 사람만 알 수 있는 정보로 증명), 토큰 이용(내가 가진 소유물로 증명), 생체 인증(biometric authentication)

      홍길동만 알 수 있는 정보로 인증: 아이디, 패스워드 입력 홍길동만 가지고 있는 물건으로 인증: 홍길동의 집 열쇠 홍길동의 생체 정보(biological information)으로 인증: 지문, 홍채 인식(retina)

  3. 승인 (Authorization)
    • 인증을 거친 사람에 대해 특정 자원이나 서비스에 대한 접근 권한을 부여하는 것
    • 인증된 특정인이 가진 특성과 권리에 대한 평가를 토대로 얻는 최종 결과
    • 예시) 파일 시스템 내에서 사용자에 따라 파일 접근 권한을 다르게 줄 수 있다.

      ‘홍길동’은 A파일에 접근 가능하지만 다른 사용자는 접근 불가능

원장의 소유권과 블록체인

1. 원장의 개념과 원칙: 소유권 증명과 이전의 관점에서

원장의개념과원칙

  1. 소유권 증명(proof of ownership)
    • 투명성(transperency) 중요
    • 과거 데이터(data history)를 바탕으로 데이터 읽기
    • 원장에서 읽은 과거 데이터를 이용해 소유권을 증명
  2. 소유권 이전(transfer of ownership)
    • 개인정보 보호(privacy protection) 중요
    • 데이터 이력 사용하지 않고 데이터를 신규로 생성함 (데이터 쓰기)
    • 소유권이 이전될 때마다 원장에 신규 데이터를 생성하고 이 사실을 문서화(documentation)

2. 원장의 두 가지 상반된 특징

  1. 투명성 (Transperency)
    • 소유권 증명과 관계됨
    • 시스템의 누구나 데이터를 쉽게 검색하고 검증할 수 있다.
    • 원장이 공개되어 있으면 소유권 증명이 훨씬 쉽다.
    • 법정에서 목격자가 공개증언하는 것과 비슷한 방법
    • 투명성은 소유권을 증명하는 기초가 된다.
    • 원장 읽기
  2. 개인정보 보호 (Privacy Protection)
    • 소유권 이전과 관련
    • 나의 개인정보가 다른 사람에게 노출되지 않아야 한다.
    • 소유권의 이전은 법적인 소유자에게만 배타적으로 허용되어야 한다.
    • 즉 개인정보 보호는 소유권 이전의 기초가 된다.
    • 원장 쓰기
      - 두 가지의 상충되는 특징은 블록체인에서도 존재

3. 원장의 소유권과 블록체인

  • 블록체인: 누구나 읽을 수 있게 개방된 원장과 비슷한 데이터 구조를 가지는 거대한 분산 P2P 시스템

4. 원장의 소유권을 명확하게 만들 수 있는 방법은?

  • 최대한 여러 명의 독립적인 목격자를 확보한다. = 블록체인의 방식
  • 조작될 위험이 있는 원장을 하나만 유지하지 않고 원장의 순수 분산 P2P 시스템을 활용
  • 다수의 노드가 동의하는 다수의 원장을 이용해 소유권을 확인

  • 원장의 소유권 유지와 블록체인의 관련성
    • 소유권 관리를 위한 개별 원장: 블록체인 데이터 구조로 표현됨
    • 개별 원장을 P2P 시스템의 노드(개별 사용자 PC)에 저장
    • 블록체인 알고리즘: 개별 노드들이 공동의 일관된 소유권 상태에 합의할 수 있도록 해줌
    • 블록체인 시스템의 무결성을 통해 소유권에 대한 진실 판단
    • 암호화 기법(crptography): 식별(identification), 인증(authentication) 승인(authorization), 데이터 보안(encrypt data) 유지

알기쉬운블록체인_마인드맵_4주차

댓글남기기