All,
With the flurry of discussion about blockchain compression, I
thought it was time to put forward my final, most-advanced idea,
into a single, well-thought-out, illustrated, forum
post. Please check it out:
https://bitcointalk.org/index.php?topic=88208.0
This is a huge undertaking, but it has some pretty huge benefits.
And it's actually feasible because it can be implemented without
disrupting the main network. I'm sure there's lots of issues with
it, but I'm putting it out there to see how it might be improved and
actually executed.
----
Summary:
Use a special tree data structure to organize all
unspent-TxOuts on the network, and use the root of this tree to
communicate its "signature" between nodes. The leaves of this
tree actually correspond to addresses/scripts, and the data at the
leaf is actually a root of the unspent-TxOut list for that
address/script. To maintain security of the tree signatures, it
will be included in the header of an alternate blockchain, which
will be secured by merged mining.
This provides the same compression as the simpler unspent-TxOut
merkle tree, but also gives nodes a way to download just the
unspent-TxOut list for each address in their wallet, and verify
that list directly against the blockheaders. Therefore, even
lightweight nodes can get full address information, from any
untrusted peer, and with only a tiny amount of downloaded data (a
few kB).
----
Alright, tear it up!
-Alan