<div dir="ltr"><div>Chain work currently means the expected number of sha256d evaluations needed to build a chain. Given that these hash functions are not equally hard, what should the new definition of chain work be?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 20, 2017 at 9:38 AM, Andrew Johnson via bitcoin-dev <span dir="ltr">&lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>By doing this you&#39;re significantly changing the economic incentives behind bitcoin mining. How can you reliably invest in hardware if you have no idea when or if your profitability is going to be cut by 50-75% based on a whim?</div><div><br></div><div>You may also inadvertently create an entirely new attack vector if 50-75% of the SHA256 hardware is taken offline and purchased by an entity who intends to do harm to the network. </div><div><br></div><div>Bitcoin only works if most miners are honest, this has been known since the beginning. </div><div><br></div><div><div class="gmail_quote"><div><div class="h5"><div>On Mon, Mar 20, 2017 at 9:50 AM John Hardy via bitcoin-dev &lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a>&gt; wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">




<div class="m_-9016794004783773829gmail_msg">
<div id="m_-9016794004783773829m_6451335042833672793divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif" class="m_-9016794004783773829gmail_msg">
<p class="m_-9016794004783773829gmail_msg"></p>
<div class="m_-9016794004783773829gmail_msg">I’m very worried about the state of miner centralisation in Bitcoin.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">I always felt the centralising effects of ASIC manufacturing would resolve themselves once the first mover advantage had been exhausted and the industry had the opportunity to mature.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">I had always assumed initial centralisation would be harmless since miners have no incentive to harm the network. This does not consider the risk of a single entity with sufficient power and either poor, malicious or coerced decision making. I now believe
 that such centralisation poses a huge risk to the security of Bitcoin and preemptive action needs to be taken to protect the network from malicious actions by any party able to exert influence over a substantial portion of SHA256 hardware.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">Inspired by UASF, I believe we should implement a Malicious miner Reactive Proof of Work Additions (MR POWA).</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">This would be a hard fork activated in response to a malicious attempt by a hashpower majority to introduce a contentious hard fork.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">The activation would occur once a fork was detected violating protocol (likely oversize blocks) with a majority of hashpower. The threshold and duration for activation would need to be carefully considered.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">I don’t think we should eliminate SHA256 as a hashing method and change POW entirely. That would be throwing the baby out with the bathwater and hurt the non-malicious miners who have invested in hardware, making it harder to gain their support.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">Instead I believe we should introduce multiple new proofs of work that are already established and proven within existing altcoin implementations. As an example we could add Scrypt, Ethash and Equihash. Much of the code and mining infrastructure already
 exists. Diversification of hardware (a mix of CPU and memory intensive methods) would also be positive for decentralisation. Initial difficulty could simply be an estimated portion of existing infrastructure.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">This example would mean 4 proofs of work with 40 minute block target difficulty for each. There could also be a rule that two different proofs of work must find a block before a method can start hashing again. This means there would only be 50% of hardware
 hashing at a time, and a sudden gain or drop in hashpower from a particular method does not dramatically impact the functioning of the network between difficulty adjustments. This also adds protection from attacks by the malicious SHA256 hashpower which could
 even be required to wait until all other methods have found a block before being allowed to hash again.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">50% hashing time would mean that the cost of electricity in relation to hardware would fall by 50%, reducing some of the centralising impact of subsidised or inexpensive electricity in some regions over others.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">Such a hard fork could also, counter-intuitively, introduce a block size increase since while we’re hard forking it makes sense to minimise the number of future hard forks where possible. It could also activate SegWit if it hasn’t already.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">The beauty of this method is that it creates a huge risk to any malicious actor trying to abuse their position. Ideally, MR POWA would just serve as a deterrent and never activate.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">If consensus were to form around a hard fork in the future nodes would be able to upgrade and MR POWA, while automatically activating on non-upgraded nodes, would be of no economic significance: a vestigial chain immediately abandoned with no miner incentive.</div>
<div class="m_-9016794004783773829gmail_msg"><br class="m_-9016794004783773829gmail_msg">
</div>
<div class="m_-9016794004783773829gmail_msg">I think this would be a great way to help prevent malicious use of hashpower to harm the network. This is the beauty of Bitcoin: for any road block that emerges the economic majority can always find a way around.</div>
<p class="m_-9016794004783773829gmail_msg"></p>
</div>
</div></div></div>

______________________________<wbr>_________________<br class="m_-9016794004783773829gmail_msg">
bitcoin-dev mailing list<br class="m_-9016794004783773829gmail_msg">
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" class="m_-9016794004783773829gmail_msg" target="_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br class="m_-9016794004783773829gmail_msg">
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" class="m_-9016794004783773829gmail_msg" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><span class="HOEnZb"><font color="#888888"><br class="m_-9016794004783773829gmail_msg">
</font></span></blockquote></div></div><span class="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature">Andrew Johnson<br><div><br></div></div>
</font></span><br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
<br></blockquote></div><br></div>