본문 바로가기
  • 개발 / 공부 / 일상
BlockChain

(BlockChain) Transaction

by JJeongHyun 2023. 2. 1.
반응형

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