<oembed><type>rich</type><version>1.0</version><author_name>npub1r0g954grld59fuphzsypmuuhpdunq67f729afmp44h2mxvth2hts4vdpg3</author_name><author_url>https://nostr.ae/npub1r0g954grld59fuphzsypmuuhpdunq67f729afmp44h2mxvth2hts4vdpg3</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-11-02&#xA;📝 Original message:Just going to throw in my support for a POW change, not any particular implementation, but the idea.&#xA;&#xA;Bitcoin is technically owned by China now. That&#39;s not acceptable.&#xA;&#xA;- Greg&#xA;&#xA;--&#xA;Please do not email me anything that you are not comfortable also sharing with the NSA.&#xA;&#xA;&gt; On Oct 31, 2017, at 10:48 PM, Devrandom via bitcoin-dev &lt;bitcoin-dev at lists.linuxfoundation.org &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt; &#xA;&gt; Hi all,&#xA;&gt; &#xA;&gt; Feedback is welcome on the draft below.  In particular, I want to see if there is interest in further development of the idea and also interested in any attack vectors or undesirable dynamics.&#xA;&gt; &#xA;&gt; (Formatted version available here: https://github.com/devrandom/btc-papers/blob/master/aux-pow.md &lt;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&gt; )&#xA;&gt; &#xA;&gt; # Soft-fork Introduction of a New POW&#xA;&gt; &#xA;&gt; ## Motivation:&#xA;&gt; &#xA;&gt; - Mitigate mining centralization pressures by introducing a POW that does not have economies of scale&#xA;&gt; - Introduce an intermediary confirmation point, reducing the impact of mining power fluctuations&#xA;&gt; &#xA;&gt; Note however that choice of a suitable POW will require deep analysis.  Some pitfalls include: botnet mining, POWs that seem ASIC resistant but are not, unexpected/covert optimization.&#xA;&gt; &#xA;&gt; In particular, unexpected/covert optimizations, such as ASCIBOOST, present a potential centralizing and destabilizing force.&#xA;&gt; &#xA;&gt; ## Design&#xA;&gt; &#xA;&gt; ### Aux POW intermediate block&#xA;&gt; &#xA;&gt; Auxiliary POW blocks are introduced between normal blocks - i.e. the chain alternates between the two POWs.&#xA;&gt; Each aux-POW block points to the previous normal block and contains transactions just like a normal block.&#xA;&gt; Each normal block points to the previous aux-POW block and must contain all transactions from the aux-POW block.&#xA;&gt; Block space is not increased.&#xA;&gt; &#xA;&gt; The new intermediate block and the pointers are introduced via a soft-fork restriction.&#xA;&gt; &#xA;&gt; ### Reward for aux POW miners&#xA;&gt; &#xA;&gt; The reward for the aux POW smoothly increases from zero to a target value (e.g. 1/2 of the total reward) over time.&#xA;&gt; The reward is transferred via a soft-fork restriction requiring a coinbase output to an address published in the&#xA;&gt; aux-POW block.&#xA;&gt; &#xA;&gt; ### Aux POW difficulty adjustment&#xA;&gt; &#xA;&gt; Difficulty adjustments remain independent for the two POWs.&#xA;&gt; &#xA;&gt; The difficulty of the aux POW is adjusted based on the average time between normal block found&#xA;&gt; to aux block found.&#xA;&gt; &#xA;&gt; Further details are dependent on the specific POW.&#xA;&gt; &#xA;&gt; ### Heaviest chain rule change&#xA;&gt; &#xA;&gt; This is a semi-hard change, because non-upgraded nodes can get on the wrong chain in case of attack.  However,&#xA;&gt; it might be possible to construct an alert system that notifies non-upgraded nodes of an upcoming rule change.&#xA;&gt; All blocks are still valid, so this is not a hardforking change.&#xA;&gt; &#xA;&gt; The heaviest chain definition changes from sum of `difficulty` to sum of:&#xA;&gt; &#xA;&gt;     mainDifficulty ^ x * auxDifficulty ^ y&#xA;&gt; &#xA;&gt; where we start at:&#xA;&gt; &#xA;&gt;     x = 1; y = 0&#xA;&gt; &#xA;&gt; and end at values of x and y that are related to the target relative rewards.  For example, if the target rewards&#xA;&gt; are equally distributed, we will want ot end up at:&#xA;&gt; &#xA;&gt;     x = 1/2; y = 1/2&#xA;&gt; &#xA;&gt; so that both POWs have equal weight.  If the aux POW is to become dominant, x should end small relative to y.&#xA;&gt; &#xA;&gt; &#xA;&gt; ## Questions and Answers&#xA;&gt; &#xA;&gt; - What should be the parameters if we want the aux POW to have equal weight? A: 1/2 of the reward should be transferred&#xA;&gt; to aux miners and x = 1/2, y = 1/2.&#xA;&gt; &#xA;&gt; - What should be the parameters if we want to deprecate the main POW?  A: most of the reward should be transferred to&#xA;&gt; aux miners and x = 0, y = 1.  The main difficulty will tend to zero, and aux miners will just trivially generate the&#xA;&gt; main block immediately after finding an aux block, with identical content.&#xA;&gt; &#xA;&gt; - Wasted bandwidth to transfer transactions twice?  A: this can be optimized by skipping transactions already&#xA;&gt; transferred.&#xA;&gt; &#xA;&gt; - Why would miners agree to soft-fork away some of their reward?  A: they would agree if they believe that&#xA;&gt; the coins will increase in value due to improved security properties.&#xA;&gt; &#xA;&gt; ## Open Questions&#xA;&gt; &#xA;&gt; - After a block of one type is found, we can naively assume that POW will become idle while a block of the other type is being mined.  In practice, the spare capacity can be used to find alternative (&#34;attacking&#34;) blocks or mine other coins.  Is that a problem?&#xA;&gt; - Is selfish mining amplified by this scheme for miners that have both types of hardware?&#xA;&gt; &#xA;&gt; ## POW candidates&#xA;&gt; &#xA;&gt; - SHA256 (i.e. use same POW, but introduce an intermediate block for faster confirmation)&#xA;&gt; - Proof of Space and Time (Bram Cohen)&#xA;&gt; - Equihash&#xA;&gt; - Ethash&#xA;&gt; &#xA;&gt; ## Next Steps&#xA;&gt; &#xA;&gt; - evaluate POW candidates&#xA;&gt; - evaluate difficulty adjustment rules&#xA;&gt; - simulate miner behavior to identify if there are incentives for detrimental behavior patterns (e.g. block withholding / selfish mining)&#xA;&gt; - Protocol details&#xA;&gt; &#xA;&gt; ## Credits&#xA;&gt; &#xA;&gt; Bram Cohen came up with a similar idea back in March:&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-March/013744.html &lt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-March/013744.html&gt;_______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20171102/7d5311c6/attachment-0001.html&gt;&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 833 bytes&#xA;Desc: Message signed with OpenPGP&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20171102/7d5311c6/attachment-0001.sig&gt;</html></oembed>