SlideShare a Scribd company logo
1 of 58
블록체인 기술의 이해
리드포인트시스템
이성복
2019.11
1
블록체인의 역사
(cypherpunk 운동*)
※ 중앙집권화된 국가와 거대 기업들에 대항하여 개인의 프라이버시를 보호하기 위해 암호기술을 이용하여 익명성을 보장하는 탈중앙 시스템을 만드려는 사회운동
(1990년 데이비드 차움의 상업적 암호화폐인 ecash, 1993년 에릭 휴즈의 〈사이퍼펑크 선언〉,
1997년 아담 백의 Hashcash,1998년 닉 자보의 스마트 계약 기반의 암호화폐 bit gold)
(2015.7.30
이더리움 서비스) (ADA, EOS, Steem 등)
(2009.1.3)
2016~2018
2
블록체인의 도입 현황
3
블록체인?
블록체인은 분산되고, 독립적이며, 개방된 공통 장부(원장, ledger) 관리 기술
블록체인(Blockchain)은 네트워크 내의 모든 참여자가
공동으로 거래 정보를 검증/기록/보관함으로써, ‘공인된
제3자’ 없이도 거래 기록의 신뢰성을 확보하는 기술.
거래의 효율성 및 보안성을 획기적으로 제고하는 기술적
방법론을 제공함 <KB
지식비타민>
비트코인은 이 공통 장부를 거래기록 용도로 최초로, 성공적으로 활용한 애플리케이션
4
5
비트코인을 이해하는 것
= 블록체인의 뿌리를 이해하는
것
비트코인을 이해하기
전에 알아야 할 핵심
개념 공개키 보안
 디지털 서명과 검증
 해시 함수
 P2P Network
 합의 알고리즘
 블록과 블록체인(Blockchain)
6
비트코인의 거래 절차와 관련 기술
지갑 만들기 거래 거래 검증배포 거래 종료확인블록 생성
보상금 지급디지털 서명(비밀키/공개키 암호화, 해시함수1*)
블록, 블록체인
블록 암호화(해시함수2*)
P2P 네트워크
채굴(Mining), 합의 알고리즘)
 공개키 = (타인) 돈이 송금될 주소,
(나) 돈 받을 주소
 개인키(비밀키) = 접속, 송금시
비밀번호
 채굴자(Miner) :
채굴 프로그램
설치
= Node, peer
 해시함수 1의 입력값 = 이전 해시값 + 송금자 서명(개인키) + 수신자
공개키
 해시함수 2의 입력값 = 이전 블록 해시값 + 현재 블록의 거래 내역 +
Nounce
 Target값을 이용한 난이도 조절
 채굴의 검증 = “One-CPU, one-vote”
7
공개키 암호화(Public Key Encryption)
di390kdgkw0s
ke9dk38vkalkd
8zndk4293kgi
개인키 :
suZ38&Id
공개키 :
myAddr
o19g7dkbis8s7
bkad6lbkqk309
dk37g
암호화된 원본
1. 받는 사람의 공개키로 암호화
원본
나의 개인공간
공개된 공간
내가
친구에게만
알려주고
싶은 비밀
복원된 원본
원본
복원된 원본
친구의 개인공간
공개키 :
yourAddr
개인키 :
dt538&Id
[공개키 암호화]
친구가 자신의
개인키를 이용하여
원본 복원
내가
친구에게
하는 약속
암호화된 원본
내 공개키를
이용하여 누구든지
원문 복원
내가
친구에게만
알려주고
싶은 비밀
내가
친구에게
하는 약속
친구의 공개키를
이용하여 암호화
내 개인키를
이용하여 암호화
2. 보내는 사람의 개인키로 암호화
 비대칭키 방식의 암호화
 키가 공개키(Public Key)와
개인키(Private Key)의 쌍으로
이루어져 있는 암호화.
① 개인 키(private key) : 비밀로
유지되는 "키"로서 양쪽에 공유되지
않고 한 쪽만 보유
② 공개 키(public key) : 비밀이
아니며 널리 공유
 공개키로 잠근 문서는 개인키로만
열수 있고, 개인키로 잠근 문서는
공개키로만 열 수 있음
 각 개별 키의 작업은 단방향 작업
 원본 데이터 복구 불가능
 양쪽 키에 사용되는 알고리즘은 한
키를 사용하여 쌍의 반대편 키를
판별할 수 없도록 설계  소수
사용
8
디지털 서명과 검증
디지털 서명
• 데이터를 암호화한 후 ‘개인키‘와
함께 한 번 더 암호화
• 인증기관의 인증서와 암호화된
데이터에 원래의 데이터 첨부
• 디지털 서명된 데이터 생성
검증
• 디지털 서명된 데이터를 받아
• 데이터를 해시한 후의 해시값과
암호화된 데이터와 서명의
해시값을 복호화하여 비교
9
해시함수(Hash)
1. 데이터를 원본 길이에 상관없이 일정한
길이의 값으로 변환(fixed length value)
• SHA256 암호 함수를 사용해서 어떤 텍스트도
16진수의 64자리 문자(32비트)로 치환
2. 일방향
• 원본으로 해시를 만드는 것은 쉽지만 반대로
해시로부터 원본을 만들어 내는 것은 불가능
3. 데이터가 바뀌면 해시값은 완전히 달라짐
• 특정한 해시값을 만들어내는 원본을 찾기 위해서는
모든 경우의 수를 반복해서 확인해야 함. (
Brute Force, 일명 단순무식 계산법)
• 보내는사람 : 나
• 받는사람 : 친구
• 금액 : 10,000
원본
원본의 해시값
[해시함수와 해시 값]
1312af178c253f
84028d480a6ad
c1e25e81caa44
c749ec8197619
2e2ec934c64
해시함수로
해시
• 보내는사람 : 나
• 받는사람 : 친구
• 금액 : 10,001
수정된 문서
수정된 문서의
해시값
e9afc424b79e4f
6ab42d99c8115
6d3a17228d6e1
eef4139be78e9
48a9332a7d8
해시함수로
해시
역해시
10
※ 위 같이 원본이 조금만 변형되어도 완전히 다른 요약본이 나오도록
되어 있어서 두 문서의 원본을 대조하지 않고 해시만 대조하여도 두
문서가 같은 지 확인 가능
P2P(Peer-to-peer)?
 peer-to-peer network(동등 계층간 통신망, 同等階層間通信網)
 클라이언트나 서버란 개념 없이, 동등한 계층 노드들(peer nodes)이 서로 클라이언트와 서버 역할을
수행
 노드들은 서로 무작위로 서로 ‘직접’ 연결됨
 P2P 소프트웨어만 설치하면 인터넷에 연결되어 있는 여러가지 형태의 자원(저장 공간, CPU power,
콘텐츠, 연결된 컴퓨터 자체)을 이용 가능
 고정된 ip 주소 없이 '불안정한' 형태로 존재하는 분산된 리소스
예) 당나귀, Torrent 등
Peer-to-peer networkServer based network
11
※ Peer : 인터넷을 통해 서로 연결된 모든
정보 단말기 (개인용 PC, 모바일, 통신이
가능한 가전 제품, 서버 등)
client
server
client
client
client
client
server-client
server-client server-client
server-client
server-client
합의 알고리즘
12
 '합의’ = 서로의 의사를 일치시키는 행위
 이 합의를 통해 대표자가 없어도 의사결정
가능
블록체인에서의 합의
 노드들이 생성한 블록을 모두 체인에 연결할
수 없음
 한번에 하나의 블록만 연결할 수 있기에,
어떤 블록을 연결시켜야 하는지, 누가
연결될 블록을 생성할 채굴 기회를 가지는지
등등 의사결정이 필요
 그래서 선택한 방법이 '합의’
 이 합의를 만들어내는 알고리즘으로
PoW(Proof-of-Work, 작업증명) 선택
블록과 블록체인
블록(block) :
 비트코인 거래를 약 10분 단위로 모은 것으로
채굴이 일어나는 단위(=트랜잭션의 집합)
 내용 : 이전블록의 해시값, 시간, 암호난이도(nBits),
nonce, 10분간의 거래내역 등
블록체인(block chain) :
 현재까지의 블록이 모두 이어진 것으로, 현재까지
일어난 모든 비트코인 거래가 시간순으로 기록된 장부.
 네트워크상의 모두에게 나누어 지는 공개된 공공원장
 모든 거래 기록 보관
13
비트코인?
Cryptocurrency
Payment System
Mining
Open Source
Peer-to-Peer
Decentralized
Distributed
Blockchain
Public Ledger
Mining Pool
Digital Wallet
비트코인의 시작
15
배경
비트코인의 목적
제시한 해법
 거래들의 시간 순서를 전산적으로 입증하게
만들도록 하는 P2P 분산 네트워크 기반
타임스탬프 서버를 이용하여 이중지불 문제를
방지
 이 시스템은 악의적으로 협력하는 노드 그룹보다
정직한 노드들이 더 많은 컴퓨팅 파워를 총체적으로
제어하는 한 안전
 신용보다는 암호화 기술에 기반한 전자지불
시스템을 이용하여 자발적인 두 거래자가 제
3자인 신용기관 없이도 직접적인 거래를
가능하게 함
 전산적으로 번복이 불가능한 거래  가짜 지불로부터
판매자 보호, 애스크로 방식으로 구매자 보호
 현재의 전자상거래는 인터넷 상거래에서 금융기관을
제3자 신용기관으로 하는 전자지불 방식(신용기반 모델)
 거래의 완전 취소 불가능 : 금융기관은 거래상의 분쟁을
중재해야 하고, 이 중재는 거래 수수료를 올리고, 최소
거래액을 제한하고, 회수 불가능한 서비스에도 번복
가능하게 만들어 더 많은 비용 발생  지불 번복을 위해
더 많은 신용을 요구하는 현상 발생
* 에스크로(escrow) : 상거래 시에, 판매자와 구매자의 사이에 신뢰할 수 있는 중립적인 제삼자가 중개하여 금전 또는 물품을 거래를 하도록 하는
것
비트코인의 등장 배경
 2008년글로벌 금융위기에 따른 미국과
세계 경제의 침체
: 리먼브라더스의 파산 , AIG의 미국정부에 의한
국유화 작업 , 월스트리트의 아이콘 메릴린치는
뱅크오브아메리카에 인수 등
 월가는 위기에서 쉽게 헤어났지만 사실상
아무 책임도 없고 누구도 책임지는 주체가
없었다.
 2008.10.31 사토시 나카모토의 논문
비트코인의 정치적 성향
 자유주의(libertarian)
 정부 권한은 최소화, 개인의 정치적 자유는
극대화
 정책적으로는 규제가 완화된 자유방임
시장, 자유 무역주의, 이민 규제 완화 등을
추구
 은행이 신용 공급을 마구 확대할 수 있게
만드는 부분 지급준비제도 등에 반대
비트코인의 구성원(members of bitcoins)
• 자신의 컴퓨팅 파워를
사용하여 블록을 생성
• 생성된 블록 검증비트코인 재단
(Bitcoin Foundation)
비트코인 사용자
(Bitcoin User)
채굴자
(Miner)
채굴 풀
(Mining Pool)
비트코인 커뮤니티
(Bitcoin Community)
• 채굴난이도 증가에 따라 결성된
채굴자들의 협력시스템
• 단체(채굴 풀)을 형성하여 Block
생성 작업 수행
• 비트코인으로 물건을 구매하거나
판매하는 사람
• 비트코인을 전송
• 비트코인의 기술, 비즈니스에
관심있는 사람들
• 비트코인과 관련 산업의 방향성,
기술 등에 대해 토론하고 합의
• 비트코인 프로그램 제작, 전파
• 비트코인을 교육하고 생태계를
구성하는 여건 마련을 위한
비영리기관
16
17
• 2009년부터 10분마다 50개의 비트코인을
발행하는 것으로 시작
• 21만개가 만들어질 때마다(=4년마다) 50개 
25개 12,5개로 반감되어 0으로 수렴
• 2016년 현재 매 10분마다 25개의 비트코인이
발행되고 있음
• 최대 2100만개가 되면 발행이 정지(2040년).
비트코인의 발행
비트코인 사용 단위
13.00000001 btc
Bitcoin(btc) 0.1 btc  1 dBTC
0.01 btc  1 cBTC (Centicoin)
0.001 btc  1 mBTC (Millicoin)
0.000001 btc  1 μBTC (microcoin, bits)
0.00000001 btc  1 satoshi
18
비트코인의 획득 방법
1) 채굴 보상금(reward)
• 블록을 만든 채굴자에게 지급되는 보상금 : Bitcoin Core(비트코인 프로그램)이 채굴자에게
• 새로 만들어지는 비트코인(조폐, Mintage)
• 매 ‘21만 블록(약 4년)’을 기준으로 보상금이 반감 : 2009.1 50 btc  2013말 25 btc  2016.7.10 12.5
btc
• 발행되는 비트코인의 총량이 2,100만개에 이르면 비트코인의 신규발행은 종료(약 2040년 쯤 마무리)
2) 채굴 수수료(transaction fee)
• 블록을 만든 채굴자(miner)에게 지급될 수수료(bitcoin)로 거래자가 제시하는 수수료
3) 비트코인 거래소에서 매매
• 비트코인 거래소에서 (보상금과 수수료의 형태로) 기존에 발행된 비트코인을 현금을 주고 삼
 비트코인을 신규로 생성(발행)하는 방법은 채굴 보상금뿐!
 수수료와 거래소에서의 매매는 기존에 발행된 비트코인을 사용하는 것
19
비트코인은 어떻게 거래되는가?
거래내역을 암호화하고
네트워크상에 뿌린다.
지불내역
데이터(블록)
검증작업이 시작된다.
비트코인 지갑을
만든다.
타 비트코인 소유자와
거래한다.
거래내역이
채굴자들에게
전달된다.
지불내역(=블록)이
정상적임을 확인한다.
최초 성공자에게
보상금(25BTC)가
지급된다.
거래가 종료된다.
A와 B는 각각 1개 이상의
비트코인 지갑을 갖고 있다.
• A의 주소는 A111, B의 주소는
B222
• 지갑의 비트코인 주소마다
개인키가 있다.
A는 100BTC를 주고 B에게서
물건을 산다.
• A는 비트코인 지갑을 열여
‘발신자: A111, 수신자: B222,
지불금액: 100BTC’라고
입력하고 지갑에 저장한다
A의 지갑이 있는 업체는 송금하려는
비트코인 주소의 개인키를 이용해
거래를 승인하고 지불내역 데이터를
공개된 자물쇠와 키를 붙여 암호화하고
네트웍상에 뿌린다.
뿌려진 지불내역은 임의의
비트코인 채굴자들의
소프트웨어(이하 채굴노드)로
전달된다.
채굴노드들의 검증작업대에
A의 지불내역 데이터(=블록)이
등록되고 검증을 위한 복잡한
계산과정이 가동된다
• 채굴자(=채굴노드) X, Y, Z는
지난 10분간의 거래를 새로운
거래 블록으로 통합한다.
• 채굴노드들은 암호 해시 함수
연산을 시작한다.
채굴노드 X가 처음으로 A가 뿌린
지불내역(=블록)이 정상적인
것인지를 확인한다.
가장 먼저 검증에 성공한
X에게는 보상으로 25BTC를
지급한다. 즉, 새로 채굴된 잔액
25BTC가 추가된 새 주소가 X의
지갑에 만들어진다.
• 채굴 보상은 4년마다 ½로
줄어든다.
• A의 지갑 프로그램은 지불을
완료하고 A111 주소에서
100BTC를 뺀다.
• B의 지갑 프로그램은
지불완료된 내역에 따라
자신의 B22 주소에
100BTC를 적립
20
거래 과정
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
비트코인 사이트에서 개인 지갑은 만든다
• 지갑에는 여러 개의 계정(비트코인 주소)를 만들 수 있음
• 각각의 계정에는 일정 액수의 Bitcoin이 함께 연동되어 있고 입출금에 따라 금액은 증감
• 계정을 만들 때 공개키와 함께 만들어진 나머지 비밀키(Private Key)는 지갑 속에 저장되어
있으며, 계정에 접속할 때나 송금할 때 사용하게 됨 (현금 인출에 필요한 비밀번호 기능)
• 비트코인은 지갑 파일의 형태로 저장되며, 이 지갑에는 각각의 고유 주소가 부여되며, 그
주소를 기반으로 비트코인 거래
지불내역 확인하기
보상금 지급하기
거래 종료
 계정을 만들면 계정은
한 쌍의 암호키(공개키
& 비밀키)를 생성
 계정정보가 바로
공개키(Public
Key)이면서 돈이
송금될 주소(address)
 개인키(Private Key)는
전자지갑(Wallet)안에
암호화된 형태로 존재
※ 자세한 설명을
‘[보충설명2]
암호화와 디지털 서명’ 참조
21
거래 과정
타 비트코인 소유자와 거래(송금, 구매 등)을 시작한다
• 송금시에는 여러 개의 계정(비트코인 주소) 중의 하나를 선택하여 송금
• 결제검토(=승인) 요청을 하면 클라이언트 소프트웨어는,
 지갑 속에 있는 비밀키(Private key)로 서명을 하고(=해시 암호화),
 거래 내역을 비트코인 네트워크에 공표 ( 채굴의 대상)
 돈 받을 사람의 공개키(비트코인
주소)를 알아야 함(QR코드로도 인식
가능)
 거래내역 검증에 성공(=채굴)한
채굴자에게 지급되는 25BTC 외로
지급되는 추가 수수료  더 빨리
검증작업이 이루어지게 하는 유인
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
지불내역 확인하기
보상금 지급하기
거래 종료
22
거래 과정
거래 내용은 비트코인 네트워크에 전달되어 블록 단위로 검증된다
• 비트코인 거래가 일어나면 이 거래는 비트코인 네트워크에 참여하는 노드에게 알려짐(
채굴 프로그램)
• 거래를 10분 단위로 기록하고 공식화하는 과정이 비트코인 채굴(mining)  “블록” 단위
※ 자세한 설명은 ‘[보충설명3]
채굴’ 참조
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
지불내역 확인하기
보상금 지급하기
거래 종료
23
거래 과정
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
지불내역 확인하기
보상금 지급하기
거래 종료
채굴 = 작업증명(Proof of Work)
• 사용자들간의 거래를 검증하고 확정하는
절차
• 채굴 = 작업증명 = 새로운 블록
생성/확정 = 새 비트코인 발행
• 10분간의 거래내역을 가지고 생성된
블록(Block) 단위로 진행
채굴의 기술적 목표
• 새로운 블록의 해시값 구하기
• 블록 헤더 안에 있는 난이도 목표(target
value) 보다 낮은 블록 해시값 이 나올 수
있게 하는 임의값(nonce)을 찾는 것
• 정해진 데이터(거래내역 + 이전 블록의
해시값)와 임의값(nonce)을 합친
해시값이 일정한 수 이하인 임의의
nonce 찾기 (SHA-256 해시함수 사용)
해시함수
(SHA-256)
이전블록
해시값
Merkle
hash
Nonce
(32bit)
해시값(16진수의 64자리 문자열)
Target값
과 비교
검증완
료
해시값 첫 부분의
‘0’의 개수보다 많은
‘0’을 가진 해시값
No
(못찾음)
Yes(찾
음)
무작위로
대입
거래내
역
유일하게 바꿀
수 있는 값
24
[참고] 블록 해시를 구하는 과정
25
<출처: http://homoefficio.github.io/2016/01/23/BlockChain-기초-개념/>
거래 과정
합의 = 채굴의 완성
• 채굴자(=노드)들이 합의한다는 것은 해당 블록을 새로운 블록으로 인정하고 블록체인에
추가시킨다는 것
• 합의를 하려면 모든 채굴자들이 동일한 규칙에 따라 블록을 생성하고 검증해야 함(예,
블록의 데이터 구조의 문법, 블록의 크기 -10M, merkle tree의 해시값, 개별 거래의 유효성
등등)
• One-CPU, One-vote
• 다수결의 원칙 : 최초 검증자(채굴자)의 검증 결과를 채굴자들의 과반수가 인정하면
블록으로 인정됨
• 각 노드(채굴자)들이 가지고 있는 블록체인의 복사본들이 항상 같은 상태를 유지하는 것이
아니므로 여러 노드 중에서 작업증명을 가장 많이 시행한 노드의 블록체인을 선택해서
거기에 새로운 블록을 추가
• 합의가 완료되면 거래자의 지불내역은 확정되고, 채굴자는 채굴에 따른 보상을 받음
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
지불내역 확인하기
보상금 지급하기
거래 종료
26
거래 과정
‘거래’ = 블록체인에 기록되는 비트코인 지갑들간의 가치의 이동
보내는 주소의 잔액이 송금한 금액보다 큰 경우, 거스름돈을 돌려주는 방식을 취하기 때문에 받는
주소는 2개. (주소 하나는 보내는 주소와 같음)
실제 송금한
주소(지갑ID)와 나머지
거스름 돈을 받을 내
주소(지갑 ID)로 분기
비트코인 지갑에서 보내는
주소를 선택하고 받는 주소와
금액을 입력
• 받는이 지갑 ID : xxxxxx
• 송금액 : 0.05BTC
• 내 잔액 : 0.0996 BTC
실제 송금한 돈
(0.05 BTC)
다시 내가 받는
거스름돈
(0.0496 BTC)
주소가 같음
거래 시작하기(송금)
거래내역 배포하기
거래내역 받기
지갑 만들기
검증(채굴)하기
지불내역 확인하기
보상금 지급하기
거래 종료
27
거래는 어떻게 기록되는가?
• 각 암호키 소유자들은 그 전까지의 거래 내역에 다음
소유자의 공개키를 덧붙인 뒤에 자신의 비밀키로
암호화하는 디지털 서명을 하고 넘긴다.
• 돈을 받는 사람은 서명 소유자들의 체인과, 서명들을
검증
28
블록은 어떻게 만들어지는가?
 블록의 입력 정보 : ①현 블록의 해시값 + ②현재 거래내역 해시값 + ③Nonce의 세 정보
 블록 생성 조건 : target이라고 불리는 해시 첫 부분의 “0”의 개수보다 많은 0을
가진 해시값을 찾아야 함
 특정조건을 충족시키는, 즉 leading zero 수가 target보다 많은 해시값을 찾게 되면
현블록에 있는 거래가 “정상거래”로 확증되고 다음 블록이 열리며 거래정보가 새 블록에
쌓이기 시작함
000000000000000135c058d5e52a6cd73b834b4e7395897527e8dd55b3236686
00000000000000057784f105ff6177e6272f2fdca72e358fbad0bec7aa0faee4
블록 Hash 0101 블록 Hash 0102 블록 Hash 0103
+
현재 블록의 거래내역
(Transaction)
Nonce
+
+
Nonce
+
+
Nonce
+
현 블록의 해시값
다음 블록의 해시값
현재 블록의 거래내역
(Transaction)
현재 블록의 거래내역
(Transaction)
29
[참고] 블록의 구조
• 블록크기 : 바이트 단위의 블록크기
• 버전 : 데이터구조의 버전. 구조변경 시 필요
• 이전 블록해시 : 블록의 체인구조에서, 이전블록(부모블록)에 대한
해시 참조값.
• 머클루트 : 해당 블록에 포함된 거래로부터 생성된 머클 트리의 루트에
대한 해시이며, 블록에 들어있는 모든 거래의 요약본.
• 타임스탬프 : 블록의 생성시간, 1970.1.1 이후 초단위 시간.
• 난이도 목표 : bit값으로 블록의 작업증명 알고리즘에 대한 난이도 목표.
※ 해싱을 어렵게 만드는 척도로서 블록 한 개를 생성하는데 10분 정도
걸리도록 유도. 만약, 컴퓨팅 파워가 좋아지고 해싱파워(해시를 계산하는
능력)가 증가하여 10분이 걸리지 않으면 난이도를 높여 10분을 유지하도록
조정
• Nounce : 작업증명 알고리즘에 사용되는 카운터(숫자)
• 트랜잭션 카운트 : 포함된 거래의 개수
• 코인베이스 트랜잭션 : 블록 생성 시 발생되는 비트코인(즉, 본 블록을
채굴한 채굴자의 수입)
• 트랜잭션 : 10분 동안 수집한 거래정보.
• 블록 몸체는 각각의 거래내역(tx)과 머클트리(merkle tree)로 이루어짐
※ 머클트리 : 거래 내역의 변조를 막기 위해 거래내역을 해시로 만든 후 다시 이것을 트리
형태로 만든 것
30
채굴 속도(10분)는 어떻게 통제하는가?
31
• 최초 블록의 생성주기는 네트워크 전파 속도와 보안성 등을 이유로 ’10분’으로 채택
만일 2016개의 블록을 생성하는데 2주가 아닌 1주일이 걸렸다면, 목표에 도달하기 위한
필요작업의 50%만으로 이루어진 것이므로, 목표에 도달치 못한 것이다. 따라서 난이도를
2배로 증가시켜서, 기존 1주일의 두 배인 2주가 걸리게 조정하고 목표를 충족시킨다.(또는 이
반대 )
‘난이도(difficulty)’ 조정 :
•매 2016 block 마다 조정 (1block/10분 = 2016blocks/2주)
•new Target = old Target × 최근 2016 block 생성에 걸린 시간 (초)
2주 (초)
0의 자릿수에 따른 난이도
 채굴은 블록 헤더를 반복적으로 해싱해서, 해시 결과값이 특정 목표치와 일치할 때까지(=목표보다 낮아질
때까지) 임의값, 즉 nonce 값을 하나씩 하나씩 바꿔가는 과정
 주어진 요약본의 값이 작으면 작을 수록(앞자리의 0의 수가 많을 수록) 조건을 만족하는 X를 찾는 것이 기하급수적으로
어려워진다.
이 문자열(실제로 해싱되는 값)의 크기가 줄어든다는 것은,
같은 입력값에 대한 요약수준(=추상화 수준)이 더 높아진다는 것을 의미
 난이도는 거래(즉, 채굴시 네트워크상의 노드들이 수행하는
연산)의 양에 따라 해시값의 앞에 붙는 ’0의 개수’를 조절하는
것
0의 개수가 늘어날 수록 뒤의
문자열의 값의 크기(자리수)는
줄어들고,
32
블록은 조작할 수 없는가? - The longest chain wins
. . .
거래B를 포함하여 채굴에 성
공했을 때 만들어지는 블록
경쟁에서 진 블록체인이 다룬 거래B
도 비정상 거래로 간주되어 폐기됨
거래A을 포함하여 채굴에 성공했을 때 만들어지는 블록
블록 n블록 1 블록 2
블록
n+1
블록
n+2
블록
n+3
블록
n+4
블록
n+1
블록
n+2
블록
n+3
중복
사용
1. “가장 길이가 긴 블록체인이 원본” : 길이가 같다면 둘 다 맞는 것이므로 어느 것을 선택해도
무방
2. 먼저 도착하는 거래 내역(블록)을 받아 들임 : A로부터 받은 블록체인이 나중에 B가 가지고
있는 블록체인과 다르다는 것을 알게 되어도 길이가 같다면 B는 무시하고 A를 유지
 자신의 거래 내역을 조작(중복사용)하거나 남의 비트코인을 훔치려면 현재 채굴에 참여하고 있는 컴퓨팅 파워의
과반을 확보해서 빠르게 전파해야 함
 2016.7.10, 총 컴퓨팅파워는 19,583,587.6 PetaFLOPS vs. 세계 최고의 슈퍼컴퓨터인 Tianhe-2(중국)는 33.8
PetaFLOPS
33
다시 한 번 살펴봅니다
34
• 채굴은 10분간의 거래 내역을 모아 새로운 블록을 만드는 것
• 채굴자가 새로운 블록을 만드는데 성공하면 보상금과 거래 수수료를 받음
• 신규 비트코인은 채굴을 통해서 생성됨(채굴 보상금)
• 채굴은 목표 난이도가 제시하는 임의의 해시값을 얻기 위해 nonce를 무작위로 대입하는 과정
• 채굴에 성공했다는 의미는 ‘난이도 목표보다 낮은 해시값을 찾는데 성공‘했다는 것, 즉 작업증명에
성공했다는 것
• 다른 노드(=채굴자)들은 해당 블록에 채굴에 성공한 채굴자가 찾았다는 nonce값을 대입하여 같은 결과가
나오는지를 검증하여 맞으면 그 블록을 거래장부(블록체인)에 추가
합의 알고리즘
 분산환경에서 데이터 동기화
 다수의 참여자들이 통일된 의사결정
 과반수 이상 동의로 트랜잭션이 최종 확정
 Fault-tolerant system
분산 네트워크(Network)를 통한 작업증명 절차
1) 새로운 거래 내역이 모든 노드에 알려진다.
2) 각 노드들은 새로운 거래 내역을 블록에 취합한다.
3) 각 노드들은 그 블록에 대한 작업증명을 찾는 과정을
수행한다.
4) 어떤 노드가 작업증명을 성공적으로 수행했을 때, 모든
노드에게 그 블록을 전송한다.
5) 노드들은 그 블록이 모든 거래가 이전에 쓰이지 않고
유효한 경우에만 승인한다.
6) 노드들은 자신이 승인한 블록의 해시를 이전 해시로
사용하여 다음 블록을 생성하는 과정을 통해 그 블록이
승인되었다는 의사를 나타낸다.
노드들은 항상 가장 긴 체인을 옳은 것으로 간주하며, 그 체인이
계속 확장하도록 작업을 수행한다.
 두 개의 노드가 서로 다른 버전의
다음 블록을 동시에 알리게 될 경우,
각 노드들은 자신이 먼저 받은
블록에 대해 작업을 수행하지만,
체인의 다른 갈래도 저장  체인의
어느 한쪽 갈래가 더 길게 생성되는
작업증명이 알려지면 체인 갈래의
길이는 더 이상 대등하지 않게 되고,
각 노드들은 (저장해 두었던 다른
갈래의) 체인으로 작업을 전환.
 새로운 거래 내역 알림이 꼭 모든
노드에까지 전달될 필요는 없으며,
많은 노드에 전달될수록 더 빨리
블록에 포함됨.
만약 한 노드가 블록을 받지 못했을
경우, 다음 블록을 받고 하나가
빠졌음을 알아차려 다시 요청해
받음.
36
합의 알고리즘?
37
시스템 간의 특정 데이터에 대한 동일한 값을
유지하기 위해 고안된 개념
다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는
알고리즘  원칙적으로 합의 알고리즘에서는 과반수
이상의 노드들이 합의(동의)를 해야 데이터(또는
트랜잭션)가 최종 확정
그렇다면 블록체인에서 왜 합의 알고리즘이 필요?
블록체인은 수 많은 노드가 P2P 네트워크로 연결되어
트랜잭션을 처리하고 기록하는 ‘분산 원장 시스템’
해당 시스템 내의 모든 분산 원장에는 동일한 거래 기록
내용을 공유
모든 노드가 동일한 하나의 체인을 가질 수 있도록 특정
메커니즘에 의하여 블록이 생성 및 연결되게 하는 것이 바로
‘합의 알고리즘’  ‘이중지불’의 방지
<이중지불의 문제>
하나의 지폐로 여러 번 결제하는 것
현재 A의 계좌에는 1,000원이 있는데 A가 B와
C에게 각각 1,000원씩 이체하려고 시도
현실 세계에서 이런 일은 불가능한데, 왜냐하면
은행 시스템이 A의 계좌를 추적 및 관리하고 있기
때문에 바로 차단
온라인 네트워크 상에서 이중지불은 가능
동일한 기기 내에서는 불가능하지만 물리적으로
멀리 떨어진 두 개의 지점에서는 동시에 접속하여
보내는 일은 가능
A의 지갑에서 한국에서는 B에게 1,000원을
보내고 미국에서는 C에게 1,000원을 보낼 수
있다.
그러나 블록체인 네트워크에서는 '합의
알고리즘'에 의하여 이중지불이 거절. 왜냐하면
이중지불이 되었다고 하더라도 모든 노드들은
동일한 내용의 분산 원장을 공유하고 있기 때문에
언젠가는 특정 시점에서 충돌이 발생하게 되고
결과적으로 두 거래 중 하나는 거부
그런데,
이 노드들을 어떻게
믿지?
비잔틴 장군의 딜레마
비잔틴 장군 딜레마 = ‘신뢰’의 문제
비트코인은 "Byzantine Generals" 문제 해
결을 위해 세 가지 아이디어를 결합함
① 채굴에 따른 인센티브 제공
 25 BTC 지급
② 게임 (혹은 도박) 요소 추가
 승자 한 사람에게만 지급
③ proof-of-work
 약 10분 마다 문제를 풀어 현 블록
에 담긴 거래 내역을 암호화하고 그
해시값을 다음 블록으로 전달하는 과
정을 계속적으로 반복
• 램포트, 쇼스탁, 피스가 공저한 1982년 논문
• 비잔틴 시대에 여러 나라의 장군들이 적을 공격하기 위해 출병
• 적은 충분히 강해서 ½ 이상의 병력이 동시 출병해야 공격 성공
• 장군들은 “연락병‟을 통해서만 1:1로 정보를 교류할 수 있음 (한
자리에 모여서 의사 결정할 수 없는 상황, P2P 분산 네트워크
상황)
• 장군들 중 “배신자‟는 거짓 정보를 유포하고 아군을 위태롭게
함
• 문제는 공격시간을 “합의‟하여 출격해야 하는데 시스템은 없음
 이 상황에서 어떻게 공격 시간에 대한 합의를 만들 수 있을까? 39
PoW(Proof-of-Work)
• 비트코인에서는 PoW = 채굴
• 보상을 받기 위한 경제행위
모든 장군들이 해답을 만들어 내고 해답 수준이
일정 이상인 답이 발견되면 인정됩니다.
이렇게 하면 동시에 해답이 나올 수 있는데,
같은 문제에 해답이 두개 이상 나오면 더 높은
수준의 해답을 인정해줍니다.
이렇게 해답의 연결이 진행되다 보면 6번째 전
해답은 문제를 모든 장군들이 같은 답을
인정하게 됩니다. 변절자가 틀린 정보를 적는다
해도 장군들끼리 가장 높은 수준의 해답을 주고
받기 때문에 결국은 올바른 해답이 인정되게
되는 것입니다.
PoW는 이처럼 일정 수준 이상의 해답을 구하고,
이 해답이 모두의 합의를 받은 것으로 인정.
• 해답 = 블록
• 해답 수준 = 블록 해시 난이도 값
• 인정 = 블록 생성 = 보상
하지만 블록체인의 PoW 문제를 풀기 위해선
일정 수준 이상의 해답을 찾아야 하므로 해답을
계속 구하기 위해 많은 양의 에너지와 고성능
컴퓨터가 필요
또한, 모두가 블록을 생성할 수 있으므로 전체
네트워크에 최신 블록이 전파되어야 합의가
정상적으로 이루어지기 때문에 블록 생성
주기가 길어 처리 속도도 매우 느림
40
PoW의 한계를 극복하기 위한 합의 알고리즘들…
합의 방식
PoW
(Proof-of-Work)
PoS
(Proof-of-Stake)
목표값 이하의 해시를 찾는 과정을
무수히 반복함으로써 해당 작업에
참여했음을 증명하는 방식의
알고리즘(비트코인)
암호화폐를 보유하고 있는
지분율에 비례하여 의사결정
권한을 주는 방식
채굴 과정이 필요 없음(이더리움)
BFT
(Byzantine Fault
Tolerance)
PBFT
(Practical BFT)
비잔틴 장애 허용의 동기식 시스템에서만 구현되어 느린
문제점을 해결한 것으로 (n-1)/3개 이하의 노드가 악의적인
노드라면 분산된 네트워크를 보호 (네오, 질리카, 하이퍼레저, R3,
ICT, 텐더민트 )
DPoS
(Delegated PoS)
암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을
행사하여 자신의 대표자를 선정하고, 이 대표자들끼리 합의하여
의사결정을 내리는 방식(이오스, 스팀, 리스크, 보스코인 등)
하이퍼 DPoS
(Hyper-DPoS)
일정한 시간 안에 빠르게 반응하고 응답할 수 있는 노드만을 선택하여
합의 과정에 참여시키는 합의 알고리즘(모파스)
RAFT 클라이언트의 요청을 하나의 리더 노드가 처리하여 로그를
업데이트하고, 이 로그가 다른 노드(리플리카)에도 반영되도록
하는 알고리즘
GHOST
고아블록을 메인 체인에 포함시키는 알고리즘으로 메인체인은
가장 긴 체인이 아니라 가장 무거운 체인 (메인체인 = 자식체인
+ 고아체인)
악의적인 노드가 네트워크를
장악하는 것을 방지하는
블록체인 합의 알고리즘의
기본 PoW에서 51%의 해시파워를 가지는 비용 = 약 2,500억원
PoS에서 전 세계 자산의 51%를 보유하는 비용 = 약
25조원
41
스마트 컨트랙트
 ‘조건’과 ‘실행’을 위한 블록체인 코드
 블록체인에 기록  모든 노드 확인
 중개자없이 계약 당사자들끼리 자동으로 거래할 수
있도록 하는 블록체인 프로그램 실행 코드
스마트 컨트랙트?
43
 스마트 컨트랙트는 Nick Szabo가 1994년 최초 제안한 개념
‘스스로 이행이 되는 자동화된 약정 (Automated Self-Enforced Agreements)’
 디지털 명령어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행.
<사례>
부동산 계약은 보통 집을 파는 매도자, 집을
구매하는 매수자, 그리고 중간에서 계약을
성사시켜주고 관리해주는 중개자로
구성되어 있습니다. 정해진 날짜에 계약을
하고 계약금을 걸고, 정해진 날짜에 중도금,
잔금 등을 치르면서 집 문서를 거래합니다.
스마트 컨트랙트도 비슷합니다. 부동산
거래에서는 보통 부동산 중개업자를
포함해서 계약을 진행하지만, 스마트
컨트랙트는 중개인 없이 자동으로 거래를
성사시켜줍니다.
블록체인과 스마트 컨트랙트
44
• Contract Code : 비트코인의 스마트 컨트랙트
• 스마트 컨트랙트 : 이더리움의 스마트 컨트랙트
• Chaincode: 하이퍼레저(Hyperledger) 스마트 컨트랙트
블록체인 = 디지털 데이터를 신뢰할 수 있게 만들어 주는 기술
다수의 노드가 같은 데이터를 공유하고 검증하는 방식을 통해 디지털상에 신뢰관계 형성
블록체인 스마트컨트랙트?
• 블록체인 기술을 기반으로 계약 조건을 코딩하고, 조건에 부합하면 계약 내용이 자동으로 실행되는 프
로토콜
• 스마트 컨트랙트는 블록헤더의 데이타뿐만 아니라 특정 값이나 발신자 및 수신되는 메시지의 데이타를
조작하는 등 이더리움의 상태변화와 데이타 저장등이 가능한 프로그램 코드
• 디지털로 된 계약서는 조건에 따른 계약 결과가 명확하고, 계약 내용을 즉각 이행.
• 2013년 비탈릭 부테린(Vitalik Buterin)에 의해 이더리움 블록체인에 접목됐고, 이로써 위변조 방지가 필
요한 각종 계약서 작성 등에 활용
• 기존의 비트코인을 '블록체인 1.0'이라고 부르고, 스마트 계약 기능을 구현한 이더리움을 '블록체인 2.0'
스마트 컨트랙트의 부흥, 이더리움
45
 스마트 컨트랙트의 개념을 이더리움에서는
더욱 발전시켜 다양한 형태의 응용
컨트랙트를 개발할수 있도록 발전시켰으며,
이를 통해 이더리움은 단순한 암호화폐를
벗어나 다양한 분야에 적용할수 있는 블록체인
컴퓨팅 플랫폼으로 발전
 새로운 스마트 컨트랙트를
생성하거나, 특정 스마트 컨트랙트상의
함수를 실행하거나, 이더를 전송하는
방식중의 하나로 실행됨
 사용자 어카운트(EOA)에 의해서 발생한
트랜잭션이나 다른 컨트랙트에 의해서만 실행
 이후 다양한 서비스를 지원하는 스마트
컨트랙트의 개발
• Solidity
• 이더리움의 스마트 컨트랙트 프로그래밍 언어
• solidity 언어로 프로그래밍된 스마트 컨트랙트는 컴파일러(solc)에
의해 바이트 코드로 컴파일
• 컴파일된 바이트코드는 블록에 포함되어, EVM(Ethereum Virtual
Machine)에 의해 실행
• EVM(Ethereum Virtual Machine) : 이더리움 스마트 컨트랙트의 바이트
코드를 실행하는 32바이트 스택 기반의 실행환경, 스택의 최대 크기는
1024
• 노드 : EVM을 포함하고 있으며, EVM을 통해 바이트 코드를 OP코드로
변환하고 스택기반으로 각각의 OP코드를 실행
블록체인
 모든 거래 기록을 보관한다.
 분산된 참여자는 거래원장을 공유한다.
 (다수결을 통해) 거래 내역의 정당성을 검증한다.
블록체인의 구성요소
47
블록체인의 특성
48
사회적 특성과 의미
1.신뢰성 : 동일한 트랜잭션은 동일한 프로세스에 따라 다수에 의해 검증/결정되어 참여자 모두에게 (블록으로) 공유되므로 결과를
신뢰
2.무결성 : 블록체인에 기록된(승인된) 기록을 삭제하거나 조작할 수 없음. 하나의 노드에서 기록을 위변조하더라도 다른 노드의
승인을 받을 수 없으므로 위변조된 기록이 효과를 발휘할 수 없음
3.투명성 (Transparent) : 해당 블록체인 네트워크에 참여하는 참여자는 모든 거래 기록에 공개적 접근 가능
4.확장성(Scalable) : 서로 다른 시스템을 보유한 참여자도 공개된 소스에 의해 쉽게 구축·연결·확장 가능(소프트웨어 기반
기술이므로 원칙적으로는 하드웨어에 따른 참여 제약 없음)
기술적으로는 다음과 같은 특성
1.가용성 : 특정 노드가 서비스 불가하더라도 다른 수 많은 노드들에 의해 블록체인이 유지
2.보안성 (Secure) :정보(원장)를 모든 참여자가 공동으로 소유하므로 해킹 불가능(과반 이상의 원장을 소유할 수 있는 노드(파워)를
갖춰야 함)
3.탈중개성 (P2P-based) : 공인된 제3자의 공증 없이 개인 간 거래 가능
4.신속성 (Instantaneous) : 거래의 승인과 승인기록은 다수의 참여에 의해 자동 실행. 즉, 참여자들이 보유하고 있는 원장에 동시에
기록
블록체인의 종류
49
1. Public blockchain
• 누구나 열람/송금이 가능한 공개된 형태의 블록체인
• 채굴(proof-of-work) 과정을 통해 거래의 정당성을 인증
• 개인 또는 중앙기관의 영향을 받지 않는 탈중앙화, 분권화된 시스템
2. Consortium blockchain
• 미리 선정된 노드에 의해서 통제되는 반 중앙형 블록체인
• N개의 금융기관이 노드를 한 개씩 운영하고 각 기관의 노드 간 동의가 일어나야 거래가 생성
• 블록체인 기록열람 권리를 참여자(예, 금융기관)에게만 제공하거나 API를 통해 특정 인원에게만
공개할 수도 있음
3. Private blockchain
• 완전히 개인화된 블록체인
• 한 중앙기관이 모든 권한을 가지며 네트워크에 참여하기 위해선 그 중앙기관의 허락이 필요
기준 : 누가 네트워크 그리고 합의 과정에 참여할 수 있으며, 분산된 장부를 보관하는가
프라이빗 블록체인
50
 permissioned 블록체인 혹은 허가형(폐쇄형) 블록체인
 권위있는 조직의 승인으로 미리 참가자를 제한하고 신뢰할 수
있는 참가자끼리 거래를 승인
 합의 알고리즘의 의미 축소, 네트워크 운영에 참여한 보상
없음
 정보의 외부 유출을 원치 않고 처리 속도를 중요시하는 기업을
중심으로 개발
 암호화폐 발행은 선택사항  참여자들이 컴퓨터 운영 비용을
분담(암호화폐를 외부의 암호화폐 거래소에 판매하기 어렵기
때문에 사실상 내부 정산이나 서비스 이용 등의 목적으로
제한적으로만 사용)
 노드별로 권한을 다르게 설정 : 거래 검증 노드, 블록 생성 노드,
블록 검증 노드 등
 완전한 프라이빗 블록체인 : 하나의 기관 또는 기업 아래서
사용되는 블록체인. 중앙이 힘을 가지고 있고, 그저 분산된
데이터베이스만 갖는 구조로, 전통의 시스템에 블록체인의
보안 검증 성의 특징만 가져오는 구조
The Blockchain Application Stack
오버레이 네트워크(Overlay network)
• 물리 네트워크 위에 성립되는 가상의 컴퓨터 네트워크
• 오버레이 네트워크 안의 노드는 가상, 논리 링크로 연결될 수 있으며,
각 링크는 네트워크 안에서 많은 물리적 링크를 통하지만 물리적
링크를 고려하지는 않는다.
• P2P 네트워크
분권화된 프로토콜(Decentralized protocol)
• 인터넷이라는 신뢰할 수 없는 공간에서 서로 모르는 사용자들이
‘협업’과 ‘협조’를 할 수 있는 프로토콜
• 그 누구도 그걸 소유하지 않기 때문에 분권화된(decentralized)
프로토콜이라 부름
51
블록체인의 장점
52
1. 고도의 보안성과
안전성
2.비용의 획기적 절감
3.신속한 거래 처리
4.익명성과 투명성
① 개도국 금융시장 형성
② 전통 금융회사의 중간자 기능 축소
③ 거래 가능한 자산의 폭발적 확대
④ 개도국의 자산기록 개선
⑤ 거래의 투명성 증대
⑥ 스마트 계약과 법률서비스의 혁신
등등등
어떨 때 사용하면 좋은가?
53
어디에 활용할 수 있는가?
54<출처: 2016.7, Earnst & Young>
다양한 산업의 잠재적 블록체인 적용 시나리오
적용분야 활용 방안
금융서비스 • 주식, 채권, 예금증서, 기업어음 등의 금융수단의 빠른 결제 처리와 낮은 거래 비용  효율적 서비스 제공
• 시장 내에서 발생하는 자연적인 행위들에 직접적으로 임베딩됨으로써 그 자체로 작동하는 금융시장
블록체인 금융과 결합한
자동차 생태계
• 자동차 산업생태계의 모든 것이 담긴 기록을 호스팅  소유권, 금융, 등록, 보험과 서비스 거래 등을 모두
추적
• 무인자동차 제조업체 : 택시 운송 사업자들에게 차량을 공급한 후, 탑승객이 요금을 지불할 때마다
파이낸싱이 임베딩된 블록체인의 스마트 계약을 통해 제조업체와 수익을 분배할 수 있음
• 제조업체 : 소비자에게 차량을 판매할 필요가 없으며, 자신들의 상품에 의해 수행되는 모든 거래에서
나오는 분배금으로 현금흐름을 확보할 수 있어 은행금융도 필요없게 됨
의료정보 생태계 • 전체 의료정보의 생태계가 보험사, 의료기관, 환자를 연결하는 블록체인의 형태로 이루어질 수 있음
디지털 저작권 보호 • 음악 파일의 사용기록을 공공 블록체인에 기록
• 음악 관련 데이터와 이용조건을 관리할 수 있으며, 로열티는 스마트 계약을 통해 실시간으로 분배
저가 자산을 위한 새로운
신용 시장
• 거래비용으로 인해 대출할 때 담보로 사용할 수 있는 자산에 대해서는 실질적인 하한선이 설정되어 있음
• 블록체인은 거래비용의 상당 부분 제거  저가 자산을 기반으로 한 새로운 등급의 대출 현실화
성과기반 과금 • 스마트 계약을 활용해 성과에 따른 지급계약을 실행(예, 배달 피자가 30분 안에 도착하지 않으면 무료
또는 할인)
과세 • 실시간으로 기록되는 디지털 거래의 세계에서 불법거래를 은폐하기 어려움
산업 매시업(mash-ups) • 기업은 자신의 고유 비즈니스 목적을 위해 자산과 역량을 지속적으로 사용하는 것에 영향을 미치지
않으면서 상대방이 가진 자산과 기능을 활용하여 새로운 비즈니스 가치를 창출
산업용 IoP • 블록체인 기술을 통해 산업 매시업과 IoT가 융합  기업 소유의 고가의 산업용 자산 활용도 높임
• 운송 컨테이너, MRI 장비, 건설 장비 등을 실시간 디지털 장터로 연결함으로써 유휴 장비를 기업간에 거래
해외 공공기관의 활용 사례
55
영국
• 공공서비스 분야(토지, 주택, 차량, 특허관리, 선거 투표 등)에
블록체인 적용을 위한 연구 진행
• 2017.3 연금지급 관리 체계에 블록체인 적용 테스트 완료
• 은행간의 정산시스템에 블록체인 기술 적용 발표(2017.4)
아랍에미레이트
• 2016.4 글로벌 블록체인협의회 구성(정부기관, UAE은행,
글로벌 기업 등) - 관광, 상속, 재산이전, 다이아몬드 확인, 교역,
건강기록, 디지털 금융거래 등 7개 분야 블록체인 파일럿
프로젝트 진행
• 2020년까지 모든 정부문서를 블록체인 시스템으로 운영계획
발표
• IBM 협약을 통해 블록체인 기반의 무역거래시스템 구축 착수
중국
• 2016.9 사회보장시스템에 블록체인 기술 적용 발표 (중국의
사회보장 기금은 2015년 기준 335조원)
• 중국우편저축은행, 자산관리 사업에 블록체인 기술 적용
발표(2017.1)
• 블록체인 기반의 부동산 담보대출 시스템 개발 발표(2016.10)
우크라이나
• 국가투표시스템에 이더리움 기반의 블록체인투표 시스템(E-
Vox) 개발  모든 온/오프 투표시스템을 통합
• 블록체인 기반의 경매시스템(정부소유의 자산 경매 시 사용)
• 블록체인 기반의 전자화폐 개발 프로젝트 진행 중
미국
• 증권거래위원회, 기업이 블록체인 기반으로 주식 발행 허용
• 델라웨어주, 국가기록물 보관소의 기록물 관리를 블록체인
허용
에스토니아
• 디지털 영주권 제도 운영 - 해외 투자유치에 활용
• 블록체인 기반의 전자투표시스템 도입
• 주주투표시스템
스웨덴
• 2017.3 블록체인 기반의 토지대장 및 관리시스템 개발 완료
 스마트 컨트랙트 기반으로 토지거래의 효율성과 신뢰성
확보
싱가포르
• 은행 간 거래의 신뢰성 확보를 위해 블록체인 기반의 결재관리
시스템 구축 프로젝트 착수(2016.11) --> 중복 송장 발급 방지
온두라스, 가나
• 블록체인 기반의 토지자산 정보 관리체계 구축(2015.5)
그루지아
• 블록체인 기반의 부동산 등기부 등본 관리체계 구축(2016.4)
러시아
• 모스크바 지방정부, 부정투표 방지를 위한 블록체인 기반의
투표시스템 개발 프로젝트 착수(2016.8)
• 연방반독점청, 블록체인 기반의 문서관리시스템 구축 착수
블록체인 도입을 위한 의사결정 모델
출처: <https://medium.com/@sbmeunier/when-do-you-need-blockchain-decision-models-a5c40e7c9ba1>
56
감사합니다
참고 자료
Bitcoin Developer Guide Documentation
https://bitcoin.org/en/developer-guide#block-chain
비트코인 블록체인 개론
http://www.mobiinside.com/kr/2017/11/07/bitcoinblockchain101/
알기 쉽게 이해하는 비트코인
http://www.leejungmin.org/post/2017/05/30/mastering-bitcoin/
비트코인 기술이론 정리
http://codens.info/m/562
We use coins
https://www.weusecoins.com/
BlockChain 기초 개념
http://homoefficio.github.io/2016/01/23/BlockChain-기초-개념/
블록체인, 이상과 현실 어디쯤 와 있나 (김열매, 한화투자증권)
58

More Related Content

What's hot

Exploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsExploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsAmazon Web Services
 
Blockchain basics
Blockchain basicsBlockchain basics
Blockchain basicsRomit Bose
 
Blockchain Finance
Blockchain FinanceBlockchain Finance
Blockchain Financermsams
 
Token Engineering from an Economic Perspective
Token Engineering from an Economic Perspective Token Engineering from an Economic Perspective
Token Engineering from an Economic Perspective Token Engineering
 
What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?Evernym
 
Understanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger TechnologyUnderstanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger TechnologySuraj Kumar Jana
 
Types of blockchain
Types of blockchainTypes of blockchain
Types of blockchainDarwin Labs
 
Digital euro - Considerations & Questions (v2)
Digital euro - Considerations & Questions (v2)Digital euro - Considerations & Questions (v2)
Digital euro - Considerations & Questions (v2)Dirk Braun
 
Blockchain ecosystem and evolution
Blockchain ecosystem and evolutionBlockchain ecosystem and evolution
Blockchain ecosystem and evolutionChandra Sekhar AKNR
 
Hyperledger Indy tutorial
Hyperledger Indy tutorialHyperledger Indy tutorial
Hyperledger Indy tutorialssuser3993f3
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Edureka!
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts101 Blockchains
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology Niuversity
 

What's hot (20)

Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
BLOCKCHAIN
BLOCKCHAINBLOCKCHAIN
BLOCKCHAIN
 
Exploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsExploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging Trends
 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
 
Blockchain basics
Blockchain basicsBlockchain basics
Blockchain basics
 
Blockchain Finance
Blockchain FinanceBlockchain Finance
Blockchain Finance
 
Token Engineering from an Economic Perspective
Token Engineering from an Economic Perspective Token Engineering from an Economic Perspective
Token Engineering from an Economic Perspective
 
Introduction; Blockchain 101
Introduction; Blockchain 101Introduction; Blockchain 101
Introduction; Blockchain 101
 
What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?
 
Understanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger TechnologyUnderstanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger Technology
 
Types of blockchain
Types of blockchainTypes of blockchain
Types of blockchain
 
Digital euro - Considerations & Questions (v2)
Digital euro - Considerations & Questions (v2)Digital euro - Considerations & Questions (v2)
Digital euro - Considerations & Questions (v2)
 
Blockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for DummiesBlockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for Dummies
 
Unlocking Blockchain’s Potential
Unlocking Blockchain’s PotentialUnlocking Blockchain’s Potential
Unlocking Blockchain’s Potential
 
Blockchain ecosystem and evolution
Blockchain ecosystem and evolutionBlockchain ecosystem and evolution
Blockchain ecosystem and evolution
 
Presentation on bitcoin
Presentation on bitcoinPresentation on bitcoin
Presentation on bitcoin
 
Hyperledger Indy tutorial
Hyperledger Indy tutorialHyperledger Indy tutorial
Hyperledger Indy tutorial
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology
 

Similar to 비트코인으로 이해하는 블록체인 기술

비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.Sung Wan Yoon
 
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론Minwoo Kim
 
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)경록 박
 
비트코인 채굴과정
비트코인 채굴과정비트코인 채굴과정
비트코인 채굴과정Seong-Bok Lee
 
Mastering bitcoin chap1
Mastering bitcoin chap1Mastering bitcoin chap1
Mastering bitcoin chap1제호 송
 
How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리SeokWon Kim
 
About the Blockchain_imcloud
About the Blockchain_imcloudAbout the Blockchain_imcloud
About the Blockchain_imcloudimcloud
 
비트코인 개인간 전자화폐시스템 요약 설명
비트코인 개인간 전자화폐시스템 요약 설명비트코인 개인간 전자화폐시스템 요약 설명
비트코인 개인간 전자화폐시스템 요약 설명Seong-Bok Lee
 
Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Jong-Ki Lee
 
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해용진 최
 
블록체인 개요
블록체인 개요블록체인 개요
블록체인 개요Jeff Paik
 
Bitcoin Basics Part3
Bitcoin Basics Part3Bitcoin Basics Part3
Bitcoin Basics Part3Soobok Jin
 
블록체인과 암호화폐 그리고 악성코드
블록체인과 암호화폐 그리고 악성코드블록체인과 암호화폐 그리고 악성코드
블록체인과 암호화폐 그리고 악성코드Jeong-woo Park
 
블록 체인 기술 원리, 이용 현황, 전망과 활용 분야.
블록 체인 기술 원리,  이용 현황, 전망과 활용 분야. 블록 체인 기술 원리,  이용 현황, 전망과 활용 분야.
블록 체인 기술 원리, 이용 현황, 전망과 활용 분야. JaeGon Lim
 
Blockchain trends and research
Blockchain trends and researchBlockchain trends and research
Blockchain trends and researchJongseok Choi
 
Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)Wooseung Kim
 
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)doo rip choi
 

Similar to 비트코인으로 이해하는 블록체인 기술 (20)

비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.
 
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론
Blockchain Basic Concept Theory (Beginner Version) / 초보자를 위한 블록체인 기초 개념 이론
 
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)
 
비트코인 채굴과정
비트코인 채굴과정비트코인 채굴과정
비트코인 채굴과정
 
Mastering bitcoin chap1
Mastering bitcoin chap1Mastering bitcoin chap1
Mastering bitcoin chap1
 
How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리
 
About the Blockchain_imcloud
About the Blockchain_imcloudAbout the Blockchain_imcloud
About the Blockchain_imcloud
 
비트코인 개인간 전자화폐시스템 요약 설명
비트코인 개인간 전자화폐시스템 요약 설명비트코인 개인간 전자화폐시스템 요약 설명
비트코인 개인간 전자화폐시스템 요약 설명
 
Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Introblockchaininfra 180806105137
Introblockchaininfra 180806105137
 
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
 
블록체인 개요
블록체인 개요블록체인 개요
블록체인 개요
 
Bitcoin Basics Part3
Bitcoin Basics Part3Bitcoin Basics Part3
Bitcoin Basics Part3
 
블록체인과 암호화폐 그리고 악성코드
블록체인과 암호화폐 그리고 악성코드블록체인과 암호화폐 그리고 악성코드
블록체인과 암호화폐 그리고 악성코드
 
블록체인
블록체인블록체인
블록체인
 
블록체인
블록체인블록체인
블록체인
 
블록 체인 기술 원리, 이용 현황, 전망과 활용 분야.
블록 체인 기술 원리,  이용 현황, 전망과 활용 분야. 블록 체인 기술 원리,  이용 현황, 전망과 활용 분야.
블록 체인 기술 원리, 이용 현황, 전망과 활용 분야.
 
Blockchain trends and research
Blockchain trends and researchBlockchain trends and research
Blockchain trends and research
 
Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
 

More from Seong-Bok Lee

소화설비_수원과 소화약제량.pdf
소화설비_수원과 소화약제량.pdf소화설비_수원과 소화약제량.pdf
소화설비_수원과 소화약제량.pdfSeong-Bok Lee
 
소화설비_작동순서.pdf
소화설비_작동순서.pdf소화설비_작동순서.pdf
소화설비_작동순서.pdfSeong-Bok Lee
 
소화설비_계통도.pdf
소화설비_계통도.pdf소화설비_계통도.pdf
소화설비_계통도.pdfSeong-Bok Lee
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptxSeong-Bok Lee
 
CBD 개발방법론.pptx
CBD 개발방법론.pptxCBD 개발방법론.pptx
CBD 개발방법론.pptxSeong-Bok Lee
 
Mapping 절차와 방법.pptx
Mapping 절차와 방법.pptxMapping 절차와 방법.pptx
Mapping 절차와 방법.pptxSeong-Bok Lee
 
To-Be 설계 절차와 방법.pptx
To-Be 설계 절차와 방법.pptxTo-Be 설계 절차와 방법.pptx
To-Be 설계 절차와 방법.pptxSeong-Bok Lee
 
As-Is 분석 절차와 방법.pptx
As-Is 분석 절차와 방법.pptxAs-Is 분석 절차와 방법.pptx
As-Is 분석 절차와 방법.pptxSeong-Bok Lee
 
ERP프로젝트 중요산출물 ERD.pptx
ERP프로젝트 중요산출물 ERD.pptxERP프로젝트 중요산출물 ERD.pptx
ERP프로젝트 중요산출물 ERD.pptxSeong-Bok Lee
 
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxSeong-Bok Lee
 
금융It시스템의 이해 2편
금융It시스템의 이해 2편금융It시스템의 이해 2편
금융It시스템의 이해 2편Seong-Bok Lee
 
금융It시스템의 이해 1편 202201
금융It시스템의 이해 1편 202201금융It시스템의 이해 1편 202201
금융It시스템의 이해 1편 202201Seong-Bok Lee
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델Seong-Bok Lee
 
통계 기초 용어1
통계 기초 용어1통계 기초 용어1
통계 기초 용어1Seong-Bok Lee
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 
Cloud migration pattern[한글]
Cloud migration pattern[한글]Cloud migration pattern[한글]
Cloud migration pattern[한글]Seong-Bok Lee
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 

More from Seong-Bok Lee (17)

소화설비_수원과 소화약제량.pdf
소화설비_수원과 소화약제량.pdf소화설비_수원과 소화약제량.pdf
소화설비_수원과 소화약제량.pdf
 
소화설비_작동순서.pdf
소화설비_작동순서.pdf소화설비_작동순서.pdf
소화설비_작동순서.pdf
 
소화설비_계통도.pdf
소화설비_계통도.pdf소화설비_계통도.pdf
소화설비_계통도.pdf
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx
 
CBD 개발방법론.pptx
CBD 개발방법론.pptxCBD 개발방법론.pptx
CBD 개발방법론.pptx
 
Mapping 절차와 방법.pptx
Mapping 절차와 방법.pptxMapping 절차와 방법.pptx
Mapping 절차와 방법.pptx
 
To-Be 설계 절차와 방법.pptx
To-Be 설계 절차와 방법.pptxTo-Be 설계 절차와 방법.pptx
To-Be 설계 절차와 방법.pptx
 
As-Is 분석 절차와 방법.pptx
As-Is 분석 절차와 방법.pptxAs-Is 분석 절차와 방법.pptx
As-Is 분석 절차와 방법.pptx
 
ERP프로젝트 중요산출물 ERD.pptx
ERP프로젝트 중요산출물 ERD.pptxERP프로젝트 중요산출물 ERD.pptx
ERP프로젝트 중요산출물 ERD.pptx
 
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
 
금융It시스템의 이해 2편
금융It시스템의 이해 2편금융It시스템의 이해 2편
금융It시스템의 이해 2편
 
금융It시스템의 이해 1편 202201
금융It시스템의 이해 1편 202201금융It시스템의 이해 1편 202201
금융It시스템의 이해 1편 202201
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델
 
통계 기초 용어1
통계 기초 용어1통계 기초 용어1
통계 기초 용어1
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
Cloud migration pattern[한글]
Cloud migration pattern[한글]Cloud migration pattern[한글]
Cloud migration pattern[한글]
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
 

비트코인으로 이해하는 블록체인 기술

  • 2. 블록체인의 역사 (cypherpunk 운동*) ※ 중앙집권화된 국가와 거대 기업들에 대항하여 개인의 프라이버시를 보호하기 위해 암호기술을 이용하여 익명성을 보장하는 탈중앙 시스템을 만드려는 사회운동 (1990년 데이비드 차움의 상업적 암호화폐인 ecash, 1993년 에릭 휴즈의 〈사이퍼펑크 선언〉, 1997년 아담 백의 Hashcash,1998년 닉 자보의 스마트 계약 기반의 암호화폐 bit gold) (2015.7.30 이더리움 서비스) (ADA, EOS, Steem 등) (2009.1.3) 2016~2018 2
  • 4. 블록체인? 블록체인은 분산되고, 독립적이며, 개방된 공통 장부(원장, ledger) 관리 기술 블록체인(Blockchain)은 네트워크 내의 모든 참여자가 공동으로 거래 정보를 검증/기록/보관함으로써, ‘공인된 제3자’ 없이도 거래 기록의 신뢰성을 확보하는 기술. 거래의 효율성 및 보안성을 획기적으로 제고하는 기술적 방법론을 제공함 <KB 지식비타민> 비트코인은 이 공통 장부를 거래기록 용도로 최초로, 성공적으로 활용한 애플리케이션 4
  • 5. 5 비트코인을 이해하는 것 = 블록체인의 뿌리를 이해하는 것
  • 6. 비트코인을 이해하기 전에 알아야 할 핵심 개념 공개키 보안  디지털 서명과 검증  해시 함수  P2P Network  합의 알고리즘  블록과 블록체인(Blockchain) 6
  • 7. 비트코인의 거래 절차와 관련 기술 지갑 만들기 거래 거래 검증배포 거래 종료확인블록 생성 보상금 지급디지털 서명(비밀키/공개키 암호화, 해시함수1*) 블록, 블록체인 블록 암호화(해시함수2*) P2P 네트워크 채굴(Mining), 합의 알고리즘)  공개키 = (타인) 돈이 송금될 주소, (나) 돈 받을 주소  개인키(비밀키) = 접속, 송금시 비밀번호  채굴자(Miner) : 채굴 프로그램 설치 = Node, peer  해시함수 1의 입력값 = 이전 해시값 + 송금자 서명(개인키) + 수신자 공개키  해시함수 2의 입력값 = 이전 블록 해시값 + 현재 블록의 거래 내역 + Nounce  Target값을 이용한 난이도 조절  채굴의 검증 = “One-CPU, one-vote” 7
  • 8. 공개키 암호화(Public Key Encryption) di390kdgkw0s ke9dk38vkalkd 8zndk4293kgi 개인키 : suZ38&Id 공개키 : myAddr o19g7dkbis8s7 bkad6lbkqk309 dk37g 암호화된 원본 1. 받는 사람의 공개키로 암호화 원본 나의 개인공간 공개된 공간 내가 친구에게만 알려주고 싶은 비밀 복원된 원본 원본 복원된 원본 친구의 개인공간 공개키 : yourAddr 개인키 : dt538&Id [공개키 암호화] 친구가 자신의 개인키를 이용하여 원본 복원 내가 친구에게 하는 약속 암호화된 원본 내 공개키를 이용하여 누구든지 원문 복원 내가 친구에게만 알려주고 싶은 비밀 내가 친구에게 하는 약속 친구의 공개키를 이용하여 암호화 내 개인키를 이용하여 암호화 2. 보내는 사람의 개인키로 암호화  비대칭키 방식의 암호화  키가 공개키(Public Key)와 개인키(Private Key)의 쌍으로 이루어져 있는 암호화. ① 개인 키(private key) : 비밀로 유지되는 "키"로서 양쪽에 공유되지 않고 한 쪽만 보유 ② 공개 키(public key) : 비밀이 아니며 널리 공유  공개키로 잠근 문서는 개인키로만 열수 있고, 개인키로 잠근 문서는 공개키로만 열 수 있음  각 개별 키의 작업은 단방향 작업  원본 데이터 복구 불가능  양쪽 키에 사용되는 알고리즘은 한 키를 사용하여 쌍의 반대편 키를 판별할 수 없도록 설계  소수 사용 8
  • 9. 디지털 서명과 검증 디지털 서명 • 데이터를 암호화한 후 ‘개인키‘와 함께 한 번 더 암호화 • 인증기관의 인증서와 암호화된 데이터에 원래의 데이터 첨부 • 디지털 서명된 데이터 생성 검증 • 디지털 서명된 데이터를 받아 • 데이터를 해시한 후의 해시값과 암호화된 데이터와 서명의 해시값을 복호화하여 비교 9
  • 10. 해시함수(Hash) 1. 데이터를 원본 길이에 상관없이 일정한 길이의 값으로 변환(fixed length value) • SHA256 암호 함수를 사용해서 어떤 텍스트도 16진수의 64자리 문자(32비트)로 치환 2. 일방향 • 원본으로 해시를 만드는 것은 쉽지만 반대로 해시로부터 원본을 만들어 내는 것은 불가능 3. 데이터가 바뀌면 해시값은 완전히 달라짐 • 특정한 해시값을 만들어내는 원본을 찾기 위해서는 모든 경우의 수를 반복해서 확인해야 함. ( Brute Force, 일명 단순무식 계산법) • 보내는사람 : 나 • 받는사람 : 친구 • 금액 : 10,000 원본 원본의 해시값 [해시함수와 해시 값] 1312af178c253f 84028d480a6ad c1e25e81caa44 c749ec8197619 2e2ec934c64 해시함수로 해시 • 보내는사람 : 나 • 받는사람 : 친구 • 금액 : 10,001 수정된 문서 수정된 문서의 해시값 e9afc424b79e4f 6ab42d99c8115 6d3a17228d6e1 eef4139be78e9 48a9332a7d8 해시함수로 해시 역해시 10 ※ 위 같이 원본이 조금만 변형되어도 완전히 다른 요약본이 나오도록 되어 있어서 두 문서의 원본을 대조하지 않고 해시만 대조하여도 두 문서가 같은 지 확인 가능
  • 11. P2P(Peer-to-peer)?  peer-to-peer network(동등 계층간 통신망, 同等階層間通信網)  클라이언트나 서버란 개념 없이, 동등한 계층 노드들(peer nodes)이 서로 클라이언트와 서버 역할을 수행  노드들은 서로 무작위로 서로 ‘직접’ 연결됨  P2P 소프트웨어만 설치하면 인터넷에 연결되어 있는 여러가지 형태의 자원(저장 공간, CPU power, 콘텐츠, 연결된 컴퓨터 자체)을 이용 가능  고정된 ip 주소 없이 '불안정한' 형태로 존재하는 분산된 리소스 예) 당나귀, Torrent 등 Peer-to-peer networkServer based network 11 ※ Peer : 인터넷을 통해 서로 연결된 모든 정보 단말기 (개인용 PC, 모바일, 통신이 가능한 가전 제품, 서버 등) client server client client client client server-client server-client server-client server-client server-client
  • 12. 합의 알고리즘 12  '합의’ = 서로의 의사를 일치시키는 행위  이 합의를 통해 대표자가 없어도 의사결정 가능 블록체인에서의 합의  노드들이 생성한 블록을 모두 체인에 연결할 수 없음  한번에 하나의 블록만 연결할 수 있기에, 어떤 블록을 연결시켜야 하는지, 누가 연결될 블록을 생성할 채굴 기회를 가지는지 등등 의사결정이 필요  그래서 선택한 방법이 '합의’  이 합의를 만들어내는 알고리즘으로 PoW(Proof-of-Work, 작업증명) 선택
  • 13. 블록과 블록체인 블록(block) :  비트코인 거래를 약 10분 단위로 모은 것으로 채굴이 일어나는 단위(=트랜잭션의 집합)  내용 : 이전블록의 해시값, 시간, 암호난이도(nBits), nonce, 10분간의 거래내역 등 블록체인(block chain) :  현재까지의 블록이 모두 이어진 것으로, 현재까지 일어난 모든 비트코인 거래가 시간순으로 기록된 장부.  네트워크상의 모두에게 나누어 지는 공개된 공공원장  모든 거래 기록 보관 13
  • 15. 비트코인의 시작 15 배경 비트코인의 목적 제시한 해법  거래들의 시간 순서를 전산적으로 입증하게 만들도록 하는 P2P 분산 네트워크 기반 타임스탬프 서버를 이용하여 이중지불 문제를 방지  이 시스템은 악의적으로 협력하는 노드 그룹보다 정직한 노드들이 더 많은 컴퓨팅 파워를 총체적으로 제어하는 한 안전  신용보다는 암호화 기술에 기반한 전자지불 시스템을 이용하여 자발적인 두 거래자가 제 3자인 신용기관 없이도 직접적인 거래를 가능하게 함  전산적으로 번복이 불가능한 거래  가짜 지불로부터 판매자 보호, 애스크로 방식으로 구매자 보호  현재의 전자상거래는 인터넷 상거래에서 금융기관을 제3자 신용기관으로 하는 전자지불 방식(신용기반 모델)  거래의 완전 취소 불가능 : 금융기관은 거래상의 분쟁을 중재해야 하고, 이 중재는 거래 수수료를 올리고, 최소 거래액을 제한하고, 회수 불가능한 서비스에도 번복 가능하게 만들어 더 많은 비용 발생  지불 번복을 위해 더 많은 신용을 요구하는 현상 발생 * 에스크로(escrow) : 상거래 시에, 판매자와 구매자의 사이에 신뢰할 수 있는 중립적인 제삼자가 중개하여 금전 또는 물품을 거래를 하도록 하는 것 비트코인의 등장 배경  2008년글로벌 금융위기에 따른 미국과 세계 경제의 침체 : 리먼브라더스의 파산 , AIG의 미국정부에 의한 국유화 작업 , 월스트리트의 아이콘 메릴린치는 뱅크오브아메리카에 인수 등  월가는 위기에서 쉽게 헤어났지만 사실상 아무 책임도 없고 누구도 책임지는 주체가 없었다.  2008.10.31 사토시 나카모토의 논문 비트코인의 정치적 성향  자유주의(libertarian)  정부 권한은 최소화, 개인의 정치적 자유는 극대화  정책적으로는 규제가 완화된 자유방임 시장, 자유 무역주의, 이민 규제 완화 등을 추구  은행이 신용 공급을 마구 확대할 수 있게 만드는 부분 지급준비제도 등에 반대
  • 16. 비트코인의 구성원(members of bitcoins) • 자신의 컴퓨팅 파워를 사용하여 블록을 생성 • 생성된 블록 검증비트코인 재단 (Bitcoin Foundation) 비트코인 사용자 (Bitcoin User) 채굴자 (Miner) 채굴 풀 (Mining Pool) 비트코인 커뮤니티 (Bitcoin Community) • 채굴난이도 증가에 따라 결성된 채굴자들의 협력시스템 • 단체(채굴 풀)을 형성하여 Block 생성 작업 수행 • 비트코인으로 물건을 구매하거나 판매하는 사람 • 비트코인을 전송 • 비트코인의 기술, 비즈니스에 관심있는 사람들 • 비트코인과 관련 산업의 방향성, 기술 등에 대해 토론하고 합의 • 비트코인 프로그램 제작, 전파 • 비트코인을 교육하고 생태계를 구성하는 여건 마련을 위한 비영리기관 16
  • 17. 17 • 2009년부터 10분마다 50개의 비트코인을 발행하는 것으로 시작 • 21만개가 만들어질 때마다(=4년마다) 50개  25개 12,5개로 반감되어 0으로 수렴 • 2016년 현재 매 10분마다 25개의 비트코인이 발행되고 있음 • 최대 2100만개가 되면 발행이 정지(2040년). 비트코인의 발행
  • 18. 비트코인 사용 단위 13.00000001 btc Bitcoin(btc) 0.1 btc  1 dBTC 0.01 btc  1 cBTC (Centicoin) 0.001 btc  1 mBTC (Millicoin) 0.000001 btc  1 μBTC (microcoin, bits) 0.00000001 btc  1 satoshi 18
  • 19. 비트코인의 획득 방법 1) 채굴 보상금(reward) • 블록을 만든 채굴자에게 지급되는 보상금 : Bitcoin Core(비트코인 프로그램)이 채굴자에게 • 새로 만들어지는 비트코인(조폐, Mintage) • 매 ‘21만 블록(약 4년)’을 기준으로 보상금이 반감 : 2009.1 50 btc  2013말 25 btc  2016.7.10 12.5 btc • 발행되는 비트코인의 총량이 2,100만개에 이르면 비트코인의 신규발행은 종료(약 2040년 쯤 마무리) 2) 채굴 수수료(transaction fee) • 블록을 만든 채굴자(miner)에게 지급될 수수료(bitcoin)로 거래자가 제시하는 수수료 3) 비트코인 거래소에서 매매 • 비트코인 거래소에서 (보상금과 수수료의 형태로) 기존에 발행된 비트코인을 현금을 주고 삼  비트코인을 신규로 생성(발행)하는 방법은 채굴 보상금뿐!  수수료와 거래소에서의 매매는 기존에 발행된 비트코인을 사용하는 것 19
  • 20. 비트코인은 어떻게 거래되는가? 거래내역을 암호화하고 네트워크상에 뿌린다. 지불내역 데이터(블록) 검증작업이 시작된다. 비트코인 지갑을 만든다. 타 비트코인 소유자와 거래한다. 거래내역이 채굴자들에게 전달된다. 지불내역(=블록)이 정상적임을 확인한다. 최초 성공자에게 보상금(25BTC)가 지급된다. 거래가 종료된다. A와 B는 각각 1개 이상의 비트코인 지갑을 갖고 있다. • A의 주소는 A111, B의 주소는 B222 • 지갑의 비트코인 주소마다 개인키가 있다. A는 100BTC를 주고 B에게서 물건을 산다. • A는 비트코인 지갑을 열여 ‘발신자: A111, 수신자: B222, 지불금액: 100BTC’라고 입력하고 지갑에 저장한다 A의 지갑이 있는 업체는 송금하려는 비트코인 주소의 개인키를 이용해 거래를 승인하고 지불내역 데이터를 공개된 자물쇠와 키를 붙여 암호화하고 네트웍상에 뿌린다. 뿌려진 지불내역은 임의의 비트코인 채굴자들의 소프트웨어(이하 채굴노드)로 전달된다. 채굴노드들의 검증작업대에 A의 지불내역 데이터(=블록)이 등록되고 검증을 위한 복잡한 계산과정이 가동된다 • 채굴자(=채굴노드) X, Y, Z는 지난 10분간의 거래를 새로운 거래 블록으로 통합한다. • 채굴노드들은 암호 해시 함수 연산을 시작한다. 채굴노드 X가 처음으로 A가 뿌린 지불내역(=블록)이 정상적인 것인지를 확인한다. 가장 먼저 검증에 성공한 X에게는 보상으로 25BTC를 지급한다. 즉, 새로 채굴된 잔액 25BTC가 추가된 새 주소가 X의 지갑에 만들어진다. • 채굴 보상은 4년마다 ½로 줄어든다. • A의 지갑 프로그램은 지불을 완료하고 A111 주소에서 100BTC를 뺀다. • B의 지갑 프로그램은 지불완료된 내역에 따라 자신의 B22 주소에 100BTC를 적립 20
  • 21. 거래 과정 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 비트코인 사이트에서 개인 지갑은 만든다 • 지갑에는 여러 개의 계정(비트코인 주소)를 만들 수 있음 • 각각의 계정에는 일정 액수의 Bitcoin이 함께 연동되어 있고 입출금에 따라 금액은 증감 • 계정을 만들 때 공개키와 함께 만들어진 나머지 비밀키(Private Key)는 지갑 속에 저장되어 있으며, 계정에 접속할 때나 송금할 때 사용하게 됨 (현금 인출에 필요한 비밀번호 기능) • 비트코인은 지갑 파일의 형태로 저장되며, 이 지갑에는 각각의 고유 주소가 부여되며, 그 주소를 기반으로 비트코인 거래 지불내역 확인하기 보상금 지급하기 거래 종료  계정을 만들면 계정은 한 쌍의 암호키(공개키 & 비밀키)를 생성  계정정보가 바로 공개키(Public Key)이면서 돈이 송금될 주소(address)  개인키(Private Key)는 전자지갑(Wallet)안에 암호화된 형태로 존재 ※ 자세한 설명을 ‘[보충설명2] 암호화와 디지털 서명’ 참조 21
  • 22. 거래 과정 타 비트코인 소유자와 거래(송금, 구매 등)을 시작한다 • 송금시에는 여러 개의 계정(비트코인 주소) 중의 하나를 선택하여 송금 • 결제검토(=승인) 요청을 하면 클라이언트 소프트웨어는,  지갑 속에 있는 비밀키(Private key)로 서명을 하고(=해시 암호화),  거래 내역을 비트코인 네트워크에 공표 ( 채굴의 대상)  돈 받을 사람의 공개키(비트코인 주소)를 알아야 함(QR코드로도 인식 가능)  거래내역 검증에 성공(=채굴)한 채굴자에게 지급되는 25BTC 외로 지급되는 추가 수수료  더 빨리 검증작업이 이루어지게 하는 유인 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 지불내역 확인하기 보상금 지급하기 거래 종료 22
  • 23. 거래 과정 거래 내용은 비트코인 네트워크에 전달되어 블록 단위로 검증된다 • 비트코인 거래가 일어나면 이 거래는 비트코인 네트워크에 참여하는 노드에게 알려짐( 채굴 프로그램) • 거래를 10분 단위로 기록하고 공식화하는 과정이 비트코인 채굴(mining)  “블록” 단위 ※ 자세한 설명은 ‘[보충설명3] 채굴’ 참조 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 지불내역 확인하기 보상금 지급하기 거래 종료 23
  • 24. 거래 과정 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 지불내역 확인하기 보상금 지급하기 거래 종료 채굴 = 작업증명(Proof of Work) • 사용자들간의 거래를 검증하고 확정하는 절차 • 채굴 = 작업증명 = 새로운 블록 생성/확정 = 새 비트코인 발행 • 10분간의 거래내역을 가지고 생성된 블록(Block) 단위로 진행 채굴의 기술적 목표 • 새로운 블록의 해시값 구하기 • 블록 헤더 안에 있는 난이도 목표(target value) 보다 낮은 블록 해시값 이 나올 수 있게 하는 임의값(nonce)을 찾는 것 • 정해진 데이터(거래내역 + 이전 블록의 해시값)와 임의값(nonce)을 합친 해시값이 일정한 수 이하인 임의의 nonce 찾기 (SHA-256 해시함수 사용) 해시함수 (SHA-256) 이전블록 해시값 Merkle hash Nonce (32bit) 해시값(16진수의 64자리 문자열) Target값 과 비교 검증완 료 해시값 첫 부분의 ‘0’의 개수보다 많은 ‘0’을 가진 해시값 No (못찾음) Yes(찾 음) 무작위로 대입 거래내 역 유일하게 바꿀 수 있는 값 24
  • 25. [참고] 블록 해시를 구하는 과정 25 <출처: http://homoefficio.github.io/2016/01/23/BlockChain-기초-개념/>
  • 26. 거래 과정 합의 = 채굴의 완성 • 채굴자(=노드)들이 합의한다는 것은 해당 블록을 새로운 블록으로 인정하고 블록체인에 추가시킨다는 것 • 합의를 하려면 모든 채굴자들이 동일한 규칙에 따라 블록을 생성하고 검증해야 함(예, 블록의 데이터 구조의 문법, 블록의 크기 -10M, merkle tree의 해시값, 개별 거래의 유효성 등등) • One-CPU, One-vote • 다수결의 원칙 : 최초 검증자(채굴자)의 검증 결과를 채굴자들의 과반수가 인정하면 블록으로 인정됨 • 각 노드(채굴자)들이 가지고 있는 블록체인의 복사본들이 항상 같은 상태를 유지하는 것이 아니므로 여러 노드 중에서 작업증명을 가장 많이 시행한 노드의 블록체인을 선택해서 거기에 새로운 블록을 추가 • 합의가 완료되면 거래자의 지불내역은 확정되고, 채굴자는 채굴에 따른 보상을 받음 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 지불내역 확인하기 보상금 지급하기 거래 종료 26
  • 27. 거래 과정 ‘거래’ = 블록체인에 기록되는 비트코인 지갑들간의 가치의 이동 보내는 주소의 잔액이 송금한 금액보다 큰 경우, 거스름돈을 돌려주는 방식을 취하기 때문에 받는 주소는 2개. (주소 하나는 보내는 주소와 같음) 실제 송금한 주소(지갑ID)와 나머지 거스름 돈을 받을 내 주소(지갑 ID)로 분기 비트코인 지갑에서 보내는 주소를 선택하고 받는 주소와 금액을 입력 • 받는이 지갑 ID : xxxxxx • 송금액 : 0.05BTC • 내 잔액 : 0.0996 BTC 실제 송금한 돈 (0.05 BTC) 다시 내가 받는 거스름돈 (0.0496 BTC) 주소가 같음 거래 시작하기(송금) 거래내역 배포하기 거래내역 받기 지갑 만들기 검증(채굴)하기 지불내역 확인하기 보상금 지급하기 거래 종료 27
  • 28. 거래는 어떻게 기록되는가? • 각 암호키 소유자들은 그 전까지의 거래 내역에 다음 소유자의 공개키를 덧붙인 뒤에 자신의 비밀키로 암호화하는 디지털 서명을 하고 넘긴다. • 돈을 받는 사람은 서명 소유자들의 체인과, 서명들을 검증 28
  • 29. 블록은 어떻게 만들어지는가?  블록의 입력 정보 : ①현 블록의 해시값 + ②현재 거래내역 해시값 + ③Nonce의 세 정보  블록 생성 조건 : target이라고 불리는 해시 첫 부분의 “0”의 개수보다 많은 0을 가진 해시값을 찾아야 함  특정조건을 충족시키는, 즉 leading zero 수가 target보다 많은 해시값을 찾게 되면 현블록에 있는 거래가 “정상거래”로 확증되고 다음 블록이 열리며 거래정보가 새 블록에 쌓이기 시작함 000000000000000135c058d5e52a6cd73b834b4e7395897527e8dd55b3236686 00000000000000057784f105ff6177e6272f2fdca72e358fbad0bec7aa0faee4 블록 Hash 0101 블록 Hash 0102 블록 Hash 0103 + 현재 블록의 거래내역 (Transaction) Nonce + + Nonce + + Nonce + 현 블록의 해시값 다음 블록의 해시값 현재 블록의 거래내역 (Transaction) 현재 블록의 거래내역 (Transaction) 29
  • 30. [참고] 블록의 구조 • 블록크기 : 바이트 단위의 블록크기 • 버전 : 데이터구조의 버전. 구조변경 시 필요 • 이전 블록해시 : 블록의 체인구조에서, 이전블록(부모블록)에 대한 해시 참조값. • 머클루트 : 해당 블록에 포함된 거래로부터 생성된 머클 트리의 루트에 대한 해시이며, 블록에 들어있는 모든 거래의 요약본. • 타임스탬프 : 블록의 생성시간, 1970.1.1 이후 초단위 시간. • 난이도 목표 : bit값으로 블록의 작업증명 알고리즘에 대한 난이도 목표. ※ 해싱을 어렵게 만드는 척도로서 블록 한 개를 생성하는데 10분 정도 걸리도록 유도. 만약, 컴퓨팅 파워가 좋아지고 해싱파워(해시를 계산하는 능력)가 증가하여 10분이 걸리지 않으면 난이도를 높여 10분을 유지하도록 조정 • Nounce : 작업증명 알고리즘에 사용되는 카운터(숫자) • 트랜잭션 카운트 : 포함된 거래의 개수 • 코인베이스 트랜잭션 : 블록 생성 시 발생되는 비트코인(즉, 본 블록을 채굴한 채굴자의 수입) • 트랜잭션 : 10분 동안 수집한 거래정보. • 블록 몸체는 각각의 거래내역(tx)과 머클트리(merkle tree)로 이루어짐 ※ 머클트리 : 거래 내역의 변조를 막기 위해 거래내역을 해시로 만든 후 다시 이것을 트리 형태로 만든 것 30
  • 31. 채굴 속도(10분)는 어떻게 통제하는가? 31 • 최초 블록의 생성주기는 네트워크 전파 속도와 보안성 등을 이유로 ’10분’으로 채택 만일 2016개의 블록을 생성하는데 2주가 아닌 1주일이 걸렸다면, 목표에 도달하기 위한 필요작업의 50%만으로 이루어진 것이므로, 목표에 도달치 못한 것이다. 따라서 난이도를 2배로 증가시켜서, 기존 1주일의 두 배인 2주가 걸리게 조정하고 목표를 충족시킨다.(또는 이 반대 ) ‘난이도(difficulty)’ 조정 : •매 2016 block 마다 조정 (1block/10분 = 2016blocks/2주) •new Target = old Target × 최근 2016 block 생성에 걸린 시간 (초) 2주 (초)
  • 32. 0의 자릿수에 따른 난이도  채굴은 블록 헤더를 반복적으로 해싱해서, 해시 결과값이 특정 목표치와 일치할 때까지(=목표보다 낮아질 때까지) 임의값, 즉 nonce 값을 하나씩 하나씩 바꿔가는 과정  주어진 요약본의 값이 작으면 작을 수록(앞자리의 0의 수가 많을 수록) 조건을 만족하는 X를 찾는 것이 기하급수적으로 어려워진다. 이 문자열(실제로 해싱되는 값)의 크기가 줄어든다는 것은, 같은 입력값에 대한 요약수준(=추상화 수준)이 더 높아진다는 것을 의미  난이도는 거래(즉, 채굴시 네트워크상의 노드들이 수행하는 연산)의 양에 따라 해시값의 앞에 붙는 ’0의 개수’를 조절하는 것 0의 개수가 늘어날 수록 뒤의 문자열의 값의 크기(자리수)는 줄어들고, 32
  • 33. 블록은 조작할 수 없는가? - The longest chain wins . . . 거래B를 포함하여 채굴에 성 공했을 때 만들어지는 블록 경쟁에서 진 블록체인이 다룬 거래B 도 비정상 거래로 간주되어 폐기됨 거래A을 포함하여 채굴에 성공했을 때 만들어지는 블록 블록 n블록 1 블록 2 블록 n+1 블록 n+2 블록 n+3 블록 n+4 블록 n+1 블록 n+2 블록 n+3 중복 사용 1. “가장 길이가 긴 블록체인이 원본” : 길이가 같다면 둘 다 맞는 것이므로 어느 것을 선택해도 무방 2. 먼저 도착하는 거래 내역(블록)을 받아 들임 : A로부터 받은 블록체인이 나중에 B가 가지고 있는 블록체인과 다르다는 것을 알게 되어도 길이가 같다면 B는 무시하고 A를 유지  자신의 거래 내역을 조작(중복사용)하거나 남의 비트코인을 훔치려면 현재 채굴에 참여하고 있는 컴퓨팅 파워의 과반을 확보해서 빠르게 전파해야 함  2016.7.10, 총 컴퓨팅파워는 19,583,587.6 PetaFLOPS vs. 세계 최고의 슈퍼컴퓨터인 Tianhe-2(중국)는 33.8 PetaFLOPS 33
  • 34. 다시 한 번 살펴봅니다 34 • 채굴은 10분간의 거래 내역을 모아 새로운 블록을 만드는 것 • 채굴자가 새로운 블록을 만드는데 성공하면 보상금과 거래 수수료를 받음 • 신규 비트코인은 채굴을 통해서 생성됨(채굴 보상금) • 채굴은 목표 난이도가 제시하는 임의의 해시값을 얻기 위해 nonce를 무작위로 대입하는 과정 • 채굴에 성공했다는 의미는 ‘난이도 목표보다 낮은 해시값을 찾는데 성공‘했다는 것, 즉 작업증명에 성공했다는 것 • 다른 노드(=채굴자)들은 해당 블록에 채굴에 성공한 채굴자가 찾았다는 nonce값을 대입하여 같은 결과가 나오는지를 검증하여 맞으면 그 블록을 거래장부(블록체인)에 추가
  • 35. 합의 알고리즘  분산환경에서 데이터 동기화  다수의 참여자들이 통일된 의사결정  과반수 이상 동의로 트랜잭션이 최종 확정  Fault-tolerant system
  • 36. 분산 네트워크(Network)를 통한 작업증명 절차 1) 새로운 거래 내역이 모든 노드에 알려진다. 2) 각 노드들은 새로운 거래 내역을 블록에 취합한다. 3) 각 노드들은 그 블록에 대한 작업증명을 찾는 과정을 수행한다. 4) 어떤 노드가 작업증명을 성공적으로 수행했을 때, 모든 노드에게 그 블록을 전송한다. 5) 노드들은 그 블록이 모든 거래가 이전에 쓰이지 않고 유효한 경우에만 승인한다. 6) 노드들은 자신이 승인한 블록의 해시를 이전 해시로 사용하여 다음 블록을 생성하는 과정을 통해 그 블록이 승인되었다는 의사를 나타낸다. 노드들은 항상 가장 긴 체인을 옳은 것으로 간주하며, 그 체인이 계속 확장하도록 작업을 수행한다.  두 개의 노드가 서로 다른 버전의 다음 블록을 동시에 알리게 될 경우, 각 노드들은 자신이 먼저 받은 블록에 대해 작업을 수행하지만, 체인의 다른 갈래도 저장  체인의 어느 한쪽 갈래가 더 길게 생성되는 작업증명이 알려지면 체인 갈래의 길이는 더 이상 대등하지 않게 되고, 각 노드들은 (저장해 두었던 다른 갈래의) 체인으로 작업을 전환.  새로운 거래 내역 알림이 꼭 모든 노드에까지 전달될 필요는 없으며, 많은 노드에 전달될수록 더 빨리 블록에 포함됨. 만약 한 노드가 블록을 받지 못했을 경우, 다음 블록을 받고 하나가 빠졌음을 알아차려 다시 요청해 받음. 36
  • 37. 합의 알고리즘? 37 시스템 간의 특정 데이터에 대한 동일한 값을 유지하기 위해 고안된 개념 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘  원칙적으로 합의 알고리즘에서는 과반수 이상의 노드들이 합의(동의)를 해야 데이터(또는 트랜잭션)가 최종 확정 그렇다면 블록체인에서 왜 합의 알고리즘이 필요? 블록체인은 수 많은 노드가 P2P 네트워크로 연결되어 트랜잭션을 처리하고 기록하는 ‘분산 원장 시스템’ 해당 시스템 내의 모든 분산 원장에는 동일한 거래 기록 내용을 공유 모든 노드가 동일한 하나의 체인을 가질 수 있도록 특정 메커니즘에 의하여 블록이 생성 및 연결되게 하는 것이 바로 ‘합의 알고리즘’  ‘이중지불’의 방지 <이중지불의 문제> 하나의 지폐로 여러 번 결제하는 것 현재 A의 계좌에는 1,000원이 있는데 A가 B와 C에게 각각 1,000원씩 이체하려고 시도 현실 세계에서 이런 일은 불가능한데, 왜냐하면 은행 시스템이 A의 계좌를 추적 및 관리하고 있기 때문에 바로 차단 온라인 네트워크 상에서 이중지불은 가능 동일한 기기 내에서는 불가능하지만 물리적으로 멀리 떨어진 두 개의 지점에서는 동시에 접속하여 보내는 일은 가능 A의 지갑에서 한국에서는 B에게 1,000원을 보내고 미국에서는 C에게 1,000원을 보낼 수 있다. 그러나 블록체인 네트워크에서는 '합의 알고리즘'에 의하여 이중지불이 거절. 왜냐하면 이중지불이 되었다고 하더라도 모든 노드들은 동일한 내용의 분산 원장을 공유하고 있기 때문에 언젠가는 특정 시점에서 충돌이 발생하게 되고 결과적으로 두 거래 중 하나는 거부
  • 39. 비잔틴 장군의 딜레마 비잔틴 장군 딜레마 = ‘신뢰’의 문제 비트코인은 "Byzantine Generals" 문제 해 결을 위해 세 가지 아이디어를 결합함 ① 채굴에 따른 인센티브 제공  25 BTC 지급 ② 게임 (혹은 도박) 요소 추가  승자 한 사람에게만 지급 ③ proof-of-work  약 10분 마다 문제를 풀어 현 블록 에 담긴 거래 내역을 암호화하고 그 해시값을 다음 블록으로 전달하는 과 정을 계속적으로 반복 • 램포트, 쇼스탁, 피스가 공저한 1982년 논문 • 비잔틴 시대에 여러 나라의 장군들이 적을 공격하기 위해 출병 • 적은 충분히 강해서 ½ 이상의 병력이 동시 출병해야 공격 성공 • 장군들은 “연락병‟을 통해서만 1:1로 정보를 교류할 수 있음 (한 자리에 모여서 의사 결정할 수 없는 상황, P2P 분산 네트워크 상황) • 장군들 중 “배신자‟는 거짓 정보를 유포하고 아군을 위태롭게 함 • 문제는 공격시간을 “합의‟하여 출격해야 하는데 시스템은 없음  이 상황에서 어떻게 공격 시간에 대한 합의를 만들 수 있을까? 39
  • 40. PoW(Proof-of-Work) • 비트코인에서는 PoW = 채굴 • 보상을 받기 위한 경제행위 모든 장군들이 해답을 만들어 내고 해답 수준이 일정 이상인 답이 발견되면 인정됩니다. 이렇게 하면 동시에 해답이 나올 수 있는데, 같은 문제에 해답이 두개 이상 나오면 더 높은 수준의 해답을 인정해줍니다. 이렇게 해답의 연결이 진행되다 보면 6번째 전 해답은 문제를 모든 장군들이 같은 답을 인정하게 됩니다. 변절자가 틀린 정보를 적는다 해도 장군들끼리 가장 높은 수준의 해답을 주고 받기 때문에 결국은 올바른 해답이 인정되게 되는 것입니다. PoW는 이처럼 일정 수준 이상의 해답을 구하고, 이 해답이 모두의 합의를 받은 것으로 인정. • 해답 = 블록 • 해답 수준 = 블록 해시 난이도 값 • 인정 = 블록 생성 = 보상 하지만 블록체인의 PoW 문제를 풀기 위해선 일정 수준 이상의 해답을 찾아야 하므로 해답을 계속 구하기 위해 많은 양의 에너지와 고성능 컴퓨터가 필요 또한, 모두가 블록을 생성할 수 있으므로 전체 네트워크에 최신 블록이 전파되어야 합의가 정상적으로 이루어지기 때문에 블록 생성 주기가 길어 처리 속도도 매우 느림 40
  • 41. PoW의 한계를 극복하기 위한 합의 알고리즘들… 합의 방식 PoW (Proof-of-Work) PoS (Proof-of-Stake) 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 알고리즘(비트코인) 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 방식 채굴 과정이 필요 없음(이더리움) BFT (Byzantine Fault Tolerance) PBFT (Practical BFT) 비잔틴 장애 허용의 동기식 시스템에서만 구현되어 느린 문제점을 해결한 것으로 (n-1)/3개 이하의 노드가 악의적인 노드라면 분산된 네트워크를 보호 (네오, 질리카, 하이퍼레저, R3, ICT, 텐더민트 ) DPoS (Delegated PoS) 암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 자신의 대표자를 선정하고, 이 대표자들끼리 합의하여 의사결정을 내리는 방식(이오스, 스팀, 리스크, 보스코인 등) 하이퍼 DPoS (Hyper-DPoS) 일정한 시간 안에 빠르게 반응하고 응답할 수 있는 노드만을 선택하여 합의 과정에 참여시키는 합의 알고리즘(모파스) RAFT 클라이언트의 요청을 하나의 리더 노드가 처리하여 로그를 업데이트하고, 이 로그가 다른 노드(리플리카)에도 반영되도록 하는 알고리즘 GHOST 고아블록을 메인 체인에 포함시키는 알고리즘으로 메인체인은 가장 긴 체인이 아니라 가장 무거운 체인 (메인체인 = 자식체인 + 고아체인) 악의적인 노드가 네트워크를 장악하는 것을 방지하는 블록체인 합의 알고리즘의 기본 PoW에서 51%의 해시파워를 가지는 비용 = 약 2,500억원 PoS에서 전 세계 자산의 51%를 보유하는 비용 = 약 25조원 41
  • 42. 스마트 컨트랙트  ‘조건’과 ‘실행’을 위한 블록체인 코드  블록체인에 기록  모든 노드 확인  중개자없이 계약 당사자들끼리 자동으로 거래할 수 있도록 하는 블록체인 프로그램 실행 코드
  • 43. 스마트 컨트랙트? 43  스마트 컨트랙트는 Nick Szabo가 1994년 최초 제안한 개념 ‘스스로 이행이 되는 자동화된 약정 (Automated Self-Enforced Agreements)’  디지털 명령어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행. <사례> 부동산 계약은 보통 집을 파는 매도자, 집을 구매하는 매수자, 그리고 중간에서 계약을 성사시켜주고 관리해주는 중개자로 구성되어 있습니다. 정해진 날짜에 계약을 하고 계약금을 걸고, 정해진 날짜에 중도금, 잔금 등을 치르면서 집 문서를 거래합니다. 스마트 컨트랙트도 비슷합니다. 부동산 거래에서는 보통 부동산 중개업자를 포함해서 계약을 진행하지만, 스마트 컨트랙트는 중개인 없이 자동으로 거래를 성사시켜줍니다.
  • 44. 블록체인과 스마트 컨트랙트 44 • Contract Code : 비트코인의 스마트 컨트랙트 • 스마트 컨트랙트 : 이더리움의 스마트 컨트랙트 • Chaincode: 하이퍼레저(Hyperledger) 스마트 컨트랙트 블록체인 = 디지털 데이터를 신뢰할 수 있게 만들어 주는 기술 다수의 노드가 같은 데이터를 공유하고 검증하는 방식을 통해 디지털상에 신뢰관계 형성 블록체인 스마트컨트랙트? • 블록체인 기술을 기반으로 계약 조건을 코딩하고, 조건에 부합하면 계약 내용이 자동으로 실행되는 프 로토콜 • 스마트 컨트랙트는 블록헤더의 데이타뿐만 아니라 특정 값이나 발신자 및 수신되는 메시지의 데이타를 조작하는 등 이더리움의 상태변화와 데이타 저장등이 가능한 프로그램 코드 • 디지털로 된 계약서는 조건에 따른 계약 결과가 명확하고, 계약 내용을 즉각 이행. • 2013년 비탈릭 부테린(Vitalik Buterin)에 의해 이더리움 블록체인에 접목됐고, 이로써 위변조 방지가 필 요한 각종 계약서 작성 등에 활용 • 기존의 비트코인을 '블록체인 1.0'이라고 부르고, 스마트 계약 기능을 구현한 이더리움을 '블록체인 2.0'
  • 45. 스마트 컨트랙트의 부흥, 이더리움 45  스마트 컨트랙트의 개념을 이더리움에서는 더욱 발전시켜 다양한 형태의 응용 컨트랙트를 개발할수 있도록 발전시켰으며, 이를 통해 이더리움은 단순한 암호화폐를 벗어나 다양한 분야에 적용할수 있는 블록체인 컴퓨팅 플랫폼으로 발전  새로운 스마트 컨트랙트를 생성하거나, 특정 스마트 컨트랙트상의 함수를 실행하거나, 이더를 전송하는 방식중의 하나로 실행됨  사용자 어카운트(EOA)에 의해서 발생한 트랜잭션이나 다른 컨트랙트에 의해서만 실행  이후 다양한 서비스를 지원하는 스마트 컨트랙트의 개발 • Solidity • 이더리움의 스마트 컨트랙트 프로그래밍 언어 • solidity 언어로 프로그래밍된 스마트 컨트랙트는 컴파일러(solc)에 의해 바이트 코드로 컴파일 • 컴파일된 바이트코드는 블록에 포함되어, EVM(Ethereum Virtual Machine)에 의해 실행 • EVM(Ethereum Virtual Machine) : 이더리움 스마트 컨트랙트의 바이트 코드를 실행하는 32바이트 스택 기반의 실행환경, 스택의 최대 크기는 1024 • 노드 : EVM을 포함하고 있으며, EVM을 통해 바이트 코드를 OP코드로 변환하고 스택기반으로 각각의 OP코드를 실행
  • 46. 블록체인  모든 거래 기록을 보관한다.  분산된 참여자는 거래원장을 공유한다.  (다수결을 통해) 거래 내역의 정당성을 검증한다.
  • 48. 블록체인의 특성 48 사회적 특성과 의미 1.신뢰성 : 동일한 트랜잭션은 동일한 프로세스에 따라 다수에 의해 검증/결정되어 참여자 모두에게 (블록으로) 공유되므로 결과를 신뢰 2.무결성 : 블록체인에 기록된(승인된) 기록을 삭제하거나 조작할 수 없음. 하나의 노드에서 기록을 위변조하더라도 다른 노드의 승인을 받을 수 없으므로 위변조된 기록이 효과를 발휘할 수 없음 3.투명성 (Transparent) : 해당 블록체인 네트워크에 참여하는 참여자는 모든 거래 기록에 공개적 접근 가능 4.확장성(Scalable) : 서로 다른 시스템을 보유한 참여자도 공개된 소스에 의해 쉽게 구축·연결·확장 가능(소프트웨어 기반 기술이므로 원칙적으로는 하드웨어에 따른 참여 제약 없음) 기술적으로는 다음과 같은 특성 1.가용성 : 특정 노드가 서비스 불가하더라도 다른 수 많은 노드들에 의해 블록체인이 유지 2.보안성 (Secure) :정보(원장)를 모든 참여자가 공동으로 소유하므로 해킹 불가능(과반 이상의 원장을 소유할 수 있는 노드(파워)를 갖춰야 함) 3.탈중개성 (P2P-based) : 공인된 제3자의 공증 없이 개인 간 거래 가능 4.신속성 (Instantaneous) : 거래의 승인과 승인기록은 다수의 참여에 의해 자동 실행. 즉, 참여자들이 보유하고 있는 원장에 동시에 기록
  • 49. 블록체인의 종류 49 1. Public blockchain • 누구나 열람/송금이 가능한 공개된 형태의 블록체인 • 채굴(proof-of-work) 과정을 통해 거래의 정당성을 인증 • 개인 또는 중앙기관의 영향을 받지 않는 탈중앙화, 분권화된 시스템 2. Consortium blockchain • 미리 선정된 노드에 의해서 통제되는 반 중앙형 블록체인 • N개의 금융기관이 노드를 한 개씩 운영하고 각 기관의 노드 간 동의가 일어나야 거래가 생성 • 블록체인 기록열람 권리를 참여자(예, 금융기관)에게만 제공하거나 API를 통해 특정 인원에게만 공개할 수도 있음 3. Private blockchain • 완전히 개인화된 블록체인 • 한 중앙기관이 모든 권한을 가지며 네트워크에 참여하기 위해선 그 중앙기관의 허락이 필요 기준 : 누가 네트워크 그리고 합의 과정에 참여할 수 있으며, 분산된 장부를 보관하는가
  • 50. 프라이빗 블록체인 50  permissioned 블록체인 혹은 허가형(폐쇄형) 블록체인  권위있는 조직의 승인으로 미리 참가자를 제한하고 신뢰할 수 있는 참가자끼리 거래를 승인  합의 알고리즘의 의미 축소, 네트워크 운영에 참여한 보상 없음  정보의 외부 유출을 원치 않고 처리 속도를 중요시하는 기업을 중심으로 개발  암호화폐 발행은 선택사항  참여자들이 컴퓨터 운영 비용을 분담(암호화폐를 외부의 암호화폐 거래소에 판매하기 어렵기 때문에 사실상 내부 정산이나 서비스 이용 등의 목적으로 제한적으로만 사용)  노드별로 권한을 다르게 설정 : 거래 검증 노드, 블록 생성 노드, 블록 검증 노드 등  완전한 프라이빗 블록체인 : 하나의 기관 또는 기업 아래서 사용되는 블록체인. 중앙이 힘을 가지고 있고, 그저 분산된 데이터베이스만 갖는 구조로, 전통의 시스템에 블록체인의 보안 검증 성의 특징만 가져오는 구조
  • 51. The Blockchain Application Stack 오버레이 네트워크(Overlay network) • 물리 네트워크 위에 성립되는 가상의 컴퓨터 네트워크 • 오버레이 네트워크 안의 노드는 가상, 논리 링크로 연결될 수 있으며, 각 링크는 네트워크 안에서 많은 물리적 링크를 통하지만 물리적 링크를 고려하지는 않는다. • P2P 네트워크 분권화된 프로토콜(Decentralized protocol) • 인터넷이라는 신뢰할 수 없는 공간에서 서로 모르는 사용자들이 ‘협업’과 ‘협조’를 할 수 있는 프로토콜 • 그 누구도 그걸 소유하지 않기 때문에 분권화된(decentralized) 프로토콜이라 부름 51
  • 52. 블록체인의 장점 52 1. 고도의 보안성과 안전성 2.비용의 획기적 절감 3.신속한 거래 처리 4.익명성과 투명성 ① 개도국 금융시장 형성 ② 전통 금융회사의 중간자 기능 축소 ③ 거래 가능한 자산의 폭발적 확대 ④ 개도국의 자산기록 개선 ⑤ 거래의 투명성 증대 ⑥ 스마트 계약과 법률서비스의 혁신 등등등
  • 53. 어떨 때 사용하면 좋은가? 53
  • 54. 어디에 활용할 수 있는가? 54<출처: 2016.7, Earnst & Young> 다양한 산업의 잠재적 블록체인 적용 시나리오 적용분야 활용 방안 금융서비스 • 주식, 채권, 예금증서, 기업어음 등의 금융수단의 빠른 결제 처리와 낮은 거래 비용  효율적 서비스 제공 • 시장 내에서 발생하는 자연적인 행위들에 직접적으로 임베딩됨으로써 그 자체로 작동하는 금융시장 블록체인 금융과 결합한 자동차 생태계 • 자동차 산업생태계의 모든 것이 담긴 기록을 호스팅  소유권, 금융, 등록, 보험과 서비스 거래 등을 모두 추적 • 무인자동차 제조업체 : 택시 운송 사업자들에게 차량을 공급한 후, 탑승객이 요금을 지불할 때마다 파이낸싱이 임베딩된 블록체인의 스마트 계약을 통해 제조업체와 수익을 분배할 수 있음 • 제조업체 : 소비자에게 차량을 판매할 필요가 없으며, 자신들의 상품에 의해 수행되는 모든 거래에서 나오는 분배금으로 현금흐름을 확보할 수 있어 은행금융도 필요없게 됨 의료정보 생태계 • 전체 의료정보의 생태계가 보험사, 의료기관, 환자를 연결하는 블록체인의 형태로 이루어질 수 있음 디지털 저작권 보호 • 음악 파일의 사용기록을 공공 블록체인에 기록 • 음악 관련 데이터와 이용조건을 관리할 수 있으며, 로열티는 스마트 계약을 통해 실시간으로 분배 저가 자산을 위한 새로운 신용 시장 • 거래비용으로 인해 대출할 때 담보로 사용할 수 있는 자산에 대해서는 실질적인 하한선이 설정되어 있음 • 블록체인은 거래비용의 상당 부분 제거  저가 자산을 기반으로 한 새로운 등급의 대출 현실화 성과기반 과금 • 스마트 계약을 활용해 성과에 따른 지급계약을 실행(예, 배달 피자가 30분 안에 도착하지 않으면 무료 또는 할인) 과세 • 실시간으로 기록되는 디지털 거래의 세계에서 불법거래를 은폐하기 어려움 산업 매시업(mash-ups) • 기업은 자신의 고유 비즈니스 목적을 위해 자산과 역량을 지속적으로 사용하는 것에 영향을 미치지 않으면서 상대방이 가진 자산과 기능을 활용하여 새로운 비즈니스 가치를 창출 산업용 IoP • 블록체인 기술을 통해 산업 매시업과 IoT가 융합  기업 소유의 고가의 산업용 자산 활용도 높임 • 운송 컨테이너, MRI 장비, 건설 장비 등을 실시간 디지털 장터로 연결함으로써 유휴 장비를 기업간에 거래
  • 55. 해외 공공기관의 활용 사례 55 영국 • 공공서비스 분야(토지, 주택, 차량, 특허관리, 선거 투표 등)에 블록체인 적용을 위한 연구 진행 • 2017.3 연금지급 관리 체계에 블록체인 적용 테스트 완료 • 은행간의 정산시스템에 블록체인 기술 적용 발표(2017.4) 아랍에미레이트 • 2016.4 글로벌 블록체인협의회 구성(정부기관, UAE은행, 글로벌 기업 등) - 관광, 상속, 재산이전, 다이아몬드 확인, 교역, 건강기록, 디지털 금융거래 등 7개 분야 블록체인 파일럿 프로젝트 진행 • 2020년까지 모든 정부문서를 블록체인 시스템으로 운영계획 발표 • IBM 협약을 통해 블록체인 기반의 무역거래시스템 구축 착수 중국 • 2016.9 사회보장시스템에 블록체인 기술 적용 발표 (중국의 사회보장 기금은 2015년 기준 335조원) • 중국우편저축은행, 자산관리 사업에 블록체인 기술 적용 발표(2017.1) • 블록체인 기반의 부동산 담보대출 시스템 개발 발표(2016.10) 우크라이나 • 국가투표시스템에 이더리움 기반의 블록체인투표 시스템(E- Vox) 개발  모든 온/오프 투표시스템을 통합 • 블록체인 기반의 경매시스템(정부소유의 자산 경매 시 사용) • 블록체인 기반의 전자화폐 개발 프로젝트 진행 중 미국 • 증권거래위원회, 기업이 블록체인 기반으로 주식 발행 허용 • 델라웨어주, 국가기록물 보관소의 기록물 관리를 블록체인 허용 에스토니아 • 디지털 영주권 제도 운영 - 해외 투자유치에 활용 • 블록체인 기반의 전자투표시스템 도입 • 주주투표시스템 스웨덴 • 2017.3 블록체인 기반의 토지대장 및 관리시스템 개발 완료  스마트 컨트랙트 기반으로 토지거래의 효율성과 신뢰성 확보 싱가포르 • 은행 간 거래의 신뢰성 확보를 위해 블록체인 기반의 결재관리 시스템 구축 프로젝트 착수(2016.11) --> 중복 송장 발급 방지 온두라스, 가나 • 블록체인 기반의 토지자산 정보 관리체계 구축(2015.5) 그루지아 • 블록체인 기반의 부동산 등기부 등본 관리체계 구축(2016.4) 러시아 • 모스크바 지방정부, 부정투표 방지를 위한 블록체인 기반의 투표시스템 개발 프로젝트 착수(2016.8) • 연방반독점청, 블록체인 기반의 문서관리시스템 구축 착수
  • 56. 블록체인 도입을 위한 의사결정 모델 출처: <https://medium.com/@sbmeunier/when-do-you-need-blockchain-decision-models-a5c40e7c9ba1> 56
  • 58. 참고 자료 Bitcoin Developer Guide Documentation https://bitcoin.org/en/developer-guide#block-chain 비트코인 블록체인 개론 http://www.mobiinside.com/kr/2017/11/07/bitcoinblockchain101/ 알기 쉽게 이해하는 비트코인 http://www.leejungmin.org/post/2017/05/30/mastering-bitcoin/ 비트코인 기술이론 정리 http://codens.info/m/562 We use coins https://www.weusecoins.com/ BlockChain 기초 개념 http://homoefficio.github.io/2016/01/23/BlockChain-기초-개념/ 블록체인, 이상과 현실 어디쯤 와 있나 (김열매, 한화투자증권) 58