Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 811AB705E for ; Mon, 1 Apr 2019 12:14:01 +0000 (UTC) X-Greylist: delayed 00:23:26 by SQLgrey-1.7.6 Received: from gateway21.websitewelcome.com (gateway21.websitewelcome.com [192.185.46.113]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 448AA7E9 for ; Mon, 1 Apr 2019 12:14:00 +0000 (UTC) Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway21.websitewelcome.com (Postfix) with ESMTP id 45B95400CCC63 for ; Mon, 1 Apr 2019 06:50:34 -0500 (CDT) Received: from gator4061.hostgator.com ([192.185.4.72]) by cmsmtp with SMTP id AvSUhiRxf2PzOAvSUhKc6o; Mon, 01 Apr 2019 06:50:34 -0500 X-Authority-Reason: nr=8 Received: from [128.199.78.174] (port=50958 helo=[192.168.1.184]) by gator4061.hostgator.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1hAvSS-003fHX-Da; Mon, 01 Apr 2019 06:50:33 -0500 From: "Dana L. Coe" Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_E62276B2-3B73-4E97-BBCE-B894BF5010BB" Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Date: Mon, 1 Apr 2019 19:50:24 +0800 In-Reply-To: To: Melvin Carvalho , Bitcoin Protocol Discussion References: <201904010030.34825.luke@dashjr.org> X-Mailer: Apple Mail (2.3445.102.3) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4061.hostgator.com X-AntiAbuse: Original Domain - lists.linuxfoundation.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - bitlox.com X-BWhitelist: no X-Source-IP: 128.199.78.174 X-Source-L: No X-Exim-ID: 1hAvSS-003fHX-Da X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: ([192.168.1.184]) [128.199.78.174]:50958 X-Source-Auth: dana.coe@bitlox.com X-Email-Count: 2 X-Source-Cap: Y2VoaGs7Y2VoaGs7Z2F0b3I0MDYxLmhvc3RnYXRvci5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,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 23:12:23 +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 12:14:01 -0000 --Apple-Mail=_E62276B2-3B73-4E97-BBCE-B894BF5010BB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I suggest in the spirit of the times that we not use USD as the = reference, but USDT. Everyone knows Tethers are much more flexible in tracking the true value = of the US dollar. Dana > On Apr 1, 2019, at 7:22 PM, Melvin Carvalho via bitcoin-dev = wrote: >=20 >=20 >=20 > On Mon, 1 Apr 2019 at 02:32, Luke Dashjr via bitcoin-dev = > 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. >=20 > 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. >=20 > The BIPs are here, as well as included at the bottom of this email for=20= > 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.m= ediawiki = >=20 > A reference implementation is here: > = https://github.com/bitcoin/bitcoin/compare/v0.17.1...luke-jr:softfork_50k = >=20 > Please review ASAP so we can get these deployed in Bitcoin Core v0.18. >=20 > 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. >=20 > You could make equally an argument to denominate in euros. Or a = basket of currencies, or even the Bancor. >=20 > However the wider question is why even denominate in fiat at all? =20 >=20 > I suggest denominating the minimum value in satoshsis themselves, = which would be a negligable upgrade to the network. > =20 >=20 > Luke >=20 >=20 >
>   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
> 
>=20 > =3D=3DAbstract=3D=3D >=20 > This BIP proposes a method to explicitly specify and sign the USD/BTC = price=20 > for transactions. >=20 > =3D=3DCopyright=3D=3D >=20 > This BIP is licensed under the BSD 2-clause license. >=20 > =3D=3DMotivation=3D=3D >=20 > Certain parts of the community have been selling bitcoins for = unreasonably low=20 > prices. This has halted Bitcoin's valuation at $20k and even driven = the price=20 > down below $15k! However, clearly Bitcoin is worth much more than = that, and=20 > there is widespread support for higher prices. >=20 > This problem can be fixed by setting a global minimum price for = bitcoins.=20 > Unfortunately, today, the consensus protocol is completely oblivious = to the=20 > price bitcoins are traded at. Therefore, we must first add a field to = Bitcoin=20 > transactions to indicate their price. >=20 > =3D=3DSpecification=3D=3D >=20 > =3D=3D=3DNew field and legal implication=3D=3D=3D >=20 > A new field is added to Bitcoin transactions. This field, if present, = must=20 > represent the honest and true USD/BTC rate used for the transaction. = By=20 > signing the transaction, the sender legally affirms this is the = valuation of=20 > bitcoins used for the transaction. >=20 > For the avoidance of doubt: when the transaction is valued in a = currency other=20 > than USD, any reasonable exchange rate may be used to come up with the = USD=20 > valuation. >=20 > =3D=3D=3DSerialisation=3D=3D=3D >=20 > When serialising the transaction for any purpose, including signing, = weight=20 > calculation, and so on, the output count must be incremented by one. = Prior to=20 > the first real output, the following bytes must be inserted: >=20 > * 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=20 > serialisation, with all leading zeros removed (except as necessary to=20= > preserve the sign bit). >=20 > =3D=3DBackwards compatibility=3D=3D >=20 > =3D=3D=3DConsensus=3D=3D=3D >=20 > The new price field is serialised as a dummy output, with a value of = zero, and=20 > a scriptPubKey that begins with OP_RETURN (6a). Existing nodes will = ignore=20 > this dummy output, and the leading OP_RETURN in the scriptPubKey = ensures it=20 > is never considered spendable. >=20 > Therefore, current nodes will ignore the new field entirely, and = accept=20 > transactions using it. >=20 > =3D=3D=3DWallets=3D=3D=3D >=20 > Existing wallets do not typically generate price indicators as = specified.=20 > Under this BIP, this absence of the field is perfectly acceptable. >=20 > =3D=3DReference implementation=3D=3D >=20 > = https://github.com/bitcoin/bitcoin/compare/v0.17.1...luke-jr:usd_price_tx_= field = >=20 >
>   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
> 
>=20 > =3D=3DAbstract=3D=3D >=20 > This BIP defines a minimum price of $50k USD/BTC for Bitcoin = transactions. >=20 > =3D=3DCopyright=3D=3D >=20 > This BIP is licensed under the BSD 2-clause license. >=20 > =3D=3DMotivation=3D=3D >=20 > Certain parts of the community have been selling bitcoins for = unreasonably low=20 > prices. This has halted Bitcoin's valuation at $20k and even driven = the price=20 > down below $15k! However, clearly Bitcoin is worth much more than = that, and=20 > there is widespread support for higher prices. >=20 > bip-usdprice defines a new field to indicate the price of = transactions. Using=20 > this, we can softfork to require a minimum transaction price. >=20 > =3D=3DSpecification=3D=3D >=20 > Beginning with block height 622370 (expected approximately 2020 April = 1), a=20 > block is reject as invalid unless all transactions it contains both = declare a=20 > USD/BTC price (as defined in bip-usdprice) and specify a price that is = at a=20 > minimum $50k USD/BTC. >=20 > =3D=3DBackwards compatibility=3D=3D >=20 > As a soft fork, older nodes will continue to accept the blockchain = without=20 > modification. Non-upgraded nodes, however, will not validate the = minimum=20 > price requirement, and may accept invalid blocks if miners choose to = make=20 > them. Since transactions not declaring a price are at this time still=20= > common-place, the softfork activation has been set a full year into = the=20 > future to ensure time to upgrade both nodes and wallet software. >=20 > =3D=3DReference implementation=3D=3D >=20 > = https://github.com/luke-jr/bitcoin/compare/usd_price_tx_field...softfork_5= 0k = > _______________________________________________ > 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 --Apple-Mail=_E62276B2-3B73-4E97-BBCE-B894BF5010BB Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii I = suggest in the spirit of the times that we not use USD as the reference, = but USDT.

Everyone = knows Tethers are much more flexible in tracking the true value of the = US dollar.

Dana

On Apr 1, 2019, at 7:22 PM, = Melvin Carvalho via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:



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:so= ftfork_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


<pre>
  BIP: ?
  Layer: Applications
  Title: Signed USD Price Indicator
  Author: Luke Dashjr <luke+bip@dashjr.org>
  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
</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.
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.

=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 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.

=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.
Under this BIP, this absence of the field is perfectly acceptable.

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

https://github.com/bitcoin/bitcoin/compare/v0.17.1...luke-jr:us= d_price_tx_field

<pre>
  BIP: ?
  Layer: Consensus (soft fork)
  Title: $50k USD/BTC Minimum Price
  Author: Luke Dashjr <luke+bip@dashjr.org>
  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
</pre>

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

This BIP defines a minimum price of $50k USD/BTC for Bitcoin = 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.

bip-usdprice defines a new field to indicate the price of transactions. = Using
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
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/mailman/listinfo/bitcoin-dev<= /a>
_______________________________________________
bitcoin-dev = mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev<= br class=3D"">

= --Apple-Mail=_E62276B2-3B73-4E97-BBCE-B894BF5010BB--