Bitcoin Forum
June 13, 2024, 10:49:12 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Blockchain format question  (Read 547 times)
usr45 (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
May 08, 2013, 03:35:18 AM
 #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!
Abdussamad
Legendary
*
Offline Offline

Activity: 3626
Merit: 1568



View Profile
May 08, 2013, 04:03:46 AM
 #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.
usr45 (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
May 08, 2013, 04:13:14 AM
 #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.
Abdussamad
Legendary
*
Offline Offline

Activity: 3626
Merit: 1568



View Profile
May 08, 2013, 04:16:16 AM
 #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://bitcointalk.org/index.php?topic=145386.0
thepj
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
May 08, 2013, 04:19:34 AM
 #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://bitcointalk.org/index.php?topic=145386.0


Awesome! I didn't know you could do this, I thought you had to always download the whole chain Sad
usr45 (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
May 08, 2013, 04:21:54 AM
 #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.
Abdussamad
Legendary
*
Offline Offline

Activity: 3626
Merit: 1568



View Profile
May 08, 2013, 04:26:10 AM
 #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/
usr45 (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
May 08, 2013, 04:32:33 AM
 #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.
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!