SlideShare a Scribd company logo
1 of 27
Download to read offline
Bitcoin 기술 분석
소프트웨어연구부문/사이버보안연구단/암호기술연구실

조남수
2013. 12. 19.
전자 화폐 (e-Cash)
David Chaum이 최초 제안
 “Blind signature for untraceable payment”, Crypto 1982

발전 방향
 현실 화폐의 특징과 최대한 유사하게 설계
 익명성 강조
 Off-line 사용
 발행 기관이 제한적
 위조 방지 (이중 사용 방지)

2
이중 사용
문제점
 실물 화폐에 비해 복제가 용이함
 Off-line 거래에서 이중 사용 방지는 근본적으로 어려움
 사후 추적 기능 제공

 이중 사용 방지를 위해 다양한 암호 기술 적용
 비효율성 증가
011101101111…

011101101111…
011101101111…
…

3
Bitcoin
Satoshi Nakamoto 제안
 “Bitcoin : A Peer-to-Peer Electronic Cash System”,
2009

기존 전자 화폐와 차별화
 공개성
 On-line 사용
 발행 및 검증 분산화

4
암호학적 도구
해쉬 함수
 SHA-256, RIPEMD-160
11010 … 011
균일한 길이 난수열 출력

전자 서명
 ECDSA
비밀키

키생성

서명

검증

공개키
5
Bitcoin 구성
거래 정보를 모든 사용자에 공개
Bob

Alice

Alice [1BTC]  Bob

broadcast

공유정보

Alice : 17BTC
Bob : 23BTC
…

6
Bitcoin 구성
위조 방지를 위한 전자 서명 추가
Bob

Alice

Sig(SKAlice , Alice [1BTC]  Bob)

broadcast

공유정보

Alice : 17BTC
Bob : 23BTC
…

7
Bitcoin 구성
익명성 추가
Bob

Alice

Sig(SKA1 , A1 [1BTC]  Bob)
A1

A2

broadcast

A3
공유정보

A1 : 1BTC
Bob : 23BTC
A2 : 5BTC
A3 : 11BTC
…

8
Bitcoin 구성
이중 사용
Bob

Alice

Sig(SKA1 , A1 [1BTC]  Bob)
A1

Sig(SKA1 , A1 [1BTC]
 Charley) A2
A3

Charley
9
Bitcoin 구성
Block Chain을 이용한 transaction confirmation
Bob

Alice

Sig(SKA1 ,1BTC : A1  Bob)
A1

Transaction
fail

Sig(SKA1 ,1BTC : A1
 Charley) A2

…

A3

Bn-2

Bn-1

Bn

Charley
Bn

이중 사용 확인

confirmed

Miner
10
Transaction 구조
Transaction = input + output
 하나의 transaction에 다수의 input, output 포함 가능
 output의 총합은 input 총합을 넘을 수 없음

AB
1BTC

BC
1BTC

C  D1
0.6 BTC
C  D2
0.4 BTC

D2 E
0.4 BTC

EF
0.4 BTC
E’  F
0.7 BTC

input

output

Transaction
11

FG
1.1 BTC
이중 사용 확인
신규 transaction의 input을 확인
Tx1(0)
Tx1

코인생성

Tx1(1)

이중 사용 확인

Tx2(0)
Tx2

Tx1(0)

Tx1(1)

Tx5(0)

Tx2(1)

Tx5(1)

Tx4(2)

Tx5(2)

input

output

Tx2(1)
Tx2(1)
Tx1(0)
Tx3(0)

Tx3
Tx2(0)

Tx4(1)
Tx4(0)

Tx4

Tx3(0)

Tx4(0)

Tx4(1)

Tx4(2)
unspent outputs

Tx4(2)
12

Transaction (Tx5)
Transaction 서명 및 검증
서명 및 검증

자료 : “Bitcoin : A Peer-to-Peer Electronic Cash System”, S. Nakamoto

13
Example (Real Transaction)
Hash :
98ead69d1637143d9b548482c20872a230ff657b8c4e5b1bde2ae92b98c62e06
Appeared in Block 275,686 (2013-12-18 19:36:15)
Size : 798 bytes
input

output

자료 : blockexplorer.com

14
Example (Transaction Raw Data)

자료 : blockexplorer.com

15
Example (Coinbase Transaction)

자료 : blockexplorer.com

16
Block Chain 구조

자료 : “Bitcoin : A Peer-to-Peer Electronic Cash System”, S. Nakamoto

17
Merkle Tree 구조
d1

h(c1||c2)
c1

c2

h(b1||b2)

h(b3||b4)
b4

b1

b2

b3

h(a1||a2)

h(a3||a4)

h(a5||a6)

복제

a1

a2

a3

a4

a5

a6

h(Tx1)

h(Tx2)

h(Tx3)

h(Tx4)

h(Tx5)

h(Tx6)

Tx1

Tx2

Tx3

Tx4

Tx5

Tx6

18

h(a5||a6)
Proof of work (hashcash)
Block 생성을 위해 일정량의 계산을 요구
 전체 Block의 256-bit hash값에 대한 조건이 주어짐
0 < hash of Block < Target
 조건을 만족하는 nonce를 찾는 문제
 컴퓨팅 환경 및 사용자 변화와 무관하게 각 block 생성에
걸리는 시간을 일정하게 유지

난이도 조정
 매 2016 block 마다 조정 (1block/10분 = 2016blocks/2주)
new Target = old Target ×

최근 2016 block 생성에 걸린 시간 (초)
2주 (초)

19
Mining & Incentives
Mining
 기존 block chain에 새로운 block를 계산하여 추가
 최근 생성된 block이 복수일 경우, miner가 새 block을
추가할 branch 선택
 기존 block에 포함되지 않은 transaction을 선택적으로
포함 (이중 사용 transaction 제외)

Incentives
 각 block은 첫 transaction으로 bitcoin 발행
 최초 50BTC/1block 발행, 매 21만 block마다 반감
(현재 25BTC/1block)
 Block에 포함된 모든 transaction의 verification fees
20
Block Example
Block #275,667

자료 : blockexplorer.com

21
Genesis Block

자료 : blockexplorer.com

22
Fork
(거의) 동시에 두 개의 새로운 Block이 chain에 연결
Bn+1

Bn-2

Bn-1

Bn
B’n+1

각 노드(miner)는 두 block 중 하나를 선택, 새로운 block 연결
 miner의 선택에 따른 branch 사이의 경쟁
Bn+1
B’n+1

Bn-2

Bn-1

Bn+2

Bn+4

B’n+2

Bn+3

Bn

두 branch의 차이가 크게 벌어질 수록 많은 수의 miner가 긴
branch로 이동하고, 최종적으로 짧은 branch는 사라짐
23
이중 사용 방지
가정
 기존 block에서 사용되고 확인된 output을 새로운
transaction에 input으로 사용하는 것은 불가능
 모든 transaction은 block에 추가되어야 거래가 완료
 즉, 이중 사용을 위해서는 동일 output을 포함한
transaction이 서로 다른 branch에 나뉘어 있어야 함

Branch 통합 후
 사라진 branch에 포함된 transaction 중 기존 block chain
에 포함되지 않은 transaction은 새로운 block에서 흡수
 이중 사용 transaction은 새로운 block에서 제외됨

24
Transaction 저장
Transaction
 과거의 모든 transaction을 저장하지 않고 사용이 완료된
transaction에 대한 기록은 폐기
 “unspent transaction” 리스트만 관리
 Merkle Tree 축약
Root

Root

c1

c2
b2

b1
a1

a2

a3

Tx1
Tx2
Tx3
spent spent spent

c1

b3
a4

Tx4

a5

b4
a6

a7

b2

b1
a8

Tx5
Tx6
Tx7
Tx8
spent spent spent spent

25

c2

a3

a4

Tx4
알려진 공격들
51% attack
 공격자가 전체 사용자의 51% 이상의 계산 능력을 지님
 공격자는 두 개의 branch를 고의로 생성, 두 개의 branch 중 자신이 원하는
branch를 정당한 block chain으로 남길 수 있음

Race Attack
 정당한 transaction 전송(unicast)함과 동시에 동일 input에 대한 수 백 개의
작은 transaction을 생성하여 여러 사용자에 전송(broadcast)
 많은 사용자들에 전송한 transaction이 정당한 것으로 인정받을 확률이 높음

Finney Attack
 공격자가 Transaction(AA’)을 포함한 block 생성
 동일한 coin으로 Transaction(AB)를 지불
 B가 거래를 인정하면 미리 생성한 block 발표

공격의 대상이 block confirmation까지 거래를 대기하면 방어
가능
26
Q&A

Thank You

27

More Related Content

What's hot

블록체인 What is Blockchain?
블록체인 What is Blockchain?블록체인 What is Blockchain?
블록체인 What is Blockchain?정식 황
 
Scale chain 제품소개
Scale chain 제품소개Scale chain 제품소개
Scale chain 제품소개Kangmo Kim
 
비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.Sung Wan Yoon
 
[고숙한 세미나] 블록체인 취약점 분석
[고숙한 세미나] 블록체인 취약점 분석[고숙한 세미나] 블록체인 취약점 분석
[고숙한 세미나] 블록체인 취약점 분석Jung SunWook
 
비트코인 네트워크 기술 소개 - 임석의, 윤석주
비트코인 네트워크 기술 소개 - 임석의, 윤석주비트코인 네트워크 기술 소개 - 임석의, 윤석주
비트코인 네트워크 기술 소개 - 임석의, 윤석주석의 임
 
비트코인 채굴과정
비트코인 채굴과정비트코인 채굴과정
비트코인 채굴과정Seong-Bok Lee
 
블록체인 이해와 활용
블록체인 이해와 활용블록체인 이해와 활용
블록체인 이해와 활용Seung-Woo Kang
 
How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리SeokWon Kim
 
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)doo rip 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
 
분산형 컴퓨팅 플랫폼 [에테리움]
분산형 컴퓨팅 플랫폼 [에테리움]분산형 컴퓨팅 플랫폼 [에테리움]
분산형 컴퓨팅 플랫폼 [에테리움]inucreative
 
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해용진 최
 
쉽게 풀어쓴 블록체인과 이더리움
쉽게 풀어쓴 블록체인과 이더리움쉽게 풀어쓴 블록체인과 이더리움
쉽게 풀어쓴 블록체인과 이더리움Dae Hyun Nam
 
KOSCOM Capital Market Blockchain PoC completed
KOSCOM Capital Market Blockchain PoC completedKOSCOM Capital Market Blockchain PoC completed
KOSCOM Capital Market Blockchain PoC completedMyoungSeok Song
 
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티D.CAMP
 
비트코인과 블록체인 핵심개념정리
비트코인과 블록체인 핵심개념정리비트코인과 블록체인 핵심개념정리
비트코인과 블록체인 핵심개념정리HANSUK KIM
 

What's hot (20)

블록체인 What is Blockchain?
블록체인 What is Blockchain?블록체인 What is Blockchain?
블록체인 What is Blockchain?
 
Scale chain 제품소개
Scale chain 제품소개Scale chain 제품소개
Scale chain 제품소개
 
비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.비트코인에 관한 교육자료 입니다.
비트코인에 관한 교육자료 입니다.
 
블록체인
블록체인블록체인
블록체인
 
[고숙한 세미나] 블록체인 취약점 분석
[고숙한 세미나] 블록체인 취약점 분석[고숙한 세미나] 블록체인 취약점 분석
[고숙한 세미나] 블록체인 취약점 분석
 
비트코인 네트워크 기술 소개 - 임석의, 윤석주
비트코인 네트워크 기술 소개 - 임석의, 윤석주비트코인 네트워크 기술 소개 - 임석의, 윤석주
비트코인 네트워크 기술 소개 - 임석의, 윤석주
 
비트코인 채굴과정
비트코인 채굴과정비트코인 채굴과정
비트코인 채굴과정
 
블록체인 개요
블록체인 개요블록체인 개요
블록체인 개요
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
블록체인 이해와 활용
블록체인 이해와 활용블록체인 이해와 활용
블록체인 이해와 활용
 
How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리How Blockchain Works - 블록체인의 원리
How Blockchain Works - 블록체인의 원리
 
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
 
Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)Bitcoin 2.0(blockchain technology 2)
Bitcoin 2.0(blockchain technology 2)
 
Blockchain_OS
Blockchain_OSBlockchain_OS
Blockchain_OS
 
분산형 컴퓨팅 플랫폼 [에테리움]
분산형 컴퓨팅 플랫폼 [에테리움]분산형 컴퓨팅 플랫폼 [에테리움]
분산형 컴퓨팅 플랫폼 [에테리움]
 
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
블록체인(Block Chain)이란? - 블록체인의 구성요소, 작동원리, 메커니즘의 이해
 
쉽게 풀어쓴 블록체인과 이더리움
쉽게 풀어쓴 블록체인과 이더리움쉽게 풀어쓴 블록체인과 이더리움
쉽게 풀어쓴 블록체인과 이더리움
 
KOSCOM Capital Market Blockchain PoC completed
KOSCOM Capital Market Blockchain PoC completedKOSCOM Capital Market Blockchain PoC completed
KOSCOM Capital Market Blockchain PoC completed
 
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티
BlockchainOS_오픈소스로 개발되는 블록체인OS_최예준_011916_디파티
 
비트코인과 블록체인 핵심개념정리
비트코인과 블록체인 핵심개념정리비트코인과 블록체인 핵심개념정리
비트코인과 블록체인 핵심개념정리
 

Similar to Bitcoin 기술분석 - 조남수

코어 이더리움
코어 이더리움 코어 이더리움
코어 이더리움 Jay JH Park
 
Bitcoin Basics Part3
Bitcoin Basics Part3Bitcoin Basics Part3
Bitcoin Basics Part3Soobok Jin
 
Block chain introduction slideshare
Block chain introduction   slideshareBlock chain introduction   slideshare
Block chain introduction slidesharewonyong hwang
 
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
 
블록체인 이슈와 전망 New db
블록체인 이슈와 전망 New db블록체인 이슈와 전망 New db
블록체인 이슈와 전망 New dbHongSuk Seo
 
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto BlockchainSeungjoo Kim
 
About the Blockchain_imcloud
About the Blockchain_imcloudAbout the Blockchain_imcloud
About the Blockchain_imcloudimcloud
 
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료Bitberry
 
Ethereum Basics Part 2
Ethereum Basics Part 2Ethereum Basics Part 2
Ethereum Basics Part 2Soobok Jin
 
Mastering bitcoin chap1
Mastering bitcoin chap1Mastering bitcoin chap1
Mastering bitcoin chap1제호 송
 
Blockchain 1st bitcoin_core
Blockchain 1st bitcoin_coreBlockchain 1st bitcoin_core
Blockchain 1st bitcoin_coreihpark92
 
Bitcoin Basics Part4
Bitcoin Basics Part4Bitcoin Basics Part4
Bitcoin Basics Part4Soobok Jin
 
블록체인 한 번에 이해하기
블록체인 한 번에 이해하기블록체인 한 번에 이해하기
블록체인 한 번에 이해하기Myung Woon Oh
 
짱 쉬운 블록체인 안종길
짱 쉬운 블록체인   안종길짱 쉬운 블록체인   안종길
짱 쉬운 블록체인 안종길JongKil Ahn
 
짱 쉬운 블록체인
짱 쉬운 블록체인   짱 쉬운 블록체인
짱 쉬운 블록체인 JongKil Ahn
 
3주차 블록체인의 한계
3주차 블록체인의 한계3주차 블록체인의 한계
3주차 블록체인의 한계Insight Campus
 
Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Jong-Ki Lee
 

Similar to Bitcoin 기술분석 - 조남수 (20)

코어 이더리움
코어 이더리움 코어 이더리움
코어 이더리움
 
Bitcoin Basics Part3
Bitcoin Basics Part3Bitcoin Basics Part3
Bitcoin Basics Part3
 
Block chain introduction slideshare
Block chain introduction   slideshareBlock chain introduction   slideshare
Block chain introduction slideshare
 
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.)
 
비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술
 
블록체인 이슈와 전망 New db
블록체인 이슈와 전망 New db블록체인 이슈와 전망 New db
블록체인 이슈와 전망 New db
 
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain
[Blockchain and Cryptocurrency] 04. Bitcoin and Nakamoto Blockchain
 
About the Blockchain_imcloud
About the Blockchain_imcloudAbout the Blockchain_imcloud
About the Blockchain_imcloud
 
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
[비트베리파트너스데이] 비트베리 비즈니스 솔루션 소개 자료
 
Blockchain
BlockchainBlockchain
Blockchain
 
Ethereum Basics Part 2
Ethereum Basics Part 2Ethereum Basics Part 2
Ethereum Basics Part 2
 
Mastering bitcoin chap1
Mastering bitcoin chap1Mastering bitcoin chap1
Mastering bitcoin chap1
 
Blockchain 1st bitcoin_core
Blockchain 1st bitcoin_coreBlockchain 1st bitcoin_core
Blockchain 1st bitcoin_core
 
Bitcoin Basics Part4
Bitcoin Basics Part4Bitcoin Basics Part4
Bitcoin Basics Part4
 
블록체인 한 번에 이해하기
블록체인 한 번에 이해하기블록체인 한 번에 이해하기
블록체인 한 번에 이해하기
 
짱 쉬운 블록체인 안종길
짱 쉬운 블록체인   안종길짱 쉬운 블록체인   안종길
짱 쉬운 블록체인 안종길
 
짱 쉬운 블록체인
짱 쉬운 블록체인   짱 쉬운 블록체인
짱 쉬운 블록체인
 
3주차 블록체인의 한계
3주차 블록체인의 한계3주차 블록체인의 한계
3주차 블록체인의 한계
 
Introblockchaininfra 180806105137
Introblockchaininfra 180806105137Introblockchaininfra 180806105137
Introblockchaininfra 180806105137
 

More from 00heights

화폐의 이해 - 조복현
화폐의 이해 - 조복현화폐의 이해 - 조복현
화폐의 이해 - 조복현00heights
 
비트코인과 디지털통화 - 이주영
비트코인과 디지털통화 - 이주영비트코인과 디지털통화 - 이주영
비트코인과 디지털통화 - 이주영00heights
 
The Future of Digital Forensics
The Future of Digital ForensicsThe Future of Digital Forensics
The Future of Digital Forensics00heights
 
Smartphone forensic
Smartphone forensicSmartphone forensic
Smartphone forensic00heights
 
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언클라우드 컴퓨팅 보안 이슈 극복을 위한 제언
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언00heights
 
IT Trend Information Source
IT Trend Information SourceIT Trend Information Source
IT Trend Information Source00heights
 

More from 00heights (6)

화폐의 이해 - 조복현
화폐의 이해 - 조복현화폐의 이해 - 조복현
화폐의 이해 - 조복현
 
비트코인과 디지털통화 - 이주영
비트코인과 디지털통화 - 이주영비트코인과 디지털통화 - 이주영
비트코인과 디지털통화 - 이주영
 
The Future of Digital Forensics
The Future of Digital ForensicsThe Future of Digital Forensics
The Future of Digital Forensics
 
Smartphone forensic
Smartphone forensicSmartphone forensic
Smartphone forensic
 
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언클라우드 컴퓨팅 보안 이슈 극복을 위한 제언
클라우드 컴퓨팅 보안 이슈 극복을 위한 제언
 
IT Trend Information Source
IT Trend Information SourceIT Trend Information Source
IT Trend Information Source
 

Recently uploaded

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Recently uploaded (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

Bitcoin 기술분석 - 조남수

  • 2. 전자 화폐 (e-Cash) David Chaum이 최초 제안  “Blind signature for untraceable payment”, Crypto 1982 발전 방향  현실 화폐의 특징과 최대한 유사하게 설계  익명성 강조  Off-line 사용  발행 기관이 제한적  위조 방지 (이중 사용 방지) 2
  • 3. 이중 사용 문제점  실물 화폐에 비해 복제가 용이함  Off-line 거래에서 이중 사용 방지는 근본적으로 어려움  사후 추적 기능 제공  이중 사용 방지를 위해 다양한 암호 기술 적용  비효율성 증가 011101101111… 011101101111… 011101101111… … 3
  • 4. Bitcoin Satoshi Nakamoto 제안  “Bitcoin : A Peer-to-Peer Electronic Cash System”, 2009 기존 전자 화폐와 차별화  공개성  On-line 사용  발행 및 검증 분산화 4
  • 5. 암호학적 도구 해쉬 함수  SHA-256, RIPEMD-160 11010 … 011 균일한 길이 난수열 출력 전자 서명  ECDSA 비밀키 키생성 서명 검증 공개키 5
  • 6. Bitcoin 구성 거래 정보를 모든 사용자에 공개 Bob Alice Alice [1BTC]  Bob broadcast 공유정보 Alice : 17BTC Bob : 23BTC … 6
  • 7. Bitcoin 구성 위조 방지를 위한 전자 서명 추가 Bob Alice Sig(SKAlice , Alice [1BTC]  Bob) broadcast 공유정보 Alice : 17BTC Bob : 23BTC … 7
  • 8. Bitcoin 구성 익명성 추가 Bob Alice Sig(SKA1 , A1 [1BTC]  Bob) A1 A2 broadcast A3 공유정보 A1 : 1BTC Bob : 23BTC A2 : 5BTC A3 : 11BTC … 8
  • 9. Bitcoin 구성 이중 사용 Bob Alice Sig(SKA1 , A1 [1BTC]  Bob) A1 Sig(SKA1 , A1 [1BTC]  Charley) A2 A3 Charley 9
  • 10. Bitcoin 구성 Block Chain을 이용한 transaction confirmation Bob Alice Sig(SKA1 ,1BTC : A1  Bob) A1 Transaction fail Sig(SKA1 ,1BTC : A1  Charley) A2 … A3 Bn-2 Bn-1 Bn Charley Bn 이중 사용 확인 confirmed Miner 10
  • 11. Transaction 구조 Transaction = input + output  하나의 transaction에 다수의 input, output 포함 가능  output의 총합은 input 총합을 넘을 수 없음 AB 1BTC BC 1BTC C  D1 0.6 BTC C  D2 0.4 BTC D2 E 0.4 BTC EF 0.4 BTC E’  F 0.7 BTC input output Transaction 11 FG 1.1 BTC
  • 12. 이중 사용 확인 신규 transaction의 input을 확인 Tx1(0) Tx1 코인생성 Tx1(1) 이중 사용 확인 Tx2(0) Tx2 Tx1(0) Tx1(1) Tx5(0) Tx2(1) Tx5(1) Tx4(2) Tx5(2) input output Tx2(1) Tx2(1) Tx1(0) Tx3(0) Tx3 Tx2(0) Tx4(1) Tx4(0) Tx4 Tx3(0) Tx4(0) Tx4(1) Tx4(2) unspent outputs Tx4(2) 12 Transaction (Tx5)
  • 13. Transaction 서명 및 검증 서명 및 검증 자료 : “Bitcoin : A Peer-to-Peer Electronic Cash System”, S. Nakamoto 13
  • 14. Example (Real Transaction) Hash : 98ead69d1637143d9b548482c20872a230ff657b8c4e5b1bde2ae92b98c62e06 Appeared in Block 275,686 (2013-12-18 19:36:15) Size : 798 bytes input output 자료 : blockexplorer.com 14
  • 15. Example (Transaction Raw Data) 자료 : blockexplorer.com 15
  • 16. Example (Coinbase Transaction) 자료 : blockexplorer.com 16
  • 17. Block Chain 구조 자료 : “Bitcoin : A Peer-to-Peer Electronic Cash System”, S. Nakamoto 17
  • 19. Proof of work (hashcash) Block 생성을 위해 일정량의 계산을 요구  전체 Block의 256-bit hash값에 대한 조건이 주어짐 0 < hash of Block < Target  조건을 만족하는 nonce를 찾는 문제  컴퓨팅 환경 및 사용자 변화와 무관하게 각 block 생성에 걸리는 시간을 일정하게 유지 난이도 조정  매 2016 block 마다 조정 (1block/10분 = 2016blocks/2주) new Target = old Target × 최근 2016 block 생성에 걸린 시간 (초) 2주 (초) 19
  • 20. Mining & Incentives Mining  기존 block chain에 새로운 block를 계산하여 추가  최근 생성된 block이 복수일 경우, miner가 새 block을 추가할 branch 선택  기존 block에 포함되지 않은 transaction을 선택적으로 포함 (이중 사용 transaction 제외) Incentives  각 block은 첫 transaction으로 bitcoin 발행  최초 50BTC/1block 발행, 매 21만 block마다 반감 (현재 25BTC/1block)  Block에 포함된 모든 transaction의 verification fees 20
  • 21. Block Example Block #275,667 자료 : blockexplorer.com 21
  • 22. Genesis Block 자료 : blockexplorer.com 22
  • 23. Fork (거의) 동시에 두 개의 새로운 Block이 chain에 연결 Bn+1 Bn-2 Bn-1 Bn B’n+1 각 노드(miner)는 두 block 중 하나를 선택, 새로운 block 연결  miner의 선택에 따른 branch 사이의 경쟁 Bn+1 B’n+1 Bn-2 Bn-1 Bn+2 Bn+4 B’n+2 Bn+3 Bn 두 branch의 차이가 크게 벌어질 수록 많은 수의 miner가 긴 branch로 이동하고, 최종적으로 짧은 branch는 사라짐 23
  • 24. 이중 사용 방지 가정  기존 block에서 사용되고 확인된 output을 새로운 transaction에 input으로 사용하는 것은 불가능  모든 transaction은 block에 추가되어야 거래가 완료  즉, 이중 사용을 위해서는 동일 output을 포함한 transaction이 서로 다른 branch에 나뉘어 있어야 함 Branch 통합 후  사라진 branch에 포함된 transaction 중 기존 block chain 에 포함되지 않은 transaction은 새로운 block에서 흡수  이중 사용 transaction은 새로운 block에서 제외됨 24
  • 25. Transaction 저장 Transaction  과거의 모든 transaction을 저장하지 않고 사용이 완료된 transaction에 대한 기록은 폐기  “unspent transaction” 리스트만 관리  Merkle Tree 축약 Root Root c1 c2 b2 b1 a1 a2 a3 Tx1 Tx2 Tx3 spent spent spent c1 b3 a4 Tx4 a5 b4 a6 a7 b2 b1 a8 Tx5 Tx6 Tx7 Tx8 spent spent spent spent 25 c2 a3 a4 Tx4
  • 26. 알려진 공격들 51% attack  공격자가 전체 사용자의 51% 이상의 계산 능력을 지님  공격자는 두 개의 branch를 고의로 생성, 두 개의 branch 중 자신이 원하는 branch를 정당한 block chain으로 남길 수 있음 Race Attack  정당한 transaction 전송(unicast)함과 동시에 동일 input에 대한 수 백 개의 작은 transaction을 생성하여 여러 사용자에 전송(broadcast)  많은 사용자들에 전송한 transaction이 정당한 것으로 인정받을 확률이 높음 Finney Attack  공격자가 Transaction(AA’)을 포함한 block 생성  동일한 coin으로 Transaction(AB)를 지불  B가 거래를 인정하면 미리 생성한 block 발표 공격의 대상이 block confirmation까지 거래를 대기하면 방어 가능 26