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
비트코인 네트워크 (네트워크 노드) : 비트코인 시스템의 기능과 요소들을 포함하고 있는 클라이언트
쉽게 말하여 채굴자가 채굴을 하기 위해 사용되는 클라이언트라고 볼 수 있다.
A가 B에게 비트코인을 보낸다.
비트코인을 받은 직후 B는 받은 내용을 ‘확인'할 수 있다. 다만, 아직 승인이 되지 않아 미승인 상태로 나온다.
미승인 상태에서 승인 상태로 변경되기 위해서는 채굴자의 채굴이라는 과정이 필요하다.
기존 1의 transactio의 주소를 가지고 (input) 현재 자신이 보유중인 비트코인을 확인한다.
하나의 블록은 여러 개의 트랜잭션으로 구성되어있다.
채굴자가 채굴을 하게 되면 거래 내역이 담긴 블록을 발굴하고, 그에 담긴 보상을 받게된다.
324 블록은 그 위의 323블록의 내용도 포함하고 있으며, 깊이가 깊어질 수록 보안성이 높아진다.
325 블록은 324블록의 정보를 가지고 있으며, 위험요소를 최소화 하기 위해 최소 6번의 승인이 필요하다.
6번의 승인이 된 블록은 신뢰할 수 있다고 판단하여 더 이상 취소할 수 없다.
마이너들은 하나의 노드로서 비트코인 네트워크를 형성한다.
마이너들은 임시 풀을 구성하여 사용자들의 거래 내역을 기록하고 있다.
한 마이너가 채굴에 성공하면 블록이 증가하게 된다.
채굴을 하던 다른 마이너들은 네트워크로부터 이전 블록을 받아 채굴에 실패했음을 확인하고, 새로운 블록을 채굴하기 시작한다.