'Blockchain and Cryptocurrency' Subject @ Korea University, 2021
01. Syllabus
02. Blockchain Overview and Introduction - Technical Concepts of Blockchain Systems -
03. Blockchain's Theoretical Foundation, Cryptography
04. Bitcoin and Nakamoto Blockchain
05. Ethereum and Smart Contract
06. NFT and Metaverse
07. Cardano(ADA) and Other Altcoins
08. Dark Coins
09. Blockchain Usage Beyond Currency - Way to Design Good Blockchain Business Models -
5. 고려대학교정보보호대학원
마스터 제목 스타일 편집
eCash (1982)
(David Chaum, "Blind Signatures for Untraceable Payments", Crypto 1982)
5
암호화폐 이용자 A
상점 X
1. 암호화폐 발행
4. 장부에 해당 암호화폐가 사용된
기록이 있는지 여부를 확인
2. 지불
1477
1477
3. 암호화폐
검증요구
6. 상품/서비스
5. 유효성 (신규사용
or 중복사용) 통보
1477
6. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인 (2008)
(In October 2008, posted to the Cypherpunks mailing list)
6
8. 고려대학교정보보호대학원
마스터 제목 스타일 편집 (2008)
8
“중앙은행은 법정통화 가치에 논쟁의 여지가 없도록 신뢰를
받아야 하지만, 화폐의 역사는 그런 신뢰를 완전히 저버린 사
례로 가득하다. 은행은 우리의 돈을 안전하게 보관해야 하지
만, 그들은 무분별한 대출로 신용버블을 유발했다.”
– Satoshi Nakamoto –
9. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(David Chaum, "Blind Signatures for Untraceable Payments", Crypto 1982)
9
암호화폐 이용자 A
상점 X
1. 암호화폐 발행
4. 장부에 해당 암호화폐가 사용된
기록이 있는지 여부를 확인
2. 지불
1477
3. 암호화폐
검증요구
6. 상품/서비스
5. 유효성 (신규사용
or 중복사용) 통보
1477
Bitcoin (2008)
10. 고려대학교정보보호대학원
마스터 제목 스타일 편집
1477
(David Chaum, "Blind Signatures for Untraceable Payments", Crypto 1982)
10
암호화폐 이용자 A
상점 X
1. 암호화폐 발행
2. 지불
1477
3. 암호화폐
검증요구
6. 상품/서비스
5. 유효성 (신규사용
or 중복사용) 통보
1477
4. 블록체인에 해당 비트코인이
사용된 기록이 있는지 여부를 확인
Bitcoin (2008)
11. 고려대학교정보보호대학원
마스터 제목 스타일 편집
발행주체
구현방식
정부(중앙은행) 민간단체 또는 기업
중앙집중형
CBDC (Central Bank
Digital Currency)
Virtual Currency
탈중앙형
(Blockchain)
CBDC (Central Bank
Digital Currency)
Virtual Currency or
Cryptocurrency
‘중앙은행이 발행하는 디지털 화폐’, CBDC는 말 그대로 발행
주체가 민간이 아닌 정부이며, 그렇기에 법적 효력 또한
가진다는 점에서 Bitcoin 등의 암호화폐와 차별화 됨.
11
eCash(1982)
Bitcoin(2008)
가상화폐(자산) vs. 암호화폐(자산)
12. 고려대학교정보보호대학원
마스터 제목 스타일 편집
12
상점 X
A→Y:1477
B→Z:1423
‘중복 사용’
‘중복사용’
‘중복사용’
1477
(Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System" 2008)
A→Y:1477
B→Z:1423
A→Y:1477
B→Z:1423
ID: 1477
A
Seller X
Seller Y
비트코인 이용자 A
13. 고려대학교정보보호대학원
마스터 제목 스타일 편집
13
상점 X
A→Y:1477
B→Z:1423
‘신규 사용’
‘중복사용’
‘중복사용’
1477
(Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System" 2008)
A→Y:1477
B→Z:1423 B→Z:1423
비트코인 이용자 A
14. 고려대학교정보보호대학원
마스터 제목 스타일 편집
14
(Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System" 2008)
인터넷 투표를 통한 장부의 주기적(10분) 동기화가 필요
1423
1477
1423
A→Y:1477
B→Z:1423
A→Y:1477
B→Z:1423 B→Z:1423
(사실 본 강의자료의 예제에서는 60분(= 10분 * 6블록)의 주기로 장부들을 동기화 한다고 봐야 함.)
비잔틴 오류를 막는 법, 블록체인
15. 고려대학교정보보호대학원
마스터 제목 스타일 편집
[참고] Classical Consensus Mechanisms
Crash failure model (Honest nodes that may fail, but not
deliberate act maliciously)
2PC (Two Phase Commit)
Paxos
Quorum
Chubby : Google File System (GFS), BigTable
Byzantine failure model
PBFT (Practical Byzantine Fault Tolerance) : First
optimal Byzantine fault tolerant algorithm for
practical use.
XFT (Cross Fault Tolerance)
Honey Badger
Hybster (Hybrids on Steroids : SGX-based high
performance BFT)
(Bano et al., "SoK: Consensus in The Age of Blockchains", arXiv 2017)
15
16. 고려대학교정보보호대학원
마스터 제목 스타일 편집
1. 각자가 관찰한 10분간의 모든 거래내역을
1MB 파일(일명, block)에 기록
2. 회람
3. 서로 다른 장부가 존재할 경우 투표
16
비잔틴 오류를 막는 법, 블록체인
A→Y:1477
B→Z:1423
A→Y:1477
B→Z:1423 B→Z:1423
17. 고려대학교정보보호대학원
마스터 제목 스타일 편집
1. 각자가 관찰한 10분간의 모든 거래내역을
1MB 파일(일명, block)에 기록
2. 회람
3. 서로 다른 장부가 존재할 경우 투표
4. 선출된 장부를 보관중이던 이전 장부
들에 연결해(일명, chain) 각자 보관
17
비잔틴 오류를 막는 법, 블록체인
20. 고려대학교정보보호대학원
마스터 제목 스타일 편집
인플레이션을 방지하기 위해 약 4년마다
보상을 받는 가격이 절반으로 떨어지도록
설계됨.
초기 보상액은 2009년 50 Bitcoin이었고,
2013년에는 25 Bitcoin, 2016년에는 12.5
Bitcoin이었으며, 이는 계속해서 줄어듬.
끊임없이 반으로 줄어들면 최종에는 약
2천1백만 개의 Bitcoin만 존재하게 됨.
2140년 5월7일경 모든 Bitcoin이 생성될
것으로 예측됨.
Block rewards → Transaction fees
(* But, in ACM CCS 2016, Miles Carlsten et al. showed that the stability of bitcoin is
NOT guaranteed as mining rewards decline.) 20
블록체인에서의 참여유도 방법, 채굴
24. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(Michele D'Aliessi, "How Does the Blockchain Work? Blockchain Technology Explained in Simple Words", Jun 2, 2016)
(Bitcoin address)
David → Sandra 5BTC
David → Sandra 5BTC
비트코인 사용법 – 내부에서는..
24
25. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(Michele D'Aliessi, "How Does the Blockchain Work? Blockchain Technology Explained in Simple Words", Jun 2, 2016)
(Bitcoin address)
David → Sandra 5BTC
David → Sandra 5BTC
비트코인 사용법 – 내부에서는..
25
26. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인 사용법 – 내부에서는..
26
Temporary Pool
(≤1MB)
(#1423) (#1477)
(#1423)
(#1477)
(#1488)
(#1488)
27. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인 사용법 – 내부에서는..
27
Temporary Pool
(≤1MB)
(#1423) (#1477)
(#1488)
(#1423)
(#1477)
(#1488)
28. 고려대학교정보보호대학원
마스터 제목 스타일 편집
일단 연결되면 위〮변조가 불가능하며 영구히 저장되고 공개됨!
직전 블록(#151)의 요약정보(해쉬값)
를 담고 있음.
비트코인 사용법 – 내부에서는..
28
29. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인 사용법 – 내부에서는..
29
Temporary Pool
(≤1MB)
다음블
록
저장은 어디에?
(#1423)
(#1477)
(#1488)
(#1423) (#1477)
(#1488)
33. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(10분)
(20분)
(30분)
(40분)
(50분)
(60분)
(70분)
The Longest Chain Rule :
유효한 장부는 대다수(>50%)의
합의가 모인 (가장 긴) 블록
A
B
D
C
E
33
Nakamoto 블록체인과 채굴
35. 고려대학교정보보호대학원
마스터 제목 스타일 편집
Safety(or Consensus Finality) vs. Liveness(or Termination)
A
D
B C
E
A
D
B C
E
선투표 후연결 : 무한대기 가능성 선연결 후투표 : 판정번복 가능성
35
(e.g.) Tendermint and other PBFT-style Blockchain (e.g.) Bitcoin
36. 고려대학교정보보호대학원
마스터 제목 스타일 편집
Short delay
Long delay
(no upper
bound on
propagation
delay)
FLP Impossibility Result
Conflict
of
opinion?
Response
delay?
36
38. 고려대학교정보보호대학원
마스터 제목 스타일 편집
38
“사토시 나카모토는 정부의 필요에 따라 발행량 증가가 가능한
현재의 화폐 시스템을 개혁하고자 비트코인을 발표”
※ 개발 동기가 명시적으로 알려진 바는 없으나, 비트코인 첫 블록 여백에 영국의 공적자금
투입을 통한 은행 재정 원조 관련 타임스 기사 내용이 포함되어 있어 이를 통해 추정 및
회자되는 說임.
39. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인/블록체인 네트워크
(Source: Andreas M. Antonopoulos, "Mastering Bitcoin", O'REILLY)
39
42. 고려대학교정보보호대학원
마스터 제목 스타일 편집
작업증명(PoW)이란 무엇인가?
(John R. Douceur, "The Sybil Attack", Microsoft Research, 2002)
42
43. 고려대학교정보보호대학원
마스터 제목 스타일 편집
작업증명(PoW)이란 무엇인가?
Sybil Attacks
(10분)
(20분)
(30분)
(40분)
(50분)
(60분)
(70분)
A
B
D
C
E
다수의 가짜 ID를
이용한 평판도
조작을 통해
Longest Chain을
바꿀 수 있음.
43
44. 고려대학교정보보호대학원
마스터 제목 스타일 편집
작업증명(PoW)이란 무엇인가?
해결책 : 사용자가 블록을 만들때마다
적당히 어려운 암호퍼즐(e.g., CAPTCHA)을
풀게 함
44
50. 고려대학교정보보호대학원
마스터 제목 스타일 편집
C.Dwork and M.Naor, “Pricing via
Processing or Combating Junk Mail”,
CRYPTO 1992
For combating email spam
A.Back, “Hashcash - A Denial of Service
Counter-Measure”, TR, August 2002.
For limiting Denial-of-Service attacks
[참고] PoW는 비트코인에서 최초 사용됐나
50
51. 고려대학교정보보호대학원
마스터 제목 스타일 편집
PoW ≠ Consensus Mechanisms
51
PoW & PoS ≠ Consensus Mechanisms
• PoW (Proof of Work,
작업증명)
• PoS (Proof of Stake,
지분증명)
• ……
시빌 공격 대응책
(Sybil Control Mechanisms)
결합
암호화폐
(비허가형)
• Heaviest/Longest
Chain Selection Rule
• PBFT
• Ben-Or
• Tendermint / Cosmos
• Avalanche 등
투표 방식
(Consensus Mechanisms)
54. 고려대학교정보보호대학원
마스터 제목 스타일 편집
블록체인의 Trilemma
54
“블록체인은 아마존 등 일반
서버들보다 효율성이 100만
배나 떨어진다. 앞으로 블록
체인은 한 기능이 강화되면
다른 기능은 떨어질 수밖에
없으므로 자신이 원하는 핵심
속성을 선정해야 한다.”
55. 고려대학교정보보호대학원
마스터 제목 스타일 편집
탈중앙화(Decentralization) 문제
(Jordan Tuwiner, "Bitcoin Mining Pools", July 13, 2017)
55
58. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(Financial Cryptography and Data Security 2018)
Neither are all that decentralized!
Both Bitcoin and Ethereum mining are very
centralized, with the top 4 miners in Bitcoin and
the top 3 miners in Ethereum controlling more
than 50% of the hash rate.
58
탈중앙화(Decentralization) 문제
60. 고려대학교정보보호대학원
마스터 제목 스타일 편집
유효한 PoW을 계산하려면 단순히 계산
(CPU)만 빨리하면 되는 것이 아니라, 많은
양의 메모리(memory) 또한 필요케 함
[해결책] ASIC Resistant Mining Puzzles
60
61. 고려대학교정보보호대학원
마스터 제목 스타일 편집
I.Eyal and E.G.Sirer, "Majority Is Not
Enough: Bitcoin Mining Is Vulnerable",
Financial Cryptography and Data Security
2014
First economic attack based on game
theory
블록체인의 PoW 합의 기술은 >51%가 아닌,
생각보다 적은 수(>~25%)의 담합만으로도
취약해질 수 있음.
[참고] Selfish Mining Attack
61
62. 고려대학교정보보호대학원
마스터 제목 스타일 편집
Why?
기존의 암호 프로토콜들은 ”과반수(또는 2/3) 이
상의 사용자들은 정직하게 행동할 것”이라는 전
제하에 만들어짐.
그러나 블록체인상에서의 모든 구성원들은 선함
과 악함의 기준이 아닌 자신들의 이익이 극대화되
는 방향으로 행동함. 일명, ‘게임 이론(Game
Theory)’.
그러므로 위협 모델링(Threat Modeling)시 attack
vector에 ‘사람의 심리적 요인’을 추가하는 것이
필요함. (e.g.) Carl Ellison’s Ceremony Analysis
[참고] Selfish Mining Attack
62
65. 고려대학교정보보호대학원
마스터 제목 스타일 편집
65
Validation
Read
(Federated))
[해결책] 허가형(Permissioned) 블록체인
((e.g.) Bitcoin, Ethereum, etc)
66. 고려대학교정보보호대학원
마스터 제목 스타일 편집
66
Database
Permissionless
blockchain
Public Permissioned
blockchain
Private Permissioned
blockchain
Need
public
verifiability?
All
writers
trusted?
All writers
known?
Trusted
party?
Multiple
writers?
Store state?
Y Y
Y
Y
Y
Y
N N
N N
N
N
Do You Even Need Blockchain?
[해결책] 허가형(Permissioned) 블록체인
67. 고려대학교정보보호대학원
마스터 제목 스타일 편집
[해결책] Increasing Block Size (2017)
("Bitcoin Cash is Bitcoin", Oct 2017, www.bitcoin.com)
(SegWit Chain)
67
68. 고려대학교정보보호대학원
마스터 제목 스타일 편집
비트코인 코어측이 지지하던 세그윗 업데
이트시 ASIC 채굴기가 갖는 특수 기능이
동작하지 않게 되어 Bitmain社 중심의 채
굴집단이 반발함.
직접적 탄생 동기는 채굴 채산성 악화 회피이
며, 이후 이익 극대화를 위해 블록 사이즈 무
한 증가 등 다양한 논의를 진행함.
블록크기를 2MB부터 8MB까지 유동적으로 확
장할 수 있는 Bitcoin ABC 기술을 적용하는 등
더 낮은 수수료, 더 빠른 전송 구현을 추구함.
68
[해결책] Increasing Block Size (2017)
69. 고려대학교정보보호대학원
마스터 제목 스타일 편집
[해결책] SegWit (2017)
Signatures are an integral part of the chain
Signatures are outside of the chain.
(Peter Rizun, “SegWit Coins Are Not Bitcoins”, The Future of Bitcoin Conference 2017)
69
77. 고려대학교정보보호대학원
마스터 제목 스타일 편집
Follows
Old
Rules
Follows
Old
Rules
Follows Old Rules
But Violates
New Rules
Follows
Old & New
Rules
Follows
Old & New
Rules
Follows
Old
Rules
Blocks From
Non-Upgraded
Nodes
Blocks From
Upgraded
Nodes
A Soft Fork (소폭 개정) : Blocks Violating New Rules Are Made Stale By Upgraded Mining Majority
A Hard Fork (대폭 개정) : Non-Upgraded Nodes Reject The New Rules, Diverging The Chain
Follows
Old
Rules
Follows
Old
Rules
Blocks From
Non-Upgraded
Nodes
Blocks From
Upgraded
Nodes
Follows
Old
Rules
Follows
Old
Rules
Follows
New
Rules
Follows
New
Rules
Follows
New
Rules
Follows
New
Rules
(Image : Invetopedia) 77
표준화의 어려움 : 하드 포크
80. 고려대학교정보보호대학원
마스터 제목 스타일 편집
(Financial Cryptography and Data Security 2018)
Our quantitative analysis shows that 1.4% of the
roughly 251 million transactions in Bitcoin's
blockchain contained data that had nothing to do
with bitcoin. Among these files there may be
objectionable contents such as links to child
pornography, copyright violations, privacy violations,
politically sensitive content, malware, etc.
80
개인정보보호 문제