Bitcoin 수수료는 전체 INPUT의 총합에서 전체 OUTPUT의 총합을 뺀 값이다.
블록에서 설명하였듯이, 채굴자들이 거래를 더 빠르게 하기 위해서는 수수료를 높여야한다.
(채굴자들이 선호하는 거래는 용량이 작고 수수료가 높은 거래이기 때문에 Fee per byte가 높아야한다.)
- fee per byte, 블록에 포함되기 위한 수수료
Coinbase
PoW에서 채굴에 성공하게 되면, 채굴에 성공한 채굴자(Miner)에게 기본 수수료와 거래 수수료를 보상으로 제공한다. 이러한 보상금액은 Block의 가장 첫 번째 거래로 Block에 포함된다.
Bitcoin 거래 방식 - P2PK
ScriptPublicKey (Prev Output, 이전 output 공개키), Public Key , OP_CHECKSIG
ScriptSig(Stack) → ScriptPubKey를 넣고 OP_CHECKSIG와 Public Key로 transaction 검증
Bitcoin 거래 방식 - P2PKHK
ScriptPublicKey, OP_DUP, OP_HASH160, Public Key Hash, OP_EQUALVERIFY, OP_CHECKSIG
Bitcoin 거래 방식 - NULL_DATA
블록체인 상에 데이터를 저장하는 방식
Input의 ScriptSig가 들어가지 않는 거래
OP_RETURN을 사용
ScriptPubKey, OP_RETURN, 블록체인상에 저장할 데이터
Bitcoin 거래 방식 - SEGWIT
2017년 Bitcoin 업그레이드로 인해 지원하는 새로운 거래 형식
ScriptPublicKey, 0 , Public Key Hash
witness data에 signatur와 public key 데이터를 넣음.
업데이트후 작동하지 않는 문제를 해결하기 위해 0을 넣어 검증 시도시 항상 true를 리턴
Bitcoin 거래 방식 - TapRoot
2021 Bitcoin 업그레이드로 인해 지원하는 새로운 거래 형식
슈노르 서명 방식 지원
→ 공동 공개 키를 생성하여 하나의 서명으로 공동 서명
- 기존의 여러개의 서명이 input값에 들어가야 했음. 업데이트후 하나의 서명으로 multi sig를 지원
MAST(Merkelized Abstract Syntax Trees) 지원
→ Bitcoin Script 실행 사실을 숨길 수 있음
→ Bitcoin의 프라이버시를 향상 시키고 트랜잭션의 수수료를 감소
Lightning Network
Lightning Network란 Bitcoin Layer 2 기술로 블록체인 상에서 일정 금액을 생성하고 이를 네트워크 상에 배포(블록에 미포함) 시키지 않고 잠금된 금액을 기반으로 실시간 거래가 가능하도록 하는 기술이다.
엘살바도르 국민들은 현재 이 기술로 Bitcoin을 법정화폐로 사용하고 있다.
거래가 체결되는 데에 시간이 너무 오래걸리기 때문에.
중앙에 서비스를 두고 Channel을 열어 사용자들이 거래를 실시하고 Channel을 닫으면서 블록체인에 기록하고 반영. 이때에 위에서 언급한 Locking Script를 사용.