2. IMCLOUD Technology Documents
Agenda
Ⅰ. Blockchain 개요
Ⅱ. Bitcoin: A Peer-to-Peer Electronic Cash System
Ⅲ. Blockchain : 암호화 화폐의 발전 과정
Ⅳ. Ethereum : Blockchain app platform
Ⅴ. Selected references
Ⅵ. Q & A
3. IMCLOUD Technology Documents
• P2P로 구현되는 비가역적 공유 원장
• Bitcoin: A Peer-to-Peer Electronic Cash System [6, 2008] Satoshi Nakamoto
• We define an electronic coin as a chain of digital signatures.
• For our purposes, the earliest transaction is the one that counts, so we don't care
about later attempts to double-spend.
The only way to confirm the absence of a transaction is to be aware of all
transactions.
• Proof-of-work is essentially one-CPU-one-vote.
Blockchain 개요
4. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Transactions
• Timestamp Server
• Proof-of-Work
• Network
• Incentive
• Reclaiming Disk Space
• Simplified Payment Verification
• Combining and Splitting Value
• Privacy
• Calculations
5. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Transactions
• 공개키 기반 주소 생성
• 개인키 디지털 서명
• Timestamp Server
• 타임스탬프를 블록 헤더에 포함
• 블록 헤더 해시 값을 네트워크에 공개
6. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Proof-of-Work
• 분산 네트워크 타임스탬프 서버 구현
• zero 비트들로 시작되는 암호화 해시 값 계산
• 블록 생성 속도를 기반으로 채굴 난이도 조절
Software
version
prev block
hash
Merkle tree
hash
Block
creation time
Mining level
Nonce
0
Block Header
1
2
81,665,351
531d18e2e…
0ea31f7ad…
000000e51…
eb8ca13d…
Block Hash
7. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Network
1) 새로운 거래 내역이 모든 노드에게 전파
2) 각 노드들은 새로운 거래 내역을 블록에 수집
3) 각 노드들은 그 블록에 대한 작업증명을 수행
4) 한 노드가 작업증명을 성공적으로 수행했을 때 모든 노드에게 그 블록을 전파
5) 노드들은 블록에 있는 모든 거래가 이전에 쓰이지 않고 유효한 경우에만 승인
6) 노드들은 자신이 승인한 블록의 해시를 이전 해시로 사용하여 다음 블록을 생성
그 과정을 통해 그 블록이 승인되었다는 의사를 나타냄
8. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Incentive
• P2P 네크워크의 노드(참여자)에게
제공되는 보상
• 블록의 최초 생성자에 대한 보상
• 거래 수수료
• Reclaiming Disk Space
• 모든 블록정보를 로컬에 저장 :
저장공간의 한계
• 거래 내역은 머클 트리 구조로 해시
• 머클 루트만 블록 헤더 해시에 포함
9. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Simplified Payment Verification
• 가장 긴 블록체인의 블록 헤더 정보
유지
• 네트워크 내 노드들이 해당 거래의
승인여부 확인
• 입증하고자 하는 거래 내역이 기록된
블록의 머클 트리를 통해 확인
• Combining and Splitting Value
• 거래에는 다중 입력과 출력을 포함
값이 분할되고 결합되는 것을 허용
다중 입력과(지불) 최대 두 개의
출력(거스름돈)
10. IMCLOUD Technology Documents
Bitcoin: A Peer-to-Peer Electronic Cash System
[6, 2008] Satoshi Nakamoto
• Privacy
• 익명의 공개키 기반으로 비트코인 주소
생성
• 각각의 거래를 위해 새로운 키 쌍 사용
• 개인정보보호 모델의 변화
• Calculations
• Double-spending
• 51% Attack
• Finney Attack
11. IMCLOUD Technology Documents
• Bitcoin : 화폐
• Distributed Ledger
• Name Coin : + 도메인 토큰
• DNS transactions
• Prime Coin : + 컴퓨팅 파워
• Find prime numbers
• Colored Coin : + 특정 자산을 대표
• Layer of digital assets
• Ethereum : + Cloud Computing Platform
• Open Platform, Distributed database
Blockchain : 암호화 화폐의 발전 과정
12. IMCLOUD Technology Documents
Ethereum : Blockchain app platform
• Ethereum is a decentralized platform that runs smart contracts
Bitcoin +
Turing complete programable blockchain
Smart Contract : Self-Enforcing Language
Decentralized application on Platform
13. IMCLOUD Technology Documents
Ethereum
• Turing complete programable blockchain
• 반복문(Looping code)를 사용할 수 있고 그 단위가 잘게 분할되어 있어 다양한
프로그램을 효율적으로 개발
• Smart Contract (Code)
신뢰할 수 없는 컴퓨터 네트워크환경에서 (Machine 간에)
자동으로 계약 이행하도록 "코드"를 업로드 하고,
이를 "실행" 하도록 하는 "프로토콜“
EVM(Ethereum Virtual Machine)으로 실행
14. IMCLOUD Technology Documents
Ethereum
• Bitcoin Contract Code
• 거래 정보에 누가(input) 누구에게(output) 얼마를(output value) 지불하며, 어떻게 검증할지(script) 기록됨
• script는 OPCODE로 구성하여 script가 정상이면 거래를 정상으로 인정한다는 계약 조건을 명시한 것과 같은 효과
• OPCODE 는 Constants, Flow Control, Stack, String 의 Splice, Bitwise, Arithmetic, Crypto, Locktime, Pseudo-
Words 의 카테고리에 해당하는 85개 정도의 명령어를 제공
• Ethereum Smart Contract
• 함수를 공유한 상태에서 블록체인으로 함수 입력 값을 공유하고 무결성을 보장하면 함수 결과값의 무결성도
보장할 수 있지 않을까?
• Bitcoin의 Contract Code를 확장하여 완전한 업무 개발이 개발이 가능하도록 검증, 연산을 넘어
“상태”와 “함수”를 정의하고 “상태변이”와 “데이터 저장”이 가능한 Turing Complete 코드 개발을 가능