Bitcoin Forum
May 26, 2024, 09:26:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: History of all transactions necessary?  (Read 590 times)
onelineproof (OP)
Member
**
Offline Offline

Activity: 100
Merit: 14


View Profile WWW
November 27, 2011, 11:14:41 PM
 #1

Hi,

I've been moderately using bitcoin since June, but haven't looked deeply into the technical details. Maybe someone can help me answer this question. It's my understanding that the history of all bitcoin transactions that ever took place is stored in the network. But is all this information necessary? Isn't it sufficient to store only the information that specifies who has how much at the current moment rather than how much they had at other points in history?

Thanks

The uncorrupted Bitmark protocol: https://github.com/bitmark-protocol/bitmark
Email <my username>@gmail.com 0xB6AC822C451D63046A2849E97DB7011CD53B564
wareen
Millionaire
Legendary
*
Offline Offline

Activity: 910
Merit: 1001

Revolutionizing Brokerage of Personal Data


View Profile
November 27, 2011, 11:27:03 PM
 #2

In theory a current balance of every address would be sufficient but to prove that the balance of every address is correct, you have to keep the whole transaction history of how each of these balances came to be.

Once a client has checked that all transactions are valid it could prune the history of all totally spent addresses. This is an optimization that may be done in a future version of the client.

Other more aggressive ways of pruning go even further towards something similar to your thinking but they don't seem to be high on the priority list. See this thread for a recent proposal.

Keep in mind, that once a client has thrown away parts of his copy of the blockchain, it cannot provide the pruned parts to other (new) clients anymore. This leads to a trust issue if done on a large scale. It has to be made sure that at least some nodes keep the whole history of the blockchain in order to have the same level of trustworthiness.

But yes, there surely is some room for improvements!

        ▄▄▀▀▄▄
    ▄▄▀▀▄▄██▄▄▀▀▄▄
▄▄▀▀▄▄█████▄████▄▄▀▀▄▄
█▀▀█▄█████████████
█▄▄████▀   ▀██████
███████     █▄████
█████▀█▄   ▄██████
█▄█████▌   ▐█████
█████▀█     ██████
██▄███████████████
▀▀▄▄▀▀█████▀████▀▀▄▄▀▀
    ▀▀▄▄▀▀██▀▀▄▄▀▀
        ▀▀▄▄▀▀
.PDATA..
.
TOKEN..
██
██
██   ██
██   ██
██   ██
██   ██
██   ██
██   ██

██   ██
██   ██

██   ██
██
██
██
██
██  ██
██  ██
██  ██
██  ██
██  ██
██  ██

██  ██
██  ██

██  ██
██
██
██
██
██   ██
██   ██
██   ██
██   ██
██   ██
██   ██

██   ██
██   ██

██   ██
██
██
TELEGRAM     BITCOINTALK     FACEBOOK
MEDIUM    SLACK    TWITTER    YOUTUBE
▬▬▬▬▬▬▬   E M A I L   ▬▬▬▬▬▬▬
██
██
██  ██
██  ██
██  ██
██  ██
██  ██
██  ██

██  ██
██  ██

██  ██
██
██
onelineproof (OP)
Member
**
Offline Offline

Activity: 100
Merit: 14


View Profile WWW
November 28, 2011, 03:59:49 AM
 #3

Thanks for that.

I feel like most nodes can just store a hash (like md5sum) of the old blocks in the chain. Some nodes can store the full history, but as long as the hashes match up then we can confirm others. I'm sure I'm somehow simplifying this too much...

The uncorrupted Bitmark protocol: https://github.com/bitmark-protocol/bitmark
Email <my username>@gmail.com 0xB6AC822C451D63046A2849E97DB7011CD53B564
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!