<?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/npub1j0js72tmnxzmrtd6j0j5wcvfuhsqwgqxdwkpmw28rmmuy22y3wzsdw9k8n.rss" />
  <link href="https://nostr.ae/npub1j0js72tmnxzmrtd6j0j5wcvfuhsqwgqxdwkpmw28rmmuy22y3wzsdw9k8n" />
  <id>https://nostr.ae/npub1j0js72tmnxzmrtd6j0j5wcvfuhsqwgqxdwkpmw28rmmuy22y3wzsdw9k8n</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsxzlj8e3p08r54q7hnvr9f3vz3z7t4dra5ht2cuh8ezcmy3zuyn9gzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2umz4g0</id>
    
      <title type="html">📅 Original date posted:2022-05-09 📝 Original message: ( a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxzlj8e3p08r54q7hnvr9f3vz3z7t4dra5ht2cuh8ezcmy3zuyn9gzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2umz4g0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0mqcr06y93ln0skge99058ukhf59qvaslc3m88k2kk3wzm2d78hsfypujk&#39;&gt;nevent1q…pujk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-09&lt;br/&gt;📝 Original message:&lt;br/&gt;( a formatted version of this message is here:&lt;br/&gt;&lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/wikis/Blind%20Signing%20Considered%20Harmful&#34;&gt;https://gitlab.com/lightning-signer/docs/-/wikis/Blind%20Signing%20Considered%20Harmful&lt;/a&gt;&lt;br/&gt;)&lt;br/&gt;&lt;br/&gt;# Introduction&lt;br/&gt;&lt;br/&gt;This post discusses blind signers.  Blind signers do not put the user in&lt;br/&gt;control of their funds and are subject to a long list of exploits.&lt;br/&gt;&lt;br/&gt;This post also (re-)introduces the open-source [Validating Lightning&lt;br/&gt;Signer](&lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/blob/master/README.md&#34;&gt;https://gitlab.com/lightning-signer/docs/-/blob/master/README.md&lt;/a&gt;)&lt;br/&gt;Project.&lt;br/&gt;&lt;br/&gt;# Background&lt;br/&gt;&lt;br/&gt;A **Signer** is a component that performs cryptographic operations,&lt;br/&gt;separately from a wallet. A Bitcoin hardware wallet is an example of a&lt;br/&gt;Signer, where private keys are controlled on a hardened device. There is&lt;br/&gt;currently no complete solution for a hardware signer for the Lightning&lt;br/&gt;network.&lt;br/&gt;&lt;br/&gt;A **Blind Signer** is a signer that does not perform validation. There are&lt;br/&gt;several Lightning wallets and node implementations that as of today support&lt;br/&gt;only blind signing. I believe these configurations are insecure.&lt;br/&gt;&lt;br/&gt;A **Validating Signer** performs a comprehensive set of policy checks to&lt;br/&gt;ensure that the keys are not misused. For example, a validating Bitcoin&lt;br/&gt;hardware wallet checks the destination, amount and change outputs in&lt;br/&gt;collaboration with the user.&lt;br/&gt;&lt;br/&gt;A layer-2 validating signer is significantly more complex, because of the&lt;br/&gt;complexity of the Lightning protocol.&lt;br/&gt;&lt;br/&gt;**While a Blind Signer is a technical step on the road to the higher&lt;br/&gt;security of a Validating Signer, by itself it actually reduces security if&lt;br/&gt;deployed in production. This is because it presents two points of attack -&lt;br/&gt;at the node and at the signer.**&lt;br/&gt;&lt;br/&gt;# The VLS Project&lt;br/&gt;&lt;br/&gt;The [Validating Lightning Signer](&lt;br/&gt;&lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/blob/master/README.md&#34;&gt;https://gitlab.com/lightning-signer/docs/-/blob/master/README.md&lt;/a&gt;) project&lt;br/&gt;aims to close the gap for securing the Lightning ecosystem. It is an&lt;br/&gt;open-source Rust library and reference implementation. The project is&lt;br/&gt;approaching Beta, which is the point where the main goal will be met: funds&lt;br/&gt;are safe even if the node is completely compromised.&lt;br/&gt;&lt;br/&gt;The task is relatively complex because of the complexity of the Lightning&lt;br/&gt;protocol. There are more than [50 policies](&lt;br/&gt;&lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/blob/master/policy-controls.md&#34;&gt;https://gitlab.com/lightning-signer/docs/-/blob/master/policy-controls.md&lt;/a&gt;)&lt;br/&gt;that must be enforced, and many of them require stateful inspection of the&lt;br/&gt;protocol.&lt;br/&gt;&lt;br/&gt;Both servers and consumer devices are targeted, the latter via a Rust&lt;br/&gt;`no_std` compilation mode.&lt;br/&gt;&lt;br/&gt;# Signing Configurations&lt;br/&gt;&lt;br/&gt;Here are some of the potential configurations of a Lightning node:&lt;br/&gt;&lt;br/&gt;* Monolithic node&lt;br/&gt;* Node with a separate Blind Signer&lt;br/&gt;* Node with a separate Validating Signer - the signer ensures that the&lt;br/&gt;Lightning state machine ran correctly and funds are not at risk&lt;br/&gt;&lt;br/&gt;# The (In)security of Blind Signing&lt;br/&gt;&lt;br/&gt;![blind-signing-diagram-1.svg](uploads/78db1bd2b59228492e09ea272c873cf3/blind-signing-diagram-1.svg)&lt;br/&gt;&lt;br/&gt;* The monolithic case has one point of attack - at the node.&lt;br/&gt;* The blind signing case has **two points of attack** - at the node and at&lt;br/&gt;the Signer. A blind signer will perform any signing operation the node&lt;br/&gt;requests, so **a compromised node will still result in loss of funds**. And&lt;br/&gt;obviously, a compromised signer will also result in loss of funds. This is&lt;br/&gt;worse than a monolithic node because funds can be lost if **either** is&lt;br/&gt;compromised.&lt;br/&gt;* The validated signing case has just one point of attack with a small&lt;br/&gt;attack surface&lt;br/&gt;&lt;br/&gt;# Wallets with Blind Signers Must Trust the Node Operator&lt;br/&gt;&lt;br/&gt;Blind signing wallets where the node is run by an LSP (Lightning Service&lt;br/&gt;Provider) are not self-custodial because the LSP can unilaterally control&lt;br/&gt;the funds. The LSP merely has to provide the Signer with a transaction that&lt;br/&gt;sends the funds to the LSP or another destination.&lt;br/&gt;&lt;br/&gt;# Examples of Blind Signing Exploits&lt;br/&gt;&lt;br/&gt;A compromised node can unilaterally submit transactions to be signed by the&lt;br/&gt;blind Signer.  The following can result in the funds being stolen:&lt;br/&gt;&lt;br/&gt;* The node submits a mutual closing transaction which sends funds to the&lt;br/&gt;attacker&amp;#39;s address&lt;br/&gt;* The node asks the blind signer to sign a revoked transaction which will&lt;br/&gt;cause loss of all funds when published&lt;br/&gt;* And many more ...&lt;br/&gt;&lt;br/&gt;A compromised node can also lose funds when it doesn&amp;#39;t follow the Lightning&lt;br/&gt;protocol. Some potential exploits include:&lt;br/&gt;&lt;br/&gt;* The node fails to validate the counter-party&amp;#39;s revocation, and the&lt;br/&gt;counter-party broadcasts an old commitment transaction that sends most of&lt;br/&gt;the funds to the counter-party&lt;br/&gt;* The node fails to claim input HTLCs when routing payments, leading to the&lt;br/&gt;gradual loss of all funds&lt;br/&gt;* And many more ...&lt;br/&gt;&lt;br/&gt;# Validating Signers&lt;br/&gt;&lt;br/&gt;In the Validating Signer case, a compromise of the Lightning node will not&lt;br/&gt;result in the loss of funds. The security of such a setup is only dependent&lt;br/&gt;on the security of the Signer. The Signer can be hardened as needed for the&lt;br/&gt;specific use case.&lt;br/&gt;&lt;br/&gt;Some of the validation rules that a validated Signer can implement include:&lt;br/&gt;&lt;br/&gt;- Don&amp;#39;t sign a revoked commitment transaction&lt;br/&gt;- Don&amp;#39;t revoke a signed commitment transaction&lt;br/&gt;- Don&amp;#39;t close a channel to an unapproved destination&lt;br/&gt;- Routed payments must have at least as much input as output value&lt;br/&gt;- Payments must claim at least as much from the input as was claimed from&lt;br/&gt;us on the output&lt;br/&gt;- And many more ...&lt;br/&gt;&lt;br/&gt;# Conclusion&lt;br/&gt;&lt;br/&gt;Blind signers reduce the security of Lightning nodes and are subject to&lt;br/&gt;[many exploits](&lt;br/&gt;&lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/wikis/Potential-Exploits&#34;&gt;https://gitlab.com/lightning-signer/docs/-/wikis/Potential-Exploits&lt;/a&gt;).&lt;br/&gt;&lt;br/&gt;Validating signers improve security by reducing the attack surface. The VLS&lt;br/&gt;project aims to provide a library and reference implementation for&lt;br/&gt;enterprise servers and consumer devices.&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/lightning-dev/attachments/20220509/95d3c85d/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220509/95d3c85d/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:06:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyddy0kkuep7ckk0zk8wl4d9fdc6r0yqe46gd33u4wssadps9l74czyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2u8hf6r</id>
    
      <title type="html">📅 Original date posted:2022-05-10 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyddy0kkuep7ckk0zk8wl4d9fdc6r0yqe46gd33u4wssadps9l74czyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2u8hf6r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf3jzky7t8m2r6peh6zhfk9gksxd3x69mpd0pjj2469mw6rg6qq5c5x77wu&#39;&gt;nevent1q…77wu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-10&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;On Mon, May 9, 2022 at 5:40 PM ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning devrandom,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems to me that a true validating Lightning signer would need to be a&lt;br/&gt;&amp;gt; Bitcoin node with active mitigation against eclipse attacks, the ability to&lt;br/&gt;&amp;gt; monitor the blockheight, and the ability to broadcast transactions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;The UTXO Oracle(s) have some additional properties that improve on a plain&lt;br/&gt;Bitcoin node:&lt;br/&gt;&lt;br/&gt;- they provide compact attestations that can be checked in an&lt;br/&gt;isolated/hardened environment, so that the signer doesn&amp;#39;t need to be&lt;br/&gt;exposed to a network stack and can live on a consumer device or HSM&lt;br/&gt;- a UTXO Oracle can send out attestations on a broadcast medium (e.g. live&lt;br/&gt;behind Tor, satellite, etc.), so it&amp;#39;s harder to block or eclipse&lt;br/&gt;- the periodic attestation would cover the current block hash, and a&lt;br/&gt;commitment for the UTXO set hash (e.g. hash of the compact filter history)&lt;br/&gt;&lt;br/&gt;Broadcast is a separate concern.  For broadcast, the intent is to have a&lt;br/&gt;disaster recovery procedure:&lt;br/&gt;&lt;br/&gt;- the signer sends out a heartbeat if it has a quorum of non-stale oracle&lt;br/&gt;attestations and there are no upcoming safety deadlines (e.g. HTLC timeout&lt;br/&gt;or need to breach-remedy)&lt;br/&gt;- the heartbeats form a &amp;#34;deadman&amp;#39;s switch&amp;#34; - if the node operator doesn&amp;#39;t&lt;br/&gt;get them, they spring into action&lt;br/&gt;- the operator falls back to sneakernet for broadcasting a&lt;br/&gt;closing/breach-remedy transaction if needed&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Otherwise, a compromised node can lie and tell the signer that the block&lt;br/&gt;&amp;gt; height is much lower than it really is, letting the node peers clawback&lt;br/&gt;&amp;gt; incoming HTLCs and claim outgoing HTLCs, leading to a net loss of funds in&lt;br/&gt;&amp;gt; the forwarding case.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Right, routing nodes really need to be aware of the on-chain status of&lt;br/&gt;incoming channels.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Looking at the link, it seems to me that you have a &amp;#34;UTXO Set Oracle&amp;#34;,&lt;br/&gt;&amp;gt; does this inform your `lightning-signer` about block height and facilitate&lt;br/&gt;&amp;gt; transaction broadcast?&lt;br/&gt;&amp;gt; Is this intended to be a remote device from the `lightning-signer` device?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;It could be a quorum of systems, remote from the signer device, some or all&lt;br/&gt;of which may be under third-party operational control.  The attestation for&lt;br/&gt;a certain block is deterministic, so they should all agree.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; If so, what happens if the connection between the &amp;#34;UTXO Set Oracle&amp;#34; remote&lt;br/&gt;&amp;gt; device and the `lightning-signer` is interrupted?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;If there is no quorum, heartbeats would cease, which would alert the&lt;br/&gt;operator to start disaster recovery.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In particular:&lt;br/&gt;&amp;gt; [...]&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Agreed, that&amp;#39;s the main attack scenario on a router that doesn&amp;#39;t properly&lt;br/&gt;chain the on-chain status of an input channel.&lt;br/&gt;&lt;br/&gt;This seems to be listed in:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gitlab.com/lightning-signer/docs/-/wikis/Potential-Exploits&#34;&gt;https://gitlab.com/lightning-signer/docs/-/wikis/Potential-Exploits&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; an HTLC is failed and removed on the input before it is removed on the&lt;br/&gt;&amp;gt; output.  The output is then claimed by the counterparty, losing that amount&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there a mitigation, planned or implemented, against this exploit?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Yes, heartbeats would cease and the operator would manually intervene as&lt;br/&gt;above.&lt;br/&gt;&lt;br/&gt;That said, there is another potential mode:  if you limit the value of&lt;br/&gt;HTLCs in flight (e.g. 5% of channel value), are willing to lose that&lt;br/&gt;amount, you don&amp;#39;t do routing, and you have watchtowers, then you can live&lt;br/&gt;without the UTXO Oracle component.  This may be acceptable in a consumer&lt;br/&gt;application.&lt;br/&gt;&lt;br/&gt;Finally, we could essentially embed UTXO Oracles into the network if:&lt;br/&gt;&lt;br/&gt;- we commit to compact-filters or utreexo roots in the consensus&lt;br/&gt;- we are OK with SPV-style security, where we detect an eclipse by noticing&lt;br/&gt;a reduction in block rate&lt;br/&gt;&lt;br/&gt;But it&amp;#39;s hard to say when the first item might be plausibly deployed.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;devrandom&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/lightning-dev/attachments/20220510/b1cb218a/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220510/b1cb218a/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T13:06:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf5dkqgq4f3q4mnr9vx3q4lcysxjgsfm6yhwdksg6xtqdfufp9d0szyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2se30s6</id>
    
      <title type="html">📅 Original date posted:2021-01-17 📝 Original message:Dear ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf5dkqgq4f3q4mnr9vx3q4lcysxjgsfm6yhwdksg6xtqdfufp9d0szyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2se30s6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxah9c0v9spuj4uh2386jcp7mukc3qerrup2wxjvwhltjkgdwmfacxzhzum&#39;&gt;nevent1q…hzum&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-01-17&lt;br/&gt;📝 Original message:Dear ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;On Thu, Jan 14, 2021 at 4:28 PM ZmnSCPxj via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; The primary issue here is that we have a base assumption that the hardware&lt;br/&gt;&amp;gt; wallet cannot be sophisticated enough to have Internet access; &amp;#34;do not&lt;br/&gt;&amp;gt; enter seed words on an online device&amp;#34;, as the typical advice goes.&lt;br/&gt;&amp;gt; Most clawback transactions are time-based, and *must* be broadcast at a&lt;br/&gt;&amp;gt; particular blockheight.&lt;br/&gt;&amp;gt; Yet if the hardware wallet cannot be an online device, then it cannot know&lt;br/&gt;&amp;gt; the current blockheight is now at a time when the clawback transaction&lt;br/&gt;&amp;gt; *must* be broadcast.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thus, the hardware must always tr\*st the software to actually perform the&lt;br/&gt;&amp;gt; clawback in that case.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I believe it is possible to achieve much of the desired &amp;#34;liveness&amp;#34;&lt;br/&gt;requirements without compromising too much on the air-gap.  The solution&lt;br/&gt;requires the following:&lt;br/&gt;&lt;br/&gt;- a set of UTXO oracles which attest to the UTXO set&lt;br/&gt;- optionally, a set of clock oracles which attest to the current time (e.g.&lt;br/&gt;using the roughtime protocol)&lt;br/&gt;- an air-gap connection between the node software and the signer, e.g.&lt;br/&gt;using a narrow optical or serial protocol&lt;br/&gt;- a set of operators that can react to lack of liveness&lt;br/&gt;&lt;br/&gt;The Signer performs the following steps periodically:&lt;br/&gt;&lt;br/&gt;- if the funding UTXO has not been spent (per oracle attestation), proceed&lt;br/&gt;normally with any channel commitment signing&lt;br/&gt;- if the funding UTXO has been spent, ensure that the node provided the&lt;br/&gt;spending tx, and check if there is any reaction needed (e.g. a justice tx&lt;br/&gt;is needed)&lt;br/&gt;- if a reaction is needed, ensure that there is a further spend within a&lt;br/&gt;certain deadline (shorter than the CSV/CLTV deadline)&lt;br/&gt;- if there is no deadline violation, sign a heartbeat message with the&lt;br/&gt;current time (either from a local clock or from oracle clock)&lt;br/&gt;&lt;br/&gt;The node software then relays the signed heartbeat message to the&lt;br/&gt;operators, e.g. through Tor.  If a heartbeat is not seen by the operators,&lt;br/&gt;they manually intervene (e.g. by standing up a clean node).&lt;br/&gt;&lt;br/&gt;Of course, we will never have Lightning paper wallets, by definition, since&lt;br/&gt;you can&amp;#39;t participate in the network without being online.  But the above&lt;br/&gt;setup seems to be at least as secure as USB hardware wallets attached to&lt;br/&gt;online machines.  You could even have intermittently connected signers for&lt;br/&gt;slow-moving channels, or signers behind Tor, etc. .&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;devrandom&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/20210116/25ea76d6/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210116/25ea76d6/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:28:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxq8nuwes85d69f7d8u37l9lranl3fxy8czkc77s2fj7dw3zmg7zgzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2fvngxv</id>
    
      <title type="html">📅 Original date posted:2019-02-04 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxq8nuwes85d69f7d8u37l9lranl3fxy8czkc77s2fj7dw3zmg7zgzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2fvngxv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswgrxrawrjg97gdwe3tm4ztsmdd8jnpga7yy7npxnnvdq6wy8qsrqfshyx8&#39;&gt;nevent1q…hyx8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-02-04&lt;br/&gt;📝 Original message:I would suggest 50&#43; 6-sided dice rolls, giving about 128 bits of entropy.&lt;br/&gt;Compared to a shuffle, it&amp;#39;s easier to be sure that you got the right amount&lt;br/&gt;of entropy, even if the dice are somewhat biased.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Mon, Feb 4, 2019 at 2:33 PM James MacWhyte via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; James&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sun, Feb 3, 2019 at 10:27 AM Ryan Havar via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Conveniently a shuffled deck of cards also can serve as a physical backup&lt;br/&gt;&amp;gt;&amp;gt; which is easy to hide in plain sight with great plausible deniability.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To make sure someone doesn&amp;#39;t play with your cards and mix up the order,&lt;br/&gt;&amp;gt; use a permanent marker to draw a diagonal line on the side of the deck from&lt;br/&gt;&amp;gt; corner to corner. If the cards ever get mixed up, you can put them back in&lt;br/&gt;&amp;gt; order by making sure the diagonal line matches up.&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;&lt;br/&gt;&amp;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/20190204/11466a14/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190204/11466a14/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw3c9qjevqpxfaxw3xjhha8glhrffd2pydy5zv8wghduwz7xp2r3gzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c24n0gja</id>
    
      <title type="html">📅 Original date posted:2017-11-06 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw3c9qjevqpxfaxw3xjhha8glhrffd2pydy5zv8wghduwz7xp2r3gzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c24n0gja" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq9e2qy6wckgzywzlmwmhdtdwuenftgc60a5h2xn2p3sgm84pvh6gamp966&#39;&gt;nevent1q…p966&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-06&lt;br/&gt;📝 Original message:Hi Peter, thank you for the review.  See below&lt;br/&gt;&lt;br/&gt;On Mon, Nov 6, 2017 at 11:50 AM Peter Todd &amp;lt;pete at petertodd.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Wed, Nov 01, 2017 at 05:48:27AM &#43;0000, Devrandom via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Some quick thoughts...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Hi all,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Feedback is welcome on the draft below.  In particular, I want to see if&lt;br/&gt;&amp;gt; &amp;gt; there is interest in further development of the idea and also interested&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; &amp;gt; any attack vectors or undesirable dynamics.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; (Formatted version available here:&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&#34;&gt;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&lt;/a&gt; )&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; # Soft-fork Introduction of a New POW&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; First of all, I don&amp;#39;t think you can really call this a soft-fork; I&amp;#39;d call&lt;br/&gt;&amp;gt; it a&lt;br/&gt;&amp;gt; &amp;#34;pseudo-soft-fork&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My reasoning being that after implementation, a chain with less total work&lt;br/&gt;&amp;gt; than&lt;br/&gt;&amp;gt; the main chain - but more total SHA256^2 work than the main chain - might&lt;br/&gt;&amp;gt; be&lt;br/&gt;&amp;gt; followed by non-supporting clients. It&amp;#39;s got some properties of a&lt;br/&gt;&amp;gt; soft-fork,&lt;br/&gt;&amp;gt; but it&amp;#39;s security model is definitely different.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;The interesting thing is that the cost of attack varies smoothly as you&lt;br/&gt;vary the POW weights.&lt;br/&gt;To attack non-upgraded nodes, you still have to &amp;#34;51%&amp;#34; the original POW.&lt;br/&gt;The reward going to that POW will vary smoothly between 1.0 * block_reward&lt;br/&gt;and whatever&lt;br/&gt;target value (e.g. 0.5 * block_reward) and the difficulty of attack will&lt;br/&gt;tend to be proportional to that.&lt;br/&gt;&lt;br/&gt;In a real hard-fork, your software just breaks at the fork point.  In this&lt;br/&gt;case, it&amp;#39;s just the non-upgraded&lt;br/&gt;node security level declining from 100% to 50% over a long period of time.&lt;br/&gt;&lt;br/&gt;I envision the transition of POW weights will be over 1-3 years, which&lt;br/&gt;leaves plenty of time to&lt;br/&gt;upgrade after the fork activates.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ### Aux POW intermediate block&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Auxiliary POW blocks are introduced between normal blocks - i.e. the&lt;br/&gt;&amp;gt; chain&lt;br/&gt;&amp;gt; &amp;gt; alternates between the two POWs.&lt;br/&gt;&amp;gt; &amp;gt; Each aux-POW block points to the previous normal block and contains&lt;br/&gt;&amp;gt; &amp;gt; transactions just like a normal block.&lt;br/&gt;&amp;gt; &amp;gt; Each normal block points to the previous aux-POW block and must contain&lt;br/&gt;&amp;gt; all&lt;br/&gt;&amp;gt; &amp;gt; transactions from the aux-POW block.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note how you&amp;#39;re basically proposing for the block interval to be decreased,&lt;br/&gt;&amp;gt; which has security implications due to increased orphan rates.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Note that the total transaction rate and block size don&amp;#39;t materially&lt;br/&gt;change, so I don&amp;#39;t&lt;br/&gt;see why the orphan rate will change.  Normal blocks are constrained to have&lt;br/&gt;all of the txs of the aux blocks, so propagation time should stay the&lt;br/&gt;same.  Am I missing&lt;br/&gt;something?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ### Heaviest chain rule change&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This is a semi-hard change, because non-upgraded nodes can get on the&lt;br/&gt;&amp;gt; wrong&lt;br/&gt;&amp;gt; &amp;gt; chain in case of attack.  However,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Exactly! Not really a soft-fork.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;#34;smooth-fork&amp;#34; perhaps? :)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org&lt;br/&gt;&amp;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/20171106/69e6bc4e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20171106/69e6bc4e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:07:25Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq7r6uk47taxeglakylx7zrsanchu9k5zhy24fn44p9yh2gk79a5szyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2karwpx</id>
    
      <title type="html">📅 Original date posted:2017-11-07 📝 Original message:A ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq7r6uk47taxeglakylx7zrsanchu9k5zhy24fn44p9yh2gk79a5szyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2karwpx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsthr3caagupesymnd5jp8v2mx05u5t5l6ezaf6kctfrmqwadujq7g7mknaf&#39;&gt;nevent1q…knaf&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-07&lt;br/&gt;📝 Original message:A hard-fork is a situation where non-upgraded nodes reject a block mined&lt;br/&gt;and relayed by upgraded nodes.  This creates a fork that cannot heal&lt;br/&gt;regardless of what follows.&lt;br/&gt;&lt;br/&gt;This proposal is not a hard-fork, because the non-upgraded node *will heal*&lt;br/&gt;if the attack has less than 1/2 of the original-POW power in the long term.&lt;br/&gt;&lt;br/&gt;The cost of such an attack is the cost of a normal &amp;#34;51%&amp;#34; attack, multiplied&lt;br/&gt;by the fractional weight of the original POW (e.g. 0.75 or 0.5).&lt;br/&gt;&lt;br/&gt;So rather than saying this is a hard-fork, I would say that this is a&lt;br/&gt;soft-fork with reduced security for non-upgraded nodes. I would also say&lt;br/&gt;that the reduction in security is proportional to the reduction in weight&lt;br/&gt;of the original POW at the time of attack.&lt;br/&gt;&lt;br/&gt;As mentioned before, the original-POW weight starts at 1.0 and is reduced&lt;br/&gt;over a long period of time.  I would set up the transition curve so that&lt;br/&gt;all nodes upgrade by the time the weight is, say, 0.75.  In reality, nodes&lt;br/&gt;protecting high economic value would upgrade early.&lt;br/&gt;&lt;br/&gt;On Mon, Nov 6, 2017 at 3:55 PM Eric Voskuil via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; If a block that would be discarded under previous rules becomes accepted&lt;br/&gt;&amp;gt; after a rule addition, there is no reason to not simply call the new rule a&lt;br/&gt;&amp;gt; hard fork. IOW it&amp;#39;s perfectly rational to consider a weaker block as&lt;br/&gt;&amp;gt; &amp;#34;invalid&amp;#34; relative to the strong chain. As such I don&amp;#39;t see any reason to&lt;br/&gt;&amp;gt; qualify the term, it&amp;#39;s a hard fork. But Peter&amp;#39;s observation (the specific&lt;br/&gt;&amp;gt; behavior) is ultimately what matters.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; e&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Nov 6, 2017, at 12:30, Paul Sztorc via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &#43;1 to all of Peter Todd&amp;#39;s comments&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Nov 6, 2017 11:50 AM, &amp;#34;Peter Todd via bitcoin-dev&amp;#34; &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Wed, Nov 01, 2017 at 05:48:27AM &#43;0000, Devrandom via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Some quick thoughts...&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Hi all,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Feedback is welcome on the draft below.  In particular, I want to see if&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; there is interest in further development of the idea and also&lt;br/&gt;&amp;gt;&amp;gt; interested in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; any attack vectors or undesirable dynamics.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; (Formatted version available here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&#34;&gt;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&lt;/a&gt; )&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; # Soft-fork Introduction of a New POW&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; First of all, I don&amp;#39;t think you can really call this a soft-fork; I&amp;#39;d&lt;br/&gt;&amp;gt;&amp;gt; call it a&lt;br/&gt;&amp;gt;&amp;gt; &amp;#34;pseudo-soft-fork&amp;#34;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; My reasoning being that after implementation, a chain with less total&lt;br/&gt;&amp;gt;&amp;gt; work than&lt;br/&gt;&amp;gt;&amp;gt; the main chain - but more total SHA256^2 work than the main chain - might&lt;br/&gt;&amp;gt;&amp;gt; be&lt;br/&gt;&amp;gt;&amp;gt; followed by non-supporting clients. It&amp;#39;s got some properties of a&lt;br/&gt;&amp;gt;&amp;gt; soft-fork,&lt;br/&gt;&amp;gt;&amp;gt; but it&amp;#39;s security model is definitely different.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; ### Aux POW intermediate block&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Auxiliary POW blocks are introduced between normal blocks - i.e. the&lt;br/&gt;&amp;gt;&amp;gt; chain&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; alternates between the two POWs.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Each aux-POW block points to the previous normal block and contains&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transactions just like a normal block.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Each normal block points to the previous aux-POW block and must contain&lt;br/&gt;&amp;gt;&amp;gt; all&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transactions from the aux-POW block.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Note how you&amp;#39;re basically proposing for the block interval to be&lt;br/&gt;&amp;gt;&amp;gt; decreased,&lt;br/&gt;&amp;gt;&amp;gt; which has security implications due to increased orphan rates.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; ### Heaviest chain rule change&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; This is a semi-hard change, because non-upgraded nodes can get on the&lt;br/&gt;&amp;gt;&amp;gt; wrong&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; chain in case of attack.  However,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Exactly! Not really a soft-fork.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;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;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;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;&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;&lt;br/&gt;&amp;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/20171107/81f53507/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20171107/81f53507/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:07:25Z</updated>
  </entry>

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

  <entry>
    <id>https://nostr.ae/nevent1qqstsn3clydzg643rz8umy3j2zwh3gwl4vqlfdfwdj4zcdekrct3n7qzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2v9rzsk</id>
    
      <title type="html">📅 Original date posted:2017-11-01 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstsn3clydzg643rz8umy3j2zwh3gwl4vqlfdfwdj4zcdekrct3n7qzyzf72ref0wvctvddh2f723mp38j7qpeqqe46c8degu000s3fgj9c2v9rzsk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8ztfd00kdls0nylakau8j8a50z5ptxy7pq0dufgs2nexsldvpq2ggymn8t&#39;&gt;nevent1q…mn8t&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-01&lt;br/&gt;📝 Original message:Hi all,&lt;br/&gt;&lt;br/&gt;Feedback is welcome on the draft below.  In particular, I want to see if&lt;br/&gt;there is interest in further development of the idea and also interested in&lt;br/&gt;any attack vectors or undesirable dynamics.&lt;br/&gt;&lt;br/&gt;(Formatted version available here:&lt;br/&gt;&lt;a href=&#34;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&#34;&gt;https://github.com/devrandom/btc-papers/blob/master/aux-pow.md&lt;/a&gt; )&lt;br/&gt;&lt;br/&gt;# Soft-fork Introduction of a New POW&lt;br/&gt;&lt;br/&gt;## Motivation:&lt;br/&gt;&lt;br/&gt;- Mitigate mining centralization pressures by introducing a POW that does&lt;br/&gt;not have economies of scale&lt;br/&gt;- Introduce an intermediary confirmation point, reducing the impact of&lt;br/&gt;mining power fluctuations&lt;br/&gt;&lt;br/&gt;Note however that choice of a suitable POW will require deep analysis.&lt;br/&gt;Some pitfalls include: botnet mining, POWs that seem ASIC resistant but are&lt;br/&gt;not, unexpected/covert optimization.&lt;br/&gt;&lt;br/&gt;In particular, unexpected/covert optimizations, such as ASCIBOOST, present&lt;br/&gt;a potential centralizing and destabilizing force.&lt;br/&gt;&lt;br/&gt;## Design&lt;br/&gt;&lt;br/&gt;### Aux POW intermediate block&lt;br/&gt;&lt;br/&gt;Auxiliary POW blocks are introduced between normal blocks - i.e. the chain&lt;br/&gt;alternates between the two POWs.&lt;br/&gt;Each aux-POW block points to the previous normal block and contains&lt;br/&gt;transactions just like a normal block.&lt;br/&gt;Each normal block points to the previous aux-POW block and must contain all&lt;br/&gt;transactions from the aux-POW block.&lt;br/&gt;Block space is not increased.&lt;br/&gt;&lt;br/&gt;The new intermediate block and the pointers are introduced via a soft-fork&lt;br/&gt;restriction.&lt;br/&gt;&lt;br/&gt;### Reward for aux POW miners&lt;br/&gt;&lt;br/&gt;The reward for the aux POW smoothly increases from zero to a target value&lt;br/&gt;(e.g. 1/2 of the total reward) over time.&lt;br/&gt;The reward is transferred via a soft-fork restriction requiring a coinbase&lt;br/&gt;output to an address published in the&lt;br/&gt;aux-POW block.&lt;br/&gt;&lt;br/&gt;### Aux POW difficulty adjustment&lt;br/&gt;&lt;br/&gt;Difficulty adjustments remain independent for the two POWs.&lt;br/&gt;&lt;br/&gt;The difficulty of the aux POW is adjusted based on the average time between&lt;br/&gt;normal block found&lt;br/&gt;to aux block found.&lt;br/&gt;&lt;br/&gt;Further details are dependent on the specific POW.&lt;br/&gt;&lt;br/&gt;### Heaviest chain rule change&lt;br/&gt;&lt;br/&gt;This is a semi-hard change, because non-upgraded nodes can get on the wrong&lt;br/&gt;chain in case of attack.  However,&lt;br/&gt;it might be possible to construct an alert system that notifies&lt;br/&gt;non-upgraded nodes of an upcoming rule change.&lt;br/&gt;All blocks are still valid, so this is not a hardforking change.&lt;br/&gt;&lt;br/&gt;The heaviest chain definition changes from sum of `difficulty` to sum of:&lt;br/&gt;&lt;br/&gt;    mainDifficulty ^ x * auxDifficulty ^ y&lt;br/&gt;&lt;br/&gt;where we start at:&lt;br/&gt;&lt;br/&gt;    x = 1; y = 0&lt;br/&gt;&lt;br/&gt;and end at values of x and y that are related to the target relative&lt;br/&gt;rewards.  For example, if the target rewards&lt;br/&gt;are equally distributed, we will want ot end up at:&lt;br/&gt;&lt;br/&gt;    x = 1/2; y = 1/2&lt;br/&gt;&lt;br/&gt;so that both POWs have equal weight.  If the aux POW is to become dominant,&lt;br/&gt;x should end small relative to y.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;## Questions and Answers&lt;br/&gt;&lt;br/&gt;- What should be the parameters if we want the aux POW to have equal&lt;br/&gt;weight? A: 1/2 of the reward should be transferred&lt;br/&gt;to aux miners and x = 1/2, y = 1/2.&lt;br/&gt;&lt;br/&gt;- What should be the parameters if we want to deprecate the main POW?  A:&lt;br/&gt;most of the reward should be transferred to&lt;br/&gt;aux miners and x = 0, y = 1.  The main difficulty will tend to zero, and&lt;br/&gt;aux miners will just trivially generate the&lt;br/&gt;main block immediately after finding an aux block, with identical content.&lt;br/&gt;&lt;br/&gt;- Wasted bandwidth to transfer transactions twice?  A: this can be&lt;br/&gt;optimized by skipping transactions already&lt;br/&gt;transferred.&lt;br/&gt;&lt;br/&gt;- Why would miners agree to soft-fork away some of their reward?  A: they&lt;br/&gt;would agree if they believe that&lt;br/&gt;the coins will increase in value due to improved security properties.&lt;br/&gt;&lt;br/&gt;## Open Questions&lt;br/&gt;&lt;br/&gt;- After a block of one type is found, we can naively assume that POW will&lt;br/&gt;become idle while a block of the other type is being mined.  In practice,&lt;br/&gt;the spare capacity can be used to find alternative (&amp;#34;attacking&amp;#34;) blocks or&lt;br/&gt;mine other coins.  Is that a problem?&lt;br/&gt;- Is selfish mining amplified by this scheme for miners that have both&lt;br/&gt;types of hardware?&lt;br/&gt;&lt;br/&gt;## POW candidates&lt;br/&gt;&lt;br/&gt;- SHA256 (i.e. use same POW, but introduce an intermediate block for faster&lt;br/&gt;confirmation)&lt;br/&gt;- Proof of Space and Time (Bram Cohen)&lt;br/&gt;- Equihash&lt;br/&gt;- Ethash&lt;br/&gt;&lt;br/&gt;## Next Steps&lt;br/&gt;&lt;br/&gt;- evaluate POW candidates&lt;br/&gt;- evaluate difficulty adjustment rules&lt;br/&gt;- simulate miner behavior to identify if there are incentives for&lt;br/&gt;detrimental behavior patterns (e.g. block withholding / selfish mining)&lt;br/&gt;- Protocol details&lt;br/&gt;&lt;br/&gt;## Credits&lt;br/&gt;&lt;br/&gt;Bram Cohen came up with a similar idea back in March:&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-March/013744.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-March/013744.html&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/20171101/9dc7ba4e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20171101/9dc7ba4e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:07:22Z</updated>
  </entry>

</feed>