<oembed><type>rich</type><version>1.0</version><author_name>npub1lhe3qfx2q5m7mq5d39waepf9lzhsy0cdey66svn63fyk6rt6n7ps7zg7ed</author_name><author_url>https://nostr.ae/npub1lhe3qfx2q5m7mq5d39waepf9lzhsy0cdey66svn63fyk6rt6n7ps7zg7ed</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-09-03&#xA;📝 Original message:We should avoid discussing actual hard fork/softfork deployment&#xA;methodologies when discussing blocksize proposals because deployment&#xA;is a separate issue. As a recent case in point, look at how BIP65&#xA;(CHECKLOCKTIMEVERIFY) specifically avoided the issue of how to deploy.&#xA;That lead to a focused discussion of the functionality and relatively&#xA;quick inclusion.&#xA;&#xA;Deployment really is a separate issue than the mechanics of how BIP100&#xA;will function after activation.&#xA;&#xA;On Thu, Sep 3, 2015 at 8:57 AM, jl2012 via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; Some comments:&#xA;&gt;&#xA;&gt; The 75% rule is meaningless here. Since this is a pure relaxation of rules,&#xA;&gt; there is no such thing as &#34;invalid version 4 blocks&#34;&#xA;&gt;&#xA;&gt; The implication threshold is unclear. Is it 95% or 80%?&#xA;&gt;&#xA;&gt; Softfork requires a very high threshold (95%) to &#34;attack&#34; the original fork.&#xA;&gt; This makes sure that unupgraded client will only see the new fork.&#xA;&gt; In the case of hardfork, however, the new fork is unable to attack the&#xA;&gt; original fork, and unupgraded client will never see the new fork. The&#xA;&gt; initiation of a hardfork should be based on its acceptance by the economic&#xA;&gt; majority, not miner support. 95% is an overkill and may probably never&#xA;&gt; accomplished. I strongly prefer a 80% threshold rather than 95%.&#xA;&gt;&#xA;&gt; As I&#39;ve pointed out, using 20-percentile rather than median creates an&#xA;&gt; incentive to 51% attack the uncooperative minority.&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010690.html&#xA;&gt;&#xA;&gt; Having said that, I don&#39;t have a strong feeling about the use of&#xA;&gt; 20-percentile as threshold to increase the block size. That means the block&#xA;&gt; size is increased only when most miners agree, which sounds ok to me.&#xA;&gt;&#xA;&gt; However, using 20-percentile as threshold to DECREASE the block size could&#xA;&gt; be very dangerous. Consider that the block size has been stable at 8MB for a&#xA;&gt; few years. Everyone are happy with that. An attacker would just need to&#xA;&gt; acquire 21% of mining power to break the status quo and send us all the way&#xA;&gt; to 1MB. The only way to stop such attempt is to 51% attack the attacker.&#xA;&gt; That&#39;d be really ugly.&#xA;&gt;&#xA;&gt; For technical and ethical reasons, I believe the thresholds for increase and&#xA;&gt; decrease must be symmetrical: increase the block size when the x-percentile&#xA;&gt; is bigger than the current size, decrease the block size when the&#xA;&gt; (100-x)-percentile is smaller than the current size. The overall effect is:&#xA;&gt; the block size remains unchanged unless 80% of miners agree to.&#xA;&gt;&#xA;&gt; Please consider the use of &#34;hardfork bit&#34; to signify the hardfork:&#xA;&gt;&#xA;&gt; https://www.reddit.com/r/bitcoin_devlist/comments/3ekhg2/bip_draft_hardfork_bit_jl2012_at_xbthk_jul_23_2015/&#xA;&gt;&#xA;&gt; https://github.com/jl2012/bips/blob/master/hardforkbit.mediawiki&#xA;&gt;&#xA;&gt; Or, alternatively, please combine the hardfork with a softfork. I&#39;m&#xA;&gt; rewriting the specification as follow (changes underlined):&#xA;&gt;&#xA;&gt; Replace static 1M block size hard limit with a floating limit (&#34;hardLimit&#34;).&#xA;&gt;&#xA;&gt; hardLimit floats within the range 1-32M, inclusive.&#xA;&gt;&#xA;&gt; Initial value of hardLimit is 1M, preserving current system.&#xA;&gt;&#xA;&gt; Changing hardLimit is accomplished by encoding a proposed value within a&#xA;&gt; block&#39;s coinbase scriptSig.&#xA;&gt;&#xA;&gt; Votes refer to a byte value, encoded within the pattern &#34;/BV\d+/&#34; Example:&#xA;&gt; /BV8000000/ votes for 8,000,000 byte hardLimit. If there is more than one&#xA;&gt; match with with pattern, the first match is counted.&#xA;&gt; Absent/invalid votes and votes below minimum cap (1M) are counted as 1M&#xA;&gt; votes. Votes above the maximum cap (32M) are counted as 32M votes.&#xA;&gt; A new hardLimit is calculated at each difficult adjustment period (2016&#xA;&gt; blocks), and applies to the next 2016 blocks.&#xA;&gt; Calculate hardLimit by examining the coinbase scriptSig votes of the&#xA;&gt; previous 12,000 blocks, and taking the 20th percentile and 80th percentile.&#xA;&gt; New hardLimit is the median of the followings:&#xA;&gt;&#xA;&gt; min(current hardLimit * 1.2, 20-percentile)&#xA;&gt; max(current hardLimit / 1.2, 80-percentile)&#xA;&gt; current hardLimit&#xA;&gt;&#xA;&gt; version 4 block: the coinbase of a version 4 block must match this pattern:&#xA;&gt; &#34;/BV\d+/&#34;&#xA;&gt; 70% rule: If 8,400 of the last 12,000 blocks are version 4 or greater,&#xA;&gt; reject invalid version 4 blocks. (testnet4: 501 of last 1000)&#xA;&gt; 80% rule (&#34;Point of no return&#34;): If 9,600 of the last 12,000 blocks are&#xA;&gt; version 4 or greater, reject all version &lt;= 3 blocks. (testnet4: 750 of last&#xA;&gt; 1000)&#xA;&gt; Block version number is calculated after masking out high 16 bits (final bit&#xA;&gt; count TBD by versionBits outcome).&#xA;&gt;&#xA;&gt; Jeff Garzik via bitcoin-dev 於 2015-09-02 23:33 寫到:&#xA;&gt;&gt; BIP 100 initial public draft:&#xA;&gt;&gt; https://github.com/jgarzik/bip100/blob/master/bip-0100.mediawiki [1]&#xA;&gt;&gt;&#xA;&gt;&gt; Emphasis on &#34;initial&#34;  This is a starting point for the usual open&#xA;&gt;&gt; source feedback/iteration cycle, not an endpoint that Must Be This&#xA;&gt;&gt; Way.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Links:&#xA;&gt;&gt; ------&#xA;&gt;&gt; [1] https://github.com/jgarzik/bip100/blob/master/bip-0100.mediawiki&#xA;&gt;&gt;&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; bitcoin-dev mailing list&#xA;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;</html></oembed>