<oembed><type>rich</type><version>1.0</version><author_name>npub1r3san9v5njl6798hvauyu9ntm6r9c7u8s0t65wls58gpfdcvqp5sa48d0u</author_name><author_url>https://nostr.ae/npub1r3san9v5njl6798hvauyu9ntm6r9c7u8s0t65wls58gpfdcvqp5sa48d0u</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-05-08&#xA;📝 Original message:It is my professional opinion that raising the block size by merely&#xA;adjusting a constant without any sort of feedback mechanism would be a&#xA;dangerous and foolhardy thing to do. We are custodians of a multi-billion&#xA;dollar asset, and it falls upon us to weigh the consequences of our own&#xA;actions against the combined value of the entire bitcoin ecosystem. Ideally&#xA;we would take no action for which we are not absolutely certain of the&#xA;ramifications, with the information that can be made available to us. But&#xA;of course that is not always possible: there are unknown-unknowns, time&#xA;pressures, and known-unknowns where information has too high a marginal&#xA;cost. So where certainty is unobtainable, we must instead hedge against&#xA;unwanted outcomes.&#xA;&#xA;The proposal to raise the block size now by redefining a constant carries&#xA;with it risk associated with infrastructure scaling, centralization&#xA;pressures, and delaying the necessary development of a constraint-based fee&#xA;economy. It also simply kicks the can down the road in settling these&#xA;issues because a larger but realistic hard limit must still exist, meaning&#xA;a future hard fork may still be required.&#xA;&#xA;But whatever new hard limit is chosen, there is also a real possibility&#xA;that it may be too high. The standard response is that it is a soft-fork&#xA;change to impose a lower block size limit, which miners could do with a&#xA;minimal amount of coordination. This is however undermined by the&#xA;unfortunate reality that so many mining operations are absentee-run&#xA;businesses, or run by individuals without a strong background in bitcoin&#xA;protocol policy, or with interests which are not well aligned with other&#xA;users or holders of bitcoin. We cannot rely on miners being vigilant about&#xA;issues that develop, as they develop, or able to respond in the appropriate&#xA;fashion that someone with full domain knowledge and an objective&#xA;perspective would.&#xA;&#xA;The alternative then is to have some sort of dynamic block size limit&#xA;controller, and ideally one which applies a cost to raising the block size&#xA;in some way the preserves the decentralization and/or long-term stability&#xA;features that we care about. I will now describe one such proposal:&#xA;&#xA;  * For each block, the miner is allowed to select a different difficulty&#xA;(nBits) within a certain range, e.g. +/- 25% of the expected difficulty,&#xA;and this miner-selected difficulty is used for the proof of work check. In&#xA;addition to adjusting the hashcash target, selecting a different difficulty&#xA;also raises or lowers the maximum block size for that block by a function&#xA;of the difference in difficulty. So increasing the difficulty of the block&#xA;by an additional 25% raises the block limit for that block from 100% of the&#xA;current limit to 125%, and lowering the difficulty by 10% would also lower&#xA;the maximum block size for that block from 100% to 90% of the current&#xA;limit. For simplicity I will assume a linear identity transform as the&#xA;function, but a quadratic or other function with compounding marginal cost&#xA;may be preferred.&#xA;&#xA;  * The default maximum block size limit is then adjusted at regular&#xA;intervals. For simplicity I will assume an adjustment at the end of each&#xA;2016 block interval, at the same time that difficulty is adjusted, but&#xA;there is no reason these have to be aligned. The adjustment algorithm&#xA;itself is either the selection of the median, or perhaps some sort of&#xA;weighted average that respects the &#34;middle majority.&#34; There would of course&#xA;be limits on how quickly the block size limit can adjusted in any one&#xA;period, just as there are min/max limits on the difficulty adjustment.&#xA;&#xA;  * To prevent perverse mining incentives, the original difficulty without&#xA;adjustment is used in the aggregate work calculations for selecting the&#xA;most-work chain, and the allowable miner-selected adjustment to difficulty&#xA;would have to be tightly constrained.&#xA;&#xA;These rules create an incentive environment where raising the block size&#xA;has a real cost associated with it: a more difficult hashcash target for&#xA;the same subsidy reward. For rational miners that cost must be&#xA;counter-balanced by additional fees provided in the larger block. This&#xA;allows block size to increase, but only within the confines of a&#xA;self-supporting fee economy.&#xA;&#xA;When the subsidy goes away or is reduced to an insignificant fraction of&#xA;the block reward, this incentive structure goes away. Hopefully at that&#xA;time we would have sufficient information to soft-fork set a hard block&#xA;size maximum. But in the mean time, the block size limit controller&#xA;constrains the maximum allowed block size to be within a range supported by&#xA;fees on the network, providing an emergency relief valve that we can be&#xA;assured will only be used at significant cost.&#xA;&#xA;Mark Friedenbach&#xA;&#xA;* There has over time been various discussions on the bitcointalk forums&#xA;about dynamically adjusting block size limits. The true origin of the idea&#xA;is unclear at this time (citations would be appreciated!) but a form of it&#xA;was implemented in Bytecoin / Monero using subsidy burning to increase the&#xA;block size. That approach has various limitations. These were corrected in&#xA;Greg Maxwell&#39;s suggestion to adjust the difficulty/nBits field directly,&#xA;which also has the added benefit of providing incentive for bidirectional&#xA;movement during the subsidy period. The description in this email and any&#xA;errors are my own.&#xA;&#xA;On Fri, May 8, 2015 at 12:20 AM, Matt Whitlock &lt;bip at mattwhitlock.name&gt;&#xA;wrote:&#xA;&#xA;&gt; Between all the flames on this list, several ideas were raised that did&#xA;&gt; not get much attention. I hereby resubmit these ideas for consideration and&#xA;&gt; discussion.&#xA;&gt;&#xA;&gt; - Perhaps the hard block size limit should be a function of the actual&#xA;&gt; block sizes over some trailing sampling period. For example, take the&#xA;&gt; median block size among the most recent 2016 blocks and multiply it by 1.5.&#xA;&gt; This allows Bitcoin to scale up gradually and organically, rather than&#xA;&gt; having human beings guessing at what is an appropriate limit.&#xA;&gt;&#xA;&gt; - Perhaps the hard block size limit should be determined by a vote of the&#xA;&gt; miners. Each miner could embed a desired block size limit in the coinbase&#xA;&gt; transactions of the blocks it publishes. The effective hard block size&#xA;&gt; limit would be that size having the greatest number of votes within a&#xA;&gt; sliding window of most recent blocks.&#xA;&gt;&#xA;&gt; - Perhaps the hard block size limit should be a function of block-chain&#xA;&gt; length, so that it can scale up smoothly rather than jumping immediately to&#xA;&gt; 20 MB. This function could be linear (anticipating a breakdown of Moore&#39;s&#xA;&gt; Law) or quadratic.&#xA;&gt;&#xA;&gt; I would be in support of any of the above, but I do not support Mike&#xA;&gt; Hearn&#39;s proposed jump to 20 MB. Hearn&#39;s proposal kicks the can down the&#xA;&gt; road without actually solving the problem, and it does so in a&#xA;&gt; controversial (step function) way.&#xA;&gt;&#xA;&gt;&#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; One dashboard for servers and applications across Physical-Virtual-Cloud&#xA;&gt; Widest out-of-the-box monitoring support with 50+ applications&#xA;&gt; Performance metrics, stats and reports that give you Actionable Insights&#xA;&gt; Deep dive visibility with transaction tracing using APM Insight.&#xA;&gt; http://ad.doubleclick.net/ddm/clk/290420510;117567292;y&#xA;&gt; _______________________________________________&#xA;&gt; Bitcoin-development mailing list&#xA;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150508/ba1d33d5/attachment.html&gt;</html></oembed>