8. 비트코인? 중앙 장치 없이 P2P(Peer to Peer) 기반 분산 데이터베이스를
사용하며 256bit 해시 함수 알고리즘을 사용하는 디지털 화폐
9. 비트코인 구조
분산화 된 P2P 네트워크 (비트코인 프로토콜)
공개 거래 장부 (블록체인)
분산화 된 수학적 결정론적 통화 발행 (분산 채굴)
분산화 된 거래 검증 시스템 (거래 스크립트)
10. 비트코인 전달
A ShopB
[요구사항]
1. A는 비트코인을 가지고 있다. (10BTC)
2. B는 비트코인을 시작하기 위해 A로부터 비트코인을 구매한다.
3. B가 C에서 비트코인으로 물품을 구매한다.
Miner
11. 비트코인 전달
A B
A가 B에게 1 BTC를 전달한다.
Transaction 1 (256bit hash)
[Inputs / From]
From(A가 이전에 받았던 거래 장부 Transaction)
A 1.0005 BTC
[Outputs / To]
Outpt #0 B의 주소 1.0000BTC (spent)
수수료 0.0005BTC
12. 비트코인 전달
B가 Shop에서 0.5BTC 소비
Transaction 2 (256bit hash)
[Inputs / From]
1 (256bit hash)
B 1.0000 BTC
[Outputs / To]
Outpt #0 Shop의 주소 0.5 BTC (spent)
OUTPU #1 B의 주소 (change) 0.4995 BTC (unspent)
수수료 0.0005 BTC
B Shop
13. 비트코인 채굴
Transaction 1 (256bit hash)
[Inputs / From]From(A가 이전에 받았던 거래 장부 Transaction)
A
1.0005 BTC
[Outputs / To]Outpt #0 B의 주소 1.0000BTC (spent)
수수료
0.0005BTC
Transaction 2 (256bit hash)
[Inputs / From]1 (256bit hash)
B
1.0000 BTC
[Outputs / To]Outpt #0 Shop의 주소 0.5 BTC (spent)
OUTPU #1 B의 주소 (change) 0.4995 BTC (unspent)
수수료
0.0005 BTC
Transaction 3 (256bit hash)
[Inputs / From]2 (256bit hash)
~~~~~
[Outputs / To]Outpt #0 Shop의 주소 0.5 BTC (spent)
~~~~~~~~
Block 324
Transaction
Block 325
Transaction
Block 323
Transaction
BlockDepthBlockHeight
#10:비트코인 네트워크 (네트워크 노드) : 비트코인 시스템의 기능과 요소들을 포함하고 있는 클라이언트
쉽게 말하여 채굴자가 채굴을 하기 위해 사용되는 클라이언트라고 볼 수 있다.
#12:A가 B에게 비트코인을 보낸다.
비트코인을 받은 직후 B는 받은 내용을 ‘확인'할 수 있다. 다만, 아직 승인이 되지 않아 미승인 상태로 나온다.
미승인 상태에서 승인 상태로 변경되기 위해서는 채굴자의 채굴이라는 과정이 필요하다.
#13:기존 1의 transactio의 주소를 가지고 (input) 현재 자신이 보유중인 비트코인을 확인한다.
#14:하나의 블록은 여러 개의 트랜잭션으로 구성되어있다.
채굴자가 채굴을 하게 되면 거래 내역이 담긴 블록을 발굴하고, 그에 담긴 보상을 받게된다.
324 블록은 그 위의 323블록의 내용도 포함하고 있으며, 깊이가 깊어질 수록 보안성이 높아진다.
325 블록은 324블록의 정보를 가지고 있으며, 위험요소를 최소화 하기 위해 최소 6번의 승인이 필요하다.
6번의 승인이 된 블록은 신뢰할 수 있다고 판단하여 더 이상 취소할 수 없다.
#15:마이너들은 하나의 노드로서 비트코인 네트워크를 형성한다.
마이너들은 임시 풀을 구성하여 사용자들의 거래 내역을 기록하고 있다.
한 마이너가 채굴에 성공하면 블록이 증가하게 된다.
채굴을 하던 다른 마이너들은 네트워크로부터 이전 블록을 받아 채굴에 실패했음을 확인하고, 새로운 블록을 채굴하기 시작한다.