스터디/블록체인

블록체인 개념, 구조 및 원리

뀨린 2021. 4. 18. 17:09

CPS: 사이버공간과 오프라인공간이 연관되어있음. 
스마트폰으로 집을 연결/스마트 팩토리/커넥티드 카
사람, 사물, 공간을 초연결, 초지능화해 산업구조, 사회시스템을 혁신한다. 

중앙집중적 시스템 중심으로 산업화가 일어났다가 4차 산업혁명 이후로 
분권화가 일어나 탈중앙화가 일어난다. 중앙에 서버가 없다. 자율성과 다양성 추구한다. 
수평적 연대(동등하게 연결해 하나의 시스템으로 활용 선호) 노동이 단순화되거나 없어진다. 
기계가 인간의 신체적, 지적 능력을 뛰어넘어서 인간이 개입될 필요가 없어진다. 
때문에 노동이 단순화된다.(기계의 보조역할정도) 

Connected World(세상이 연결된다) 

IoT: 커넥티드 홈, 스마트 시티, 웨어러블 장치...

Data Centered Decision-Making
데이터 많이 모으면 데이터 중심으로 양질의 서비스를 제공할 수 있다 
ex. 빅데이터의 큰 기능: 글로벌 집단 지성.. 
 
Programmable Control 
인공지능, 자율주행자동차, 로봇...

Shared Economy/Mass Customization
공유 경제 플랫폼 (우버, 에어비앤비) >> One source multi use

소스: 하나의 사물이나 자산을 의미. multi use 하나의 자산을 여러 사람이 사용한다. 

Connected World as Infrastructure
 
초연결 사회: 빅브라더 등장하면? 
중앙집중방식: 단일지점장애 발생하면? 

Data Centered Decision Making

개인정보: 내 데이터를 나도 모르게 남이 이용한다면?(데이터 3법)
공공정보: 공공정보를 이용해 개인/특정 그룹이 사익을 취하면?(의료정보)

Programmable Control 
중앙집중방식: 통제와 감시? 
보안: 자율주행자동차, 로봇 해킹? 

Shared Economy: 데이터 위변조하면? 

블록체인 기술: 

금융거래를 예시: 기존 - 중앙화되어있음. 

- 탈중앙화: 

인프라 구축 비용절감, 중개수수료 절감

- 보안성: 위변조 불가(백만대의 단말기가 연결되어 있으니까), single point of failure 불가

투명성: 관리비용 절감, 규제비용 절감

은행은 정부의 감사를 받고 관리를 하는데 관리비용이 들기 마련이다. 
신뢰성을 보장하기 위해서! 그러나 블록체인으로 다수의 사용자에게 공유한다면 비용 절감의 효과가 있다. 

블록체인: 암호화폐 어플리케이션 가진다

암호화폐: 데이터나 정보 누가 소유하는지 증명하는 메카니즘을 담고 있다. 

소유권의 증명과 사용

등기/식별/인증/승인

등기: 소유자가 누구인가를 밝힘(ex 집)  소유권 증명
식별: 누구인가? 무엇인가?(바코드나 qr처럼) 소유권 증명
인증: 진짜 그 사람 맞나? 그 물건 맞나? 소유권 사용
승인: 이 사람/물건에게 접근권을 줘도 되나? 소유권 사용

무형 자산: 영업권, 산업재산권, 라이선스, 저작권, ...

무형 자산: 데이터(가공하기 전 순수한 상태의 수치 raw data), 정보(가공된 2차 데이터), 지식(정보 이용에 대한 노하우ex 비올 확률이 70%이상이면 우산 들고다니는게 좋다), 지식재산
데이터로서 재산적 가치가 실현되는 지적 창작물 

무결성이란? 
데이터 사이언스 관점의 인간과 정보의 역사

인간: 정보에 대한 갈증 -> 진실에 대한 갈증
정보: 소유(피시 보급으로) ->공유(인터넷 발전) ->신뢰(블록체인 등장)->무결(블록체인 네트워크)

블록체인 = 제 2의 인터넷 혁명

금융거래에 근본적 변화를 가져올 것. 
신뢰 기반의 분산형 공동 네트워크로 금융, 공공, IT, 물류 전 산업과 경제 구조를 개편할 것이라고. 

발전사 
블록체인은 하나의 애플리케이션

암호화폐: 전자화폐(금융분야에서 가치의 저장, 교환 수단으로 사용하기 위한)

자산 등록기술: 국가공인없이 자산을 퍼블릭 블록체인에 등록할 수 있게

개인키 소유자 = 자산 소유자

자산 중심 기술: 해외로 송금할 때 소액을 송금할 수 없음. 수수료가 크다. 

이것을 보완하기 위해 자산을 공공장부가 아닌 공유장부에 기록
ex. 리플

응용플랫폼
블록체인을 플랫폼으로 삼아 다양한 탈중화된 응용서비스 구현 
ex. 이더리움

허가형 분산원장
제한된 참여자로 구성된 분산 네트워크 
퍼블릭 블록체인의 확장성, 안정성,투명성, 익명성이 문제가 되는 응용분야와 조직에서 활용

원래 블록체인은 퍼블릭인데 이렇게 프라이빗은 **회사원들만 사용가능하게 한다던지..

암호화폐의 장단점

장점: 보안성(위변조가 불가능) , 낮은 이체 수수료, 전세계 24시간 이체가능
거래의 투명성(이체 내역 조회 가능), 익명성 보장 가능. 익명성이 보장되는데 악용되어 마약 거래/아동 포르노..에 쓰인다. (다크웹이 활용됨.) 거래의 익명성 악용하는 케이스
계좌생성의 편의성, 수령인 리스크 헤지(위험 발생했을 때 보상가능한) 한번 결제 일어나면 결제가 완결되어서 신용카드처럼 강제로 반환될 수 없다. 
분할성: 비트코인은 매우 낮은 단위까지 사용가능. 소액결제에 유용하게 사용가능. 

단점: 가치 변동성(법정화폐에 의존하기 때문에 수시로 가격변동) 
인식부재(대중적으로 인식이 없어서 생태계 확장에 어려움) 
비상용화(보편적으로 사용하기에 불편함 많음) 
관리의 어려움(프라이빗키 잃어버릴 때 복수할 방법이 없다.)
해킹(비트코인 블록체인 자체는 해킹이 안되지만 비트코인 이용한 서비스들은 해킹의 대상이 됨) 
 
암호화폐, 통화 기능을 할 수 있는가?

화폐의 조건과 기능
교환의 매개 수단, 가치의 척도, 가치의 저장 수단 

암호화폐가 법정화폐를 대체할 수 있는가?

몇 국가는 최근에 있다고 함. 중앙에서 정부가 전자화폐로 대체한다고 한다면
가능성이 있다. 

화폐, 디지털화폐, 가상화폐, 사이버상 머니(도토리), 암호화폐(p2p네트워크)

탈중앙 암호화폐와 중앙 법정화폐가 병존하는 전자화폐 세상의 가능성:
와이파이가 LTE와 함께 스마트폰에 병존해 장단점 보완하는 것과 같은

중앙 법정화폐도 암호화 법정화폐로 발급될 가능성

익명성, 투명성, 무결성의 장점 + 저렴한 생산,관리 비용

하이브리드(탈중앙과 중앙을 오가는) 암호화폐의 가능성

전자화폐의 프로그래머블 특성을 이용해 탈중앙과 중앙시스템을 오가는 암호화폐 개발 가능함. 

암호화폐의 미래:
블록체인의 핵심 개념과 원리를 알아야한다. 

블록체인이란? 
분산되고, 독립적이며, 개방된, 공통 데이터베이스 관리 기술

분산: 중앙기관 없이 P2P 정보를 생산,공유,관리
독립: 제 3의 존재에 의존하지 않고 정보를 생산,공유,관리(지마켓, 11번가등 중개 거리인)
개방: 누구나 제한없이 참여해 정보를 생산,공유,관리
공통 데이터베이스: 네트워크에 참여한 모든 개인이 동일한 데이터베이스 공유,관리

비트코인은 블록체인을 활용해 거래내역을 관리하는 애플리케이션 

스마트폰 플랫폼(모바일뱅킹,유튜브) , 블록체인 플랫폼(비트코인 앱, 텔레그램, 핀테크 앱)  

비트코인 = p2p 전자화폐 시스템 

중앙신뢰기관 불필요 = 탈중앙 = 분산 시스템 

사이버 머니는 신뢰성/해킹 가능성/위변조가능성 통제가 어렵다! 비트코인은 다름
현실적으로 불가능하게 만들었다(수학적으로) 

최초의 암호화폐인가? 
비트코인 이전에 디지캐시가 있었다. 

디지캐시랑 비트코인 둘다 익명성, 양도성,재사용방지 특성 공통 

디지캐시: 중앙처리, 비트코인: 분산처리(신뢰할 수 있게 하려고 해시 캐시 p2p 합의 알고리즘) + 확장성, 프로그램 합쳐서 블록체인이라는 플랫폼

1. 해시: 고정길이 출력을 갖는다. 

메시지 -> 해시 함수->일정 길이의 해시(256비트)

SHA 알고리즘 많이 사용.

특징2: 단방향성임(비가역성) 
한방향 계산은 쉽지만 역방향 계산은 어렵다. 
무작위 대입법으로 계산하는 것이 유일한 방법 
출력값을 보고 입력값 알기 어렵다. 

특징3: 눈사태 효과 

입력 데이터 내용이 조금이라도 다르면 출력이 완전히 다르다. 
특징4: 결정적 알고리즘이다. 특정 입력값에 대해 항상 동일한 출력값 반환함. 
서로 다른 입력값이 동일한 출력값이 나오기도 함(충돌 문제)

해시 사용 예: 백신 ex. virus total 

시그니처 기반 탐지, 진단/ 행위 기반 탐지, 진단(안티 바이러스)
가상화 영역 실행, 검증(안티랜섬웨어, 지능지속공격)  

수학적 특징: 역방향 계산 난이도는 조절이 가능함(풀면 채굴과정). 역방향 계산은 어려움! 
해시캐시: 스팸메일 필터로 사용된 기술

메일 송신자: 노력(계산)해야함. 역방향 해시 함수 풀기 
메일 수신자: 송신자가 노력했는지 확인 순식간에 됨(순방향 해시)

해시캐시를 이용한 스팸메일 필터링 원리:

메일을 보낼 때 해시 함수 잘 풀면 스팸메일이 아닌 것으로  

스팸메일 1건 보내는데 "긴 시간"걸리도록 만든다 -> 노력(투자비용)에 비해 효과 감소

일정 시간 걸리도록 어떻게 만들지? 
메일 한통 보내기 위해 수학 문제 풀기

메일 수신자는 송신자의 노력을 검증한 후 메일 수신

송신자: 수학문제 풀기(어려움) = 작업증명
수신자: 메일확인(간단) = 작업증명의 검증

정상 사용자(스패머 아닌 자)는?
메일 보내기 누르고 일정 시간 이후 전송됨. (문제 안됨)
지연시간은 수학문제 난이도로 조절

메일 시스템의 poW(proof of work) 
메일 ㅂ낼 때 수학문제 푸는 노력 했다는 증거 함께 보내도록 함. 
제3자 개입없는 개인대 개인간의 검증 **

proof of work이란? 
블록을 생성할 때마다 적당히 어려운 암호 퍼즐 풀도록 함. 

풀기는 어렵지만 검증이 쉬움(예시: 큐브)

블록체인의 "시계열성"

시계열성: 일정시간간격으로 순차적으로 배열된 특징

편지처럼. 시간을 붙여서 서명(작업증명) 해시값 찾아서 작성 

이전 문서에 해시값이 들어가고, 데이터, 문서 생성된 시간, 작업 증명 

해시값이 이전꺼랑 연결되어있음. 연결된 타임스탬프 형태의 시계열 구조이다. 

이전 문서의 데이터 + 타임스탬프 + 서명이 해시로 다음 문서에 기록

블록 + 체인 

블록: 데이터 + 타임스탬프+이전블록의 해시 + 서명

체인: 블록 간 해시로 연결 

데이터 하나가 달라지면 해시가 달라진다. 

해시로 엮인 블록: 데이터가 일비트라도 다르면 해시 체인이 깨진다. 블록체인의 무결성.

계층적 해시 구조

머클 트리 알고리즘으로 그룹핑해 효율적으로 관리

머클 루트 해시: 데이터 분류해서 해시로 만들어서 해시를 다른 해시로 이진 바이너리 

똑같이 해시값으로 만들어서 최종 해시구조 

어떤 특정 거래 내역의 해시가 문제인지 쉽게 파악할 수 있다. 

블록 = 일정시간 동안 발생한 거래내역의 묶음. 

블록체인: 일정시간동안 발생한 거래내역 해시로 묶어 하나의 블록에 저장. 시계열성 유지해 블록과 블록 해시로 연결한다. 

머클트리해시(거래내역의 해시) 

역방향 해시 특징을: 블록체인을 위해 노력(채굴)했다는 증거로 활용하자!