반응형
transaction 란?
- 거래에 대한 정보
- 지불과 수령이 모두 포함되어 있어야 한다
- 단순하게 거래 내역이라고 생각하면 편하다
- 보내는 내역과 받는 내역이 함께 있어야 한다
- 사전적 의미로는 쪼갤 수 없는 업무처리의 최소 단위
- DB에서도 사용된다
- 거래의 최소 단위
- 블록의 트랜잭션
- 사용자의 송금 내역이고, 그 내역들을 하나의 블록에 포함시켜야지만 안정성을 보장할 수 있는 기반을 만들 수 있다
- 그 블록들이 해시 알고리즘과 POW(퀴즈를 푸는 방식) 통해서 연결하는 형태
- 트랜잭션의 결과(output)를 UTXO에 추가했다가 다음 트랜잭션에서 input으로 가져다 사용하는 방법으로 거래
더보기
1. miner가 Bitcoin을 채굴했다
- miner는 50 BTC를 받는다
- 트랜잭션이 추가된다
- Tx는 transaction의 약자로 보통 hash를 뜻. 트랜잭션을 찾기 위한 고유값
- input : 이전 거래 결과 내역
- 현재 생성된 트랜잭션은 채굴(마이닝)을 통해서 처음 생성되어 input 내역이 없다
- 이런 트랜잭션을 코인베이스 트랜잭션이라고 한다
- output : 이번 거래 결과 내역
- miner가 50 BTC를 받게 되는 내용이 적혀 있다
- 해당 output은 UnspentTransactionOutput(UTXO)에 저장된다
- Unspent : 소되지 않은 + transaction(트랜잭션) + output(결과)
- 소비되지 않은 트랜잭션의 결과 => 잔액
- miner는 50 BTC를 가지고 있다
- Tx는 트랜잭션을 찾기 위한 값
- 어떤 트랜잭션에서 이 결과가 나왔는가 찾기 위함
2. miner가 tester에게 10 BTC을 보낸다
- UTXO에서 address가 miner인 데이터를 input으로 가져온다
- output으로 받는 사람(tester)의 10 BTC에 대한 output과 보내는 사람(miner)의 잔금, 40BTC에 대한 output을 내보낸다
3. miner가 tester에게 2 BTC을 보낸다
- UTXO에서 address가 miner인 데이터를 input으로 가져온다
- output으로 받는 사람(tester)의 2 BTC에 대한 output과 보내는 사람(miner)의 잔금, 38BTC 대한 output을 내보낸다
4. tester가 miner에게 11 BTC을 보낸다
- UTXO에서 tester의 output을 input으로 가져온다
- 1번째 output은 10 BTC으로 11 BTC보다 부족하다
- 2번째 output을 추가 시 12 BTC으로 11 BTC을 보낼 수 있다
- 받는 사람(miner)의 11 BTC에 대한 output과 보내는 사람(tester)의 잔금, 1 BTC 대한 output을 내보낸다
'BlockChain' 카테고리의 다른 글
(BlockChain) WSL (0) | 2023.02.09 |
---|---|
(BlockChain) VM & Kernel (0) | 2023.02.09 |
(BlockChain) Block Header (0) | 2023.01.31 |
(BlockChain) merkleTree (0) | 2023.01.08 |
(BlockChain) Merkle(머클) (0) | 2023.01.08 |