<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub14vwgt02663pkxx54kg5t693shaavmvnldhsp49sve7asw7p36lkqljyksm.rss" />
  <link href="https://nostr.ae/npub14vwgt02663pkxx54kg5t693shaavmvnldhsp49sve7asw7p36lkqljyksm" />
  <id>https://nostr.ae/npub14vwgt02663pkxx54kg5t693shaavmvnldhsp49sve7asw7p36lkqljyksm</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqs2el8ea25petz03ygryfdvzujw5wzke47a22tpj30ccnk7gnythhszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cvw49ac</id>
    
      <title type="html">📅 Original date posted:2016-02-04 📝 Original message:Gavin ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2el8ea25petz03ygryfdvzujw5wzke47a22tpj30ccnk7gnythhszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cvw49ac" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0salzdlmdl2832cexgakg0qyqu8sz8c8cc8yyzm7xtvy3ytdnyhs7vffuk&#39;&gt;nevent1q…ffuk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-02-04&lt;br/&gt;📝 Original message:Gavin Andresen 於 2016-02-04 12:36 寫到:&lt;br/&gt;&amp;gt; This BIP is unnecessary, in my opinion.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I&amp;#39;m going to take issue with items (2) and (3) that are the motivation&lt;br/&gt;&amp;gt; for this BIP:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;#34; 2. Full nodes and SPV nodes following original consensus rules may&lt;br/&gt;&amp;gt; not be aware of the deployment of a hardfork. They may stick to an&lt;br/&gt;&amp;gt; economic-minority fork and unknowingly accept devalued legacy tokens.&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If a hardfork is deployed by increasing the version number in blocks&lt;br/&gt;&amp;gt; (as is done for soft forks), then there is no risk-- Full and SPV&lt;br/&gt;&amp;gt; nodes should notice that they are seeing up-version blocks and warn&lt;br/&gt;&amp;gt; the user that they are using obsolete software.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It doesn&amp;#39;t matter if the software is obsolete because of hard or soft&lt;br/&gt;&amp;gt; fork, the difference in risks between those two cases will not be&lt;br/&gt;&amp;gt; understood by the typical full node or SPV node user.&lt;br/&gt;&lt;br/&gt;Thanks for your comments.&lt;br/&gt;&lt;br/&gt;In the case of a softfork, as long as an user waits for a few &lt;br/&gt;confirmations, the risk of money loss is very low. In the worst case &lt;br/&gt;they run a full node with SPV security. In the case of a hardfork, the &lt;br/&gt;consequence of failing to upgrade to the economic majority fork *is* &lt;br/&gt;fatal, even if an user waits for 1000 confirmations. Not to mention the &lt;br/&gt;risk of having 2 economically active forks. That&amp;#39;s why wallets should &lt;br/&gt;STOP accepting and sending tx after a hardfork bit is detected and wait &lt;br/&gt;for users&amp;#39; instructions.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;#34; 3. In the case which the original consensus rules are also valid&lt;br/&gt;&amp;gt; under the new consensus rules, users following the new chain may&lt;br/&gt;&amp;gt; unexpectedly reorg back to the original chain if it grows faster than&lt;br/&gt;&amp;gt; the new one. People may find their confirmed transactions becoming&lt;br/&gt;&amp;gt; unconfirmed and lose money.&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If a hard or soft fork uses a &amp;#39;grace period&amp;#39; (as described in BIP 9 or&lt;br/&gt;&amp;gt; BIP 101) then there is essentially no risk that a reorg will happen&lt;br/&gt;&amp;gt; past the triggering block. A block-chain re-org of two thousand or&lt;br/&gt;&amp;gt; more blocks on the main Bitcoin chain is unthinkable-- the economic&lt;br/&gt;&amp;gt; chaos would be massive, and the reaction to such a drastic (and&lt;br/&gt;&amp;gt; extremely unlikely) event would certainly be a hastily imposed&lt;br/&gt;&amp;gt; checkpoint to get everybody back onto the chain that everybody was&lt;br/&gt;&amp;gt; using for economic transactions.&lt;br/&gt;&lt;br/&gt;No, the &amp;#34;triggering block&amp;#34; you mentioned is NOT where the hardfork &lt;br/&gt;starts. Using BIP101 as an example, the hardfork starts when the first &lt;br/&gt; &amp;gt;1MB is mined. For people who failed to upgrade, the &amp;#34;grace period&amp;#34; is always zero, which is the moment they realize a hardfork.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Since I don&amp;#39;t agree with the motivations for this BIP, I don&amp;#39;t think&lt;br/&gt;&amp;gt; the proposed mechanism (a negative-version-number-block) is necessary.&lt;br/&gt;&amp;gt; And since it would simply add more consensus-level code, I believe the&lt;br/&gt;&amp;gt; keep-it-simple principle applies.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Gavin Andresen
    </content>
    <updated>2023-06-07T17:48:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv3722hk39pa8zrt7u25te80t3u9c9e0ulvf5x00242enjfnnd55czyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cg9cx56</id>
    
      <title type="html">📅 Original date posted:2016-02-04 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv3722hk39pa8zrt7u25te80t3u9c9e0ulvf5x00242enjfnnd55czyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cg9cx56" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszyk7k2xtwpwf2g857zn38fcx2q9hatlglkllsdrmazmv8xzv2hlskcm4cu&#39;&gt;nevent1q…m4cu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-02-04&lt;br/&gt;📝 Original message:&lt;a href=&#34;https://github.com/bitcoin/bips/pull/317&#34;&gt;https://github.com/bitcoin/bips/pull/317&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;ABSTRACT&lt;br/&gt;&lt;br/&gt;This document specifies a proposed change to the semantics of the sign&lt;br/&gt;bit of the &amp;#34;version&amp;#34; field in Bitcoin block headers, as a mechanism to&lt;br/&gt;indicate a hardfork is deployed. It alleviates certain risks related to&lt;br/&gt;a hardfork by introducing an explicit &amp;#34;point of no return&amp;#34; in the&lt;br/&gt;blockchain. This is a general mechanism which should be employed by any&lt;br/&gt;planned hardfork in the future. &lt;br/&gt;&lt;br/&gt; [1]MOTIVATION&lt;br/&gt;&lt;br/&gt;Hardforks in Bitcoin are usually considered as difficult and risky,&lt;br/&gt;because: &lt;br/&gt;&lt;br/&gt; 	* Hardforks require not only support of miners, but also, most&lt;br/&gt;importantly, supermajority support of the Bitcoin economy. As a result,&lt;br/&gt;softfork deployment mechanisms described in BIP 34 [2] or BIP 9 [3] are&lt;br/&gt;not enough for introducing hardforks safely.&lt;br/&gt; 	* Full nodes and SPV nodes following original consensus rules may not&lt;br/&gt;be aware of the deployment of a hardfork. They may stick to an&lt;br/&gt;economic-minority fork and unknowingly accept devalued legacy tokens.&lt;br/&gt; 	* In the case which the original consensus rules are also valid under&lt;br/&gt;the new consensus rules, users following the new chain may unexpectedly&lt;br/&gt;reorg back to the original chain if it grows faster than the new one.&lt;br/&gt;People may find their confirmed transactions becoming unconfirmed and&lt;br/&gt;lose money.&lt;br/&gt;&lt;br/&gt;The first issue involves soliciting support for a hardfork proposal,&lt;br/&gt;which is more a political topic than a technical one. This proposal aims&lt;br/&gt;at alleviating the risks related to the second and third issues. It&lt;br/&gt;should be employed by any planned hardfork in the future.&lt;br/&gt;&lt;br/&gt; [4]DEFINITIONS&lt;br/&gt;&lt;br/&gt;See BIP99 [5] &lt;br/&gt;&lt;br/&gt; [6]SPECIFICATION&lt;br/&gt;&lt;br/&gt;HARDFORK BIT The sign bit in nVersion is defined as the hardfork bit.&lt;br/&gt;Currently, blocks with this header bit setting to 1 are invalid, since&lt;br/&gt;BIP65 [7] interprets nVersion as a signed number and requires it to be ≥&lt;br/&gt;4. Among the 640 bits in the block header, this is the only one which is&lt;br/&gt;fixed and serves no purpose, and therefore the best way to indicate the&lt;br/&gt;deployment of a hardfork. &lt;br/&gt;&lt;br/&gt;FLAG BLOCK Any planned hardfork must have one and only one flag block&lt;br/&gt;which is the &amp;#34;point of no return&amp;#34;. To ensure monotonicity, flag block&lt;br/&gt;should be determined by block height, or as the first block with&lt;br/&gt;GetMedianTimePast() greater than a threshold. Other mechanisms could be&lt;br/&gt;difficult for SPV nodes to follow. The height/time threshold could be a&lt;br/&gt;predetermined value or relative to other events (e.g. 10000 blocks / 100&lt;br/&gt;days after 95% of miner support). The exact mechanism is out of the&lt;br/&gt;scope of this BIP. No matter what mechanism is used, the threshold is&lt;br/&gt;consensus critical. It must be publicly verifiable with only blockchain&lt;br/&gt;data, and preferably SPV-friendly (i.e. verifiable with block headers&lt;br/&gt;only, without downloading any transaction). &lt;br/&gt;&lt;br/&gt;Flag block is constructed in a way that nodes with the original&lt;br/&gt;consensus rules must reject. On the other hand, nodes with the new&lt;br/&gt;consensus rules must reject a block if it is not a flag block while it&lt;br/&gt;is supposed to be. To achieve these goals, the flag block must &lt;br/&gt;&lt;br/&gt; 	* have the hardfork bit setting to 1, and&lt;br/&gt; 	* follow any other rules required by the hardfork&lt;br/&gt;&lt;br/&gt;If these conditions are not fully satisfied, upgraded nodes shall reject&lt;br/&gt;the block.&lt;br/&gt;&lt;br/&gt;The hardfork bit must be turned off in the successors of the flag block,&lt;br/&gt;until the deployment of the next hardfork. &lt;br/&gt;&lt;br/&gt;Although a hardfork is officially deployed when flag block is generated,&lt;br/&gt;the exact behavioural change is out of the scope of this BIP. For&lt;br/&gt;example, a hardfork may not be fully active until certain time after the&lt;br/&gt;flag block. &lt;br/&gt;&lt;br/&gt;CONCURRENT HARDFORK PROPOSALS To avoid confusion and unexpected&lt;br/&gt;behaviour, a flag block should normally signify the deployment of only&lt;br/&gt;one hardfork. Therefore, a hardfork proposal has to make sure that its&lt;br/&gt;flag block threshold is not clashing with other ongoing hardfork&lt;br/&gt;proposals. &lt;br/&gt;&lt;br/&gt;In the case that the version bits mechanism is used in deploying a&lt;br/&gt;hardfork, height of the flag block should take a value of32N &#43; B, where&lt;br/&gt;N is a positive integer and B is the position of bit B defined in BIP9&lt;br/&gt;[8]. This guarantees that no clash may happen with another hardfork&lt;br/&gt;proposal using BIP9. &lt;br/&gt;&lt;br/&gt;UNCONTROVERSIAL SUBTLE HARDFORKS Hardforks may sometimes be totally&lt;br/&gt;uncontroversial and make barely noticeable change (BIP50 [9], for&lt;br/&gt;example). In such cases, the use of hardfork bit may not be needed as it&lt;br/&gt;may cause unnecessary disruption. The risk and benefit should be&lt;br/&gt;evaluated case-by-case. &lt;br/&gt;&lt;br/&gt;AUTOMATIC WARNING SYSTEM When a flag block for an unknown hardfork is&lt;br/&gt;found on the network, full nodes and SPV nodes should alert their users&lt;br/&gt;and/or stop accepting/sending transactions. It should be noted that the&lt;br/&gt;warning system could become a denial-of-service vector if the attacker&lt;br/&gt;is willing to give up the block reward. Therefore, the warning may be&lt;br/&gt;issued only if a few blocks are built on top of the flag block in a&lt;br/&gt;reasonable time frame. This will in turn increase the risk in case of a&lt;br/&gt;real planned hardfork so it is up to the wallet programmers to decide&lt;br/&gt;the optimal strategy. Human warning system (e.g. the emergency alert&lt;br/&gt;system in Bitcoin Core) could fill the gap. &lt;br/&gt;&lt;br/&gt; [10]COMPATIBILITY&lt;br/&gt;&lt;br/&gt;As a mechanism to indicate hardfork deployment, this BIP breaks backward&lt;br/&gt;compatibility intentionally. However, without further changes in the&lt;br/&gt;block header format, full nodes and SPV nodes could still verify the&lt;br/&gt;Proof-of-Work of a flag block and its successors. &lt;br/&gt;&lt;br/&gt;HARDFORK INVOLVING CHANGE IN BLOCK HEADER FORMAT If a hardfork involves&lt;br/&gt;a new block header format, the original format should still be used for&lt;br/&gt;the flag block and a reasonable period afterwards, to make sure existing&lt;br/&gt;nodes realize that an unknown hardfork has been deployed. &lt;br/&gt;&lt;br/&gt;VERSION BITS This proposal is also compatible with the BIP9. The version&lt;br/&gt;bits mechanism could be employed to measure miner support towards a&lt;br/&gt;hardfork proposal, and to determine the height or time threshold of the&lt;br/&gt;flag block. Also, miners of the flag block may still cast votes for&lt;br/&gt;other concurrent softfork or hardfork proposals as normal. &lt;br/&gt;&lt;br/&gt;POINT OF NO RETURN After the flag block is generated, a miner may&lt;br/&gt;support either the original rules or the new rules, but not both. It is&lt;br/&gt;not possible for miners in one fork to attack or overtake the other fork&lt;br/&gt;without giving up the mining reward of their preferred fork. &lt;br/&gt;&lt;br/&gt; [11]COPYRIGHT&lt;br/&gt;&lt;br/&gt;This document is placed in the public domain. &lt;br/&gt;&lt;br/&gt;Links:&lt;br/&gt;------&lt;br/&gt;[1]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#motivation&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#motivation&lt;/a&gt;&lt;br/&gt;[2] &lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0034.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0034.mediawiki&lt;/a&gt;&lt;br/&gt;[3] &lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0009.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0009.mediawiki&lt;/a&gt;&lt;br/&gt;[4]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#definitions&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#definitions&lt;/a&gt;&lt;br/&gt;[5] &lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0099.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0099.mediawiki&lt;/a&gt;&lt;br/&gt;[6]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#specification&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#specification&lt;/a&gt;&lt;br/&gt;[7] &lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0065.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0065.mediawiki&lt;/a&gt;&lt;br/&gt;[8]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0009.mediawiki#Mechanism&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0009.mediawiki#Mechanism&lt;/a&gt;&lt;br/&gt;[9] &lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/bip-0050.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/bip-0050.mediawiki&lt;/a&gt;&lt;br/&gt;[10]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#compatibility&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#compatibility&lt;/a&gt;&lt;br/&gt;[11]&lt;br/&gt;&lt;a href=&#34;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#copyright&#34;&gt;https://github.com/jl2012/bips/blob/hardforkbit/hardforkbit.mediawiki#copyright&lt;/a&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160204/d4208f4f/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160204/d4208f4f/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:48:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdk9v8kgyfgrkmqtgx7e839slnpqd3m3khqqq4erwq0d5qewv2lcszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7csqna26</id>
    
      <title type="html">📅 Original date posted:2015-12-20 📝 Original message:Chris ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdk9v8kgyfgrkmqtgx7e839slnpqd3m3khqqq4erwq0d5qewv2lcszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7csqna26" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxanlhwtez42hca6j9ddqnf2ga7nql48q2ekujzf37e2u348qqu4q6yhnlz&#39;&gt;nevent1q…hnlz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-12-20&lt;br/&gt;📝 Original message:Chris Priest via bitcoin-dev 於 2015-12-19 22:34 寫到:&lt;br/&gt;&amp;gt; Block witholding attacks are only possible if you have a majority of&lt;br/&gt;&amp;gt; hashpower. If you only have 20% hashpower, you can&amp;#39;t do this attack.&lt;br/&gt;&amp;gt; Currently, this attack is only a theoretical attack, as the ones with&lt;br/&gt;&amp;gt; all the hashpower today are not engaging in this behavior. Even if&lt;br/&gt;&amp;gt; someone who had a lot of hashpower decided to pull off this attack,&lt;br/&gt;&amp;gt; they wouldn&amp;#39;t be able to disrupt much. Once that time comes, then I&lt;br/&gt;&amp;gt; think this problem should be solved, until then it should be a low&lt;br/&gt;&amp;gt; priority. There are more important things to work on in the meantime.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;This is not true. For a pool with 5% total hash rate, an attacker only&lt;br/&gt;needs 0.5% of hash rate to sabotage 10% of their income. It&amp;#39;s already&lt;br/&gt;enough to kill the pool
    </content>
    <updated>2023-06-07T17:47:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstk8pke6jcna7ex2f85q9dpsj5gt3ywtvzpl26tse7gc0598hguzszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c3y6ehf</id>
    
      <title type="html">📅 Original date posted:2015-12-20 📝 Original message:Chris ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstk8pke6jcna7ex2f85q9dpsj5gt3ywtvzpl26tse7gc0598hguzszyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c3y6ehf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsquhz4nvesas754p5ky4glecnragnjwsuzr6l2y4p00nntakt8vcgdfklxy&#39;&gt;nevent1q…klxy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-12-20&lt;br/&gt;📝 Original message:Chris Priest 於 2015-12-19 22:47 寫到:&lt;br/&gt;&amp;gt; On 12/19/15, jl2012 &amp;lt;jl2012 at xbt.hk&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; Chris Priest via bitcoin-dev 於 2015-12-19 22:34 寫到:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Block witholding attacks are only possible if you have a majority of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; hashpower. If you only have 20% hashpower, you can&amp;#39;t do this attack.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Currently, this attack is only a theoretical attack, as the ones with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; all the hashpower today are not engaging in this behavior. Even if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; someone who had a lot of hashpower decided to pull off this attack,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; they wouldn&amp;#39;t be able to disrupt much. Once that time comes, then I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; think this problem should be solved, until then it should be a low&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; priority. There are more important things to work on in the meantime.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; This is not true. For a pool with 5% total hash rate, an attacker only&lt;br/&gt;&amp;gt;&amp;gt; needs 0.5% of hash rate to sabotage 10% of their income. It&amp;#39;s already&lt;br/&gt;&amp;gt;&amp;gt; enough to kill the pool&lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This begs the question: If this is such a devastating attack, then why&lt;br/&gt;&amp;gt; hasn&amp;#39;t this attack brought down every pool in existence? As far as I&amp;#39;m&lt;br/&gt;&amp;gt; aware, there are many pools in operation despite this possibility.&lt;br/&gt;&lt;br/&gt;It did happen: &lt;br/&gt;&lt;a href=&#34;https://www.reddit.com/r/Bitcoin/comments/28242v/eligius_falls_victim_to_blocksolution_withholding/&#34;&gt;https://www.reddit.com/r/Bitcoin/comments/28242v/eligius_falls_victim_to_blocksolution_withholding/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The worst thing is that the proof for such attack is probabilistic, not&lt;br/&gt;deterministic.&lt;br/&gt;&lt;br/&gt;A smarter attacker may even pretend to be many small miners, make it&lt;br/&gt;even more difficult or impossible to prove who are attacking.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Then shouldn&amp;#39;t this be something the pool deals with, not the bitcoin &lt;br/&gt;&amp;gt; protocol?&lt;br/&gt;&lt;br/&gt;The only solution is to ask for KYC registration, unless one could &lt;br/&gt;propose&lt;br/&gt;a cryptographic solution that does not require a consensus fork.
    </content>
    <updated>2023-06-07T17:47:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvmnkjmzkdgd4lct7ds79h2s72hzfwu2j4ctkzk492t4aguse8wxczyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c09v4lh</id>
    
      <title type="html">📅 Original date posted:2015-12-19 📝 Original message:After ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvmnkjmzkdgd4lct7ds79h2s72hzfwu2j4ctkzk492t4aguse8wxczyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c09v4lh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrnhv9yjxru92frl35c07wyu5tl6caxxuaekgv4qg94c0kmvzyzvssguncz&#39;&gt;nevent1q…uncz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-12-19&lt;br/&gt;📝 Original message:After the meeting I find a softfork solution. It is very inefficient and &lt;br/&gt;I am leaving it here just for record.&lt;br/&gt;&lt;br/&gt;1. In the first output of the second transaction of a block, mining pool &lt;br/&gt;will commit a random nonce with an OP_RETURN.&lt;br/&gt;&lt;br/&gt;2. Mine as normal. When a block is found, the hash is concatenated with &lt;br/&gt;the committed random nonce and hashed.&lt;br/&gt;&lt;br/&gt;3. The resulting hash must be smaller than 2 ^ (256 - 1/64) or the block &lt;br/&gt;is invalid. That means about 1% of blocks are discarded.&lt;br/&gt;&lt;br/&gt;4. For each difficulty retarget, the secondary target is decreased by 2 &lt;br/&gt;^ 1/64.&lt;br/&gt;&lt;br/&gt;5. After 546096 blocks or 10 years, the secondary target becomes 2 ^ &lt;br/&gt;252. Therefore only 1 in 16 hash returned by hasher is really valid. &lt;br/&gt;This should make the detection of block withholding attack much easier.&lt;br/&gt;&lt;br/&gt;All miners have to sacrifice 1% reward for 10 years. Confirmation will &lt;br/&gt;also be 1% slower than it should be.&lt;br/&gt;&lt;br/&gt;If a node (full or SPV) is not updated, it becomes more vulnerable as an &lt;br/&gt;attacker could mine a chain much faster without following the new rules. &lt;br/&gt;But this is still a softfork, by definition.&lt;br/&gt;&lt;br/&gt;---------------&lt;br/&gt;&lt;br/&gt;ok, back to topic. Do you mean this? &lt;br/&gt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2012-June/001506.html&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2012-June/001506.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Peter Todd via bitcoin-dev 於 2015-12-19 13:42 寫到:&lt;br/&gt;&amp;gt; At the recent Scaling Bitcoin conference in Hong Kong we had a chatham&lt;br/&gt;&amp;gt; house rules workshop session attending by representitives of a super&lt;br/&gt;&amp;gt; majority of the Bitcoin hashing power.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; One of the issues raised by the pools present was block withholding&lt;br/&gt;&amp;gt; attacks, which they said are a real issue for them. In particular, &lt;br/&gt;&amp;gt; pools&lt;br/&gt;&amp;gt; are receiving legitimate threats by bad actors threatening to use block&lt;br/&gt;&amp;gt; withholding attacks against them. Pools offering their services to the&lt;br/&gt;&amp;gt; general public without anti-privacy Know-Your-Customer have little&lt;br/&gt;&amp;gt; defense against such attacks, which in turn is a threat to the&lt;br/&gt;&amp;gt; decentralization of hashing power: without pools only fairly large&lt;br/&gt;&amp;gt; hashing power installations are profitable as variance is a very real&lt;br/&gt;&amp;gt; business expense. P2Pool is often brought up as a replacement for &lt;br/&gt;&amp;gt; pools,&lt;br/&gt;&amp;gt; but it itself is still relatively vulnerable to block withholding, and&lt;br/&gt;&amp;gt; in any case has many other vulnerabilities and technical issues that &lt;br/&gt;&amp;gt; has&lt;br/&gt;&amp;gt; prevented widespread adoption of P2Pool.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Fixing block withholding is relatively simple, but (so far) requires a&lt;br/&gt;&amp;gt; SPV-visible hardfork. (Luke-Jr&amp;#39;s two-stage target mechanism) We should&lt;br/&gt;&amp;gt; do this hard-fork in conjunction with any blocksize increase, which &lt;br/&gt;&amp;gt; will&lt;br/&gt;&amp;gt; have the desirable side effect of clearly show consent by the entire&lt;br/&gt;&amp;gt; ecosystem, SPV clients included.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Note that Ittay Eyal and Emin Gun Sirer have argued(1) that block&lt;br/&gt;&amp;gt; witholding attacks are a good thing, as in their model they can be used&lt;br/&gt;&amp;gt; by small pools against larger pools, disincentivising large pools.&lt;br/&gt;&amp;gt; However this argument is academic and not applicable to the real world,&lt;br/&gt;&amp;gt; as a much simpler defense against block withholding attacks is to use&lt;br/&gt;&amp;gt; anti-privacy KYC and the legal system combined with the variety of&lt;br/&gt;&amp;gt; withholding detection mechanisms only practical for large pools.&lt;br/&gt;&amp;gt; Equally, large hashing power installations - a dangerous thing for&lt;br/&gt;&amp;gt; decentralization - have no block withholding attack vulnerabilities.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 1) &lt;a href=&#34;http://hackingdistributed.com/2014/12/03/the-miners-dilemma/&#34;&gt;http://hackingdistributed.com/2014/12/03/the-miners-dilemma/&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-07T17:46:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq724ddrqhru75f2r3pztr7r5l689vjhph43eyts2pze8te95fxaczyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cew3zs9</id>
    
      <title type="html">📅 Original date posted:2015-12-20 📝 Original message:Rusty ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq724ddrqhru75f2r3pztr7r5l689vjhph43eyts2pze8te95fxaczyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7cew3zs9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2tvn7l2nzp224gnqynmj0aeuerm896dnv48h8hcunrr087xerfeg2sxthm&#39;&gt;nevent1q…xthm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-12-20&lt;br/&gt;📝 Original message:Rusty Russell via bitcoin-dev 於 2015-12-19 23:14 寫到:&lt;br/&gt;&amp;gt; Jonathan Toomim via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt; On Dec 18, 2015, at 10:30 AM, Pieter Wuille via bitcoin-dev &lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1) The risk of an old full node wallet accepting a transaction that &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; invalid to the new rules.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The receiver wallet chooses what address/script to accept coins on.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; They&amp;#39;ll upgrade to the new softfork rules before creating an address&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that depends on the softfork&amp;#39;s features.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; So, not a problem.&lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; Mallory wants to defraud Bob with a 1 BTC payment for some beer. Bob&lt;br/&gt;&amp;gt;&amp;gt; runs the old rules. Bob creates a p2pkh address for Mallory to&lt;br/&gt;&amp;gt;&amp;gt; use. Mallory takes 1 BTC, and creates an invalid SegWit transaction&lt;br/&gt;&amp;gt;&amp;gt; that Bob cannot properly validate and that pays into one of Mallory&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt; wallets. Mallory then immediately spends the unconfirmed transaction&lt;br/&gt;&amp;gt;&amp;gt; into Bob&amp;#39;s address. Bob sees what appears to be a valid transaction&lt;br/&gt;&amp;gt;&amp;gt; chain which is not actually valid.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Pretty sure Bob&amp;#39;s wallet will be looking for &amp;#34;OP_DUP OP_HASH160&lt;br/&gt;&amp;gt; &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&amp;#34; scriptSig.  The SegWit-usable&lt;br/&gt;&amp;gt; outputs will (have to) look different, won&amp;#39;t they?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Rusty.&lt;br/&gt;&lt;br/&gt;I think he means Mallory is paying with an invalid Segwit input, not &lt;br/&gt;output (there is no &amp;#34;invalid output&amp;#34; anyway). However, this is not a &lt;br/&gt;issue if Bob waits for a few confirmations.
    </content>
    <updated>2023-06-07T17:46:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8duqs8kwd90vyveq0f2me0z83dsyyztqqar6wzjxfurl3y7nhy0qzyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c2eut5f</id>
    
      <title type="html">📅 Original date posted:2015-12-17 📝 Original message:There ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8duqs8kwd90vyveq0f2me0z83dsyyztqqar6wzjxfurl3y7nhy0qzyz43epdatt2yxcc6jkez30gkxzlh4ndj0ak7qx5kpn8mkpmcx8t7c2eut5f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfthwk6uunc79gxprxfq7drdp8n96h5scym76hxge6e72m7t5wkkcswmjw2&#39;&gt;nevent1q…mjw2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-12-17&lt;br/&gt;📝 Original message:There are at least 2 proposals on the table:&lt;br/&gt;&lt;br/&gt;1. SWSF (segwit soft fork) with 1MB virtual block limit, approximately &lt;br/&gt;equals to 2MB actual limit&lt;br/&gt;&lt;br/&gt;2. BIP102: 2MB actual limit&lt;br/&gt;&lt;br/&gt;Since the actual limits for both proposals are approximately the same, &lt;br/&gt;it is not a determining factor in this discussion&lt;br/&gt;&lt;br/&gt;The biggest advantage of SWSF is its softfork nature. However, its &lt;br/&gt;complexity is not comparable with any previous softforks we had. It is &lt;br/&gt;reasonable to doubt if it could be ready in 6 months&lt;br/&gt;&lt;br/&gt;For BIP102, although it is a hardfork, it is a very simple one and could &lt;br/&gt;be deployed with ISM in less than a month. It is even simpler than &lt;br/&gt;BIP34, 66, and 65.&lt;br/&gt;&lt;br/&gt;So we have a very complicated softfork vs. a very simple hardfork. The &lt;br/&gt;only reason makes BIP102 not easy is the fact that it&amp;#39;s a hardfork.&lt;br/&gt;&lt;br/&gt;The major criticism for a hardfork is requiring everyone to upgrade. Is &lt;br/&gt;that really a big problem?&lt;br/&gt;&lt;br/&gt;First of all, hardfork is not a totally unknown territory. BIP50 was a &lt;br/&gt;hardfork. The accident happened on 13 March 2013. Bitcoind 0.8.1 was &lt;br/&gt;released on 18 March, which only gave 2 months of grace period for &lt;br/&gt;everyone to upgrade. The actual hardfork happened on 16 August. &lt;br/&gt;Everything completed in 5 months without any panic or chaos. This &lt;br/&gt;experience strongly suggests that 5 months is already safe for a simple &lt;br/&gt;hardfork. (in terms of simplicity, I believe BIP102 is even simpler than &lt;br/&gt;BIP50)&lt;br/&gt;&lt;br/&gt;Another experience is from BIP66. The 0.10.0 was released on 16 Feb &lt;br/&gt;2015, exactly 10 months ago. I analyze the data on &lt;br/&gt;&lt;a href=&#34;https://bitnodes.21.co&#34;&gt;https://bitnodes.21.co&lt;/a&gt; and found that 4600 out of 5090 nodes (90.4%) &lt;br/&gt;indicate BIP66 support. Considering this is a softfork, I consider this &lt;br/&gt;as very good adoption already.&lt;br/&gt;&lt;br/&gt;With the evidence from BIP50 and BIP66, I believe a 5 months &lt;br/&gt;pre-announcement is good enough for BIP102. As the vast majority of &lt;br/&gt;miners have declared their support for a 2MB solution, the legacy 1MB &lt;br/&gt;fork will certainly be abandoned and no one will get robbed.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My primary proposal:&lt;br/&gt;&lt;br/&gt;Now - 15 Jan 2016: formally consult the major miners and merchants if &lt;br/&gt;they support an one-off rise to 2MB. I consider approximately 80% of &lt;br/&gt;mining power and 80% of trading volume would be good enough&lt;br/&gt;&lt;br/&gt;16 - 31 Jan 2016: release 0.11.3 with BIP102 with ISM vote requiring 80% &lt;br/&gt;of hashing power&lt;br/&gt;&lt;br/&gt;1 Jun 2016: the first day a 2MB block may be allowed&lt;br/&gt;&lt;br/&gt;Before 31 Dec 2016: release SWSF&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My secondary proposal:&lt;br/&gt;&lt;br/&gt;Now: Work on SWSF in a turbo mode and have a deadline of 1 Jun 2016&lt;br/&gt;&lt;br/&gt;1 Jun 2016: release SWSF&lt;br/&gt;&lt;br/&gt;What if the deadline is not met? Maybe pushing an urgent BIP102 if &lt;br/&gt;things become really bad.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In any case, I hope a clear decision and road map could be made now. &lt;br/&gt;This topic has been discussed to death. We are just bringing further &lt;br/&gt;uncertainty if we keep discussing.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Matt Corallo via bitcoin-dev 於 2015-12-16 15:50 寫到:&lt;br/&gt;&amp;gt; A large part of your argument is that SW will take longer to deploy&lt;br/&gt;&amp;gt; than a hard fork, but I completely disagree. Though I do not agree&lt;br/&gt;&amp;gt; with some people claiming we can deploy SW significantly faster than a&lt;br/&gt;&amp;gt; hard fork, once the code is ready (probably a six month affair) we can&lt;br/&gt;&amp;gt; get it deployed very quickly. It&amp;#39;s true the ecosystem may take some&lt;br/&gt;&amp;gt; time to upgrade, but I see that as a feature, not a bug - we can build&lt;br/&gt;&amp;gt; up some fee pressure with an immediate release valve available for&lt;br/&gt;&amp;gt; people to use if they want to pay fewer fees.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;  On the other hand, a hard fork, while simpler for the ecosystem to&lt;br/&gt;&amp;gt; upgrade to, is a 1-2 year affair (after the code is shipped, so at&lt;br/&gt;&amp;gt; least 1.5-2.5 from today if we all put off heads down and work). One&lt;br/&gt;&amp;gt; thing that has concerned me greatly through this whole debate is how&lt;br/&gt;&amp;gt; quickly people seem to think we can roll out a hard fork. Go look at&lt;br/&gt;&amp;gt; the distribution of node versions on the network today and work&lt;br/&gt;&amp;gt; backwards to get nearly every node upgraded... Even with a year&lt;br/&gt;&amp;gt; between fork-version-release and fork-activation, we&amp;#39;d still kill a&lt;br/&gt;&amp;gt; bunch of nodes and instead of reducing their security model, lead them&lt;br/&gt;&amp;gt; to be outright robbed.&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:46:33Z</updated>
  </entry>

</feed>