Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 7018E18E5 for ; Mon, 1 Apr 2019 11:22:42 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-it1-f177.google.com (mail-it1-f177.google.com [209.85.166.177]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4DBB7852 for ; Mon, 1 Apr 2019 11:22:41 +0000 (UTC) Received: by mail-it1-f177.google.com with SMTP id v8so17164029itf.0 for ; Mon, 01 Apr 2019 04:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=mxpZIzZlRrrrCpZ4WWujFuq2/D3MbjLuDgoC7jkHNQs=; b=dDcjiS3lF0CICc4aFkbmfzpT6l7EO+vGZ0uoRhYxB2Viz2bNo5ZHgFkmXCF4fIZ5Du tHdMRGCbbe6dfF4vDOp/vtX+h1SWaH4YyoCoJ8PVTAgBaVF9VyQ5e8TyzNo5VJngUlKU cln2I3PlJ0OIiTU7yDSuBcw3D0DTyhMGM77WUcIXodqPbW/AfZZhOyCFI8ElcU24ofzp AYYqnEHyF3TnYA7QWZ9pnASYdj9UrQk50Pbd/bTH7hk82C6qWwtj4V41LI0oaLIjmVx8 Vk1f1756M9Qfgb9i0aDRmtdvoyMaXWBhMPoc01lHjH4DadqEq6IfDFR+xbcm80VcEMG/ LRIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=mxpZIzZlRrrrCpZ4WWujFuq2/D3MbjLuDgoC7jkHNQs=; b=A4ggfpm5YIx04ldbwE38Y/Y2+9uOQI+wRpte38MyAm4e41S0TlwUj6MV5liSqXphEg 0EMB2XZT2yadSpWsTrFxq0g1KTNTri46yqGqi4mpOaPYoLT2jdRQGuyNHBSJj40G/4GD Nn4+1C7IaqgMXEs++o5DnUR800V4hLt6Lx+7/5mARbEavyCT4lFd/PLOWjB+XNnnMP5g vTftFte+rpWdT7mW/SloyCJuXzCP8ElXNd1UcrlDULmi07x2LTmktGWIyVKSafkJMFul FT1vXpI+kOcTqeiIApQz0mf6eTeRWo5GOcgDgKFqfIGu+PQfFbO0h57+rD2WhR7kYKpI pRgQ== X-Gm-Message-State: APjAAAVKlDrDZjEvrR7vALvwt7NBlMilxkd61gKf7DEiHkGsL4YP7jDc KJSD54FVl9yl1d4jEFP2KISvmAXVW5rfIVQ9OdE0uA== X-Google-Smtp-Source: APXvYqwhEsWQKhs0ccW+CZPUPLRUfOdxDXAilYV62A1pvaqRrks6jM164VT4b2kIiiR6WJEGoxOYofri7wDM/mxDY14= X-Received: by 2002:a24:4a4a:: with SMTP id k71mr14607882itb.124.1554117760613; Mon, 01 Apr 2019 04:22:40 -0700 (PDT) MIME-Version: 1.0 References: <201904010030.34825.luke@dashjr.org> In-Reply-To: <201904010030.34825.luke@dashjr.org> From: Melvin Carvalho Date: Mon, 1 Apr 2019 13:22:28 +0200 Message-ID: To: Luke Dashjr , Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary="0000000000000f82f60585763db4" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Mon, 01 Apr 2019 11:47:04 +0000 Subject: Re: [bitcoin-dev] Softfork proposal for minimum price of $50k USD/BTC 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, 01 Apr 2019 11:22:42 -0000 --0000000000000f82f60585763db4 Content-Type: text/plain; charset="UTF-8" On Mon, 1 Apr 2019 at 02:32, Luke Dashjr via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > Certain parts of the community have been selling bitcoins for unreasonably > low prices. This has halted Bitcoin's valuation at $20k and even driven the > price down below $15k! However, clearly Bitcoin is worth much more than > that, and there is widespread support for higher prices. > > In light of this, I have written and implemented two BIPs: one to add a > signed price field to Bitcoin transactions, and the other to softfork a > minimum price of $50k USD/BTC a year from today. > > The BIPs are here, as well as included at the bottom of this email for > convenience: > https://github.com/luke-jr/bips/blob/softfork_50k/bip-usdprice.mediawiki > > https://github.com/luke-jr/bips/blob/softfork_50k/bip-softfork-50k-price.mediawiki > > A reference implementation is here: > > https://github.com/bitcoin/bitcoin/compare/v0.17.1...luke-jr:softfork_50k > > Please review ASAP so we can get these deployed in Bitcoin Core v0.18. > This seems a little arbitrary. Ask yourself, "Why the USD?". Yes, it is the dominant currency now, but in 2, 6, 10, 14 years? Who knows. You could make equally an argument to denominate in euros. Or a basket of currencies, or even the Bancor. However the wider question is why even denominate in fiat at all? I suggest denominating the minimum value in satoshsis themselves, which would be a negligable upgrade to the network. > > Luke > > >
>   BIP: ?
>   Layer: Applications
>   Title: Signed USD Price Indicator
>   Author: Luke Dashjr 
>   Comments-Summary: No comments yet.
>   Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-????
>   Status: Draft
>   Type: Standards Track
>   Created: 2019-04-01
>   License: BSD-2-Clause
> 
> > ==Abstract== > > This BIP proposes a method to explicitly specify and sign the USD/BTC > price > for transactions. > > ==Copyright== > > This BIP is licensed under the BSD 2-clause license. > > ==Motivation== > > Certain parts of the community have been selling bitcoins for unreasonably > low > prices. This has halted Bitcoin's valuation at $20k and even driven the > price > down below $15k! However, clearly Bitcoin is worth much more than that, > and > there is widespread support for higher prices. > > This problem can be fixed by setting a global minimum price for bitcoins. > Unfortunately, today, the consensus protocol is completely oblivious to > the > price bitcoins are traded at. Therefore, we must first add a field to > Bitcoin > transactions to indicate their price. > > ==Specification== > > ===New field and legal implication=== > > A new field is added to Bitcoin transactions. This field, if present, must > represent the honest and true USD/BTC rate used for the transaction. By > signing the transaction, the sender legally affirms this is the valuation > of > bitcoins used for the transaction. > > For the avoidance of doubt: when the transaction is valued in a currency > other > than USD, any reasonable exchange rate may be used to come up with the USD > valuation. > > ===Serialisation=== > > When serialising the transaction for any purpose, including signing, > weight > calculation, and so on, the output count must be incremented by one. Prior > to > the first real output, the following bytes must be inserted: > > * Constant: 00 00 00 00 00 00 00 00 > * A single byte, the size in bytes of the remainder of the inserted data > * Constant: 6a 04 55 53 44 24 > * A single byte, the size in bytes of the remainder of the inserted data > * The USD/BTC rate used for the transaction, in standard signed integer > serialisation, with all leading zeros removed (except as necessary to > preserve the sign bit). > > ==Backwards compatibility== > > ===Consensus=== > > The new price field is serialised as a dummy output, with a value of zero, > and > a scriptPubKey that begins with OP_RETURN (6a). Existing nodes will ignore > this dummy output, and the leading OP_RETURN in the scriptPubKey ensures > it > is never considered spendable. > > Therefore, current nodes will ignore the new field entirely, and accept > transactions using it. > > ===Wallets=== > > Existing wallets do not typically generate price indicators as specified. > Under this BIP, this absence of the field is perfectly acceptable. > > ==Reference implementation== > > > https://github.com/bitcoin/bitcoin/compare/v0.17.1...luke-jr:usd_price_tx_field > >
>   BIP: ?
>   Layer: Consensus (soft fork)
>   Title: $50k USD/BTC Minimum Price
>   Author: Luke Dashjr 
>   Comments-Summary: No comments yet.
>   Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-????
>   Status: Draft
>   Type: Standards Track
>   Created: 2019-04-01
>   License: BSD-2-Clause
>   Requires: usdprice
> 
> > ==Abstract== > > This BIP defines a minimum price of $50k USD/BTC for Bitcoin transactions. > > ==Copyright== > > This BIP is licensed under the BSD 2-clause license. > > ==Motivation== > > Certain parts of the community have been selling bitcoins for unreasonably > low > prices. This has halted Bitcoin's valuation at $20k and even driven the > price > down below $15k! However, clearly Bitcoin is worth much more than that, > and > there is widespread support for higher prices. > > bip-usdprice defines a new field to indicate the price of transactions. > Using > this, we can softfork to require a minimum transaction price. > > ==Specification== > > Beginning with block height 622370 (expected approximately 2020 April 1), > a > block is reject as invalid unless all transactions it contains both > declare a > USD/BTC price (as defined in bip-usdprice) and specify a price that is at > a > minimum $50k USD/BTC. > > ==Backwards compatibility== > > As a soft fork, older nodes will continue to accept the blockchain without > modification. Non-upgraded nodes, however, will not validate the minimum > price requirement, and may accept invalid blocks if miners choose to make > them. Since transactions not declaring a price are at this time still > common-place, the softfork activation has been set a full year into the > future to ensure time to upgrade both nodes and wallet software. > > ==Reference implementation== > > > https://github.com/luke-jr/bitcoin/compare/usd_price_tx_field...softfork_50k > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > --0000000000000f82f60585763db4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, 1 Apr 2019 at 02:32, Luke Das= hjr via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
Certain parts of the community h= ave been selling bitcoins for unreasonably
low prices. This has halted Bitcoin's valuation at $20k and even driven= the
price down below $15k! However, clearly Bitcoin is worth much more than
that, and there is widespread support for higher prices.

In light of this, I have written and implemented two BIPs: one to add a
signed price field to Bitcoin transactions, and the other to softfork a
minimum price of $50k USD/BTC a year from today.

The BIPs are here, as well as included at the bottom of this email for
convenience:
=C2=A0 https://github.com/lu= ke-jr/bips/blob/softfork_50k/bip-usdprice.mediawiki
https://github.com= /luke-jr/bips/blob/softfork_50k/bip-softfork-50k-price.mediawiki

A reference implementation is here:
=C2=A0 https://github.com/b= itcoin/bitcoin/compare/v0.17.1...luke-jr:softfork_50k

Please review ASAP so we can get these deployed in Bitcoin Core v0.18.
<= /blockquote>

This seems a little arbitrary.=C2=A0 Ask yo= urself, "Why the USD?".=C2=A0 Yes, it is the dominant currency no= w, but in 2, 6, 10, 14 years?=C2=A0 Who knows.

You= could make equally an argument to denominate in euros.=C2=A0 Or a basket o= f currencies, or even the Bancor.

However the wide= r question is why even denominate in fiat at all?=C2=A0

=
I suggest denominating the minimum value in satoshsis themselves= , which would be a negligable upgrade to the network.
=C2=A0<= /div>

Luke


<pre>
=C2=A0 BIP: ?
=C2=A0 Layer: Applications
=C2=A0 Title: Signed USD Price Indicator
=C2=A0 Author: Luke Dashjr <luke+bip@dashjr.org>
=C2=A0 Comments-Summary: No comments yet.
=C2=A0 Comments-URI: https://github.com/bitcoin/= bips/wiki/Comments:BIP-????
=C2=A0 Status: Draft
=C2=A0 Type: Standards Track
=C2=A0 Created: 2019-04-01
=C2=A0 License: BSD-2-Clause
</pre>

=3D=3DAbstract=3D=3D

This BIP proposes a method to explicitly specify and sign the USD/BTC price=
for transactions.

=3D=3DCopyright=3D=3D

This BIP is licensed under the BSD 2-clause license.

=3D=3DMotivation=3D=3D

Certain parts of the community have been selling bitcoins for unreasonably = low
prices. This has halted Bitcoin's valuation at $20k and even driven the= price
down below $15k! However, clearly Bitcoin is worth much more than that, and=
there is widespread support for higher prices.

This problem can be fixed by setting a global minimum price for bitcoins. <= br> Unfortunately, today, the consensus protocol is completely oblivious to the=
price bitcoins are traded at. Therefore, we must first add a field to Bitco= in
transactions to indicate their price.

=3D=3DSpecification=3D=3D

=3D=3D=3DNew field and legal implication=3D=3D=3D

A new field is added to Bitcoin transactions. This field, if present, must =
represent the honest and true USD/BTC rate used for the transaction. By signing the transaction, the sender legally affirms this is the valuation o= f
bitcoins used for the transaction.

For the avoidance of doubt: when the transaction is valued in a currency ot= her
than USD, any reasonable exchange rate may be used to come up with the USD =
valuation.

=3D=3D=3DSerialisation=3D=3D=3D

When serialising the transaction for any purpose, including signing, weight=
calculation, and so on, the output count must be incremented by one. Prior = to
the first real output, the following bytes must be inserted:

* Constant: 00 00 00 00 00 00 00 00
* A single byte, the size in bytes of the remainder of the inserted data * Constant: 6a 04 55 53 44 24
* A single byte, the size in bytes of the remainder of the inserted data * The USD/BTC rate used for the transaction, in standard signed integer serialisation, with all leading zeros removed (except as necessary to
preserve the sign bit).

=3D=3DBackwards compatibility=3D=3D

=3D=3D=3DConsensus=3D=3D=3D

The new price field is serialised as a dummy output, with a value of zero, = and
a scriptPubKey that begins with OP_RETURN (6a). Existing nodes will ignore =
this dummy output, and the leading OP_RETURN in the scriptPubKey ensures it=
is never considered spendable.

Therefore, current nodes will ignore the new field entirely, and accept transactions using it.

=3D=3D=3DWallets=3D=3D=3D

Existing wallets do not typically generate price indicators as specified. <= br> Under this BIP, this absence of the field is perfectly acceptable.

=3D=3DReference implementation=3D=3D

https://github.com/bi= tcoin/bitcoin/compare/v0.17.1...luke-jr:usd_price_tx_field

<pre>
=C2=A0 BIP: ?
=C2=A0 Layer: Consensus (soft fork)
=C2=A0 Title: $50k USD/BTC Minimum Price
=C2=A0 Author: Luke Dashjr <luke+bip@dashjr.org>
=C2=A0 Comments-Summary: No comments yet.
=C2=A0 Comments-URI: https://github.com/bitcoin/= bips/wiki/Comments:BIP-????
=C2=A0 Status: Draft
=C2=A0 Type: Standards Track
=C2=A0 Created: 2019-04-01
=C2=A0 License: BSD-2-Clause
=C2=A0 Requires: usdprice
</pre>

=3D=3DAbstract=3D=3D

This BIP defines a minimum price of $50k USD/BTC for Bitcoin transactions.<= br>
=3D=3DCopyright=3D=3D

This BIP is licensed under the BSD 2-clause license.

=3D=3DMotivation=3D=3D

Certain parts of the community have been selling bitcoins for unreasonably = low
prices. This has halted Bitcoin's valuation at $20k and even driven the= price
down below $15k! However, clearly Bitcoin is worth much more than that, and=
there is widespread support for higher prices.

bip-usdprice defines a new field to indicate the price of transactions. Usi= ng
this, we can softfork to require a minimum transaction price.

=3D=3DSpecification=3D=3D

Beginning with block height 622370 (expected approximately 2020 April 1), a=
block is reject as invalid unless all transactions it contains both declare= a
USD/BTC price (as defined in bip-usdprice) and specify a price that is at a=
minimum $50k USD/BTC.

=3D=3DBackwards compatibility=3D=3D

As a soft fork, older nodes will continue to accept the blockchain without =
modification. Non-upgraded nodes, however, will not validate the minimum price requirement, and may accept invalid blocks if miners choose to make <= br> them. Since transactions not declaring a price are at this time still
common-place, the softfork activation has been set a full year into the future to ensure time to upgrade both nodes and wallet software.

=3D=3DReference implementation=3D=3D

https://github.com/luke-= jr/bitcoin/compare/usd_price_tx_field...softfork_50k
_______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev
--0000000000000f82f60585763db4--