genesis block 최초의 블록
비트코인 첫 블록은 타임즈 신문으로 중앙화된 경제구조의 문제를 보여주는 내용.
genesis block 이후의 블록들은 이전 블록의 해시 데이터를 가지고 있다.
방향이 있는 비순환 그래프.
어떤 트랜잭션이 먼저 처리되었는지 구분할 수 있는 메커니즘을 만들어야 함.
트랜잭션은 confirm되려면 다른 transaction에 의해서 refernce되어야한다.
fence를 쳐서 앞에있는 모든 트랜젝션은 먼저 처리되게 하는 global synchronization point가 있다
t3와 t4사이에는 순서가 없다.
t5는 레퍼런스되지 않은 잊혀진 트랜잭션으로 fence쳐서 t5먼저 처리하고 t6, t7이 실행됨
UTXO = unspent transaction output 아직 쓰지않은 잔액.
비트코인 네트워크에서는 잔액이라는 개념이 존재하지 않음. 트랜젝션에 의한 결과물들의 합을 잔액이라는 개념으로 사용한다. 이것이 UTXO이다. 각 지갑의 UTXO는 해당 지갑 주인에 대해 공개키 암호로 잠겨있다. 즉 private key로 암호화되어있다. 내 잔고가 얼마라는 정보는 없다. 내가 갖고 있는 UTXO의 합이 잔고가 된다.
모든 비트코인 transaction은 미래에 다른 transaction의 input이 될 수 있는 output을 생성한다. UTXO는 아직 사용되지 않은 transaction output. 비트코인을 트랜잭션들의 그래프라고 한다면 UTXO는 끝단을 말함.
트랜잭션이 발생하면 기존 UTXO를 소비하고 새로운 UTXO를 생성한다.
1BTC와 3BTC를 받았다면 4비트코인이 아니라 1비트와 3비트를 각각 UTXO로 저장하고 금액을 송금할때는 기존 UTXO를 파기한다. 4비트코인 UTXO에서 2비트만 전송한다면 2비트는 채굴자에게 간다.
특정 계좌의 잔고를 알기가 어렵지만 해당 기능을 제공하고 있음