Section 2.4
What the network records: Bitcoin outputs and Ethereum accounts
Bitcoin tracks unspent transaction outputs, or UTXOs. A transaction consumes existing outputs and creates new ones. Each input refers to a previous output; spending must satisfy that output's conditions. A wallet balance is an aggregation of relevant spendable outputs rather than a single protocol-level customer account balance.1Bitcoin Developer Guide, Transactions. Inputs, outputs, spending conditions and transaction structure.Open sourceSee in source list
Ethereum uses account state. For a conventional account, relevant information includes its native ETH balance and a nonce, which sequences its outgoing transactions. Token balances are usually maintained in the state of token contracts rather than in the account's native ETH balance.2Ethereum.org, Ethereum accounts. Accounts, addresses, native balances and nonces; newer delegation mechanisms are addressed separately below.Open sourceSee in source list3ERC-20: Token Standard. Token balances, transfers, approvals and optional presentation metadata.Open sourceSee in source list
This affects how payments are constructed:
| Feature | Bitcoin UTXO example | Conventional Ethereum account example |
|---|---|---|
| Source of funds | Selected unspent outputs | Account balance or token-contract balance |
| Spending conflict | Competing attempts to consume the same output | Competing transactions using the same sender nonce |
| Remainder | A newly created change output where appropriate | Balance remaining after execution and fees |
| Principal operational issue | Input selection and correct identification of change | Nonce coordination and sufficient fee-paying balance |
Reconcile a Bitcoin payment
Assume a fictional wallet controls two confirmed outputs:
• Output A: 0.70000000 BTC.
• Output B: 0.50000000 BTC.
It constructs a payment of 0.90000000 BTC using both. Assume the actual transaction's virtual size is 200 vbytes and its fee rate is 15 satoshis per vbyte. One BTC contains 100 million satoshis.
Fee = 200 × 15 = 3,000 satoshis = 0.00003000 BTC. Change is the total input minus the payment minus the fee:
• 1.20000000
• − 0.90000000
• − 0.00003000
• = 0.29997000 BTC
The accepted transaction consumes both inputs. It creates a recipient output of 0.90000000 BTC and a change output of 0.29997000 BTC. The network fee is the difference between total input and output amounts.1Bitcoin Developer Guide, Transactions. Inputs, outputs, spending conditions and transaction structure.Open sourceSee in source list
There is no surviving 0.30000000 BTC balance attached to Output B. Both source outputs have been spent; the remainder is a new output under its own spending conditions.
Virtual size is the fee-relevant size measure derived from transaction weight in the Segregated Witness model. Fees are therefore not generally a fixed percentage of the BTC amount transferred. Input and output structure affects the size. The assumed 200 vbytes is an illustrative measured size, not a promise that every two-input transaction has that size.4BIP 141: Segregated Witness. Transaction weight and virtual size.Open sourceSee in source list
Operationally, the change output deserves the same destination scrutiny as the external payment. If a transaction sends the intended 0.9 BTC to the counterparty but directs the remainder elsewhere, verifying only the headline payment amount misses part of the instruction.