Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: shrewdwatson on April 23, 2011, 05:00:57 PM



Title: are coins necessary?
Post by: shrewdwatson on April 23, 2011, 05:00:57 PM
"Transactions" (https://en.bitcoin.it/wiki/Transactions) says that a transaction may contain multiple outputs. If I understand correctly from "Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System", a transaction may not be deleted if some output of that transaction is not spent. "Spent" = referred as input in some other transaction. Therefore every node can calculate how much money each Bitcoin address owns. Then we can refer in transactions to Bitcoin addresses instead of transaction hashes.

IMHO this new system is better. Each transaction contains numbers: money transferred; balances of each involved Bitcoin address; time. A transaction may not be deleted if it is last for some account. To calculate balance of a Bitcoin address, take the last transaction involving that Bitcoin address. We do not need to check in the database that each output is spent only once. Structure of the database is simpler. Transactions with incorrect time will be rejected by the same algorithm which rejects double spending (I can elaborate). There are no "coins" (outputs of transactions), thus accounting in this system is closer to payment systems with central authority.


Title: Re: are coins necessary?
Post by: Stefan Thomas on April 23, 2011, 06:13:29 PM
We do not need to check in the database that each output is spent only once.

Note that instead of checking only the outputs, you have to check the source address balances *and* the target address balances. (To see if the new target address balance equals the old balance plus the money transferred.)

Each transaction contains numbers: money transferred; balances of each involved Bitcoin address; time.

The size of transactions is one of the main bottlenecks in practice, since they have to be replicated over the network to every node and stored in the block chain.

A slightly more complex database is a very good tradeoff for faster tx validation and smaller transactions.

Another advantage of the current design is that it allows for complex transaction types (even though that's currently disabled in the official client), see https://en.bitcoin.it/wiki/Script


Title: Re: are coins necessary?
Post by: shrewdwatson on April 23, 2011, 08:27:51 PM
Each transaction contains numbers: money transferred; balances of each involved Bitcoin address; time.
The size of transactions is one of the main bottlenecks in practice, since they have to be replicated over the network to every node and stored in the block chain.
A slightly more complex database is a very good tradeoff for faster tx validation and smaller transactions.
Yes, the size of transactions will be smaller in my design, that's why I am proposing it.


Title: Re: are coins necessary?
Post by: theymos on April 24, 2011, 03:31:06 AM
It makes client mode impossible, since simple clients don't know balances.