<oembed><type>rich</type><version>1.0</version><author_name>npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_name><author_url>https://nostr.ae/npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-09-28&#xA;📝 Original message:On Mon, Sep 28, 2015 at 12:48:57PM +0200, Mike Hearn wrote:&#xA;&gt; There is *no* consensus on using a soft fork to deploy this feature. It&#xA;&gt; will result in the same problems as all the other soft forks - SPV wallets&#xA;&gt; will become less reliable during the rollout period. I am against that, as&#xA;&gt; it&#39;s entirely avoidable.&#xA;&gt; &#xA;&gt; Make it a hard fork and my objection will be dropped.&#xA;&gt; &#xA;&gt; Until then, as there is no consensus, you need to do one of two things:&#xA;&gt; &#xA;&gt; 1) Drop the &#34;everyone must agree to make changes&#34; idea that people here&#xA;&gt; like to peddle, and do it loudly, so everyone in the community is correctly&#xA;&gt; informed&#xA;&gt; &#xA;&gt; 2) Do nothing&#xA;&#xA;Hmm? You didn&#39;t quote any of my email, so I&#39;ll remind you what I did say&#xA;we had consensus about:&#xA;&#xA;    2) We have consensus on the semantics of the CLTV opcode&#xA;&#xA;and&#xA;&#xA;    3) We have consensus that Bitcoin should adopt CLTV&#xA;&#xA;    The broad peer review and discussion that got #6124 merged is a clear&#xA;    sign that we expect CLTV to be eventually adopted.  __The question isn&#39;t&#xA;    if CLTV should be added to the Bitcoin protocol, but rather when.__&#xA;&#xA;(emphasis mine)&#xA;&#xA;Both those statements of consensus are *not* about how CLTV is to be&#xA;deployed. I did discuss deployment later:&#xA;&#xA;    6) We have the __necessary consensus__ to deploy CLTV via IsSuperMajority()&#xA;&#xA;    The various &#34;nVersion bits&#34; proposals - which I am a co-author of - have&#xA;    the primary advantage of being able to cleanly deal with the case where&#xA;    a soft-fork fails to get adopted. However, we do have broad consensus,&#xA;    including across all sides of the blocksize debate, that CLTV should be&#xA;    adopted. __The risk of CLTV failing to get miner adoption, and thus&#xA;    blocking other soft-forks, is very low.__&#xA;&#xA;I probably could have worded this section a bit more clearly; when I say&#xA;&#34;necessary consensus&#34; I&#39;m referring to the consensus required for a&#xA;soft-fork deployment. At minimum a simple majority of hashing power -&#xA;your approval isn&#39;t required.&#xA;&#xA;For a safe soft-fork, we&#39;d like a super majority of miners to be on&#xA;board. For a IsSuperMajority() soft-fork - as opposed to nVersion bits -&#xA;we also need the probability of the soft-fork being rejected to be very&#xA;low. To achieve that, having consensus that CLTV is a good idea is the&#xA;best situation to be in. But that&#39;s not to say that a few dissenting&#xA;voices should be seen as a blocker to progress - rather is just makes&#xA;the deployment a bit more risky, being a sign that the consensus may&#xA;change in the future, with the soft-fork being later rejected. For&#xA;example strong objections by a respected Bitcoin developer who has made&#xA;significant contributions to the consensus codebase and protocol&#xA;development would be a strong sign that a IsSuperMajority() soft-fork&#xA;might fail, and deployment via nVersion bits is probably a better&#xA;approach. Fortunately we&#39;re not in that situation.&#xA;&#xA;Hard-forks are a very different situation, with significantly more need&#xA;for very broad consensus, but that&#39;s been well discussed elsewhere.&#xA;&#xA;&#xA;I have three questions to you:&#xA;&#xA;1) Do you agree that CLTV should be added to the Bitcoin protocol?&#xA;&#xA;Ignoring the question how exactly it is added, hard-fork or soft-fork.&#xA;&#xA;&#xA;2) Will you add a IsSuperMajority() CLTV soft-fork to Bitcoin XT if it&#xA;   is added to Bitcoin Core?&#xA;&#xA;If you refuse to do this the risk of the soft-fork is increased a bit,&#xA;although miner support for XT has remained extremely low, and the 95%&#xA;switch-over threshold has a significant margin for error. (there&#39;s a 75%&#xA;threshold to consider as well, however as XT has adopted my pull-req&#xA;#5000 - Discourage NOPs reserved for soft-fork upgrades - those miners&#xA;will only produce valid blocks under CLTV rules)&#xA;&#xA;&#xA;3) Will you add soft-fork detection to bitcoinj, to allow SPV clients to&#xA;   detect advertised soft-forks and correctly handle them?&#xA;&#xA;Notably, if you do this your objections against soft-forks will be met,&#xA;as the behavior of a SPV client with soft-fork detection during a&#xA;soft-fork will be identical to that client during a hard-fork. In&#xA;particular, the SPV client will correct reject invalid blocks, and&#xA;continue to follow only the longest valid chain. (modulo unadvertised&#xA;forks of course, an inherently unavoidable problem with the SPV security&#xA;model) Secondly, that code should also detect forks it doesn&#39;t know&#xA;about - as is done in Bitcoin Core already - and warn the user.&#xA;&#xA;-- &#xA;&#39;peter&#39;[:-1]@petertodd.org&#xA;00000000000000000d74f5def1087f3ec1571cb468e471e71f96063253988c78&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 650 bytes&#xA;Desc: Digital signature&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150928/8afec924/attachment-0001.sig&gt;</html></oembed>