Re: [bitcoin-discuss] Proposal to replace full blockchain with recent history plus UTXO Set

Re: [bitcoin-discuss] Proposal to replace full blockchain with recent history plus UTXO Set
[not found] ` <CAGLBAhcvf6o0J4us3=d0LMmcO_AyZZZtVbsaST9Scth6yX+eSQ@mail.gmail.com>

  2018-09-26  0:00     ` CryptAxe
  
From: Damian Williamson @ 2018-09-25 21:55 UTC (permalink / raw)
  To: Dave Scotese, bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 4266 bytes --]

A fairly decent rework would be needed but it seems that the idea has merit initially.


As it is now, it is not only that a utxo exists but, that the transaction it references and the block it is within can also be fully validated.


So, if a utxo block set type existed then by consensus every so often a bunch of blocks containing just the validated utxo set to a given height, say 100,000 blocks below the current blockheight, and necessary header data could be appended onto the valid chain and nodes would be free to drop all preceding blocks. I suspect that many wouldn't and that even many new nodes would still desire to download the full blockchain but, for the use case you mention it would make sense.


If done [right/wrong] it may even make Satoshi's fortune spendable. Something to watch out for.

________________________________
From: bitcoin-discuss-bounces@lists•linuxfoundation.org <bitcoin-discuss-bounces@lists•linuxfoundation.org> on behalf of Dave Scotese via bitcoin-discuss <bitcoin-discuss@lists•linuxfoundation.org>
Sent: Wednesday, 26 September 2018 1:46:54 AM
To: Bitcoin Discuss
Subject: Re: [bitcoin-discuss] Proposal to replace full blockchain with recent history plus UTXO Set

The image at imgur and the pastebin both reference block 542324 but the correct block is 542322.  As the pastebin shows, the decimal and hex representations I gave for the block height did not match, and this is why.  If you use the Merkle root for block 542322 instead of 542324, you'll be able to see the correct Game of Life play out and make the apron image.

Dave.

On Sun, Sep 23, 2018 at 11:38 AM Dave Scotese <dscotese@litmocracy.com<mailto:dscotese@litmocracy•com>> wrote:
I thought I didn't have access to the dev list and so intended to post the following proposal to this discussion list, but used the wrong email address.  Anyway, my email did get into the dev list (https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016420.html) but I'll repeat it here:

I've been working on an idea that relieves full nodes of storing the entire blockchain. Open source software generally relies on the fact that "enough" people agree that it's secure. Bitcoin software works that way too. So if you understand enough to see that a UTXO set is valid at a certain block height, and there are enough other people who agree and that set is recognizable by humans, then we can use that UTXO set and ditch the blockchain that existed up to that point. It would save a lot of storage and make it a lot easier to run a full node.

Have you reviewed the source code from which your wallets were compiled? At some point, we all trust third parties, but generally (at least among people who understand Bitcoin) they are large composite groups so that no small group or individual can profit from cheating.

I look forward to answering any concerns and also to any offers of help.   I used block 542324 of the Bitcoin blockchain to make a memorable experience using the game of life. I wrote a script for the open-source Game-of-Life software Golly and shared it in the paste at https://pastebin.com/k5Ssc0qk. It produces the image at https://imgur.com/a/rwIQuVz. If someone can tell me how to get a UTXO Set from the bitcoin client, I'll send them $50 of bitcoin. Then I could get the SHA256 hash of that set and try to make a recognizable checkpoint for the Bitcoin blockchain. If someone runs Golly and shares a video of the game playing out (into the apron-shaped image), I'll send them $50 of bitcoin too.

In a few decades when the blockchain has grown to a few terabytes and the UTXO Set is still just a few gigabytes, I'd like to see more people start running full nodes without the hassle of a long wait and loads of storage space. That's what stops me from running one.


--
I like to provide some work at no charge to prove my value. Do you need a techie?
I own Litmocracy<http://www.litmocracy.com> and Meme Racing<http://www.memeracing.net> (in alpha).
I'm the webmaster for The Voluntaryist<http://www.voluntaryist.com> which now accepts Bitcoin.
I also code for The Dollar Vigilante<http://dollarvigilante.com/>.
"He ought to find it more profitable to play by the rules" - Satoshi Nakamoto

[-- Attachment #2: Type: text/html, Size: 6195 bytes --]

 permalink raw reply	[|nested]
2018-09-25 21:55   ` [bitcoin-dev] [bitcoin-discuss] Proposal to replace full blockchain with recent history plus UTXO Set Damian Williamson

  
From: CryptAxe @ 2018-09-26  0:00 UTC (permalink / raw)
  To: willtech, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 4979 bytes --]

Feel free to take a look at my implementation of UTXO loading (for core
~0.16.99) here:
https://github.com/DriveNetTESTDRIVE/DriveNet/commit/60189ea9a23865180e25207ecf66f95d84f642c6


Note that this has consensus implications, and that there are bugs (some of
which are fixed in later commits to that repository)


On Tue, Sep 25, 2018 at 4:56 PM Damian Williamson via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> A fairly decent rework would be needed but it seems that the idea has
> merit initially.
>
>
> As it is now, it is not only that a utxo exists but, that the transaction
> it references and the block it is within can also be fully validated.
>
>
> So, if a utxo block set type existed then by consensus every so often a
> bunch of blocks containing just the validated utxo set to a given height,
> say 100,000 blocks below the current blockheight, and necessary header data
> could be appended onto the valid chain and nodes would be free to drop all
> preceding blocks. I suspect that many wouldn't and that even many new nodes
> would still desire to download the full blockchain but, for the use case
> you mention it would make sense.
>
>
> If done [right/wrong] it may even make Satoshi's fortune spendable.
> Something to watch out for.
> ------------------------------
> *From:* bitcoin-discuss-bounces@lists•linuxfoundation.org <
> bitcoin-discuss-bounces@lists•linuxfoundation.org> on behalf of Dave
> Scotese via bitcoin-discuss <bitcoin-discuss@lists•linuxfoundation.org>
> *Sent:* Wednesday, 26 September 2018 1:46:54 AM
> *To:* Bitcoin Discuss
> *Subject:* Re: [bitcoin-discuss] Proposal to replace full blockchain with
> recent history plus UTXO Set
>
> The image at imgur and the pastebin both reference block 542324 but the
> correct block is 542322.  As the pastebin shows, the decimal and hex
> representations I gave for the block height did not match, and this is
> why.  If you use the Merkle root for block 542322 instead of 542324, you'll
> be able to see the correct Game of Life play out and make the apron image.
>
> Dave.
>
> On Sun, Sep 23, 2018 at 11:38 AM Dave Scotese <dscotese@litmocracy•com>
> wrote:
>
> I thought I didn't have access to the dev list and so intended to post the
> following proposal to this discussion list, but used the wrong email
> address.  Anyway, my email did get into the dev list (
> https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016420.html)
> but I'll repeat it here:
>
> I've been working on an idea that relieves full nodes of storing the
> entire blockchain. Open source software generally relies on the fact that
> "enough" people agree that it's secure. Bitcoin software works that way
> too. So if you understand enough to see that a UTXO set is valid at a
> certain block height, and there are enough other people who agree and that
> set is recognizable by humans, then we can use that UTXO set and ditch the
> blockchain that existed up to that point. It would save a lot of storage
> and make it a lot easier to run a full node.
>
> Have you reviewed the source code from which your wallets were compiled?
> At some point, we all trust third parties, but generally (at least among
> people who understand Bitcoin) they are large composite groups so that no
> small group or individual can profit from cheating.
>
> I look forward to answering any concerns and also to any offers of help.
> I used block 542324 of the Bitcoin blockchain to make a memorable
> experience using the game of life. I wrote a script for the open-source
> Game-of-Life software Golly and shared it in the paste at
> https://pastebin.com/k5Ssc0qk. It produces the image at
> https://imgur.com/a/rwIQuVz. If someone can tell me how to get a UTXO Set
> from the bitcoin client, I'll send them $50 of bitcoin. Then I could get
> the SHA256 hash of that set and try to make a recognizable checkpoint for
> the Bitcoin blockchain. If someone runs Golly and shares a video of the
> game playing out (into the apron-shaped image), I'll send them $50 of
> bitcoin too.
>
> In a few decades when the blockchain has grown to a few terabytes and the
> UTXO Set is still just a few gigabytes, I'd like to see more people start
> running full nodes without the hassle of a long wait and loads of storage
> space. That's what stops me from running one.
>
>
>
> --
> I like to provide some work at no charge to prove my value. Do you need a
> techie?
> I own Litmocracy <http://www.litmocracy.com> and Meme Racing
> <http://www.memeracing.net> (in alpha).
> I'm the webmaster for The Voluntaryist <http://www.voluntaryist.com>
> which now accepts Bitcoin.
> I also code for The Dollar Vigilante <http://dollarvigilante.com/>.
> "He ought to find it more profitable to play by the rules" - Satoshi
> Nakamoto
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

[-- Attachment #2: Type: text/html, Size: 7607 bytes --]

 permalink raw reply	[|nested]