Author

Topic: Blockchain format question (Read 572 times)

newbie
Activity: 7
Merit: 0
May 07, 2013, 11:32:33 PM
#8
OK, thanks.  Ultraprune was what I was thinking of, except it would only store the hashes of the balances, not the balances themselves.  I'm glad to see that there's work being done on that idea.
legendary
Activity: 3710
Merit: 1586
May 07, 2013, 11:26:10 PM
#7
Well you are still downloading the whole chain just some of it via bittorrent.

FYI you can avoid the download entirely by using alternate clients like electrum (electrum.org).

About your last post, it's not just about verifying that someone knows the blockchain. It's about redundancy. A decentralized system is naturally redundant. If one, two or even twenty thousand computers with the blockchain go offline bitcoin can still continue to function because the remaining computers have a complete copy of the blockchain.

As far as speeding things up go they are working on it. They want to implement a separate chain that contains balances only:

http://codinginmysleep.com/ultraprune-in-plain-english/
newbie
Activity: 7
Merit: 0
May 07, 2013, 11:21:54 PM
#6
Right, let me rephrase this.

In order to be a miner, all you have to know who has what as their balance.  The way bitcoin is currently implemented, you infer that by looking at the complete history of all transactions, which is inefficient and makes strong anonymity impossible.  I'm proposing that the blockchain merely be used to verify that a miner knows the state of the network correctly, and leave how the miner gets to know that state unspecified by the protocol.  I believe that converting the blockchain to a series of hashes would be sufficient for verification because you can't fake what's at the end of the block chain, and you can't fake something that hashes to a certain value.
newbie
Activity: 56
Merit: 0
May 07, 2013, 11:19:34 PM
#5
Ah, but the means to acquire a copy of the ledger state may be arbitrarily decentralized (and would probably be by torrent, which is decentralized).  The blockchain would instead become the proof that your state copy is legit.

I don't understand what you are saying. Could you rephrase it?

FYI bitcoin is also decentralized just like bittorrent. Also you can "bootstrap" your bitcoin client using a torrent download of a partial blockchain:

https://bitcointalksearch.org/topic/ann-bitcoin-blockchain-data-torrent-145386


Awesome! I didn't know you could do this, I thought you had to always download the whole chain Sad
legendary
Activity: 3710
Merit: 1586
May 07, 2013, 11:16:16 PM
#4
Ah, but the means to acquire a copy of the ledger state may be arbitrarily decentralized (and would probably be by torrent, which is decentralized).  The blockchain would instead become the proof that your state copy is legit.

I don't understand what you are saying. Could you rephrase it?

FYI bitcoin is also decentralized just like bittorrent. Also you can "bootstrap" your bitcoin client using a torrent download of a partial blockchain:

https://bitcointalksearch.org/topic/ann-bitcoin-blockchain-data-torrent-145386
newbie
Activity: 7
Merit: 0
May 07, 2013, 11:13:14 PM
#3
Ah, but the means to acquire a copy of the ledger state may be arbitrarily decentralized (and would probably be by torrent, which is decentralized).  The blockchain would instead become the proof that your state copy is legit.

EDIT: One could argue that this scheme is a stronger form of decentralization because no method of acquisition of the ledger is prescribed by the protocol.
legendary
Activity: 3710
Merit: 1586
May 07, 2013, 11:03:46 PM
#2
Bitcoin is supposed to be decentralized. So pretty much everyone who uses it has a complete copy of the blockchain. IF you take that away you are weakening the system.
newbie
Activity: 7
Merit: 0
May 07, 2013, 10:35:18 PM
#1
Why not just use the blockchain to store a cryptographically secure hash of the ledger state? Since you can't think of anything else that hashes to that hash and since that hash has to be valid since it's last in a chain of a proof of work, that means you could trust any old ledger state you download.

Double spend could be solved by having miners keep a trailing history of n blocks and then everyone would just set their transactions to expire n blocks in the future.

This would solve the evil data problem of the blockchain since it's impossible to predict what'll go into that blockchain. If someone tried putting evil data into the ledger state by using vanity addresses, there's no reason other people couldn't corrupt that data by making their own vanity addresses.

This would also dramatically reduce the space overhead, since it'd be constant instead of linear with respect to the number of transactions completed. It could open up new types of transactions and help the network scale, too.

There's got to be some reason why it's unfeasible, but I don't know what it is! This is bugging me!  Thanks!
Jump to: