In Ethereum one transfer has one transaction ID. How come there can be many transfers in a single Bitcoin transaction? For example, in this transaction: https://blockchain.info/tx/d98491f6697955d9bdb565587a6ae021723a52d5c86a3be04a3f3027329a7175


Ethereum is an account based system. It relies on the sender specifying the sequence of transactions to prevent double spending. The balance is associated with an address and when you spend from that address, you can specify what portion of the balance should be spend.

Bitcoin is not an account based system, but structured around transaction outputs. Double spending is prevented by making each transaction output only spendable once. Thusly, transaction outputs have to be spent in full when used. This has advantages and disadvantages: For example this allows funds to be easily mixed from multiple addresses, even if they are controlled by different parties. Also, transactions don't block each other when one is delayed, other than in the account-based model. However, it's unlikely to have the a matching spendable amount to what you're trying to send. Bitcoin therefore allows many inputs and outputs, where inputs reference existing unspent transaction outputs that will be consumed and outputs specify who can spend the money next. In practice the count of inputs and outputs is only limited by the transaction size which above 100,000B becomes non-standard.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.