[Bitcoin-segwit2x] segwit2x alpha release code drop
Jared Lee Richardson
jaredr26 at gmail.com
Fri Jun 16 19:47:46 UTC 2017
> The sum of these two paragraphs is: [it's not arbitrary][ok, it's
arbitrary] :)
> The bigger point, though, is that you cannot just look at the witness
discount purely through a narrow UTXO lens.
> The other side of the artificial incentive, for example, is that you have
created a direct incentive to put cheap garbage data into this newly
extended block. Let's call this Garbage Risk.
> This is the risk of not letting the market naturally balance itself out,
and one of several unintended consequences of inserting an artificial ratio.
This is a valid point, but I believe there is a way that the garbage risk
can be removed. Unfortunately segwit would have to be changed and
re-tested, and timelines are short. The purpose of the witness discount is
that inputs are byte-heavy and outputs are byte-light at the time of
creation/inclusion, but inputs and outputs have equal byte weights over the
lifespan of the UTXO, and outputs have an additional RAM cost until they
are consumed. The primary driver of this byte-heavy / byte-light
discrepancy is the signature data. Users and wallets think short term and
build transactions for the smallest immediate size, not the smallest data
size over years.
Ergo, the witness discount is actually targeting the wrong data (slightly)
because it includes all sigscript with a flat discount. The better way
that comes to mind would be to take total weight of all the inputs block,
average it by number of inputs to find the average input weight, and then
multiply that average input weight times the number of outputs. The same
thing could be done in reverse for the input weight. This would strongly
favor very large transactions that combine many small outputs into a single
output, and would thus drive major UTXO reduction, and long-term would
drive the average transaction size down and therefore reduce bandwidth
consumption for everyone.
Jared
On Fri, Jun 16, 2017 at 12:12 PM, Jeff Garzik via Bitcoin-segwit2x <
bitcoin-segwit2x at lists.linuxfoundation.org> wrote:
> On Fri, Jun 16, 2017 at 12:37 PM, Jameson Lopp <jameson.lopp at gmail.com>
> wrote:
>
>> Rough analogy: Imagine a market where automobiles are sold by weight
>>> (kg). This market now embarks on an opt-in transition to selling
>>> automobiles based on engine size (cc's), a metric that automobile experts
>>> agree better measures automobile ability. Result: Some bidders in the
>>> market buy cars based on weight, others based on cc's. How does one bid
>>> efficiently in an always-in-transition market? SegWit is not just a
>>> technology upgrade, it is a market upgrade.
>>>
>>
>> I'm not convinced this analogy fits given that the market completely
>> transitions to all users bidding based upon weight. Users who are driving
>> old, heavy cars will now be incentivized to upgrade to more modern cars
>> manufactured with lightweight materials.
>>
>
> Comments,
>
> C1) I was making a larger point that you have two different resources that
> really do have two different supply and demand rates, and bidding into that
> market is complex.
>
> C2) It is therefore a *simplification* and *assumption* that market users
> will behave a certain way in bidding for witness data area. Wallets that
> hardcode this assumption may therefore be making non-optimal economic
> decisions on behalf of their users.
>
> C3) It seems unwise to build in *artificial* incentives to transition
> from a known-working system to a new system. Let that happen naturally.
>
>
>
>
>>
>>
>>>
>>> 2) Witness discount/scaling factor
>>>
>>> It is fair to say that this remains an issue of note. A few WG members
>>> have independently described the witness discount as an arbitrary economic
>>> incentive encoded directly into the software.
>>>
>>> As a thought exercise, removing the scaling factor still retains extra
>>> witness space and therefore retains a natural incentive to stash data
>>> there, while removing a weighting that may or may not be the best ratio.
>>>
>>> Block weight plays into this - if you're not scaling, you don't need an
>>> abstract "weight" unit, just a total size. For wallets (#1, above), size
>>> is probably more simple to reason and calculate than weight. Block size is
>>> a well studied attribute, versus block weight.
>>>
>>>
>>> The witness discount is not arbitrary. The economics of spending inputs
>> versus creating outputs is terribly imbalanced and the discount is applied
>> in order to bring it more in balance. It can cost 5X-10X as much (data size
>> & thus fees) to add an input (↓ UTXO set size) vs an output (↑ UTXO set
>> size) to a transaction. It could probably be argued that a 75% discount is
>> actually conservative in terms of trying to rebalance this discrepancy.
>>
>> I'm not so sure that there is a perfect ratio given the arbitrary
>> complexity that inputs can have. I think you'd need some kind of dynamic
>> weighting that would be much more complex and would require significant
>> development resources to implement. I don't think we should let perfect be
>> the enemy of good given the timeline of this project.
>>
>
>
> The sum of these two paragraphs is: [it's not arbitrary][ok, it's
> arbitrary] :)
>
> The bigger point, though, is that you cannot just look at the witness
> discount purely through a narrow UTXO lens.
>
> The other side of the artificial incentive, for example, is that you have
> created a direct incentive to put cheap garbage data into this newly
> extended block. Let's call this Garbage Risk.
>
> This is the risk of not letting the market naturally balance itself out,
> and one of several unintended consequences of inserting an artificial ratio.
>
> --
> Jeff Garzik
> CEO and Co Founder
> Bloq, Inc.
>
>
> _______________________________________________
> Bitcoin-segwit2x mailing list
> Bitcoin-segwit2x at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-segwit2x
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-segwit2x/attachments/20170616/f5edd0bd/attachment.html>
More information about the Bitcoin-segwit2x
mailing list