<pre>It's very easy to fall into the trap of applying game theory ideas in a naive way.<br></pre><div><br></div><div>I think that's what happens when we imagine that miners are so foolish that they<br></div><div>are unable to think long term. So the answer to the question:<br></div><div><br></div><div>&gt;How do you expect to convince
miners to do anything but what's in their best short term interest(which is revenue maximization)?<br></div><div><br></div><div>is that miners are intelligent beings, able to understand their own long term interests<br></div><div>as well as their short term interests.<br></div><div><br></div><div>Basic game theory is too basic. The selfish, short-sighted ideal profit-maximizing<br></div><div>entity that it imagines is easy to model but it's not what people actually do, and it's<br></div><div>certainly not what they should do.<br></div><div><br></div><div>If we suppose that miners are trapped by their desire to earn one more satoshi<br></div><div>right now and will make decisions that lead to long-term disaster, then we're<br></div><div>not imagining real people but some simple automatons which only exist in<br></div><div>naive game theory analyses.<br></div><div><br></div><div>Somebody who eats a candy bar on the street might understand that he or<br></div><div>she can drop the candy wrapper on the ground and that this is easier than<br></div><div>carrying it for a few minutes until it can be deposited into a garbage can.<br></div><div><br></div><div>It would be incorrect to deduce from this that everybody will drop their<br></div><div>litter on the street instead of making the tiny effort needed to put it in<br></div><div>a garbage can.<br></div><div><br></div><div>It would be very foolish and wrong to say that people *should* drop litter<br></div><div>on the street, because it's slightly better for them short-term.<br></div><div><br></div><div>But that's what naive game theory says they should do.<br></div><div><br></div><div>&gt;On Tue Sep 19 16:38:16 UTC 2017 Andrew Johnson via bitcoin-ml &lt;
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">&gt;bitcoin-ml at lists.linuxfoundation.org</a>&gt; wrote:<br></div><pre>&gt;And here's the problem with this proposal. How do you expect to convince
&gt;miners to do anything but what's in their best short term interest(which is
&gt;revenue maximization)?  This proposal clashes with the basic game theory
&gt;that bitcoin is based on, I think.
&gt;
&gt;It sounds good in theory, and those are all noble and worthwhile goals, but
&gt;what's the incentive for miners to prioritize transactions in this way
&gt;instead of based on total revenue?
&gt;
&gt;If bitcoin needs miner altruism to survive, we've already lost...  Bitcoin
&gt;has to work based on greedy participants doing whatever is most
&gt;advantageous for them, not a moral sense of wanting to make the network a
&gt;better place.  I don't think it's reasonable to expect miners to eschew
&gt;short term revenue in favor of long term network health.
&gt;
&gt;Some miners may appreciate code that helps them change the way they
&gt;prioritize transactions at their leisure(you may get some miners to run
&gt;this alternate prioritization model occasionally when mempool fees are
&gt;lowish), but you're definitely not going to make a consensus rule out of
&gt;it, and you're probably not going to get a ton of participants, in my
&gt;opinion.
&gt;
&gt;Which makes me wonder how effective of a use of your time this is going to
&gt;be in the first place. If this prioritization method is used for n% of
&gt;transactions, how much impact did it have?  Would probably need to try and
&gt;measure the effect at different adoption rates to see if the time spent is
&gt;worthwhile or not...
&gt;
&gt;On Tue, Sep 19, 2017 at 9:22 AM Jeff Garzik via bitcoin-ml &lt;
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">&gt;bitcoin-ml at lists.linuxfoundation.org</a>&gt; wrote:
&gt;
&gt;&gt;<i> The miners have two notable incentives:
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> 1) Maximize fee revenue
</i>&gt;&gt;<i> 2) Minimize time spent creating blocks
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> It has long been a goal to remove the 2nd pass through the mempool for
</i>&gt;&gt;<i> transaction priority.  Miners will prefer fewer CPU cycles spent building
</i>&gt;&gt;<i> new blocks, and prefer more revenue to less.
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> On Tue, Sep 19, 2017 at 7:44 AM, Tom Zander via bitcoin-ml &lt;
</i>&gt;&gt;<i> <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">bitcoin-ml at lists.linuxfoundation.org</a>&gt; wrote:
</i>&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> I’m writing here to ask for feedback before I implement this in Classic.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> This is a copy of a less technical and more aimed at the broad audience
</i>&gt;&gt;&gt;<i> text
</i>&gt;&gt;&gt;<i> on Yours.
</i>&gt;&gt;&gt;<i> <a href="https://www.yours.org/content/">https://www.yours.org/content/</a>
</i>&gt;&gt;&gt;<i> 3135d4927234a736b972e6f669aba8d78c3ef74ce87facfb68c2ad055a9dec03
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Transactions are picked by the miners currently based on the amount of
</i>&gt;&gt;&gt;<i> fees
</i>&gt;&gt;&gt;<i> they pay. Zero-fee transactions have been seen as people taking advantage
</i>&gt;&gt;&gt;<i> of
</i>&gt;&gt;&gt;<i> the system for some time. And I think its time to look at this and find
</i>&gt;&gt;&gt;<i> out
</i>&gt;&gt;&gt;<i> if that actually makes sense.
</i>&gt;&gt;&gt;<i> I want to propose that miners start to prioritize transactions based on
</i>&gt;&gt;&gt;<i> the
</i>&gt;&gt;&gt;<i> properties of the individual transaction. The higher the priority, the
</i>&gt;&gt;&gt;<i> better chance of inclusion in the next block. The factors of giving
</i>&gt;&gt;&gt;<i> priority
</i>&gt;&gt;&gt;<i> are;
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> 1. Coin-age of spent coin (days-destroyed). Older is better.
</i>&gt;&gt;&gt;<i> 2. Ratio of inputs to outputs in one transaction. More inputs is better.
</i>&gt;&gt;&gt;<i> 3. Sigops count. Less is better.
</i>&gt;&gt;&gt;<i> 4. Transaction size in bytes. Smaller is better.
</i>&gt;&gt;&gt;<i> 5. Fees paid to the miner.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> This change essentially means that if your transaction scores high in any
</i>&gt;&gt;&gt;<i> of
</i>&gt;&gt;&gt;<i> the first items, that means the fee you need to pay to get mined goes
</i>&gt;&gt;&gt;<i> down.
</i>&gt;&gt;&gt;<i> The reason we have been told fees were good is because they would protect
</i>&gt;&gt;&gt;<i> us
</i>&gt;&gt;&gt;<i> against spam attacks.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> And I see that need, if we drop fees then people could create many many
</i>&gt;&gt;&gt;<i> transactions with the effect that if I went and tried to pay my beer in
</i>&gt;&gt;&gt;<i> the
</i>&gt;&gt;&gt;<i> pub, it would not go through. We can't ignore that threat.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> I would argue that this problem can be solved much better with "Coin Age".
</i>&gt;&gt;&gt;<i> Money I received a month ago would have a higher priority to be mined.
</i>&gt;&gt;&gt;<i> This
</i>&gt;&gt;&gt;<i> makes sense because it rate-limits the "spammer" to one transaction a
</i>&gt;&gt;&gt;<i> month
</i>&gt;&gt;&gt;<i> if his goal is to stop me from being able to spend my money. So the
</i>&gt;&gt;&gt;<i> longer a
</i>&gt;&gt;&gt;<i> coin is untouched, the higher priority it gets.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> If a spammer spends tons of 10 minute old coins, it would have no effect
</i>&gt;&gt;&gt;<i> on
</i>&gt;&gt;&gt;<i> real uses transactions that in general are quite a bit older.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Point 2 is a bit more complex.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> A transaction that has outputs consumes space in the UTXO (unspent
</i>&gt;&gt;&gt;<i> transaction output) database. Its inputs remove rows in that database. So
</i>&gt;&gt;&gt;<i> stating we prefer a ratio where the database gets smaller is a good idea.
</i>&gt;&gt;&gt;<i> Especially if that means people can pay a lower fee to get their
</i>&gt;&gt;&gt;<i> transaction
</i>&gt;&gt;&gt;<i> mined.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> But that is not the full story.
</i>&gt;&gt;&gt;<i> Imagine how a mining pool, or even Yours is handling transactions. There
</i>&gt;&gt;&gt;<i> are
</i>&gt;&gt;&gt;<i> a lot of people paying very small amounts to a single person. Each payment
</i>&gt;&gt;&gt;<i> to you is added to your balance, but on the blockchain you have hundreds
</i>&gt;&gt;&gt;<i> of
</i>&gt;&gt;&gt;<i> inputs to sign in order to move that money afterwards. At some point
</i>&gt;&gt;&gt;<i> creation of a single output is useless because it would be too expensive
</i>&gt;&gt;&gt;<i> to
</i>&gt;&gt;&gt;<i> spend it later (due to fees).
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> With point 2 giving a higher priority the natural consequence is that
</i>&gt;&gt;&gt;<i> spending those hundreds of tiny transactions you received requires a much
</i>&gt;&gt;&gt;<i> lower fee. And this brings into question the setting of the 'dust limit'.
</i>&gt;&gt;&gt;<i> We can probably significantly lower the dust limit when its no longer a
</i>&gt;&gt;&gt;<i> problem to spend inputs that are not holding a lot of value each
</i>&gt;&gt;&gt;<i> individually.
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> How do you see this priority table? Is it better than the current one that
</i>&gt;&gt;&gt;<i> only looks at fees?
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> How would you feel about the implied effect to lower the dust limits?
</i>&gt;&gt;&gt;<i> --
</i>&gt;&gt;&gt;<i> Tom Zander
</i>&gt;&gt;&gt;<i> Blog: <a href="https://zander.github.io">https://zander.github.io</a>
</i>&gt;&gt;&gt;<i> Vlog: <a href="https://vimeo.com/channels/tomscryptochannel">https://vimeo.com/channels/tomscryptochannel</a>
</i>&gt;&gt;&gt;<i> _______________________________________________
</i>&gt;&gt;&gt;<i> bitcoin-ml mailing list
</i>&gt;&gt;&gt;<i> <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">bitcoin-ml at lists.linuxfoundation.org</a>
</i>&gt;&gt;&gt;<i> <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml</a>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> --
</i>&gt;&gt;<i> Jeff Garzik
</i>&gt;&gt;<i> CEO and Co Founder
</i>&gt;&gt;<i> Bloq, Inc.
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> _______________________________________________
</i>&gt;&gt;<i> bitcoin-ml mailing list
</i>&gt;&gt;<i> <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">bitcoin-ml at lists.linuxfoundation.org</a>
</i>&gt;&gt;<i> <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml</a>
</i>&gt;&gt;<i>
</i>&gt;-- 
&gt;Andrew Johnson<br></pre><div><br></div>