Post
Topic
Board Development & Technical Discussion
Re: Why keep a history of transactions?
by
laurentmt
on 19/12/2015, 18:55:54 UTC
Quote
The whole point of the blockchain is to validate balances.

Sorry but this is wrong.

Quote
Without balance data there's nothing to validate.
...
In short, the script is a lock that requires a key to spend the balance.

This is also wrong because the concept of balance data don't exist in the blockchain.

Quote
We're using abstract terms to simplify the details but that doesn't mean the terms are inaccurate or complete fiction.

You're right.



The thing is that DannyHamilton is absolutely right when he writes that balances, addresses and coins don't exist at protocol level (and in the blockchain).
But we're humans and the concepts managed at protocol level are a bit hard for every day use by a human person ! Cheesy

Therefore, a layer of abstraction has been built on top of the protocol with wallets, blocks explorers, ...
Concepts defined by these tools (addresses, balances, ...) are more human friendly and are really useful but remains this truth: balances or addresses don't exist at protocol level or in the blockchain.

Actually, the same thing happens in software development.
If you use an object-oriented language, you talk about classes and object all day long and these concepts are really useful for developers.
But fact is that at CPU level, the concepts of class or object don't have any sense (and ultimately everything in a computer is just about electrons).


EDIT: Note that some proposals were made to introduce the concept of utxos commitment in the protocol. It doesn't introduce the concept of balances but it allows to achieve something similar to your proposition (it builds a "snapshot" of the utxo set at a given height of the chain). This is often thought as a possible solution to reduce the disk space consumed by the blockchain.