Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 1DD7C40C for ; Mon, 21 Aug 2017 17:24:12 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-wr0-f171.google.com (mail-wr0-f171.google.com [209.85.128.171]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A85B840A for ; Mon, 21 Aug 2017 17:24:11 +0000 (UTC) Received: by mail-wr0-f171.google.com with SMTP id p8so40794230wrf.5 for ; Mon, 21 Aug 2017 10:24:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=mP9KJrsW5DxjTNb/PPh5OIpbdEVc2PLM4oj2pQ0ReTk=; b=csOrPlzgEZIGeB7bL9aHtkLDHQO3zplTTycgGPHIDZzIQ6sJjt9GNjH2Rs7fYd8r23 FuhgyR0HgYwHtTHxHEyOGYTTihYZ8gOq0OYC4lmgPnB1dfV4CI+A43W4RWdAORJLBb2e J4tXGZj5Q8BYwjEfOO4KXToCYykeI7So4YsHm6zNTXt0Nc08gMSC9KqlAbWIo0ZwFN/x 63S4hQu+owmbkU8j+i3zicivBBfy9M0PrAlr0SjdZdAh0DSugKT2FsSEg7W8+oCFjvKD CcgKSXfbm12ybX/e7QpOOnIiDPJcY0blDGM60l5LM8vKDf8CqDal8lu+iyEzHF6cAcJS qc6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=mP9KJrsW5DxjTNb/PPh5OIpbdEVc2PLM4oj2pQ0ReTk=; b=IOJQQpfK9eZtieoGDRXlJWLA+CxQQl2AZ/E+LqzE1X60H/Sffp6ci03hE8AQfWQWze eY9qVCMmGvWHo/cn0BoQUBC6TsU7GI6i5GarEQ+QDelHOZfFVko51YPZM38tWvCZRAop 7KNkjUgqwng0aqxjUxLgQKJ3mT/JZxKYZ60hbMESBsXFZnld8kuz0mkWsBXgzPrHUFbP o1w1yMBWWtKTsXYjGn75UQdjqCFTvcNx12/KEwM2d6eEMc99CM0/6HYJ4kKkje95X1S5 kIDnjUeInVH4BVTHQeyP7VejnNEdsM9BITLs10vrliIMhURsu4BmMHSh6Pa9LfvBihq1 0T+Q== X-Gm-Message-State: AHYfb5jogjWPaqIGduHUwgbjPp6YQztpWqrStlN1+MhR0Lwjm6I/8XRn XAROivISW+GT34NPG4OjAQc9cz1zzw== X-Received: by 10.223.134.139 with SMTP id 11mr3119730wrx.255.1503336250171; Mon, 21 Aug 2017 10:24:10 -0700 (PDT) MIME-Version: 1.0 Sender: earonesty@gmail.com Received: by 10.28.225.135 with HTTP; Mon, 21 Aug 2017 10:24:09 -0700 (PDT) In-Reply-To: References: <6e774a20-38f6-3932-4050-789c34f0c2b2@aei.ca> From: Erik Aronesty Date: Mon, 21 Aug 2017 13:24:09 -0400 X-Google-Sender-Auth: 2rxEpf2KfLVr_rUNJP9kIRTaBbY Message-ID: To: Moral Agent , Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary="001a1146c4222b6640055746bff4" X-Mailman-Approved-At: Mon, 21 Aug 2017 17:49:16 +0000 Cc: Major Kusanagi Subject: Re: [bitcoin-dev] UTXO growth scaling solution proposal X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Aug 2017 17:24:12 -0000 --001a1146c4222b6640055746bff4 Content-Type: text/plain; charset="UTF-8" 1. If it only affects "old dust" UTXO's where the # of coins in the UTXO aren't sufficient to pay some lower quantile of transaction fees, then there can be little argument of theft or loss. 2. There's another use-case for demurrage as well. Computation power may grow rapidly if quantum computing becomes more common. At some point, Bitcoin may have to change the public key format for coins and the POW used. In order to do this, old coins will have to transact on the network, moving their value to a new format, with many more bits in the public key, for example. But since quantum computing isn't bounded by moore's law, so this may need to be a regular upgrade every X years. Rather than a regular "bit widening hard fork", the number of bits needed in a public address format could be scaled to the difficulty of the new quantum hashing algorithm that *also must *now grow in the # of bits over time. To ensure that coins are secure, those with too few bits must drop off the network. So the timing for old coin demurrage can effectively be based on the quantum POW difficulty adjustments. As long as the subsequent exponential rate of computation increase can be reasonably predicted (quantum version of moore's law), the new rate of decay can be pegged to a number of years. On Mon, Aug 21, 2017 at 10:26 AM, Moral Agent via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > A more forgiving option would be to have coins past a certain age > evaporate into mining rewards at some rate, rather than all at once. People > might find this approach easier to stomach as it avoids the "I waited 1 > block to many and all of my coins vanished" scenario. > > Another approach would to demand that a certain minimum mining fee be > included that is calculated based on the age of an input like this idea: > https://www.reddit.com/r/Bitcoin/comments/35ilir/ > prioritizing_utxos_using_a_minimum_mining_fee/ > > This would result in the coins continuing to exist but not being > economically spendable, and therefore the UTXO information could be > archived. > > On Mon, Aug 21, 2017 at 9:35 AM, Thomas Guyot-Sionnest via bitcoin-dev < > bitcoin-dev@lists.linuxfoundation.org> wrote: > >> On 21/07/17 03:59 PM, Lucas Clemente Vella via bitcoin-dev wrote: >> > 2017-07-21 16:28 GMT-03:00 Major Kusanagi via bitcoin-dev >> > > > >: >> > >> > [...] But the fact is that if we want to make bitcoins last forever, >> > we have the accept unbounded UTXO growth, which is unscalable. So >> > the only solution is to limit UTXO growth, meaning bitcoins cannot >> > last forever. This proposed solution however does not prevent >> > Bitcoin from lasting forever. >> > >> > >> > Unless there is a logical contradiction in this phrasing, the proposed >> > solution does not improves scalability: >> > - "Bitcoins lasting forever" implies "unscalable"; >> > - "not prevent Bitcoin from lasting forever" implies "Bitcoins lasting >> > forever"; >> > - Thus: "not prevent Bitcoin from lasting forever" implies >> "unscalable". >> > >> > In practice, the only Bitcoin lost would be those whose owners forgot >> > about or has lost the keys, because everyone with a significant amount >> > of Bitcoins would always shift them around before it loses any luster (I >> > wouldn't bother to move my Bitcoins every 10 years). I don't know how to >> > estimate the percentage of UTXO is actually lost/forgotten, but I have >> > the opinion it isn't worth the hassle. >> > >> > As a side note, your estimate talks about block size, which is >> > determines blockchain size, which can be "safely" pruned (if you are not >> > considering new nodes might want to join the network, in case the full >> > history is needed to be stored somewhere). But UTXO size, albeit related >> > to the full blockchain size, is the part that currently can not be >> > safely pruned, so I don't see the relevance of the analysis. >> >> I think if we wanted to burn lost/stale coins a better approach would be >> returning them to miner's as a fee - there will always be lost coins and >> miners will be able to get that additional revenue stream as the mining >> reward halves. I also don't think we need to worry about doing a gradual >> value loss neither, we should just put a limit on UTXO age in block >> count (actually I would round it up to 210k blocks as explained below...). >> >> >> So lets say for example we decide to keep 5 210k blocks "generations" >> (that's over 15 years), then on the first block of the 6th generation >> all UTXO's from the 1st generation are invalidated and returned into a >> "pool". >> >> Given these (values in satoshis): >> >> Pool "P" (invalided UTXO minus total value reclaimed since last halving) >> Leftover blocks "B" (210,000 minus blocks mined since last halving) >> >> Then every mined block can reclaim FLOOR(P/B) satoshi in addition to >> miner's reward and tx fees. >> >> If the last block of a generation does not get the remainder of the pool >> (FLOOR(P/1) == P) it should get carried over. >> >> >> This would ensure we can clear old blocks after a few generations and >> that burnt/lost coins eventually get back in circulation. Also it would >> reduce the reliance of miners on actual TX fees. >> >> >> To avoid excessive miner reward initially, for the first few iterations >> the value of B could be increased (I haven't calculated the UTXO size of >> the first 210k blocks but it could be excessively high...) or the value >> each block can reclaim could be caped (so we would reclaim at an >> artificial capacity until the pool depletes...). >> >> >> Regards, >> >> -- >> Thomas >> >> _______________________________________________ >> bitcoin-dev mailing list >> bitcoin-dev@lists.linuxfoundation.org >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >> > > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > --001a1146c4222b6640055746bff4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
1. If it only affects "old dust" UTXO's= where the # of coins in the UTXO aren't sufficient to pay some lower q= uantile of transaction fees, then there can be little argument of theft or = loss.

2. There's another use-case for demurrage as we= ll.

Computation power may grow rapidly if quantum computi= ng becomes more common.=C2=A0 At some point, Bitcoin may have to change the= public key format for coins and the POW used.

In order to do this, = old coins will have to transact on the network, moving their value to a new= format, with many more bits in the public key, for example.=C2=A0=C2=A0 Bu= t since quantum computing isn't bounded by moore's law, so this may= need to be a regular upgrade every X years.=C2=A0=C2=A0 Rather than a regu= lar "bit widening hard fork", the number of bits needed in a publ= ic address format could be scaled to the difficulty of the new quantum hash= ing algorithm that also must now grow in the # of bits over time.=C2= =A0=C2=A0 To ensure that coins are secure, those with too few bits must dro= p off the network.=C2=A0=C2=A0 So the timing for old coin demurrage can eff= ectively be based on the quantum POW difficulty adjustments.=C2=A0=C2=A0 As= long as the subsequent exponential rate of computation increase can be rea= sonably predicted (quantum version of moore's law), the new rate of dec= ay can be pegged to a number of years.



On Mon, Aug 21, 201= 7 at 10:26 AM, Moral Agent via bitcoin-dev <bitcoin-de= v@lists.linuxfoundation.org> wrote:
A more forgiving option would be to have coins pa= st a certain age evaporate into mining rewards at some rate, rather than al= l at once. People might find this approach easier to stomach as it avoids t= he "I waited 1 block to many and all of my coins vanished" scenar= io.

Another approach would to demand that a certain mini= mum mining fee be included that is calculated based on the age of an input = like this idea: https://= www.reddit.com/r/Bitcoin/comments/35ilir/prioritizing_utxos_using= _a_minimum_mining_fee/

This would result = in the coins continuing to exist but not being economically spendable, and = therefore the UTXO information could be archived.

On Mon, Aug 21, 2017 at 9:35 AM, Thomas Guyot-Sionnest via bitcoin= -dev <bitcoin-dev@lists.linuxfoundation.org&g= t; wrote:
On 21/07/17 03:59 = PM, Lucas Clemente Vella via bitcoin-dev wrote:
> 2017-07-21 16:28 GMT-03:00 Major Kusanagi via bitcoin-dev
> <bitcoin-dev@lists.linuxfoundation.org
> <mailto:bitcoin-dev@lists.linuxfoundation.org>&g= t;:
>
>=C2=A0 =C2=A0 =C2=A0[...] But the fact is that if we want to make bitco= ins last forever,
>=C2=A0 =C2=A0 =C2=A0we have the accept unbounded UTXO growth, which is = unscalable. So
>=C2=A0 =C2=A0 =C2=A0the only solution is to limit UTXO growth, meaning = bitcoins cannot
>=C2=A0 =C2=A0 =C2=A0last forever. This proposed solution however does n= ot prevent
>=C2=A0 =C2=A0 =C2=A0Bitcoin from lasting forever.
>
>
> Unless there is a logical contradiction in this phrasing, the proposed=
> solution does not improves scalability:
>=C2=A0 - "Bitcoins lasting forever" implies "unscalable&= quot;;
>=C2=A0 - "not prevent Bitcoin from lasting forever" implies &= quot;Bitcoins lasting
> forever";
>=C2=A0 - Thus: "not prevent Bitcoin from lasting forever" imp= lies "unscalable".
>
> In practice, the only Bitcoin lost would be those whose owners forgot<= br> > about or has lost the keys, because everyone with a significant amount=
> of Bitcoins would always shift them around before it loses any luster = (I
> wouldn't bother to move my Bitcoins every 10 years). I don't k= now how to
> estimate the percentage of UTXO is actually lost/forgotten, but I have=
> the opinion it isn't worth the hassle.
>
> As a side note, your estimate talks about block size, which is
> determines blockchain size, which can be "safely" pruned (if= you are not
> considering new nodes might want to join the network, in case the full=
> history is needed to be stored somewhere). But UTXO size, albeit relat= ed
> to the full blockchain size, is the part that currently can not be
> safely pruned, so I don't see the relevance of the analysis.

I think if we wanted to burn lost/stale coins a better approach woul= d be
returning them to miner's as a fee - there will always be lost coins an= d
miners will be able to get that additional revenue stream as the mining
reward halves. I also don't think we need to worry about doing a gradua= l
value loss neither, we should just put a limit on UTXO age in block
count (actually I would round it up to 210k blocks as explained below...).<= br>

So lets say for example we decide to keep 5 210k blocks "generations&q= uot;
(that's over 15 years), then on the first block of the 6th generation all UTXO's from the 1st generation are invalidated and returned into a<= br> "pool".

Given these (values in satoshis):

Pool "P" (invalided UTXO minus total value reclaimed since last h= alving)
Leftover blocks "B" (210,000 minus blocks mined since last halvin= g)

Then every mined block can reclaim FLOOR(P/B) satoshi in addition to
miner's reward and tx fees.

If the last block of a generation does not get the remainder of the pool (FLOOR(P/1) =3D=3D P) it should get carried over.


This would ensure we can clear old blocks after a few generations and
that burnt/lost coins eventually get back in circulation. Also it would
reduce the reliance of miners on actual TX fees.


To avoid excessive miner reward initially, for the first few iterations
the value of B could be increased (I haven't calculated the UTXO size o= f
the first 210k blocks but it could be excessively high...) or the value
each block can reclaim could be caped (so we would reclaim at an
artificial capacity until the pool depletes...).


Regards,

--
Thomas

_______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org= /mailman/listinfo/bitcoin-dev


_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.= linuxfoundation.org
https://lists.linuxfoundation.org= /mailman/listinfo/bitcoin-dev


--001a1146c4222b6640055746bff4--