On Apr 1, 2019, at 7:22 PM, Melvin Carvalho via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org
<mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote:
On Mon, 1 Apr 2019 at 02:32, Luke Dashjr via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org
<mailto: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
<pre>
BIP: ?
Layer: Applications
Title: Signed USD Price Indicator
Author: Luke Dashjr <luke+...@dashjr.org
<mailto:luke%2b...@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>
==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
<pre>
BIP: ?
Layer: Consensus (soft fork)
Title: $50k USD/BTC Minimum Price
Author: Luke Dashjr <luke+...@dashjr.org
<mailto:luke%2b...@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>
==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
<mailto:bitcoin-dev@lists.linuxfoundation.org>
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
<mailto:bitcoin-dev@lists.linuxfoundation.org>
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev