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




  <entry>
    <id>https://nostr.ae/nevent1qqsqd0h558f4g0ev7ud7zrt8s0narqf2wk02vmw906p0k8wgv2xz37qzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jv3fec</id>
    
      <title type="html">📅 Original date posted:2023-08-14 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqd0h558f4g0ev7ud7zrt8s0narqf2wk02vmw906p0k8wgv2xz37qzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jv3fec" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2xfk5vkrkz3xqkc84rp5kvfywjeda249gvar8fdt4xvquwka7yxgrde89z&#39;&gt;nevent1q…e89z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-08-14&lt;br/&gt;🗒️ Summary of this message: Proposal for resumable Lightning channels using OP_CHECKSIGFROMSTACK. Allows for backup of channel state and fraud proof. Suited for private channels with Lightning service providers.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello list,&lt;br/&gt;&lt;br/&gt;Here is an idea to make lightning channels resumable from wallet seed.&lt;br/&gt;I have not implemented it yet, and there might be issues I am not&lt;br/&gt;seeing. Thus, I would be grateful for feedback.&lt;br/&gt;&lt;br/&gt;Thanks to SomberNight and Peter Todd for reviewing earlier versions of&lt;br/&gt;this proposal.&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-----------------------------------------------&lt;br/&gt;&lt;br/&gt;Resumable channels using OP_CHECKSIGFROMSTACK&lt;br/&gt;=============================================&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In order to resume the activity of a Lightning channel, one needs a&lt;br/&gt;backup that contains all the information about the current channel&lt;br/&gt;state. The need to perform channel backups has plagued user&lt;br/&gt;experience, with many implementations reverting to static backups,&lt;br/&gt;which can be used to recover funds, but not to resume channel&lt;br/&gt;operations.&lt;br/&gt;&lt;br/&gt;Asking your channel counterparty to store your channel state has the&lt;br/&gt;advantage to make backup operations atomic. However, there is no&lt;br/&gt;guarantee that this is safe. Indeed, if the other party suspects that&lt;br/&gt;you have lost your state (for example, because you have been offline&lt;br/&gt;for a long time, or if they can see that you requested blockchain&lt;br/&gt;information following a certain pattern), they can try to send you a&lt;br/&gt;revoked state, and there is no way to punish them for doing that.&lt;br/&gt;&lt;br/&gt;Here is a proposal for a new type of channel funding transaction,&lt;br/&gt;where the redeem script has an additional spending path, that accepts&lt;br/&gt;a fraud proof: a proof that the channel counterparty has lied about&lt;br/&gt;the current state. This proposal requires two opcodes that are&lt;br/&gt;currently not available in Bitcoin: OP_CAT and OP_CHECKSIGFROMSTACK.&lt;br/&gt;&lt;br/&gt;Roles are asymmetric in this channel: Alice is a client, and Bob is a&lt;br/&gt;server, who stores Alice&amp;#39;s state. Thus, this proposal is mostly suited&lt;br/&gt;for private channels with Lightning service providers. During channel&lt;br/&gt;reestablishment, Bob will send her latest state to Alice, using an&lt;br/&gt;extra field in the channel_reestablish message. Since Alice cannot&lt;br/&gt;punish Bob if she has lost her state, she must not let Bob learn&lt;br/&gt;whether she still has her state. Thus, Alice will never send&lt;br/&gt;channel_reestablish first.&lt;br/&gt;&lt;br/&gt;This proposal assumes that Alice and Bob each have a clock, and that&lt;br/&gt;these clocks do not drift too much relative to each other. The channel&lt;br/&gt;may become unusable if clocks differ too much, as discussed below.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Simplified description&lt;br/&gt;----------------------&lt;br/&gt;&lt;br/&gt;The *state* of the channel refers to everything Alice needs in order&lt;br/&gt;to resume channel operations. With every new commitment, Alice sends&lt;br/&gt;her current state, with her signature of that state:&lt;br/&gt;&lt;br/&gt;  - if Alice sends commitment_signed, the state and signature are&lt;br/&gt;    included in that message.&lt;br/&gt;&lt;br/&gt;  - if Alice receives commitment_signed, the state and signature will&lt;br/&gt;    be included in the next revoke_and_ack sent by Alice.&lt;br/&gt;&lt;br/&gt;With every new commitment, Bob sends a signed tuple (ctn, timestamp),&lt;br/&gt;where ctn is the current commitment number (for the moment, forget&lt;br/&gt;about the distinction between local and remote ctns), and timestamp is&lt;br/&gt;the current time for Bob.&lt;br/&gt;&lt;br/&gt;  - if Bob sends commitment_signed, the signed tuple is included in&lt;br/&gt;    that message.&lt;br/&gt;    &lt;br/&gt;  - if Bob receives commitment_signed, the signed tuple will be&lt;br/&gt;    included in the next revoke_and_ack sent by Bob.&lt;br/&gt;&lt;br/&gt;The private key used by Bob to sign the tuples is constant over the&lt;br/&gt;lifetime of the channel, and it must not be reused in other&lt;br/&gt;channels. The corresponding public key will be used in the fraud proof&lt;br/&gt;spending path of the redeem script.&lt;br/&gt;&lt;br/&gt;Alice verifies Bob&amp;#39;s signature. She also checks that the received&lt;br/&gt;timestamps are reasonable (see below) and strictly monotonic.&lt;br/&gt;&lt;br/&gt;With every channel_reestablish message, Bob will send two extra fields:&lt;br/&gt;  - (ctn, timestamp, bob_signature)&lt;br/&gt;  - (alice_state, alice_signature).&lt;br/&gt;&lt;br/&gt;Alice verifies that the state she received was signed by her, and that&lt;br/&gt;the (ctn, timestamp) tuple was signed by Bob. She also checks that the&lt;br/&gt;timestamp is reasonable.&lt;br/&gt;&lt;br/&gt;Fraud Proofs&lt;br/&gt;------------&lt;br/&gt;&lt;br/&gt;Let us assume that Bob tries to send a revoked state to Alice in&lt;br/&gt;channel_reestablish. The channel_reestablish received by Alice&lt;br/&gt;contains a signed tuple (ctn1, t1), with t1 current timestamp.&lt;br/&gt;&lt;br/&gt;However, another signed tuple (ctn2, t2) has been received in the&lt;br/&gt;past, with ctn1 &amp;lt; ctn2 and t1 &amp;gt; t2.&lt;br/&gt;&lt;br/&gt;If Alice has not lost her state, she will now hold two signed tuples&lt;br/&gt;(ctn1, t1) and (ctn2, t2), that satisfy ctn1 &amp;lt; ctn2 and t1 &amp;gt; t2.&lt;br/&gt;&lt;br/&gt;This constitutes a fraud proof. With OP_CAT and OP_CHECKSIGFROMSTACK,&lt;br/&gt;we can build a script that verifies the fraud proof, and allows Alice&lt;br/&gt;to unilaterally spend the channel funding output.&lt;br/&gt;&lt;br/&gt;Here is an example of such a script:&lt;br/&gt;&lt;br/&gt;witness:&lt;br/&gt;[&lt;br/&gt;  alice_signature(transaction)&lt;br/&gt;  bob_signature((ctn1,timestamp1))&lt;br/&gt;  ctn1&lt;br/&gt;  timestamp1&lt;br/&gt;  bob_signature((ctn2,timestamp2))&lt;br/&gt;  ctn2&lt;br/&gt;  timestamp2&lt;br/&gt;]&lt;br/&gt;&lt;br/&gt;witness_script:&lt;br/&gt;  OP_PICK 1&lt;br/&gt;  OP_PICK 4&lt;br/&gt;  OP_LESSTHAN                 # verify ctn1 &amp;lt; ctn2&lt;br/&gt;  OP_VERIFY&lt;br/&gt;  OP_PICK 0&lt;br/&gt;  OP_PICK 3&lt;br/&gt;  OP_GREATERTHANOREQUAL       # verify timestamp1 &amp;gt;= timestamp2&lt;br/&gt;  OP_VERIFY&lt;br/&gt;  # check signatures&lt;br/&gt;  OP_CAT&lt;br/&gt;  OP_PUSHDATA bob_pubkey      # we may use Bob&amp;#39;s funding_pubkey&lt;br/&gt;  OP_CHECKSIGFROMSTACK&lt;br/&gt;  OP_VERIFY&lt;br/&gt;  OP_CAT&lt;br/&gt;  OP_PUSHDATA bob_pubkey&lt;br/&gt;  OP_CHECKSIGFROMSTACK&lt;br/&gt;  OP_VERIFY&lt;br/&gt;  OP_PUSHDATA alice_pubkey    # we may use Alice&amp;#39;s funding_pubkey&lt;br/&gt;  OP_CHECKSIGVERIFY&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In order to keep things simple, a few details have been omitted in the&lt;br/&gt;description:&lt;br/&gt;&lt;br/&gt;  - Bob actually needs to send both the local and the remote ctns in&lt;br/&gt;    his signed tuples. A pair of tuples is a fraud proof if the order&lt;br/&gt;    is violated for either local or remote ctns. Thus, the actual&lt;br/&gt;    script will be more complex than what has been drafted above.&lt;br/&gt;&lt;br/&gt;  - Integers pushed on the Bitcoin stack are maximum 4 bytes (31 bits &#43;&lt;br/&gt;    1 bit for the sign). Since commitment numbers are 48 bits long,&lt;br/&gt;    they will need to be split into two integers. Timestamps might&lt;br/&gt;    require a similar decomposition. This adds further complexity to&lt;br/&gt;    the redeem script.&lt;br/&gt;&lt;br/&gt;  - Note that Bob must strictly increase his timestamp on each&lt;br/&gt;    ctn. This puts a lower bound on the precision used for timestamps.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Reasonable Timestamps&lt;br/&gt;---------------------&lt;br/&gt;&lt;br/&gt;Since Alice and Bob do not have the same clock, Bob may legitimately&lt;br/&gt;send a timestamp that is in Alice&amp;#39;s past or future. Every time Alice&lt;br/&gt;receives a timestamp from Bob, she compares it to her current time.&lt;br/&gt;&lt;br/&gt;  - If Alice receives a timestamp that is in her future, instead of&lt;br/&gt;    closing the channel, she may wait it out before she accepts to&lt;br/&gt;    resume operations.&lt;br/&gt;&lt;br/&gt;  - If Alice receives a timestamp that is too far in her past, she&lt;br/&gt;    should disconnect. Indeed, Bob may be sending an old state and&lt;br/&gt;    replaying old timestamps, which is not punishable. In that case,&lt;br/&gt;    Alice should not automatically force close the channel, because she&lt;br/&gt;    can only do that if she has not lost her state; if force-closing&lt;br/&gt;    was automatic, not force-closing would reveal to Bob that she&lt;br/&gt;    has lost her state.&lt;br/&gt;&lt;br/&gt;A delay needs to be tolerated by Alice, because Bob does not have the&lt;br/&gt;same clock; that delay should be chosen so that it is always smaller&lt;br/&gt;than the interval between two sessions.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Saving Bandwidth&lt;br/&gt;----------------&lt;br/&gt;&lt;br/&gt;Alice&amp;#39;s channel state does not need to be sent with every commitment,&lt;br/&gt;if it is made of information that is known by both parties. In that&lt;br/&gt;case, it is sufficient for Alice to send her signature of the current&lt;br/&gt;state. Both Alice and Bob must be able to serialize the state, so that&lt;br/&gt;Alice can verify her own signature against a serialization of the&lt;br/&gt;state created by Bob. The state only needs to be sent by Bob once, in&lt;br/&gt;channel_reestablish.&lt;br/&gt;&lt;br/&gt;For this to work, the channel state cannot include information that is&lt;br/&gt;private to Alice. If the private keys used by Alice in the channel are&lt;br/&gt;derived deterministically from her wallet seed, they do not need to be&lt;br/&gt;part of the state. Alternatively, private keys may be included in an&lt;br/&gt;encrypted blob that is included in the state. Since that encrypted&lt;br/&gt;blob is constant, it only needs to be sent once by Alice, during the&lt;br/&gt;channel opening negotiation. Bob will save it and add it to the state&lt;br/&gt;sent in channel_reestablish.&lt;br/&gt;&lt;br/&gt;In addition, the state must not include any payment_hash preimage&lt;br/&gt;known by Alice; thus, Alice will have to fail incoming payments for&lt;br/&gt;those preimages, if she has lost her state.&lt;br/&gt;&lt;br/&gt;The channel state should include the compact storage of per-commitment&lt;br/&gt;secrets sent by Bob.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Concluding remarks&lt;br/&gt;------------------&lt;br/&gt;&lt;br/&gt;  - Obviously, this proposal assumes that Alice remembers with whom she&lt;br/&gt;    has an open channel.&lt;br/&gt;&lt;br/&gt;  - Alice may restore her wallet from seed on a new device, while the&lt;br/&gt;    initial wallet is still active. In that case, Alice must stop using&lt;br/&gt;    the channels on her old device. Thus, Alice should disconnect if&lt;br/&gt;    she has not lost her state and receives a state with a ctn that is&lt;br/&gt;    in her future. This ensures that only one device uses the channels.&lt;br/&gt;&lt;br/&gt;  - Without waiting for OP_CHECKSIGFROMSTACK to be available in&lt;br/&gt;    Bitcoin, it would be possible for Bob to lockup funds on another&lt;br/&gt;    blockchain such as Liquid. It is also possible to create fraud&lt;br/&gt;    proofs that are not used in a redeem script, but that are tied to&lt;br/&gt;    Bob&amp;#39;s public identity and reputation. In that case, Bob should sign&lt;br/&gt;    with his node pubkey, and fraud proofs will need to include a short&lt;br/&gt;    channel id.
    </content>
    <updated>2023-08-16T02:49:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd6h3ym8glt63ueq25k0ddfl94f7nfmy4clzhh2eykrl4q8kaxdpgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2uwzyyy</id>
    
      <title type="html">📅 Original date posted:2023-06-20 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd6h3ym8glt63ueq25k0ddfl94f7nfmy4clzhh2eykrl4q8kaxdpgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2uwzyyy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstuxg0ywyhslxxsx7ncv53kmyrnhtr0clkwcnumpp42cp97l9eqesf94vyq&#39;&gt;nevent1q…4vyq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-20&lt;br/&gt;🗒️ Summary of this message: Thomas proposes leveling the competition between Lightning service providers by allowing reverse submarine swap payments from any wallet. He suggests pre-payment of mining fees can be combined with 0-conf. Updating Bolt 12 makes more sense than updating Bolt 11.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello Bastien,&lt;br/&gt;&lt;br/&gt;Thank you for the clarification; indeed I might not have been clear&lt;br/&gt;about the fact that senders need to understand the new fields.&lt;br/&gt;&lt;br/&gt;What you are suggesting (solution 2, blacklisting non-cooperative&lt;br/&gt;clients and playing with the mempool) is prone to griefing attacks and&lt;br/&gt;it requires manpower and infrastructure not necessarily affordable by&lt;br/&gt;small companies. I would also be surprised if that is the approach&lt;br/&gt;used by ACINQ.&lt;br/&gt;&lt;br/&gt;I believe pre-payment of the mining fee can be combined with 0-conf;&lt;br/&gt;I am not sure why you picture them as opposed? Even with BOLT-12, I&lt;br/&gt;don&amp;#39;t see 0-conf going away.&lt;br/&gt;&lt;br/&gt;We have not implemented BOLT-12 yet in Electrum. Would you care to&lt;br/&gt;describe whether bundled payments already would work with the current&lt;br/&gt;specification, or whether they would require changes to BOLT-12? We&lt;br/&gt;are going to implement BOLT-12 support in Electrum in the coming&lt;br/&gt;months, and I would be happy to help here.&lt;br/&gt;&lt;br/&gt;I believe that it will take years *after it is merged*, until BOLT-12&lt;br/&gt;actually becomes the dominant payment method on Lightning. OTOH, if&lt;br/&gt;this feature was adopted in BOLT-11, I think it could be deployed much&lt;br/&gt;faster.&lt;br/&gt;&lt;br/&gt;The goal of my proposal is to level the field of competition between&lt;br/&gt;Lightning service providers, by allowing reverse submarine swap&lt;br/&gt;payments to come from any wallet (of course, a dedicated client will&lt;br/&gt;still be needed to verify the redeem script and the invoice, and to&lt;br/&gt;sweep the funds, as discussed above), and by allowing JIT channels to&lt;br/&gt;be provided by companies who do not distribute a dedicated wallet that&lt;br/&gt;trusts them.&lt;br/&gt;&lt;br/&gt;In this context, making this proposal happen earlier rather than later&lt;br/&gt;could have a significant impact on the shape of the ecosystem. It&lt;br/&gt;remains to be seen how this is understood by everybody.&lt;br/&gt;&lt;br/&gt;cheers,&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On 15.06.23 11:01, Bastien TEINTURIER wrote:&lt;br/&gt;&amp;gt; Hi Thomas,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; First of all, I&amp;#39;d like to highlight something that may not be obvious&lt;br/&gt;&amp;gt; from your email, and is actually pretty important: your proposal&lt;br/&gt;&amp;gt; requires *senders* to be aware that the payment will lead to a channel&lt;br/&gt;&amp;gt; creation (or a splice) on the *receiver* end. In particular, it requires&lt;br/&gt;&amp;gt; all existing software used by senders to be updated. For this reason, I&lt;br/&gt;&amp;gt; think extending Bolt 12 (which requires new sender code anyway) makes&lt;br/&gt;&amp;gt; more sense than updating Bolt 11.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I see only three strategies to provide JIT liquidity (by opening a new&lt;br/&gt;&amp;gt; channel or making a splice, I&amp;#39;ll only use the open channel case below&lt;br/&gt;&amp;gt; for simplicity):&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 1. Ask receiver for the preimage and a fee, then open a channel and&lt;br/&gt;&amp;gt;     push the HTLC amount minus the fee&lt;br/&gt;&amp;gt; 2. Open a channel, then forward the HTLC amount minus a fee&lt;br/&gt;&amp;gt; 3. Pre-pay fee, then open a channel and forward the whole HTLC amount&lt;br/&gt;&amp;gt;     on that channel&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; What is currently deployed on the network is 1) and 2), while you&amp;#39;re&lt;br/&gt;&amp;gt; proposing 3). Both 1) and 2) have the advantages that the sender doesn&amp;#39;t&lt;br/&gt;&amp;gt; need to be aware that JIT liquidity is happening, and doesn&amp;#39;t need to do&lt;br/&gt;&amp;gt; anything special for that payment, which is the main reason those&lt;br/&gt;&amp;gt; strategies were chosen.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If all you&amp;#39;re concerned about is trust and regulation, solution 2) works&lt;br/&gt;&amp;gt; fine as long as the mempool isn&amp;#39;t empty: if the user doesn&amp;#39;t release the&lt;br/&gt;&amp;gt; preimage after you&amp;#39;ve opened the channel, you should just blacklist that&lt;br/&gt;&amp;gt; channel, reject payments made to it, and double-spend it whenever you&lt;br/&gt;&amp;gt; have another on-chain transaction to make (and use 1 sat/byte for JIT&lt;br/&gt;&amp;gt; liquidity transactions). Even if the mempool is empty, if your LSP has&lt;br/&gt;&amp;gt; transactions to make at every block, it&amp;#39;s likely that it will succeed&lt;br/&gt;&amp;gt; at double-spending the faulty channel, and thus won&amp;#39;t lose anything.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But I agree that this only works when coupled with 0-conf. If we&amp;#39;re not&lt;br/&gt;&amp;gt; using 0-conf anymore, pre-paying fees would make more sense. But we will&lt;br/&gt;&amp;gt; likely keep on using 0-conf at least until Bolt 12 is deployed, so it&lt;br/&gt;&amp;gt; seems more reasonable to include this new feature in Bolt 12 rather than&lt;br/&gt;&amp;gt; Bolt 11, since all implementations are actively working on this?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Bastien&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Le jeu. 15 juin 2023 à 10:52, Thomas Voegtlin &amp;lt;thomasv at electrum.org&amp;gt; a&lt;br/&gt;&amp;gt; écrit :&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; Hello Matt,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think it is not too late to add a new feature to BOLT-11. In any&lt;br/&gt;&amp;gt;&amp;gt; case, the belief that BOLT-11 is ossified should not be a reason to&lt;br/&gt;&amp;gt;&amp;gt; make interactive something that fundamentally does not require more&lt;br/&gt;&amp;gt;&amp;gt; interactivity than what BOLT-11 already offers. Technical decisions&lt;br/&gt;&amp;gt;&amp;gt; should be dictated by technical needs, and I am a minimalist when it&lt;br/&gt;&amp;gt;&amp;gt; comes to adding new messages to protocols.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I believe that two major implementations have an incentive to support&lt;br/&gt;&amp;gt;&amp;gt; this proposal (although I cannot speak for them):&lt;br/&gt;&amp;gt;&amp;gt;    - Lightning Labs could potentially offer their Loop service to&lt;br/&gt;&amp;gt;&amp;gt;      non-LND users.&lt;br/&gt;&amp;gt;&amp;gt;    - ACINQ would be able to open channels to Phoenix users without&lt;br/&gt;&amp;gt;&amp;gt;      requesting the preimage first. This would put them on the safe side&lt;br/&gt;&amp;gt;&amp;gt;      of the upcoming MICA regulation; I cannot emphasize enough how&lt;br/&gt;&amp;gt;&amp;gt;      important that is.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In addition, you could certainly decide to support that feature in&lt;br/&gt;&amp;gt;&amp;gt; LDK, and I can speak for Electrum :-)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; It is the first time I suggest a change to the Lightning protocol, and&lt;br/&gt;&amp;gt;&amp;gt; what I am proposing is really a tiny change. All we need is a new&lt;br/&gt;&amp;gt;&amp;gt; invoice feature, that describes the prepayment of a fee using a&lt;br/&gt;&amp;gt;&amp;gt; different preimage. This feature does not need to be set on all&lt;br/&gt;&amp;gt;&amp;gt; invoices, and it could be made optional during a transition period.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Here is how that feature could possibly made optional:&lt;br/&gt;&amp;gt;&amp;gt;    - a new feature bit is defined, BUNDLE_PREPAYMENT&lt;br/&gt;&amp;gt;&amp;gt;    - two extra fields are defined: prepayment_amount, prepayment_hash&lt;br/&gt;&amp;gt;&amp;gt;    - if the sender does not support BUNDLE_PREPAYMENT and the feature is&lt;br/&gt;&amp;gt;&amp;gt;      optional, it ignores the new fields&lt;br/&gt;&amp;gt;&amp;gt;    - if the sender support BUNDLE_PREPAYMENT:&lt;br/&gt;&amp;gt;&amp;gt;       - sender sends (amount - prepayment_amount) with payment_hash&lt;br/&gt;&amp;gt;&amp;gt;       - sender sends prepayment_amount with prepayment_hash&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The decision to make this feature required or optional remains with&lt;br/&gt;&amp;gt;&amp;gt; the service provider. I can see how submarine swap providers who are&lt;br/&gt;&amp;gt;&amp;gt; already exposed to the mining fee griefing attack could decide to make&lt;br/&gt;&amp;gt;&amp;gt; it optional for a transition period.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; cheers,&lt;br/&gt;&amp;gt;&amp;gt; Thomas&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regarding your question (a) about the distinction between splice-out&lt;br/&gt;&amp;gt;&amp;gt; and submarine swaps: Submarine swaps make it possible to add receiving&lt;br/&gt;&amp;gt;&amp;gt; capacity to a channel.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On 14.06.23 19:28, Matt Corallo wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I think the ship has probably sailed on getting any kind of new&lt;br/&gt;&amp;gt;&amp;gt; interoperable change in to BOLT-11.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; We already can&amp;#39;t get amount-less BOLT-11 invoices broadly supported,&lt;br/&gt;&amp;gt;&amp;gt; rolling out yet another new incompatible version of BOLT-11 and expecting&lt;br/&gt;&amp;gt;&amp;gt; the entire ecosystem to support it doesn&amp;#39;t seem all that likely.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If we&amp;#39;re working towards specifying some &amp;#34;standard&amp;#34; way of doing swaps,&lt;br/&gt;&amp;gt;&amp;gt; (a) I&amp;#39;d be curious to understand why the need isn&amp;#39;t obviated by splice-out,&lt;br/&gt;&amp;gt;&amp;gt; and (b) why it shouldn&amp;#39;t be built on OMs so you can do it more privately.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Matt&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On 6/13/23 1:10 AM, Thomas Voegtlin wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I would like to propose an extension to BOLT-11, where an invoice can&lt;br/&gt;&amp;gt;&amp;gt; contain two bundled payments, with distinct preimages and amounts.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The use case is for services that require the prepayment of a mining&lt;br/&gt;&amp;gt;&amp;gt; fee in order for a non-custodian exchange to take place:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - Submarine swaps&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - JIT channels&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In both cases, the service provider receives a HTLC for which they do&lt;br/&gt;&amp;gt;&amp;gt; not have the preimage, have to send funds on-chain (to the channel or&lt;br/&gt;&amp;gt;&amp;gt; submarine swap funding address), and wait for the client to reveal the&lt;br/&gt;&amp;gt;&amp;gt; preimage when they claim the payment. Because there is no guarantee that&lt;br/&gt;&amp;gt;&amp;gt; the client will actually claim the payment, the service providers need to&lt;br/&gt;&amp;gt;&amp;gt; ask prepayment of mining fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In the case of submarine swaps, services that use dedicated client&lt;br/&gt;&amp;gt;&amp;gt; software, such as Loop by Lightning Labs, can ask for a prepayment, because&lt;br/&gt;&amp;gt;&amp;gt; their software can handle it (this is called &amp;#34;no show penalty&amp;#34; on the Loop&lt;br/&gt;&amp;gt;&amp;gt; website). However, competitors who do require a dedicated wallet, not such&lt;br/&gt;&amp;gt;&amp;gt; as the Boltz exchange, cannot do that. Their website shows an invoice to&lt;br/&gt;&amp;gt;&amp;gt; the user, whose wallet that is agnostic about the swap, and it would be&lt;br/&gt;&amp;gt;&amp;gt; unpractical for them to show two invoices to be paid simultaneously. This&lt;br/&gt;&amp;gt;&amp;gt; creates a situation where Boltz is vulnerable to DoS attacks, where the&lt;br/&gt;&amp;gt;&amp;gt; attacker forces them to pay on-chain fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In the case of JIT channels, providers who want to protect themselves&lt;br/&gt;&amp;gt;&amp;gt; against this mining fee attack need to ask the preimage of the main payment&lt;br/&gt;&amp;gt;&amp;gt; before they open the channel. I believe this is what Phoenix does (although&lt;br/&gt;&amp;gt;&amp;gt; their pay-to-open service is not open-source, so I cannot really check).&lt;br/&gt;&amp;gt;&amp;gt; The issue is that a service that asks for the preimage first becomes&lt;br/&gt;&amp;gt;&amp;gt; custodian. From a legal perspective, it does not matter whether they open&lt;br/&gt;&amp;gt;&amp;gt; the channel immediately after receiving the preimage, the ordering of&lt;br/&gt;&amp;gt;&amp;gt; events makes their service custodian. In Europe, such a service will fall&lt;br/&gt;&amp;gt;&amp;gt; within the European MICA regulation. Competitors who refuse to offer&lt;br/&gt;&amp;gt;&amp;gt; custodian services, such as Electrum, are excluded from that game.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In order to solve that, it would be beneficial to bundle the prepayment&lt;br/&gt;&amp;gt;&amp;gt; and the main payment in the same BOLT-11 invoice.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The semantics of bundled payments is as follows:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - 1. the BOLT-11 invoice contains two preimages and two amounts:&lt;br/&gt;&amp;gt;&amp;gt; prepayment and main payment.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - 2. the receiver should wait until all the HTLCs of both payments&lt;br/&gt;&amp;gt;&amp;gt; have arrived, before they fulfill the HTLCs of the pre-payment. If the main&lt;br/&gt;&amp;gt;&amp;gt; payment does not arrive, they should fail the pre-payment with a MPP&lt;br/&gt;&amp;gt;&amp;gt; timeout.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - 3. once the HTLCs of both payments have arrived, the receiver&lt;br/&gt;&amp;gt;&amp;gt; fulfills the HTLCs of the prepayment, and they broadcast their on-chain&lt;br/&gt;&amp;gt;&amp;gt; transaction. Note that the main payment can still fail if the sender never&lt;br/&gt;&amp;gt;&amp;gt; reveal the preimage of the main payment.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Of course, nothing in my proposal prevents the service provider from&lt;br/&gt;&amp;gt;&amp;gt; stealing the pre-payment, but that is already the case today.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I believe this proposal would level the field in terms of competition&lt;br/&gt;&amp;gt;&amp;gt; between lightning service providers. Currently, you need to use a dedicated&lt;br/&gt;&amp;gt;&amp;gt; client in order to use Loop, and competitors who do not have an established&lt;br/&gt;&amp;gt;&amp;gt; user base running a dedicated client are exposed to the mining fee attack.&lt;br/&gt;&amp;gt;&amp;gt; I also believe that ACINQ would benefit from this, because it would make it&lt;br/&gt;&amp;gt;&amp;gt; possible for them to make their pay-to-open service fully non-custodian. My&lt;br/&gt;&amp;gt;&amp;gt; understanding is that in its current form, the &amp;#39;pay-to-open&amp;#39; service used&lt;br/&gt;&amp;gt;&amp;gt; by Phoenix will fall into the scope of the European MICA regulation, which&lt;br/&gt;&amp;gt;&amp;gt; they should consider as a serious issue.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Finally, I believe that such a change should be implemented in BOLT-11,&lt;br/&gt;&amp;gt;&amp;gt; and not using BOLT-12 or onion messages. Indeed, my proposal does not&lt;br/&gt;&amp;gt;&amp;gt; require the exchange of new messages. Some of the initial feedback I&lt;br/&gt;&amp;gt;&amp;gt; received was that this is a use case for BOLT-12 or OM, but I think that&lt;br/&gt;&amp;gt;&amp;gt; this is making things unnecessarily complicated. We should not add new&lt;br/&gt;&amp;gt;&amp;gt; messages when things can be done in a non-interactive way.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ThomasV&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Electrum Technologies GmbH / Paul-Lincke-Ufer 8d / 10999 Berlin / Germany&lt;br/&gt;&amp;gt;&amp;gt; Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;&amp;gt;&amp;gt; Geschäftsführer: Thomas Voegtlin&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Electrum Technologies GmbH / Paul-Lincke-Ufer 8d / 10999 Berlin / Germany&lt;br/&gt;Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;Geschäftsführer: Thomas Voegtlin
    </content>
    <updated>2023-06-21T01:25:28&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstuxg0ywyhslxxsx7ncv53kmyrnhtr0clkwcnumpp42cp97l9eqeszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2e0d8jv</id>
    
      <title type="html">📅 Original date posted:2023-06-20 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstuxg0ywyhslxxsx7ncv53kmyrnhtr0clkwcnumpp42cp97l9eqeszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2e0d8jv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs22gzkhe3xhde9mtjpdz8ng8kvme8f7kuc79yqamjvp9hzfrdk2wsmkmcph&#39;&gt;nevent1q…mcph&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-20&lt;br/&gt;🗒️ Summary of this message: Thomas suggests adding a feature bit to the invoice to make prepayment optional or required, and subtracting the prepayment amount from the main payment amount.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello Dave,&lt;br/&gt;&lt;br/&gt;That is an interesting idea; it would indeed save space for the prepayment hash.&lt;br/&gt;I think the invoice would still need a feature bit, so that the receiver can&lt;br/&gt;decide to make prepayment optional or required.&lt;br/&gt;&lt;br/&gt;Note that for the feature to be optional, we need to subtract the prepayment&lt;br/&gt;amount from the main payment amount. Thus, in your example, Alice would expect&lt;br/&gt;to receive either:&lt;br/&gt;  (1 BTC, invoice payment_hash)&lt;br/&gt;or:&lt;br/&gt;  (1 BTC - minus 10k sats, invoice payment_hash) &#43; (10k sats, prepayment_hash via keysend)&lt;br/&gt;&lt;br/&gt;cheers&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On 19.06.23 22:29, David A. Harding wrote:&lt;br/&gt;&amp;gt; On 2023-06-12 22:10, Thomas Voegtlin wrote:&lt;br/&gt;&amp;gt;&amp;gt; The semantics of bundled payments is as follows:&lt;br/&gt;&amp;gt;&amp;gt;  - 1. the BOLT-11 invoice contains two preimages and two amounts:&lt;br/&gt;&amp;gt;&amp;gt; prepayment and main payment.&lt;br/&gt;&amp;gt;&amp;gt;  - 2. the receiver should wait until all the HTLCs of both payments&lt;br/&gt;&amp;gt;&amp;gt; have arrived, before they fulfill the HTLCs of the pre-payment. If the&lt;br/&gt;&amp;gt;&amp;gt; main payment does not arrive, they should fail the pre-payment with a&lt;br/&gt;&amp;gt;&amp;gt; MPP timeout.&lt;br/&gt;&amp;gt;&amp;gt;  - 3. once the HTLCs of both payments have arrived, the receiver&lt;br/&gt;&amp;gt;&amp;gt; fulfills the HTLCs of the prepayment, and they broadcast their&lt;br/&gt;&amp;gt;&amp;gt; on-chain transaction. Note that the main payment can still fail if the&lt;br/&gt;&amp;gt;&amp;gt; sender never reveal the preimage of the main payment.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Hi Thomas,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Do you actually require a BOLT11 invoice to contain a payment hash for&lt;br/&gt;&amp;gt; the prepayment, or would it be acceptable for the prepayment to use a&lt;br/&gt;&amp;gt; keysend payment with the onion message payload for the receiver&lt;br/&gt;&amp;gt; indicating what payment hash to associate with the prepayment (e.g.,&lt;br/&gt;&amp;gt; Alice wants to receive 1 BTC to hash 0123...cdef with a prepayment of&lt;br/&gt;&amp;gt; 10k sats, so the 10k sats is sent via keysend with metadata indicating&lt;br/&gt;&amp;gt; the receiver shouldn&amp;#39;t claim it until they receive the 1 BTC HTLC to&lt;br/&gt;&amp;gt; 0123...cdef).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If so, I think then you&amp;#39;d only need BOLT11 invoices to be extended with&lt;br/&gt;&amp;gt; an extra_fee_via_keysend field.  That would be significantly smaller and&lt;br/&gt;&amp;gt; it also allows encoding the extra_fee_via_keysend field in an existing&lt;br/&gt;&amp;gt; BOLT11 field like (d) description or the relatively new (m) metadata&lt;br/&gt;&amp;gt; field, which may allow immediate implementation until an updated version&lt;br/&gt;&amp;gt; of BOLT11 (or an alternative using offers) becomes widely deployed.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thanks,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; -Dave&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Electrum Technologies GmbH / Paul-Lincke-Ufer 8d / 10999 Berlin / Germany&lt;br/&gt;Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;Geschäftsführer: Thomas Voegtlin
    </content>
    <updated>2023-06-20T13:15:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg75ek6keyhsfalaqavqtasy6tvjah33c8jta80tz4wgskwx2hz8czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2m33e2j</id>
    
      <title type="html">📅 Original date posted:2023-06-15 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg75ek6keyhsfalaqavqtasy6tvjah33c8jta80tz4wgskwx2hz8czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2m33e2j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf3as0pjaxu8gtw2lad4tfcdsu4ul5tmsjzvels83tgunrpzg2zrgxl7wct&#39;&gt;nevent1q…7wct&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-15&lt;br/&gt;🗒️ Summary of this message: Thomas Voegtlin proposes a new feature for BOLT-11 to allow for prepayment of fees using a different preimage, which could benefit Lightning Labs and ACINQ. The feature would be optional and could be made available during a transition period. Matt Corallo questions the feasibility of adding a new feature to BOLT-11 and suggests exploring splice-out and building on OMs for more privacy.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello Matt,&lt;br/&gt;&lt;br/&gt;I think it is not too late to add a new feature to BOLT-11. In any&lt;br/&gt;case, the belief that BOLT-11 is ossified should not be a reason to&lt;br/&gt;make interactive something that fundamentally does not require more&lt;br/&gt;interactivity than what BOLT-11 already offers. Technical decisions&lt;br/&gt;should be dictated by technical needs, and I am a minimalist when it&lt;br/&gt;comes to adding new messages to protocols.&lt;br/&gt;&lt;br/&gt;I believe that two major implementations have an incentive to support&lt;br/&gt;this proposal (although I cannot speak for them):&lt;br/&gt;  - Lightning Labs could potentially offer their Loop service to&lt;br/&gt;    non-LND users.&lt;br/&gt;  - ACINQ would be able to open channels to Phoenix users without&lt;br/&gt;    requesting the preimage first. This would put them on the safe side&lt;br/&gt;    of the upcoming MICA regulation; I cannot emphasize enough how&lt;br/&gt;    important that is.&lt;br/&gt;&lt;br/&gt;In addition, you could certainly decide to support that feature in&lt;br/&gt;LDK, and I can speak for Electrum :-)&lt;br/&gt;&lt;br/&gt;It is the first time I suggest a change to the Lightning protocol, and&lt;br/&gt;what I am proposing is really a tiny change. All we need is a new&lt;br/&gt;invoice feature, that describes the prepayment of a fee using a&lt;br/&gt;different preimage. This feature does not need to be set on all&lt;br/&gt;invoices, and it could be made optional during a transition period.&lt;br/&gt;&lt;br/&gt;Here is how that feature could possibly made optional:&lt;br/&gt;  - a new feature bit is defined, BUNDLE_PREPAYMENT&lt;br/&gt;  - two extra fields are defined: prepayment_amount, prepayment_hash&lt;br/&gt;  - if the sender does not support BUNDLE_PREPAYMENT and the feature is&lt;br/&gt;    optional, it ignores the new fields&lt;br/&gt;  - if the sender support BUNDLE_PREPAYMENT:&lt;br/&gt;     - sender sends (amount - prepayment_amount) with payment_hash&lt;br/&gt;     - sender sends prepayment_amount with prepayment_hash&lt;br/&gt;&lt;br/&gt;The decision to make this feature required or optional remains with&lt;br/&gt;the service provider. I can see how submarine swap providers who are&lt;br/&gt;already exposed to the mining fee griefing attack could decide to make&lt;br/&gt;it optional for a transition period.&lt;br/&gt;&lt;br/&gt;cheers,&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Regarding your question (a) about the distinction between splice-out&lt;br/&gt;and submarine swaps: Submarine swaps make it possible to add receiving&lt;br/&gt;capacity to a channel.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On 14.06.23 19:28, Matt Corallo wrote:&lt;br/&gt;&amp;gt; I think the ship has probably sailed on getting any kind of new interoperable change in to BOLT-11.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; We already can&amp;#39;t get amount-less BOLT-11 invoices broadly supported, rolling out yet another new incompatible version of BOLT-11 and expecting the entire ecosystem to support it doesn&amp;#39;t seem all that likely.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If we&amp;#39;re working towards specifying some &amp;#34;standard&amp;#34; way of doing swaps, (a) I&amp;#39;d be curious to understand why the need isn&amp;#39;t obviated by splice-out, and (b) why it shouldn&amp;#39;t be built on OMs so you can do it more privately.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Matt&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On 6/13/23 1:10 AM, Thomas Voegtlin wrote:&lt;br/&gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I would like to propose an extension to BOLT-11, where an invoice can contain two bundled payments, with distinct preimages and amounts.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The use case is for services that require the prepayment of a mining fee in order for a non-custodian exchange to take place:&lt;br/&gt;&amp;gt;&amp;gt;   - Submarine swaps&lt;br/&gt;&amp;gt;&amp;gt;   - JIT channels&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In both cases, the service provider receives a HTLC for which they do not have the preimage, have to send funds on-chain (to the channel or submarine swap funding address), and wait for the client to reveal the preimage when they claim the payment. Because there is no guarantee that the client will actually claim the payment, the service providers need to ask prepayment of mining fees.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In the case of submarine swaps, services that use dedicated client software, such as Loop by Lightning Labs, can ask for a prepayment, because their software can handle it (this is called &amp;#34;no show penalty&amp;#34; on the Loop website). However, competitors who do require a dedicated wallet, not such as the Boltz exchange, cannot do that. Their website shows an invoice to the user, whose wallet that is agnostic about the swap, and it would be unpractical for them to show two invoices to be paid simultaneously. This creates a situation where Boltz is vulnerable to DoS attacks, where the attacker forces them to pay on-chain fees.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In the case of JIT channels, providers who want to protect themselves against this mining fee attack need to ask the preimage of the main payment before they open the channel. I believe this is what Phoenix does (although their pay-to-open service is not open-source, so I cannot really check). The issue is that a service that asks for the preimage first becomes custodian. From a legal perspective, it does not matter whether they open the channel immediately after receiving the preimage, the ordering of events makes their service custodian. In Europe, such a service will fall within the European MICA regulation. Competitors who refuse to offer custodian services, such as Electrum, are excluded from that game.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In order to solve that, it would be beneficial to bundle the prepayment and the main payment in the same BOLT-11 invoice.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The semantics of bundled payments is as follows:&lt;br/&gt;&amp;gt;&amp;gt;   - 1. the BOLT-11 invoice contains two preimages and two amounts: prepayment and main payment.&lt;br/&gt;&amp;gt;&amp;gt;   - 2. the receiver should wait until all the HTLCs of both payments have arrived, before they fulfill the HTLCs of the pre-payment. If the main payment does not arrive, they should fail the pre-payment with a MPP timeout.&lt;br/&gt;&amp;gt;&amp;gt;   - 3. once the HTLCs of both payments have arrived, the receiver fulfills the HTLCs of the prepayment, and they broadcast their on-chain transaction. Note that the main payment can still fail if the sender never reveal the preimage of the main payment.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Of course, nothing in my proposal prevents the service provider from stealing the pre-payment, but that is already the case today.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I believe this proposal would level the field in terms of competition between lightning service providers. Currently, you need to use a dedicated client in order to use Loop, and competitors who do not have an established user base running a dedicated client are exposed to the mining fee attack. I also believe that ACINQ would benefit from this, because it would make it possible for them to make their pay-to-open service fully non-custodian. My understanding is that in its current form, the &amp;#39;pay-to-open&amp;#39; service used by Phoenix will fall into the scope of the European MICA regulation, which they should consider as a serious issue.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Finally, I believe that such a change should be implemented in BOLT-11, and not using BOLT-12 or onion messages. Indeed, my proposal does not require the exchange of new messages. Some of the initial feedback I received was that this is a use case for BOLT-12 or OM, but I think that this is making things unnecessarily complicated. We should not add new messages when things can be done in a non-interactive way.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&amp;gt; ThomasV&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Electrum Technologies GmbH / Paul-Lincke-Ufer 8d / 10999 Berlin / Germany&lt;br/&gt;Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;Geschäftsführer: Thomas Voegtlin
    </content>
    <updated>2023-06-19T19:42:39&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdnhh3r2h2vjwtqsg43ffhq7rdpy0sfkun7pnjyjfpymw43l2vwuczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2wa4zc3</id>
    
      <title type="html">📅 Original date posted:2023-06-13 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdnhh3r2h2vjwtqsg43ffhq7rdpy0sfkun7pnjyjfpymw43l2vwuczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2wa4zc3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqgw3txhduky6k9zw4jy2wqrlwgran9nrfh78r624jmrdya0qz0jsextmem&#39;&gt;nevent1q…tmem&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-13&lt;br/&gt;🗒️ Summary of this message: Proposal to extend BOLT-11 to include two bundled payments with distinct preimages and amounts to address prepayment of mining fees for non-custodian exchanges.&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning list,&lt;br/&gt;&lt;br/&gt;I would like to propose an extension to BOLT-11, where an invoice can contain two bundled payments, with distinct preimages and amounts.&lt;br/&gt;&lt;br/&gt;The use case is for services that require the prepayment of a mining fee in order for a non-custodian exchange to take place:&lt;br/&gt;  - Submarine swaps&lt;br/&gt;  - JIT channels&lt;br/&gt;&lt;br/&gt;In both cases, the service provider receives a HTLC for which they do not have the preimage, have to send funds on-chain (to the channel or submarine swap funding address), and wait for the client to reveal the preimage when they claim the payment. Because there is no guarantee that the client will actually claim the payment, the service providers need to ask prepayment of mining fees.&lt;br/&gt;&lt;br/&gt;In the case of submarine swaps, services that use dedicated client software, such as Loop by Lightning Labs, can ask for a prepayment, because their software can handle it (this is called &amp;#34;no show penalty&amp;#34; on the Loop website). However, competitors who do require a dedicated wallet, not such as the Boltz exchange, cannot do that. Their website shows an invoice to the user, whose wallet that is agnostic about the swap, and it would be unpractical for them to show two invoices to be paid simultaneously. This creates a situation where Boltz is vulnerable to DoS attacks, where the attacker forces them to pay on-chain fees.&lt;br/&gt;&lt;br/&gt;In the case of JIT channels, providers who want to protect themselves against this mining fee attack need to ask the preimage of the main payment before they open the channel. I believe this is what Phoenix does (although their pay-to-open service is not open-source, so I cannot really check). The issue is that a service that asks for the preimage first becomes custodian. From a legal perspective, it does not matter whether they open the channel immediately after receiving the preimage, the ordering of events makes their service custodian. In Europe, such a service will fall within the European MICA regulation. Competitors who refuse to offer custodian services, such as Electrum, are excluded from that game.&lt;br/&gt;&lt;br/&gt;In order to solve that, it would be beneficial to bundle the prepayment and the main payment in the same BOLT-11 invoice.&lt;br/&gt;&lt;br/&gt;The semantics of bundled payments is as follows:&lt;br/&gt;  - 1. the BOLT-11 invoice contains two preimages and two amounts: prepayment and main payment.&lt;br/&gt;  - 2. the receiver should wait until all the HTLCs of both payments have arrived, before they fulfill the HTLCs of the pre-payment. If the main payment does not arrive, they should fail the pre-payment with a MPP timeout.&lt;br/&gt;  - 3. once the HTLCs of both payments have arrived, the receiver fulfills the HTLCs of the prepayment, and they broadcast their on-chain transaction. Note that the main payment can still fail if the sender never reveal the preimage of the main payment.&lt;br/&gt;&lt;br/&gt;Of course, nothing in my proposal prevents the service provider from stealing the pre-payment, but that is already the case today.&lt;br/&gt;&lt;br/&gt;I believe this proposal would level the field in terms of competition between lightning service providers. Currently, you need to use a dedicated client in order to use Loop, and competitors who do not have an established user base running a dedicated client are exposed to the mining fee attack. I also believe that ACINQ would benefit from this, because it would make it possible for them to make their pay-to-open service fully non-custodian. My understanding is that in its current form, the &amp;#39;pay-to-open&amp;#39; service used by Phoenix will fall into the scope of the European MICA regulation, which they should consider as a serious issue.&lt;br/&gt;&lt;br/&gt;Finally, I believe that such a change should be implemented in BOLT-11, and not using BOLT-12 or onion messages. Indeed, my proposal does not require the exchange of new messages. Some of the initial feedback I received was that this is a use case for BOLT-12 or OM, but I think that this is making things unnecessarily complicated. We should not add new messages when things can be done in a non-interactive way.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;ThomasV
    </content>
    <updated>2023-06-14T16:16:41&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr7a5sr0d35gw7e2r59hv82uzsxegv2zurqny2fs2mr8vljh6wd9qzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2ls4aqy</id>
    
      <title type="html">📅 Original date posted:2018-01-10 📝 Original message:A ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr7a5sr0d35gw7e2r59hv82uzsxegv2zurqny2fs2mr8vljh6wd9qzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2ls4aqy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp4qngxxgd6j2jd4ztlxylvcytcd07semeuavrdgg3phjr3tsa8zq052h65&#39;&gt;nevent1q…2h65&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-10&lt;br/&gt;📝 Original message:A vulnerability has been found in Electrum, and patched in version&lt;br/&gt;3.0.5. Please update your software if you are running an earlier version.&lt;br/&gt;&lt;br/&gt;The following is a copy of the summary and guidelines we posted on our&lt;br/&gt;website: &lt;a href=&#34;https://github.com/spesmilo/electrum-docs/blob/master/cve.rst&#34;&gt;https://github.com/spesmilo/electrum-docs/blob/master/cve.rst&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;A CVE number for the issue has been requested 2 days ago, and has not&lt;br/&gt;been attributed yet.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;JSONRPC vulnerability in Electrum 2.6 to 3.0.4&lt;br/&gt;==============================================&lt;br/&gt;&lt;br/&gt;On January 6th, a vulnerability was disclosed in the Electrum wallet&lt;br/&gt;software, that allows malicious websites to execute wallet commands&lt;br/&gt;through JSONRPC executed in a web browser. The bug affects versions&lt;br/&gt;2.6 to 3.0.4 of Electrum, on all platforms. It also affects clones of&lt;br/&gt;Electrum such as Electron Cash.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Can funds be stolen?&lt;br/&gt;--------------------&lt;br/&gt;&lt;br/&gt;Wallets that are not password protected are at risk of theft, if they&lt;br/&gt;are opened with a version of Electrum older than 3.0.5 while a web&lt;br/&gt;browser is active.&lt;br/&gt;&lt;br/&gt;In addition, the vulnerability allows an attacker to modify user&lt;br/&gt;settings, the list of contacts in a wallet, and the &amp;#34;payto&amp;#34; and&lt;br/&gt;&amp;#34;amount&amp;#34; fields of the user interface while Electrum is running.&lt;br/&gt;&lt;br/&gt;Although there is no known occurrence of Bitcoin theft occurring&lt;br/&gt;because of this vulnerability, the risk increases substantially now&lt;br/&gt;that the vulnerability has been made public.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Can wallet data be leaked?&lt;br/&gt;--------------------------&lt;br/&gt;&lt;br/&gt;Yes, an attacker can obtain private data, such as: Bitcoin addresses,&lt;br/&gt;transaction labels, address labels, wallet contacts and master public&lt;br/&gt;keys.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Can a password-protected wallet be bruteforced?&lt;br/&gt;-----------------------------------------------&lt;br/&gt;&lt;br/&gt;Not realistically. The vulnerability does not allow an attacker to&lt;br/&gt;access encrypted seed or private keys, which would be needed in order&lt;br/&gt;to perform an efficient brute force attack. Without the encrypted&lt;br/&gt;seed, an attacker must try passwords using the JSONRPC interface,&lt;br/&gt;while the user is visiting a malicious page. This is several orders of&lt;br/&gt;magnitude slower than an attack with the encrypted seed, and&lt;br/&gt;restricted in time. Even a weak password will protect against that.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;What should users do?&lt;br/&gt;---------------------&lt;br/&gt;&lt;br/&gt;All users should upgrade their Electrum software, and stop using old&lt;br/&gt;versions.&lt;br/&gt;&lt;br/&gt;Users who did not protect their wallet with a password should create a&lt;br/&gt;new wallet, and move their funds to that wallet. Even if it never&lt;br/&gt;received any funds, a wallet without password should not be used&lt;br/&gt;anymore, because its seed might have been compromised.&lt;br/&gt;&lt;br/&gt;In addition, users should review their settings, and delete all&lt;br/&gt;contacts from their contacts list, because the Bitcoin addresses of&lt;br/&gt;their contacts might have been modified.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;How to upgrade Electrum&lt;br/&gt;-----------------------&lt;br/&gt;&lt;br/&gt;Stop running any version of Electrum older than 3.0.5, and install&lt;br/&gt;Electrum the most recent version. On desktop, make sure you download&lt;br/&gt;Electrum from &lt;a href=&#34;https://electrum.org&#34;&gt;https://electrum.org&lt;/a&gt; and no other website. On Android,&lt;br/&gt;the most recent version is available in Google Play.&lt;br/&gt;&lt;br/&gt;If Electrum 3.0.5 (or any later version) cannot be installed or does&lt;br/&gt;not work on your computer, stop using Electrum on that computer, and&lt;br/&gt;access your funds from a device that can run Electrum 3.0.5. If you&lt;br/&gt;really need to use an older version of Electrum, for example in order&lt;br/&gt;to access wallet seed, make sure that your computer is offline, and&lt;br/&gt;that no web browser is running on the computer at the same time.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Should all users move their funds to a new address?&lt;br/&gt;---------------------------------------------------&lt;br/&gt;&lt;br/&gt;We do not recommend moving funds from password protected wallets. For&lt;br/&gt;wallets that were not password protected, moving funds is an extreme&lt;br/&gt;precaution, that might not be necessary; indeed, if a wallet was&lt;br/&gt;compromised, it is very likely that the attacker would have stolen the&lt;br/&gt;funds immediately.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;When was the issue reported and fixed?&lt;br/&gt;--------------------------------------&lt;br/&gt;&lt;br/&gt;The absence of password protection in the JSONRPC interface was&lt;br/&gt;reported on November 25th, 2017 by user jsmad:&lt;br/&gt;&lt;a href=&#34;https://github.com/spesmilo/electrum/issues/3374&#34;&gt;https://github.com/spesmilo/electrum/issues/3374&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;jsmad&amp;#39;s report was about the Electrum daemon, a piece of software that&lt;br/&gt;runs on web servers and is used by merchants in order to receive&lt;br/&gt;Bitcoin payments. In that context, connections to the daemon from the&lt;br/&gt;outside world must be explicitly authorized, by setting &amp;#39;rpchost&amp;#39; and&lt;br/&gt;&amp;#39;rpcport&amp;#39; in the Electrum configuration.&lt;br/&gt;&lt;br/&gt;On January 6th, 2018, Tavis Ormandy demonstrated that the JSONRPC&lt;br/&gt;interface could be exploited against the Electrum GUI, and that the&lt;br/&gt;attack could be carried out by a web browser running locally, visiting&lt;br/&gt;a webpage with specially crafted JavaScript.&lt;br/&gt;&lt;br/&gt;We released a new version (3.0.4) in the hours following Tavis&amp;#39; post,&lt;br/&gt;with a patch written by mithrandi (Debian packager), that addressed&lt;br/&gt;the attack demonstrated by Tavis. In addition, the Github issue&lt;br/&gt;remained open, because mithrandi&amp;#39;s patch was not adding password&lt;br/&gt;protection to the JSONRPC interface.&lt;br/&gt;&lt;br/&gt;Shortly after the 3.0.4 release we started to work on adding proper&lt;br/&gt;password protection to the JSONRPC interface of the daemon, and that&lt;br/&gt;part was ready on Sunday, January 7th. We also learned on Sunday&lt;br/&gt;afternoon that the first patch was not effective against another,&lt;br/&gt;similar attack, using POST. This is why we did not delay the 3.0.5&lt;br/&gt;release, which includes password protection, and completely disables&lt;br/&gt;JSONRPC in the GUI.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Electrum Technologies GmbH / Waldemarstr 37a / 10999 Berlin / Germany&lt;br/&gt;Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;Geschäftsführer: Thomas Voegtlin
    </content>
    <updated>2023-06-07T20:09:41&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9ga2tl62yf0lefk37ern3mvk0yenj5rd8aqu0xv8xmtzjq83mnyczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2tag4qc</id>
    
      <title type="html">📅 Original date posted:2017-11-02 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9ga2tl62yf0lefk37ern3mvk0yenj5rd8aqu0xv8xmtzjq83mnyczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2tag4qc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfw5erhw04qu7ncq3ukq0uptth7dtz3k4sxgsjm8k3wya3uhjv4yg7gt95g&#39;&gt;nevent1q…t95g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-02&lt;br/&gt;📝 Original message:Electrum 3.0 was tagged and released yesterday night.&lt;br/&gt;&lt;br/&gt;Release notes:&lt;br/&gt;&lt;br/&gt;# Release 3.0 - Uncanny Valley (November 1st, 2017)&lt;br/&gt;&lt;br/&gt;  * The project was migrated to Python3 and Qt5. Python2 is no longer&lt;br/&gt;    supported. If you cloned the source repository, you will need to&lt;br/&gt;    run &amp;#34;python3 setup.py install&amp;#34; in order to install the new&lt;br/&gt;    dependencies.&lt;br/&gt;&lt;br/&gt;  * Segwit support:&lt;br/&gt;&lt;br/&gt;    - Native segwit scripts are supported using a new type of&lt;br/&gt;      seed. The version number for segwit seeds is 0x100. The install&lt;br/&gt;      wizard will not create segwit seeds by default; users must&lt;br/&gt;      opt-in with the segwit option.&lt;br/&gt;&lt;br/&gt;    - Native segwit scripts are represented using bech32 addresses,&lt;br/&gt;      following BIP173. Please note that BIP173 is still in draft&lt;br/&gt;      status, and that other wallets/websites may not support&lt;br/&gt;      it. Thus, you should keep a non-segwit wallet in order to be&lt;br/&gt;      able to receive bitcoins during the transition period. If BIP173&lt;br/&gt;      ends up being rejected or substantially modified, your wallet&lt;br/&gt;      may have to be restored from seed. This will not affect funds&lt;br/&gt;      sent to bech32 addresses, and it will not affect the capacity of&lt;br/&gt;      Electrum to spend these funds.&lt;br/&gt;&lt;br/&gt;    - Segwit scripts embedded in p2sh are supported with hardware&lt;br/&gt;      wallets or bip39 seeds. To create a segwit-in-p2sh wallet,&lt;br/&gt;      trezor/ledger users will need to enter a BIP49 derivation path.&lt;br/&gt;&lt;br/&gt;    - The BIP32 master keys of segwit wallets are serialized using new&lt;br/&gt;      version numbers. The new version numbers encode the script type,&lt;br/&gt;      and they result in the following prefixes:&lt;br/&gt;&lt;br/&gt;         * xpub/xprv : p2pkh or p2sh&lt;br/&gt;         * ypub/yprv : p2wpkh-in-p2sh&lt;br/&gt;         * Ypub/Yprv : p2wsh-in-p2sh&lt;br/&gt;         * zpub/zprv : p2wpkh&lt;br/&gt;         * Zpub/Zprv : p2wsh&lt;br/&gt;&lt;br/&gt;      These values are identical for mainnet and testnet; tpub/tprv&lt;br/&gt;      prefixes are no longer used in testnet wallets.&lt;br/&gt;&lt;br/&gt;    - The Wallet Import Format (WIF) is similarly extended for segwit&lt;br/&gt;      scripts. After a base58-encoded key is decoded to binary, its&lt;br/&gt;      first byte encodes the script type:&lt;br/&gt;&lt;br/&gt;         * 128 &#43; 0: p2pkh&lt;br/&gt;         * 128 &#43; 1: p2wpkh&lt;br/&gt;         * 128 &#43; 2: p2wpkh-in-p2sh&lt;br/&gt;         * 128 &#43; 5: p2sh&lt;br/&gt;         * 128 &#43; 6: p2wsh&lt;br/&gt;         * 128 &#43; 7: p2wsh-in-p2sh&lt;br/&gt;&lt;br/&gt;      The distinction between p2sh and p2pkh in private key means that&lt;br/&gt;      it is not possible to import a p2sh private key and associate it&lt;br/&gt;      to a p2pkh address.&lt;br/&gt;&lt;br/&gt;  * A new version of the Electrum protocol is required by the client&lt;br/&gt;    (version 1.1). Servers using older versions of the protocol will&lt;br/&gt;    not be displayed in the GUI.&lt;br/&gt;&lt;br/&gt;  * By default, transactions are time-locked to the height of the&lt;br/&gt;    current block. Other values of locktime may be passed using the&lt;br/&gt;    command line.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Electrum Technologies GmbH / Waldemarstr 37a / 10999 Berlin / Germany&lt;br/&gt;Sitz, Registergericht: Berlin, Amtsgericht Charlottenburg, HRB 164636&lt;br/&gt;Geschäftsführer: Thomas Voegtlin
    </content>
    <updated>2023-06-07T20:07:30&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0cknyrg9kccfdqgvfgh3u3jatv8jy2j0f0ep23gwfulhg7eremaczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jp5em0</id>
    
      <title type="html">📅 Original date posted:2017-09-17 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0cknyrg9kccfdqgvfgh3u3jatv8jy2j0f0ep23gwfulhg7eremaczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jp5em0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrescgwgdhzjkyjyx484mk6l9ts6yjyflcd69um30uhuf4jpeql6q9qk3l5&#39;&gt;nevent1q…k3l5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-17&lt;br/&gt;📝 Original message:On 17.09.2017 04:29, Pieter Wuille wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This has been a low-priority thing for me, though, and the computation work&lt;br/&gt;&amp;gt; to find a good checksum is significant.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;Thanks for the info. I guess this means that a bech32 format for private&lt;br/&gt;keys is not going to happen soon. Even if such a format was available,&lt;br/&gt;the issue would remain for segwit-in-p2sh addresses, which use base58.&lt;br/&gt;&lt;br/&gt;The ambiguity of the WIF format is currently holding me from releasing a&lt;br/&gt;segwit-capable version of Electrum. I believe it is not acceptable to&lt;br/&gt;use the current WIF format with segwit scripts; that would just create&lt;br/&gt;technological debt, forcing wallets to try all possible scripts. There&lt;br/&gt;is a good reason why WIF adds a 0x01 byte for compressed pubkeys; it&lt;br/&gt;makes it unambiguous.&lt;br/&gt;&lt;br/&gt;I see only two options:&lt;br/&gt; 1. Disable private keys export in Electrum Segwit wallets, until a&lt;br/&gt;common WIF extension has been agreed on.&lt;br/&gt; 2. Define my own WIF extension for Electrum, and go ahead with it.&lt;br/&gt;&lt;br/&gt;Defining my own format does make sense for the xpub/xprv format, because&lt;br/&gt;Electrum users need to share master public keys across Electrum wallets.&lt;br/&gt;It makes much less sense for WIF, though, because WIF is mostly used to&lt;br/&gt;import/sweep keys from other wallets.&lt;br/&gt;&lt;br/&gt;I would love to know what other wallet developers are going to do,&lt;br/&gt;especially Core. Are you going to export private keys used in segwit&lt;br/&gt;scripts in the current WIF format?
    </content>
    <updated>2023-06-07T20:06:06&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw4hv0gdvf7ql2xumqrzzddw4a64kat02y2qhvedx0lnkc9vv3k0gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2y5tk8r</id>
    
      <title type="html">📅 Original date posted:2017-09-05 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw4hv0gdvf7ql2xumqrzzddw4a64kat02y2qhvedx0lnkc9vv3k0gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2y5tk8r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvrfq44juf7y2g4ary7cjjzppyafw0ysyxr84zd5tejx6cxv84yygq0julq&#39;&gt;nevent1q…julq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-05&lt;br/&gt;📝 Original message:On 05.09.2017 19:03, Luke Dashjr wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; It seems desirable to use the same seed for all different script formats...&lt;br/&gt;&lt;br/&gt;That does not seem desirable to everybody.&lt;br/&gt;&lt;br/&gt;If you want to guarantee that users will be able to recover all their&lt;br/&gt;funds from their mnemonic seed (and that is what they expect), then&lt;br/&gt;wallets must implement all script formats, even the ones that are&lt;br/&gt;deprecated. In addition, the list of script formats that must be&lt;br/&gt;supported is not defined in advance, but it keeps growing. This makes&lt;br/&gt;wallet implementation increasingly difficult. In the long run, seed&lt;br/&gt;portability is guaranteed to fail in such a system.&lt;br/&gt;&lt;br/&gt;&amp;gt; As you note, xpub\xprv are already being used for both P2PKH and P2SH. It &lt;br/&gt;&amp;gt; really doesn&amp;#39;t make sense to differentiate segwit specifically.&lt;br/&gt;&lt;br/&gt;That&amp;#39;s not a reason. The fact that xpub/xprv can be used for both P2PKH&lt;br/&gt;and P2SH has already resulted in users receiving coins on addresses they&lt;br/&gt;do not control.
    </content>
    <updated>2023-06-07T20:05:22&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfeceatqcmzu46u3mmgym7eafa6k4vtk8aj8pjrlakzgjpad73lzczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2fj7s23</id>
    
      <title type="html">📅 Original date posted:2017-09-05 📝 Original message:BIP32 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfeceatqcmzu46u3mmgym7eafa6k4vtk8aj8pjrlakzgjpad73lzczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2fj7s23" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2jgalr0zjtuumej9j67035xwxqsmudaqfaceunvrtjjza9eejceccsugne&#39;&gt;nevent1q…ugne&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-05&lt;br/&gt;📝 Original message:BIP32 extended public/private keys have version bytes that result in the&lt;br/&gt;user visible xpub/xprv prefix. The BIP&amp;#39;s recommendation is to use&lt;br/&gt;different version bytes for other networks (such as tpub/tprv for testnet)&lt;br/&gt;&lt;br/&gt;I would like to use additional version bytes to indicate the type of&lt;br/&gt;output script used with the public keys.&lt;br/&gt;&lt;br/&gt;I believe the change should be user visible, because users are exposed&lt;br/&gt;to master public keys. I propose the following prefixes:&lt;br/&gt;&lt;br/&gt;========== =========== ===================================&lt;br/&gt;Version    Prefix      Description&lt;br/&gt;========== =========== ===================================&lt;br/&gt;0x0488ade4 xprv        P2PKH or P2SH&lt;br/&gt;0x0488b21e xpub        P2PKH or P2SH&lt;br/&gt;0x049d7878 yprv        (P2WPKH or P2WSH) nested in P2SH&lt;br/&gt;0x049d7cb2 ypub        (P2WPKH or P2WSH) nested in P2SH&lt;br/&gt;0x04b2430c zprv        P2WPKH or P2WSH&lt;br/&gt;0x04b24746 zpub        P2WPKH or P2WSH&lt;br/&gt;========== =========== ===================================&lt;br/&gt;(source: &lt;a href=&#34;http://docs.electrum.org/en/latest/seedphrase.html&#34;&gt;http://docs.electrum.org/en/latest/seedphrase.html&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;I have heard the argument that xpub/xprv serialization is a format for&lt;br/&gt;keys, and that it should not be used to encode how these keys are used.&lt;br/&gt;However, the very existence of version bytes, and the fact that they are&lt;br/&gt;used to signal whether keys will be used on testnet or mainnet goes&lt;br/&gt;against that argument.&lt;br/&gt;&lt;br/&gt;If we do not signal the script type in the version bytes, I believe&lt;br/&gt;wallet developers are going to use dirtier tricks, such as the bip32&lt;br/&gt;child number field in combination with bip43/bip44/bip49.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thomas
    </content>
    <updated>2023-06-07T20:05:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrf6pq4gwkw4d50a6ql7kvz8kdm9wft003y6gxgrugyt6ssy6n7sszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2eayydt</id>
    
      <title type="html">📅 Original date posted:2017-09-05 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrf6pq4gwkw4d50a6ql7kvz8kdm9wft003y6gxgrugyt6ssy6n7sszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2eayydt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz2vuyxfaqvqtwr48s6f7grxgcer2yjuj47ztdenz4qkrf5q6lv7q3qv6mx&#39;&gt;nevent1q…v6mx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-05&lt;br/&gt;📝 Original message:On 05.09.2017 09:10, shiva sitamraju via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thanks Thomas. The procedure described in&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://docs.electrum.org/en/latest/seedphrase.html&#34;&gt;http://docs.electrum.org/en/latest/seedphrase.html&lt;/a&gt; is really what I was&lt;br/&gt;&amp;gt; looking for ! I really don&amp;#39;t see any point of following BIP49, If possible&lt;br/&gt;&amp;gt; it would be great if you can propose an alternative to BIP49 that follows&lt;br/&gt;&amp;gt; similar structure to what is used in electrum.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I have proposed following changes to BIP32 serialization format&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#serialization-format&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#serialization-format&lt;/a&gt;&lt;br/&gt;&amp;gt; to differentiate segwit xpub/xprv. Below the list of new version bytes,&lt;br/&gt;&amp;gt; resulting base58 prefix and network type:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 0x042393df ,  sxpr ,   segwit mainnet private key&lt;br/&gt;&amp;gt; 0x04239377 , sxpb , segwit mainnet public key&lt;br/&gt;&amp;gt; 0x04222463 , stpb ,  segwit testnet public key&lt;br/&gt;&amp;gt; 0x042224cc ,  stpr ,  segwit testnet private key&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;I have proposed a similar idea, with letters z,y,z combined with pub/prv&lt;br/&gt;(see the electrum documentation page)&lt;br/&gt;&lt;br/&gt;The point is that we need 3 types of keys, not 2, because there are two&lt;br/&gt;types of segwit output scripts: native and nested in p2sh.&lt;br/&gt;&lt;br/&gt;We could use t,u,v for testnet.
    </content>
    <updated>2023-06-07T20:05:16&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy42fj9pdn2g7y39rtaaadf97gef892ynvdpcwc5u6gffqwvj73pqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2qw7cpt</id>
    
      <title type="html">📅 Original date posted:2017-09-03 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy42fj9pdn2g7y39rtaaadf97gef892ynvdpcwc5u6gffqwvj73pqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2qw7cpt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyddz2xnthlntgcekywwlxjhdz9eta9aswv6k7hmpp7x67eqhs3rqklc4tm&#39;&gt;nevent1q…c4tm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-03&lt;br/&gt;📝 Original message:On 30.08.2017 09:24, shiva sitamraju via bitcoin-dev wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 2. Segwit wallet seed words have a different format which is incompatible&lt;br/&gt;&amp;gt; with previous wallet seed words. This  encodes the information that this&lt;br/&gt;&amp;gt; wallet is segwit in the seed words itself. We need to define a structure&lt;br/&gt;&amp;gt; for this&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;That is what Electrum does.&lt;br/&gt;See &lt;a href=&#34;http://docs.electrum.org/en/latest/seedphrase.html&#34;&gt;http://docs.electrum.org/en/latest/seedphrase.html&lt;/a&gt;
    </content>
    <updated>2023-06-07T20:05:15&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvjw90vhvjf50mnsge6d9dckexdx9jx00s235d95h5jr9p4y0p42szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2524j6y</id>
    
      <title type="html">📅 Original date posted:2016-08-24 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvjw90vhvjf50mnsge6d9dckexdx9jx00s235d95h5jr9p4y0p42szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2524j6y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxda4p64ny6t43pqqmehvhqzsg48g3w4ky6mw88hve4svc408377salrpmw&#39;&gt;nevent1q…rpmw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-24&lt;br/&gt;📝 Original message:Le 23/08/2016 à 22:12, Luke Dashjr via bitcoin-dev a écrit :&lt;br/&gt;&amp;gt; BIP 39: Mnemonic code for generating deterministic keys&lt;br/&gt;&amp;gt; - Used by many wallets and hundreds of thousands of users.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; BIP 44: Multi-Account Hierarchy for Deterministic Wallets&lt;br/&gt;&amp;gt; - Appears to be implemented by multiple wallets.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;I personally believe that BIP39/BIP44 is a bad design. There is limited&lt;br/&gt;support for these BIPs in Electrum, in order to provide compatibility&lt;br/&gt;with hardware wallets. However, I do not plan to use BIP39/BIP44 for&lt;br/&gt;default Electrum wallets, for the following reasons.&lt;br/&gt;&lt;br/&gt;(Note that it does not make sense to consider BIP39 and BIP44&lt;br/&gt;independently. Any wallet that decides to implement one without the&lt;br/&gt;other would be considered as broken.)&lt;br/&gt;&lt;br/&gt;Here is why I rejected this design:&lt;br/&gt;&lt;br/&gt;1 - BIP44 uses multiple accounts. This means that in order to be&lt;br/&gt;compatible with the standard, a wallet *must* implement multiple&lt;br/&gt;accounts. A wallet that decides to keep things simple and use only one&lt;br/&gt;account, will not allow users to recover all their funds when they&lt;br/&gt;restore from a BIP39 seed, and will be considered as broken.&lt;br/&gt;&lt;br/&gt;2 - An appealing feature of deterministic wallets is that you can use&lt;br/&gt;the same instance of your wallet on different devices. Two instances of&lt;br/&gt;your wallet can automatically synchronize their Bitcoin addresses, and&lt;br/&gt;display the same balance. The problem is that hardened derivations break&lt;br/&gt;this property. Indeed, with hardened derivations, software wallets need&lt;br/&gt;to ask the user&amp;#39;s password in order to derive new accounts. Therefore,&lt;br/&gt;in order to implement automated detection of newly created accounts, a&lt;br/&gt;BIP44-compatible software wallets would need to ask the user&amp;#39;s password&lt;br/&gt;whenever a new account is detected. This means that the wallet would ask&lt;br/&gt;the password without the user initiating any action. This seems to be an&lt;br/&gt;avenue for malware.&lt;br/&gt;&lt;br/&gt;Of course, hardware wallets do not have that issue, because they can&lt;br/&gt;derive new accounts without requesting a password from the user. BIP44&lt;br/&gt;is a standard that has been designed for hardware wallets, but that&lt;br/&gt;makes things really difficult for software wallets.&lt;br/&gt;&lt;br/&gt;3 - Unneeded complexity. From an end user perspective, the multiple&lt;br/&gt;accounts in BIP44 achieve the same result as using different derivation&lt;br/&gt;passphrases with the same BIP39 seed phrase. The only real difference is&lt;br/&gt;that BIP44 accounts can be enumerated deterministically, while&lt;br/&gt;passphrases in general cannot. However, this property is of limited&lt;br/&gt;interest, because automatic synchronization of multiple accounts cannot&lt;br/&gt;be guaranteed for bip44 software wallets, as explained in 2.&lt;br/&gt;&lt;br/&gt;4 - BIP39 is inconsistent. It uses a hash of the utf8 encoded &amp;#39;seed&lt;br/&gt;phrase&amp;#39; in order to derive the BIP32 seed. This hash-based derivation&lt;br/&gt;was added on my suggestion, in order to make the BIP independent from&lt;br/&gt;the particular wordlist used to generate the seed phrases. However,&lt;br/&gt;BIP39 also requires the implementation of a checksum, in order to verify&lt;br/&gt;that a seed phrase is valid. Suprisingly, the specification of the&lt;br/&gt;checksum involves wordlist indices. This means the checksum (and thus&lt;br/&gt;the BIP) requires a fixed wordlist. This defeats the purpose of using a&lt;br/&gt;hash for the derivation of the seed.&lt;br/&gt;&lt;br/&gt;The authors of the BIP should either have used hash functions for both&lt;br/&gt;the seed AND the checksum (that is what Electrum does), or for none of&lt;br/&gt;them (in that case case, you can have a bidirectional function between&lt;br/&gt;seed phrases and entropy, which is nice if you want to perform Shamir&lt;br/&gt;secret sharing of seed phrases, at the expenses of a fixed wordlist). In&lt;br/&gt;its current state, BIP39 takes the worst of both worlds.&lt;br/&gt;&lt;br/&gt;5 - The fact that the wordlist must be part of BIP39, and cannot be&lt;br/&gt;changed in the future, seems a terrible idea to me. I believe that a&lt;br/&gt;specification should always try to be minimal. In that case, the&lt;br/&gt;specification includes a 2000&#43; words dictionary, when it could have&lt;br/&gt;avoided that.&lt;br/&gt;&lt;br/&gt;Even if you decide that BIP39 is final, there will always be users&lt;br/&gt;requiring the addition of wordlists for new languages. So, in practice,&lt;br/&gt;this BIP will never be final.&lt;br/&gt;&lt;br/&gt;6 - Finally, and most importantly, BIP39 seed phrases do not have a&lt;br/&gt;version number. Without a version number, how are you going to derive&lt;br/&gt;addresses from a BIP39 seed phrase, when wallets start to use to new&lt;br/&gt;derivation methods (such as SegWit, or Schnorr signatures)? Does it mean&lt;br/&gt;that a BIP39 compatible wallet will have to check addresses from all the&lt;br/&gt;derivation methods that ever existed in the past, in order to ensure&lt;br/&gt;that all coins are correctly retrieved? Or will there be users that&lt;br/&gt;cannot access their coins because their BIP39 seed phrase is too old for&lt;br/&gt;newer software?&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 836 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160824/926591b8/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160824/926591b8/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:53:02&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvzz7efg5awc740pjzse2cp0ej73cjj2j8p6puu2mc2gg9mygssuczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nzdayc</id>
    
      <title type="html">📅 Original date posted:2016-06-22 📝 Original message:IMO ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvzz7efg5awc740pjzse2cp0ej73cjj2j8p6puu2mc2gg9mygssuczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nzdayc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv7eelgqvmpwlf7hsqgpzhyhy89fgf9qrwgnx5s4n9uprk4wunvjskekvx3&#39;&gt;nevent1q…kvx3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-22&lt;br/&gt;📝 Original message:IMO the moderate success of BIP70 is caused by its complexity. Since the&lt;br/&gt;amount of data in a BIP70 payment request does not fit in a bitcoin:&lt;br/&gt;URI, an https server is required to serve the requests.&lt;br/&gt;&lt;br/&gt;Only large merchants are able to maintain such an infrastructure; (even&lt;br/&gt;Coinbase recently failed at it, they forgot to update their&lt;br/&gt;certificate). For end users that is completely unpractical.&lt;br/&gt;&lt;br/&gt;The main benefit of BIP70 is that the payment request is signed by the&lt;br/&gt;requestor; this gives the sender a proof that they are sending to the&lt;br/&gt;right person, and that the person actually requested the payment.&lt;br/&gt;&lt;br/&gt;The same benefit can be achieved without the complexity of BIP70, by&lt;br/&gt;extending the Bitcoin URI scheme. The requestor is authenticated using&lt;br/&gt;DNSSEC, and the payment request is signed using an EC private key. A&lt;br/&gt;domain name and an EC signature are short enough to fit in a Bitcoin URI&lt;br/&gt;and to be shared by QR code or SMS text.&lt;br/&gt;&lt;br/&gt; bitcoin:address?amount=xx&amp;amp;message=yyy&amp;amp;name=john.example.com&amp;amp;sig=zzz&lt;br/&gt;&lt;br/&gt;The URI scheme is extended with two fields:&lt;br/&gt; name: DNS name containing a public key or bitcoin address&lt;br/&gt; sig: signature&lt;br/&gt;&lt;br/&gt;That extension is sufficient to provide authenticated requests, without&lt;br/&gt;requiring a https server. The signed data can be serialized from the&lt;br/&gt;URI, and DNSSEC verification succeeds without requesting extra data from&lt;br/&gt;the requestor. The only assumption is that the verifier is able to make&lt;br/&gt;DNS requests.&lt;br/&gt;&lt;br/&gt;I am willing to write a BIP if other wallet developers are interested.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 20/06/2016 19:33, Erik Aronesty via bitcoin-dev a écrit :&lt;br/&gt;&amp;gt; BIP 0070 has been a a moderate success, however, IMO:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - protocol buffers are inappropriate since ease of use and extensibility is&lt;br/&gt;&amp;gt; desired over the minor gains of efficiency in this protocol.  Not too late&lt;br/&gt;&amp;gt; to support JSON messages as the standard going forward&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - problematic reliance on merchant-supplied https (X509) as the sole form&lt;br/&gt;&amp;gt; of mechant identification.   alternate schemes (dnssec/netki), pgp and&lt;br/&gt;&amp;gt; possibly keybase seem like good ideas.   personally, i like keybase, since&lt;br/&gt;&amp;gt; there is no reliance on the existing domain-name system (you can sell with&lt;br/&gt;&amp;gt; a github id, for example)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - missing an optional client supplied identification&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - lack of basic subscription support&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; *Proposed for subscriptions:*&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - BIP0047 payment codes are recommended instead of wallet addresses when&lt;br/&gt;&amp;gt; establishing subscriptions.  Or, merchants can specify replacement&lt;br/&gt;&amp;gt; addresses in ACK/NACK responses.   UI confirms are *required *when there&lt;br/&gt;&amp;gt; are no replacement addresses or payment codes used.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Wallets must confirm and store subscriptions, and are responsible for&lt;br/&gt;&amp;gt; initiating them at the specified interval.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Intervals can *only *be from a preset list: weekly, biweekly, or 1,&lt;br/&gt;&amp;gt; 2,3,4,6 or 12 months.   Intervals missed by more than 3 days cause&lt;br/&gt;&amp;gt; suspension until the user re-verifies.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Wallets *may *optionally ask the user whether they want to be notified&lt;br/&gt;&amp;gt; and confirm every interval - or not.   Wallets that do not ask *must *notify&lt;br/&gt;&amp;gt; before initiating each payment.   Interval confirmations should begin at *least&lt;br/&gt;&amp;gt; *1 day in advance of the next payment.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; *Proposed in general:*&lt;br/&gt;&amp;gt; - JSON should be used instead of protocol buffers going forward.  Easier to&lt;br/&gt;&amp;gt; use, explain extend.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - &amp;#34;Extendible&amp;#34; URI-like scheme to support multi-mode identity mechanisms on&lt;br/&gt;&amp;gt; both payment and subscription requests.   Support for keybase://, netki://&lt;br/&gt;&amp;gt; and others as alternates to https://.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Support for client as well as merchant multi-mode verification&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Ideally, the identity verification URI scheme is somewhat&lt;br/&gt;&amp;gt; orthogonal/independent of the payment request itself&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Question:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Should this be a new BIP?  I know netki&amp;#39;s BIP75 is out there - but I think&lt;br/&gt;&amp;gt; it&amp;#39;s too specific and too reliant on the domain name system.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Maybe an identity-protocol-agnostic BIP &#43; solid implementation of a couple&lt;br/&gt;&amp;gt; major protocols without any mention of payment URI&amp;#39;s ... just a way of&lt;br/&gt;&amp;gt; sending and receiving identity verified messages in general?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I would be happy to implement plugins for identity protocols, if anyone&lt;br/&gt;&amp;gt; thinks this is a good idea.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Does anyone think https:// or keybase, or PGP or netki all by themselves,&lt;br/&gt;&amp;gt; is enough - or is it always better to have an extensible protocol?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Erik Aronesty&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; 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;
    </content>
    <updated>2023-06-07T19:51:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv7khcnkxf5mqf4yaq3t6990y49rm8e4eaqep6n5z4zcy2fzu8mtszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2n3l83h</id>
    
      <title type="html">📅 Original date posted:2015-07-22 📝 Original message:Hello, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv7khcnkxf5mqf4yaq3t6990y49rm8e4eaqep6n5z4zcy2fzu8mtszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2n3l83h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsprzuau48p3xccgqkf9k2raffclucdta2pkjh2h2dmv2hp2y3mv5syhk66l&#39;&gt;nevent1q…k66l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-07-22&lt;br/&gt;📝 Original message:Hello,&lt;br/&gt;&lt;br/&gt;Although Electrum clients connect to several servers in order to fetch&lt;br/&gt;block headers, they typically request address balances and address&lt;br/&gt;histories from a single server. This means that the chosen server knows&lt;br/&gt;that a given set of addresses belong to the same wallet. That is true&lt;br/&gt;even if Electrum is used over TOR.&lt;br/&gt;&lt;br/&gt;There have been various proposals to improve on that, but none of them&lt;br/&gt;really convinced me so far. One recurrent proposal has been to create&lt;br/&gt;subsets of wallet addresses, and to send them to separate servers. In my&lt;br/&gt;opinion, this does not really improve anonymity, because it requires&lt;br/&gt;trusting more servers.&lt;br/&gt;&lt;br/&gt;Here is an idea, inspired by TOR, on which I would like to have some&lt;br/&gt;feedback: We create an anonymous routing layer between Electrum servers&lt;br/&gt;and clients.&lt;br/&gt;&lt;br/&gt;* Each server S publishes a RSA public key, KS&lt;br/&gt;* Each client receives a list of available servers and their pubkeys&lt;br/&gt;* For each wallet address, addr_i, a client chooses a server S_i, and a&lt;br/&gt;RSA keypair (K_addr_i, k_addr_i)&lt;br/&gt;* The client creates a list of encrypted requests. Each request contains&lt;br/&gt;addr_i and K_addr_i, and is encrypted with the pubkey KS_i of S_i&lt;br/&gt;* The client chooses a main server M, and sends the list of encrypted&lt;br/&gt;requests to M&lt;br/&gt;* M dispatches the client&amp;#39;s requests to the corresponding servers S_i&lt;br/&gt;(without the client&amp;#39;s IP address.)&lt;br/&gt;* Each server decrypts the requests it receives, performs the request,&lt;br/&gt;and encrypts the result with K_addr_i&lt;br/&gt;* M receives encrypted responses, and forwards them to the client.&lt;br/&gt;* The client decrypts the encrypted response with k_addr_i&lt;br/&gt;&lt;br/&gt;What do you think? What are the costs and benefits of such an approach?&lt;br/&gt;&lt;br/&gt;(Note: this will not work if all servers, or a large fraction of them,&lt;br/&gt;are controlled by the same entity that controls M)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thomas
    </content>
    <updated>2023-06-07T17:42:43&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdv4myjjte8an5u5uraxahhjcpv66uj89musdget3wk4hpkmpvv7gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rfh04e</id>
    
      <title type="html">📅 Original date posted:2015-05-12 📝 Original message:Thank ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdv4myjjte8an5u5uraxahhjcpv66uj89musdget3wk4hpkmpvv7gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rfh04e" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspyqskl58d5dcy0nc3fu75wp0sj7c9nqffp0euzuyuq46lg5a2dtcxdevhq&#39;&gt;nevent1q…evhq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-05-12&lt;br/&gt;📝 Original message:Thank you for your answer.&lt;br/&gt;&lt;br/&gt;I agree that a lot of things will change, and I am not asking for a&lt;br/&gt;prediction of technological developments; prediction is certainly&lt;br/&gt;impossible. What I would like to have is some sort of reference scenario&lt;br/&gt;for the future of Bitcoin. Something a bit like the Standard Model in&lt;br/&gt;Physics. The reference scenario should not be a prediction of the&lt;br/&gt;future, that&amp;#39;s not the point. In fact, it will have to be updated&lt;br/&gt;everytime technological evolutions or code changes render it obsolete.&lt;br/&gt;&lt;br/&gt;However, the reference scenario should be a workable path through the&lt;br/&gt;future, using today&amp;#39;s technologies and today&amp;#39;s knowlegde, and including&lt;br/&gt;all planned code changes. It should be, as much as possible, amenable to&lt;br/&gt;quantitative analysis. It could be used to justify controversial&lt;br/&gt;decisions such as a hard fork.&lt;br/&gt;&lt;br/&gt;Your proposal of a block size increase would be much stronger if it came&lt;br/&gt;with such a scenario. It would show that you know where you are going.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 11/05/2015 19:29, Gavin Andresen a écrit :&lt;br/&gt;&amp;gt; I think long-term the chain will not be secured purely by proof-of-work. I&lt;br/&gt;&amp;gt; think when the Bitcoin network was tiny running solely on people&amp;#39;s home&lt;br/&gt;&amp;gt; computers proof-of-work was the right way to secure the chain, and the only&lt;br/&gt;&amp;gt; fair way to both secure the chain and distribute the coins.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; See &lt;a href=&#34;https://gist.github.com/gavinandresen/630d4a6c24ac6144482a&#34;&gt;https://gist.github.com/gavinandresen/630d4a6c24ac6144482a&lt;/a&gt;  for some&lt;br/&gt;&amp;gt; half-baked thoughts along those lines. I don&amp;#39;t think proof-of-work is the&lt;br/&gt;&amp;gt; last word in distributed consensus (I also don&amp;#39;t think any alternatives are&lt;br/&gt;&amp;gt; anywhere near ready to deploy, but they might be in ten years).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I also think it is premature to worry about what will happen in twenty or&lt;br/&gt;&amp;gt; thirty years when the block subsidy is insignificant. A lot will happen in&lt;br/&gt;&amp;gt; the next twenty years. I could spin a vision of what will secure the chain&lt;br/&gt;&amp;gt; in twenty years, but I&amp;#39;d put a low probability on that vision actually&lt;br/&gt;&amp;gt; turning out to be correct.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; That is why I keep saying Bitcoin is an experiment. But I also believe that&lt;br/&gt;&amp;gt; the incentives are correct, and there are a lot of very motivated, smart,&lt;br/&gt;&amp;gt; hard-working people who will make it work. When you&amp;#39;re talking about trying&lt;br/&gt;&amp;gt; to predict what will happen decades from now, I think that is the best you&lt;br/&gt;&amp;gt; can (honestly) do.&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:34:45&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszf80gqdldpedz747xhaf8sl4x9qy6q2d5th3jaeym3nvug3jr4xgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2408jmy</id>
    
      <title type="html">📅 Original date posted:2015-05-11 📝 Original message:The ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszf80gqdldpedz747xhaf8sl4x9qy6q2d5th3jaeym3nvug3jr4xgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2408jmy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsylj58vm9nvg55ftfn8zgnkt42kkzn8schnqasfffcmpurq0punzg83n4t4&#39;&gt;nevent1q…n4t4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-05-11&lt;br/&gt;📝 Original message:The discussion on block size increase has brought some attention to the&lt;br/&gt;other elephant in the room: Long-term mining incentives.&lt;br/&gt;&lt;br/&gt;Bitcoin derives its current market value from the assumption that a&lt;br/&gt;stable, steady-state regime will be reached in the future, where miners&lt;br/&gt;have an incentive to keep mining to protect the network. Such a steady&lt;br/&gt;state regime does not exist today, because miners get most of their&lt;br/&gt;reward from the block subsidy, which will progressively be removed.&lt;br/&gt;&lt;br/&gt;Thus, today&amp;#39;s 3 billion USD question is the following: Will a steady&lt;br/&gt;state regime be reached in the future? Can such a regime exist? What are&lt;br/&gt;the necessary conditions for its existence?&lt;br/&gt;&lt;br/&gt;Satoshi&amp;#39;s paper suggests that this may be achieved through miner fees.&lt;br/&gt;Quite a few people seem to take this for granted, and are working to&lt;br/&gt;make it happen (developing cpfp and replace-by-fee). This explains part&lt;br/&gt;of the opposition to raising the block size limit; some people would&lt;br/&gt;like to see some fee pressure building up first, in order to get closer&lt;br/&gt;to a regime where miners are incentivised by transaction fees instead of&lt;br/&gt;block subsidy. Indeed, the emergence of a working fee market would be&lt;br/&gt;extremely reassuring for the long-term viability of bitcoin. So, the&lt;br/&gt;thinking goes, by raising the block size limit, we would be postponing a&lt;br/&gt;crucial reality check. We would be buying time, at the expenses of&lt;br/&gt;Bitcoin&amp;#39;s decentralization.&lt;br/&gt;&lt;br/&gt;OTOH, proponents of a block size increase have a very good point: if the&lt;br/&gt;block size is not raised soon, Bitcoin is going to enter a new, unknown&lt;br/&gt;and potentially harmful regime. In the current regime, almost all&lt;br/&gt;transaction get confirmed quickly, and fee pressure does not exist. Mike&lt;br/&gt;Hearn suggested that, when blocks reach full capacity and users start to&lt;br/&gt;experience confirmation delays and confirmation uncertainty, users will&lt;br/&gt;simply go away and stop using Bitcoin. To me, that outcome sounds very&lt;br/&gt;plausible indeed. Thus, proponents of the block size increase are&lt;br/&gt;conservative; they are trying to preserve the current regime, which is&lt;br/&gt;known to work, instead of letting the network enter uncharted territory.&lt;br/&gt;&lt;br/&gt;My problem is that this seems to lacks a vision. If the maximal block&lt;br/&gt;size is increased only to buy time, or because some people think that 7&lt;br/&gt;tps is not enough to compete with VISA, then I guess it would be&lt;br/&gt;healthier to try and develop off-chain infrastructure first, such as the&lt;br/&gt;Lightning network.&lt;br/&gt;&lt;br/&gt;OTOH, I also fail to see evidence that a limited block capacity will&lt;br/&gt;lead to a functional fee market, able to sustain a steady state. A&lt;br/&gt;functional market requires well-informed participants who make rational&lt;br/&gt;choices and accept the outcomes of their choices. That is not the case&lt;br/&gt;today, and to believe that it will magically happen because blocks start&lt;br/&gt;to reach full capacity sounds a lot like like wishful thinking.&lt;br/&gt;&lt;br/&gt;So here is my question, to both proponents and opponents of a block size&lt;br/&gt;increase: What steady-state regime do you envision for Bitcoin, and what&lt;br/&gt;is is your plan to get there? More specifically, how will the&lt;br/&gt;steady-state regime look like? Will users experience fee pressure and&lt;br/&gt;delays, or will it look more like a scaled up version of what we enjoy&lt;br/&gt;today? Should fee pressure be increased jointly with subsidy decrease,&lt;br/&gt;or as soon as possible, or never? What incentives will exist for miners&lt;br/&gt;once the subsidy is gone? Will miners have an incentive to permanently&lt;br/&gt;fork off the last block and capture its fees? Do you expect Bitcoin to&lt;br/&gt;work because miners are altruistic/selfish/honest/caring?&lt;br/&gt;&lt;br/&gt;A clear vision would be welcome.
    </content>
    <updated>2023-06-07T17:34:44&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszfvpmyan7su06x759y8ws0676h3772sc83c4czh0ry5q9y9myq7czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2gf62g6</id>
    
      <title type="html">📅 Original date posted:2015-05-28 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszfvpmyan7su06x759y8ws0676h3772sc83c4czh0ry5q9y9myq7czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2gf62g6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszvlw8avjcns2xh7wv3uuucj2pst2td2jkzlyfdsnypq7x9hcgeesem3mhj&#39;&gt;nevent1q…3mhj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-05-28&lt;br/&gt;📝 Original message:Le 28/05/2015 17:53, Gavin Andresen a écrit :&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; So my straw-man proposal would be:  max size 2x average size over last 144&lt;br/&gt;&amp;gt; blocks, calculated at every block.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;I like that idea.&lt;br/&gt;&lt;br/&gt;Average is a better choice than median. The median is not well defined&lt;br/&gt;on discrete sets, as shown in your example, and there is no need to be&lt;br/&gt;robust to outliers, thanks to the max size.
    </content>
    <updated>2023-06-07T17:34:10&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw2kcuanw77d25g2u4n9kuszv2yzvg59usv2c0nt86rlutkazd2yqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2r907ez</id>
    
      <title type="html">📅 Original date posted:2015-05-10 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw2kcuanw77d25g2u4n9kuszv2yzvg59usv2c0nt86rlutkazd2yqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2r907ez" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8ujv6lw5g9057cpreka0gtnyj70jzju2lllnmn7xzs9j6x3axmcg0z47rx&#39;&gt;nevent1q…47rx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-05-10&lt;br/&gt;📝 Original message:Le 11/05/2015 00:31, Mark Friedenbach a écrit :&lt;br/&gt;&amp;gt; I&amp;#39;m on my phone today so I&amp;#39;m somewhat constrained in my reply, but the key&lt;br/&gt;&amp;gt; takeaway is that the proposal is a mechanism for miners to trade subsidy&lt;br/&gt;&amp;gt; for the increased fees of a larger block. Necessarily it only makes sense&lt;br/&gt;&amp;gt; to do so when the marginal fee per KB exceeds the subsidy fee per KB. It&lt;br/&gt;&amp;gt; correspondingly makes sense to use a smaller block size if fees are less&lt;br/&gt;&amp;gt; than subsidy, but note that fees are not uniform and as the block shrinks&lt;br/&gt;&amp;gt; the marginal fee rate goes up..&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;Oh I see, you expect the sign of the dE/dx to change depending on&lt;br/&gt;whether fees exceed the subsidy. This is possible, but instead of the&lt;br/&gt;linear identity, you have to increase the block size twice as fast as&lt;br/&gt;the difficulty. In that case we would get (using the notations of my&lt;br/&gt;previous email):&lt;br/&gt;&lt;br/&gt;D&amp;#39; = D(1&#43;x)&lt;br/&gt;F&amp;#39; = F(1&#43;2x)&lt;br/&gt;&lt;br/&gt;and thus:&lt;br/&gt;&lt;br/&gt;E&amp;#39; - E = x/(1&#43;x)P(F-S)&lt;br/&gt;&lt;br/&gt;The presence of the (F-S) factor means that the sign reversal occurs&lt;br/&gt;when fees exceed subsidy.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Limits on both the relative and absolute amount a miner can trade subsidy&lt;br/&gt;&amp;gt; for block size prevent incentive edge cases as well as prevent a sharp&lt;br/&gt;&amp;gt; shock to the current fee-poor economy (by disallowing adjustment below 1MB).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Also the identity transform was used only for didactic purposes. I fully&lt;br/&gt;&amp;gt; expect there to be other, more interesting functions to use.
    </content>
    <updated>2023-06-07T17:34:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg2w2n5uf5kzqu07adu74zh4zp00uvr72t986h4l3jptw6fnw8c2gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2x0mrg9</id>
    
      <title type="html">📅 Original date posted:2015-05-10 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg2w2n5uf5kzqu07adu74zh4zp00uvr72t986h4l3jptw6fnw8c2gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2x0mrg9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsydhwsmgf43z6emlaafca2mfvxk8udmnpdd4anrlscmcd6q2upeesa4a3ve&#39;&gt;nevent1q…a3ve&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-05-10&lt;br/&gt;📝 Original message:Le 08/05/2015 22:33, Mark Friedenbach a écrit :&lt;br/&gt;&lt;br/&gt;&amp;gt;   * For each block, the miner is allowed to select a different difficulty&lt;br/&gt;&amp;gt; (nBits) within a certain range, e.g. &#43;/- 25% of the expected difficulty,&lt;br/&gt;&amp;gt; and this miner-selected difficulty is used for the proof of work check. In&lt;br/&gt;&amp;gt; addition to adjusting the hashcash target, selecting a different difficulty&lt;br/&gt;&amp;gt; also raises or lowers the maximum block size for that block by a function&lt;br/&gt;&amp;gt; of the difference in difficulty. So increasing the difficulty of the block&lt;br/&gt;&amp;gt; by an additional 25% raises the block limit for that block from 100% of the&lt;br/&gt;&amp;gt; current limit to 125%, and lowering the difficulty by 10% would also lower&lt;br/&gt;&amp;gt; the maximum block size for that block from 100% to 90% of the current&lt;br/&gt;&amp;gt; limit. For simplicity I will assume a linear identity transform as the&lt;br/&gt;&amp;gt; function, but a quadratic or other function with compounding marginal cost&lt;br/&gt;&amp;gt; may be preferred.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;Sorry but I fail to see how a linear identity transform between block&lt;br/&gt;size and difficulty would work.&lt;br/&gt;&lt;br/&gt;The miner&amp;#39;s reward for finding a block is the sum of subsidy and fees:&lt;br/&gt;&lt;br/&gt; R = S &#43; F&lt;br/&gt;&lt;br/&gt;The probability that the miner will find a block over a time interval is&lt;br/&gt;inversely proportional to the difficulty D:&lt;br/&gt;&lt;br/&gt; P = K / D&lt;br/&gt;&lt;br/&gt;where K is a constant that depends on the miner&amp;#39;s hashrate. The expected&lt;br/&gt;reward of the miner is:&lt;br/&gt;&lt;br/&gt; E = P * R&lt;br/&gt;&lt;br/&gt;Consider that the miner chooses a new difficulty:&lt;br/&gt;&lt;br/&gt; D&amp;#39; = D(1 &#43; x).&lt;br/&gt;&lt;br/&gt;With a linear identity transform between block size and difficulty, the&lt;br/&gt;miner will be allowed to collect fees from a block of size: S&amp;#39;=S(1&#43;x)&lt;br/&gt;&lt;br/&gt;In the best case, collected will be proportional to block size:&lt;br/&gt;&lt;br/&gt; F&amp;#39; = F(1&#43;x)&lt;br/&gt;&lt;br/&gt;Thus we get:&lt;br/&gt;&lt;br/&gt; E&amp;#39; = P&amp;#39; * R&amp;#39; = K/(D(1&#43;x)) * (S &#43; F(1&#43;x))&lt;br/&gt;&lt;br/&gt; E&amp;#39; = E - x/(1&#43;x) * S * K / D&lt;br/&gt;&lt;br/&gt;So with this linear identity transform, increasing block size never&lt;br/&gt;increases the miners gain. As long as the subsidy exists, the best&lt;br/&gt;strategy for miners is to reduce block size (i.e. to choose x&amp;lt;0).
    </content>
    <updated>2023-06-07T17:34:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgtplv40g5mqws2s2w9vqnzj2x54ns36vv0psdvymc8vcc2vy3kwqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2tlr4qv</id>
    
      <title type="html">📅 Original date posted:2015-03-12 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgtplv40g5mqws2s2w9vqnzj2x54ns36vv0psdvymc8vcc2vy3kwqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2tlr4qv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0qh04xa79fn4ypzcf5cqasgc5csqmzrdeqpfmkyppt7ggtnghdss27t5jj&#39;&gt;nevent1q…t5jj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-03-12&lt;br/&gt;📝 Original message:Hi Andreas,&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think it&amp;#39;s a problem that BIP43 is tied to BIP32.&lt;br/&gt;&lt;br/&gt;What I don&amp;#39;t like is that you have to explore branches of the derivation&lt;br/&gt;tree, in order to know if there is a wallet. As a result, it is not&lt;br/&gt;possible for the software to give a negative answer, like &amp;#34;this wallet&lt;br/&gt;is empty&amp;#34;, because you do not know if you have explored all the possible&lt;br/&gt;derivations; a new one may have been added after the software was written.&lt;br/&gt;&lt;br/&gt;With a version number, you can answer &amp;#34;sorry this seed is not recognized&lt;br/&gt;by me&amp;#34;, and you do not need to be online to do that.&lt;br/&gt;If you are online, you can answer &amp;#34;this wallet is empty&amp;#34; after exploring it.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 11/03/2015 16:31, Andreas Schildbach a écrit :&lt;br/&gt;&amp;gt; Thanks Thomas, for sharing your experience!&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I&amp;#39;d like know why you think it&amp;#39;s a problem that BIP43 is tied to BIP32?&lt;br/&gt;&amp;gt; I understand we all agreed at least on the BIP32-derivation spec&lt;br/&gt;&amp;gt; (excluding the BIP32-hierarchy spec)?&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; Dive into the World of Parallel Programming The Go Parallel Website, sponsored&lt;br/&gt;&amp;gt; by Intel and developed in partnership with Slashdot Media, is your hub for all&lt;br/&gt;&amp;gt; things parallel software development, from weekly thought leadership blogs to&lt;br/&gt;&amp;gt; news, videos, case studies, tutorials and more. Take a look and join the &lt;br/&gt;&amp;gt; conversation now. &lt;a href=&#34;http://goparallel.sourceforge.net/&#34;&gt;http://goparallel.sourceforge.net/&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:31:26&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz7a4hxn5lguf66azfqk4cqx4twvgfcwzwrfjmdcw4f3lw63c70yqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2vm04kd</id>
    
      <title type="html">📅 Original date posted:2015-03-11 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz7a4hxn5lguf66azfqk4cqx4twvgfcwzwrfjmdcw4f3lw63c70yqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2vm04kd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszwmuch8gjydmdftzgzshdn0wqpqq9e2aemlm2t8ytn3t50cq78zsn5lhsz&#39;&gt;nevent1q…lhsz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-03-11&lt;br/&gt;📝 Original message:Thanks Mike, and sorry to answer a bit late; it has been a busy couple&lt;br/&gt;of weeks.&lt;br/&gt;&lt;br/&gt;You are correct, a BIP39 seed phrase will not work in Electrum, and vice&lt;br/&gt;versa. It is indeed unfortunate. However, I believe BIP39 should not be&lt;br/&gt;followed, because it reproduces two mistakes I did when I designed the&lt;br/&gt;older Electrum seed system. Let me explain.&lt;br/&gt;&lt;br/&gt;The first problem I have with BIP39 is that the seed phrase does not&lt;br/&gt;include a version number.&lt;br/&gt;&lt;br/&gt;Wallet development is still in an exploratory phase, and we should&lt;br/&gt;expect even more innovation in this domain. In this context, it is&lt;br/&gt;unwise to make decisions that prevent future innovation.&lt;br/&gt;&lt;br/&gt;However, when we give a seed phrase to users, we have a moral obligation&lt;br/&gt;to keep supporting this seed phrase in future versions. We cannot simply&lt;br/&gt;announce to Electrum users that their old seed phrase is not supported&lt;br/&gt;anymore, because we created a new version of the software that uses a&lt;br/&gt;different derivation. This could lead to financial losses for users who&lt;br/&gt;are unaware of these technicalities. Well, at least, that is how I feel&lt;br/&gt;about it.&lt;br/&gt;&lt;br/&gt;BIP39 and Electrum v2 have a very different ways of handling future&lt;br/&gt;innovation. Electrum v2 seed phrases include an explicit version number,&lt;br/&gt;that indicates how the wallet addresses should be derived. In contrast,&lt;br/&gt;BIP39 seed phrases do not include a version number at all. BIP39 is&lt;br/&gt;meant to be combined with BIP43, which stipulates that the wallet&lt;br/&gt;structure should depend on the BIP32 derivation path used for the wallet&lt;br/&gt;(although BIP43 is not followed by all BIP39 compatible wallets). Thus,&lt;br/&gt;innovation in BIP43 is allowed only within the framework of BIP32. In&lt;br/&gt;addition, having to explore the branches of the BIP32 tree in order to&lt;br/&gt;determine the type of wallet attached to a seed might be somewhat&lt;br/&gt;inefficient.&lt;br/&gt;&lt;br/&gt;The second problem I see with BIP39 is that it requires a fixed&lt;br/&gt;wordlist. Of course, this forbids innovation in the wordlist itself, but&lt;br/&gt;that&amp;#39;s not the main problem. When you write a new standard, it is&lt;br/&gt;important to keep this standard minimal, given the goal you want to&lt;br/&gt;achieve. I believe BIP39 could (and should) have been written without&lt;br/&gt;including the wordlist in the standard.&lt;br/&gt;&lt;br/&gt;There are two ways to derive a master key from a mnemonic phrase:&lt;br/&gt; 1. A bidirectional mapping between words and numbers, as in old&lt;br/&gt;Electrum versions. Pros: bidirectional means that you can do Shamir&lt;br/&gt;secret sharing of your seed. Cons: It requires a fixed wordlist.&lt;br/&gt; 2. Use a hash of the seed phrase (pbkdf). Pros: a fixed wordlist is not&lt;br/&gt;required. Cons: the mapping isn&amp;#39;t bidirectional.&lt;br/&gt;&lt;br/&gt;Electrum v1 uses (1). Electrum v2 uses (2).&lt;br/&gt;&lt;br/&gt;Early versions of BIP39 used (1), and later they switched to (2).&lt;br/&gt;However, BIP39 uses (2) only in order to derive the wallet keys, not for&lt;br/&gt;its checksum. The BIP39 checksum uses (1), and it does requires a fixed&lt;br/&gt;wordlist. This is just plainly inconsistent. As a result, you have&lt;br/&gt;neither wordlist flexibility, nor Shamir secret sharing.&lt;br/&gt;&lt;br/&gt;Having a fixed wordlist is very unfortunate. First, it means that BIP39&lt;br/&gt;will probably never leave the &amp;#39;draft&amp;#39; stage, until all languages of the&lt;br/&gt;world have been added. Second, once you add a wordlist for a new&lt;br/&gt;language, you cannot change it anymore, because it will break existing&lt;br/&gt;seed phrases; therefore you have to be extremely careful in the way you&lt;br/&gt;design these wordlists. Third, languages often have words in common.&lt;br/&gt;When you add a new language to the list, you should not use words&lt;br/&gt;already used by existing wordlists, in order to ensure that the language&lt;br/&gt;can be detected. It leads to a first come first served situation, that&lt;br/&gt;might not be sustainable in the future.&lt;br/&gt;&lt;br/&gt;In order to support the old Electrum v1 seeds, all future versions of&lt;br/&gt;Electrum will have to include the old wordlist. In addition, when&lt;br/&gt;generating new seed phrases, Electrum now has to avoid collisions with&lt;br/&gt;old seed phrases, because the old ones did not have a version number.&lt;br/&gt;This is painful enough, I will not repeat the same errors twice.&lt;br/&gt;&lt;br/&gt;Electrum v2 derives both its private keys and its checksum/version&lt;br/&gt;number using a hash of the seed phrase. This means that wordlists can be&lt;br/&gt;added and modified in the future, without breaking existing seed&lt;br/&gt;phrases. It also means that it will be very easy for other wallets to&lt;br/&gt;support Electrum seedphrases: it requires about 20 lines of code, and no&lt;br/&gt;wordlist is required.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 02/03/2015 16:37, Mike Hearn a écrit :&lt;br/&gt;&amp;gt; Congrats Thomas! Glad to see Electrum 2 finally launch.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;&amp;gt; * New seed derivation method (not compatible with BIP39).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Does this mean a &amp;#34;12 words&amp;#34; wallet created by Electrum won&amp;#39;t work if&lt;br/&gt;&amp;gt; imported into some other wallet that supports BIP39? Vice versa? This seems&lt;br/&gt;&amp;gt; unfortunate. I guess if seeds are being represented with 12 words&lt;br/&gt;&amp;gt; consistently, people will expect them to work everywhere.&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:31:25&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqs723l9t9x5uwepcmc45v0xs9ewrxsk5ngcns3zxt89n2gv4kj8czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rj75a6</id>
    
      <title type="html">📅 Original date posted:2015-03-01 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqs723l9t9x5uwepcmc45v0xs9ewrxsk5ngcns3zxt89n2gv4kj8czypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rj75a6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst7xf2k9zeqsvs2wr03gx80qhs0hsy4u5nyvn2feylurtvu98dj0qhvenvy&#39;&gt;nevent1q…envy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-03-01&lt;br/&gt;📝 Original message:-----BEGIN PGP SIGNED MESSAGE-----&lt;br/&gt;Hash: SHA1&lt;br/&gt;&lt;br/&gt;Dear Bitcoin devs,&lt;br/&gt;&lt;br/&gt;I just tagged version 2.0 of Electrum:&lt;br/&gt;&lt;a href=&#34;https://github.com/spesmilo/electrum/tree/2.0&#34;&gt;https://github.com/spesmilo/electrum/tree/2.0&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The electrum.org website will be updated later today. The release&lt;br/&gt;notes are a bit dense, due to the large amount of changes and new&lt;br/&gt;features in this release. In the coming weeks we will be adding more&lt;br/&gt;detailed documentation to the wiki and to the website.&lt;br/&gt;&lt;br/&gt;There has been a very long hiatus in Electrum releases, because it&lt;br/&gt;took me a lot of time to decide about the new seed derivation method&lt;br/&gt;and wallet structure. Now that this part is done, I hope that we will&lt;br/&gt;resume to a faster release pace.&lt;br/&gt;&lt;br/&gt;I would like to thank all the people who contributed to this release,&lt;br/&gt;developers, beta testers, but also people from this list who provided&lt;br/&gt;useful feedback.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;_____________________________&lt;br/&gt;&lt;br/&gt;RELEASE-NOTES&lt;br/&gt;&lt;br/&gt;# Release 2.0&lt;br/&gt;&lt;br/&gt;* Before you upgrade, make sure you have saved your wallet seed on&lt;br/&gt;paper.&lt;br/&gt;&lt;br/&gt;* Documentation is now hosted on a wiki: &lt;a href=&#34;http://electrum.orain.org&#34;&gt;http://electrum.orain.org&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;* New seed derivation method (not compatible with BIP39). The seed&lt;br/&gt;phrase includes a version number, that refers to the wallet&lt;br/&gt;structure. The version number also serves as a checksum, and it&lt;br/&gt;will prevent the import of seeds from incompatible wallets. Old&lt;br/&gt;Electrum seeds are still supported.&lt;br/&gt;&lt;br/&gt;* New address derivation (BIP32). Standard wallets are single account&lt;br/&gt;and use a gap limit of 20.&lt;br/&gt;&lt;br/&gt;* Support for Multisig wallets using parallel BIP32 derivations and&lt;br/&gt;P2SH addresses (&amp;#34;2 of 2&amp;#34;, &amp;#34;2 of 3&amp;#34;).&lt;br/&gt;&lt;br/&gt;* Compact serialization format for unsigned or partially signed&lt;br/&gt;transactions, that includes the BIP32 master public key and&lt;br/&gt;derivation needed to sign inputs. Serialized transactions can be&lt;br/&gt;sent to cosigners or to cold storage using QR codes (using Andreas&lt;br/&gt;Schildbach&amp;#39;s base 43 idea).&lt;br/&gt;&lt;br/&gt;* Support for BIP70 payment requests:&lt;br/&gt;- - Verification of the chain of signatures uses tlslite.&lt;br/&gt;- - In the GUI, payment requests are shown in the &amp;#39;Invoices&amp;#39; tab.&lt;br/&gt;&lt;br/&gt;* Support for hardware wallets: Trezor (Satoshilabs) and Btchip (Ledger).&lt;br/&gt;&lt;br/&gt;* Two-factor authentication service by TrustedCoin. This service uses&lt;br/&gt;&amp;#34;2 of 3&amp;#34; multisig wallets and Google Authenticator. Note that&lt;br/&gt;wallets protected by this service can be deterministically restored&lt;br/&gt;from seed, without Trustedcoin&amp;#39;s server.&lt;br/&gt;&lt;br/&gt;* Cosigner Pool plugin: encrypted communication channel for multisig&lt;br/&gt;wallets, to send and receive partially signed transactions.&lt;br/&gt;&lt;br/&gt;* Audio Modem plugin: send and receive transactions by sound.&lt;br/&gt;&lt;br/&gt;* OpenAlias plugin: send bitcoins to aliases verified using DNSSEC.&lt;br/&gt;&lt;br/&gt;* New &amp;#39;Receive&amp;#39; tab in the GUI:&lt;br/&gt;- - create and manage payment requests, with QR Codes&lt;br/&gt;- - the former &amp;#39;Receive&amp;#39; tab was renamed to &amp;#39;Addresses&amp;#39;&lt;br/&gt;- - the former Point of Sale plugin is replaced by a resizeable&lt;br/&gt;window that pops up if you click on the QR code&lt;br/&gt;&lt;br/&gt;* The &amp;#39;Send&amp;#39; tab in the Qt GUI supports transactions with multiple&lt;br/&gt;outputs, and raw hexadecimal scripts.&lt;br/&gt;&lt;br/&gt;* The GUI can connect to the Electrum daemon: &amp;#34;electrum -d&amp;#34; will&lt;br/&gt;start the daemon if it is not already running, and the GUI will&lt;br/&gt;connect to it. The daemon can serve several clients. It times out&lt;br/&gt;if no client uses if for more than 5 minutes.&lt;br/&gt;&lt;br/&gt;* The install wizard can be used to import addresses or private&lt;br/&gt;keys. A watching-only wallet is created by entering a list of&lt;br/&gt;addresses in the wizard dialog.&lt;br/&gt;&lt;br/&gt;* New file format: Wallets files are saved as JSON. Note that new&lt;br/&gt;wallet files cannot be read by older versions of Electrum. Old&lt;br/&gt;wallet files will be converted to the new format; this operation&lt;br/&gt;may take some time, because public keys will be derived for each&lt;br/&gt;address of your wallet.&lt;br/&gt;&lt;br/&gt;* The client accepts servers with a CA-signed SSL certificate.&lt;br/&gt;&lt;br/&gt;* ECIES encrypt/decrypt methods, availabe in the GUI and using&lt;br/&gt;the command line:&lt;br/&gt;encrypt &amp;lt;pubkey&amp;gt; &amp;lt;message&amp;gt;&lt;br/&gt;decrypt &amp;lt;pubkey&amp;gt; &amp;lt;message&amp;gt;&lt;br/&gt;&lt;br/&gt;* The Android GUI has received various updates and it is much more&lt;br/&gt;stable. Another script was added to Android, called Authenticator,&lt;br/&gt;that works completely offline: it reads an unsigned transaction&lt;br/&gt;shown as QR code, signs it and shows the result as a QR code.&lt;br/&gt;-----BEGIN PGP SIGNATURE-----&lt;br/&gt;Version: GnuPG v1&lt;br/&gt;&lt;br/&gt;iQIcBAEBAgAGBQJU8y7fAAoJECvVgkt/lHDm78oP/2uIqCyOwLsAJGkAI3CPFxtw&lt;br/&gt;WssFJlnCnFiA4tPv5pd7HdOgxQkTaPbUHftexfdd/lpfmFvxZVoHcA/32IIKFH63&lt;br/&gt;BU2bnEyYOaW1A4XfNDQH6VG7eT2er1HOlHCtIgzRl0KJNmVggU6DnXnHkUs1PVvg&lt;br/&gt;pyEIR7Xv3GiK7rcS4qCS/9COroqQGFOXJAiLnOaQP5KszT1bMUdoL7mBPTfavnla&lt;br/&gt;LM&#43;2MgKJOWv&#43;JpHQCDp3XwAXX62LLsS2BjdK1Jt6OpGA6IuVQGBSaTIn5K81S&#43;Yh&lt;br/&gt;M6RDKbP3kObYQ&#43;bzLvtWrzgUD3sdht/V8L5ZPS3&#43;Jibvmhae2zRrm/YpJZ77Yjd4&lt;br/&gt;7QliCFGH0&#43;Gwle72yOempFGWULwq7p6yo4dVZXpj1G3XmbZXuvFg4jYeC/usCx&#43;T&lt;br/&gt;kQgMBPWME2m80fCzhJew1pRChSs/lzVreB0Lh6Tm/5Pibmy721J4oUr6oLkaR9Uy&lt;br/&gt;NMrYqnSy0&#43;tCEOXHrpCYhqogyzzdjOlv0gWKqB2uSkO5TkEHv2eyHeiZttAn11qO&lt;br/&gt;sb85q/k0kYQBZZEvKJ9022eyKHjejDhQjKsCVIHhb81BJ1QYnZFIxBiKkVMxf0u5&lt;br/&gt;sT2TTi18eOrYCUGD2WJ&#43;ALyI1zN1sHO0/sn5&#43;XzlC0jg&#43;1KUXoo0j8NYnzmHb0Yx&lt;br/&gt;5lbdlcaw0Uo7iWkFdMYT&lt;br/&gt;=IGGP&lt;br/&gt;-----END PGP SIGNATURE-----
    </content>
    <updated>2023-06-07T17:31:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv83e4l7pevl4rd06crhaurscsnw7787xlqhf7hjzq755qynv3grqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2emylgh</id>
    
      <title type="html">📅 Original date posted:2014-04-26 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv83e4l7pevl4rd06crhaurscsnw7787xlqhf7hjzq755qynv3grqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2emylgh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz7kar43m6t5up4s3luzaksmlyh3age7vrx4drs5dt9hf9f55rnxgen6ev8&#39;&gt;nevent1q…6ev8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-26&lt;br/&gt;📝 Original message:Le 26/04/2014 11:43, Mike Hearn a écrit :&lt;br/&gt;&amp;gt; I&amp;#39;m not sure I understand why you need any special structure for this at&lt;br/&gt;&amp;gt; all. The way I&amp;#39;d do it is just use regular HD wallets for everyone, of the&lt;br/&gt;&amp;gt; regular form, and then swap the watching keys. Why do people need to be&lt;br/&gt;&amp;gt; given a cosigner index at all, given that they all have unique root keys&lt;br/&gt;&amp;gt; anyway?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;I agree with that.&lt;br/&gt;&lt;br/&gt;Perhaps the only thing that needs to be standardized is the order of&lt;br/&gt;public keys in the redeem script: I think they should be sorted, so that&lt;br/&gt;the p2sh address does not depend on the order of pubkeys.
    </content>
    <updated>2023-06-07T17:20:20&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrftmhqyqmupptkq2ksqc382u4x4rskcydkp9depy6spjpf8yxlkqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2hsc27z</id>
    
      <title type="html">📅 Original date posted:2014-04-26 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrftmhqyqmupptkq2ksqc382u4x4rskcydkp9depy6spjpf8yxlkqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2hsc27z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdhtq0nv07253uwjk8elkwq3p7s99w60ehq6kwsmy2dj2syy5ycgqt7pgm4&#39;&gt;nevent1q…pgm4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-26&lt;br/&gt;📝 Original message:I totally agree with gmaxwell here. The cost of interoperability is too&lt;br/&gt;high. It would force us to freeze all features, and to require a broad&lt;br/&gt;consensus everytime we want to add something new.&lt;br/&gt;&lt;br/&gt;In addition, some partial level of compatibility would probably lead to&lt;br/&gt;users not able to recover all their funds when they enter their seed in&lt;br/&gt;another wallet. That is not acceptable, and should be avoided.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 25/04/2014 17:46, Gregory Maxwell a écrit :&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I don&amp;#39;t believe that wallet interoperability at this level is possible&lt;br/&gt;&amp;gt; in general except as an explicit compatibility feature. I also don&amp;#39;t&lt;br/&gt;&amp;gt; believe that it is a huge loss that it is so.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The structure of the derivation defines and constrains functionality.&lt;br/&gt;&amp;gt; You cannot be structure compatible unless you have the same features&lt;br/&gt;&amp;gt; and behavior with respect to key management.  To that extent that&lt;br/&gt;&amp;gt; wallets have the same features, I agree its better if they are&lt;br/&gt;&amp;gt; compatible— but unless they are dead software they likely won&amp;#39;t keep&lt;br/&gt;&amp;gt; the same features for long.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Even if their key management were compatible there are many other&lt;br/&gt;&amp;gt; things that go into making a wallet portable between systems; the&lt;br/&gt;&amp;gt; handling of private keys is just one part:  a complete wallet will&lt;br/&gt;&amp;gt; have other (again, functionality specific) metadata.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I agree that it would be it would be possible to support a&lt;br/&gt;&amp;gt; compatibility mode where a wallet has just a subset of features which&lt;br/&gt;&amp;gt; works when loaded into different systems, but I&amp;#39;m somewhat doubtful&lt;br/&gt;&amp;gt; that it would be widely used. The decision to use that mode comes at&lt;br/&gt;&amp;gt; the wrong time— when you start, not when you need the features you&lt;br/&gt;&amp;gt; chose to disable or when you want to switch programs. But the obvious&lt;br/&gt;&amp;gt; thing to do there is to just specify that a linear chain with no&lt;br/&gt;&amp;gt; further branching is that mode: then that will be the same mode you&lt;br/&gt;&amp;gt; use when someone gives you a master public key and asks you to use it&lt;br/&gt;&amp;gt; for reoccurring changes— so at least the software will get used.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Compatibility for something like a recovery tool is another matter,&lt;br/&gt;&amp;gt; and BIP32 probably defines enough there that with a bit of extra data&lt;br/&gt;&amp;gt; about how the real wallet worked that recovery can be successful.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Calling it &amp;#34;vendor lock in&amp;#34; sounds overblown to me.  If someone wants&lt;br/&gt;&amp;gt; to change wallets they can transfer the funds— manual handling of&lt;br/&gt;&amp;gt; private keys is seldom advisable, and as is they&amp;#39;re going to lose&lt;br/&gt;&amp;gt; their metadata in any case.  No one expects to switch banks and to&lt;br/&gt;&amp;gt; keep their account records at the new bank. And while less than&lt;br/&gt;&amp;gt; perfect, the price of heavily constraining functionality in order to&lt;br/&gt;&amp;gt; get another result is just too high.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt; Start Your Social Network Today - Download eXo Platform&lt;br/&gt;&amp;gt; Build your Enterprise Intranet with eXo Platform Software&lt;br/&gt;&amp;gt; Java Based Open Source Intranet - Social, Extensible, Cloud Ready&lt;br/&gt;&amp;gt; Get Started Now And Turn Your Intranet Into A Collaboration Platform&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://p.sf.net/sfu/ExoPlatform&#34;&gt;http://p.sf.net/sfu/ExoPlatform&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:20:06&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9a2yqw6tgzn5nznczy6vnxlnp3qfxyz7etcw83ntpachyvr4826szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2p7qst4</id>
    
      <title type="html">📅 Original date posted:2014-04-21 📝 Original message:Let me ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9a2yqw6tgzn5nznczy6vnxlnp3qfxyz7etcw83ntpachyvr4826szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2p7qst4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxsadq76fzyxg30g8hcana5ln3t0reeqcs6p8n35j6egz0ug5a4aclrnl89&#39;&gt;nevent1q…nl89&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-21&lt;br/&gt;📝 Original message:Let me make a sacrilegious proposal: keep using the name &amp;#34;bitcoin&amp;#34;, and&lt;br/&gt;shift the decimal point.&lt;br/&gt;&lt;br/&gt;There would be a short adaption period, where people will need to talk&lt;br/&gt;about &amp;#34;new bitcoins&amp;#34; and &amp;#34;old bitcoins&amp;#34; in order to disambiguate them.&lt;br/&gt;However, Bitcoin users are techies, so I don&amp;#39;t think that the ambiguity&lt;br/&gt;will be a big issue. I don&amp;#39;t think lots of people will mistakenly send&lt;br/&gt;1000 times more than the amount they intended.&lt;br/&gt;&lt;br/&gt;The name &amp;#34;bitcoin&amp;#34; has a huge advantage over any other proposal, because&lt;br/&gt;it is already established. No marketing is needed.&lt;br/&gt;&lt;br/&gt;This kind of renaming has already taken place many times in history,&lt;br/&gt;because the currency was debased. Bitcoin would be the first time it&lt;br/&gt;happens in the other direction.
    </content>
    <updated>2023-06-07T17:18:54&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszfuwtmn7hmftfxa7gfgjg0mdsmvnz5fwej204q6erz3y2rn95k7szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq22zz4gz</id>
    
      <title type="html">📅 Original date posted:2014-04-09 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszfuwtmn7hmftfxa7gfgjg0mdsmvnz5fwej204q6erz3y2rn95k7szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq22zz4gz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq44zs9u3u7pfv2y4gempc2hd6cxn29qqgcgfzknpfwylwyt6pjec3w078s&#39;&gt;nevent1q…078s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-09&lt;br/&gt;📝 Original message:Le 09/04/2014 17:54, Gregory Maxwell a écrit :&lt;br/&gt;&lt;br/&gt;&amp;gt; Sadly today Electrum requires more than a full node, it requires a&lt;br/&gt;&amp;gt; number of large additional indexes over what a full node has and&lt;br/&gt;&amp;gt; pruning is precluded. I don&amp;#39;t think that increasing the resource&lt;br/&gt;&amp;gt; utilization of the node is a good way to go there for the purposes&lt;br/&gt;&amp;gt; expressed here. (not that electrum couldn&amp;#39;t be used here, but not&lt;br/&gt;&amp;gt; unmodified without the resource usage increasing route)&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Electrum uses two large indexes:&lt;br/&gt;&lt;br/&gt;     address -&amp;gt; utxo&lt;br/&gt;&lt;br/&gt;(patricia tree, aka &amp;#34;ultimate blockchain compression&amp;#34;, see thread &lt;br/&gt;started by Alan Reiner in the bitcointalk forum)&lt;br/&gt;&lt;br/&gt;     address -&amp;gt; spent history&lt;br/&gt;&lt;br/&gt;The first index is not going to grow larger than what bitcoind already &lt;br/&gt;needs to store, because bitcoind will always need to store utxos.&lt;br/&gt;&lt;br/&gt;The second index threatens to become large. However, Electrum servers do &lt;br/&gt;not keep the full histories, they prune older entries. Without adapting &lt;br/&gt;Electrum clients, it would even be possible to keep only one bit per &lt;br/&gt;address (to know whether that address has been used or not), and that &lt;br/&gt;information is only used to restore wallets from seed, not during normal &lt;br/&gt;operations.&lt;br/&gt;&lt;br/&gt;If the first index (patricia tree) was implemented in bitcoind, that &lt;br/&gt;would obviously be a big relief for electrum servers.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; and that it might be an easier way to support&lt;br/&gt;&amp;gt;&amp;gt; SPV clients than creating a new API in bitcoind for it since Stratum&lt;br/&gt;&amp;gt;&amp;gt; itself already relies on bitcoind to provide it&amp;#39;s services.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Bitcoin&amp;#39;s own P2P protocol is already the API for a ordinary SPV&lt;br/&gt;&amp;gt; client. So I don&amp;#39;t believe any new API would be require, except&lt;br/&gt;&amp;gt; perhaps for some process management stuff (which also isn&amp;#39;t provided&lt;br/&gt;&amp;gt; for Electrum).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt; Put Bad Developers to Shame&lt;br/&gt;&amp;gt; Dominate Development with Jenkins Continuous Integration&lt;br/&gt;&amp;gt; Continuously Automate Build, Test &amp;amp; Deployment&lt;br/&gt;&amp;gt; Start a new project now. Try Jenkins in the cloud.&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://p.sf.net/sfu/13600_Cloudbees&#34;&gt;http://p.sf.net/sfu/13600_Cloudbees&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:18:10&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdfc8fyksce4u8rymkws38pv54r6nxe9acam5sevuz4wx80ev4eeszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rey5wq</id>
    
      <title type="html">📅 Original date posted:2014-04-24 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdfc8fyksce4u8rymkws38pv54r6nxe9acam5sevuz4wx80ev4eeszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2rey5wq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxwny9dz9j6x5u9at3k3kr3e4dqexxk05vze2v275skh89qj3gjaqf92642&#39;&gt;nevent1q…2642&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-24&lt;br/&gt;📝 Original message:Le 24/04/2014 09:10, Pieter Wuille a écrit :&lt;br/&gt;&amp;gt; To clarify:&lt;br/&gt;&amp;gt; BIP64 has a much stricter definition for accounts than BIP32.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; In BIP32, it is not well specified what accounts are used for. They&lt;br/&gt;&amp;gt; can be used for &amp;#34;subwallets&amp;#34;, &amp;#34;receive accounts&amp;#34; (as in bitcoind&amp;#39;s&lt;br/&gt;&amp;gt; account feature), &amp;#34;recurring payments&amp;#34;, part of a chain used as&lt;br/&gt;&amp;gt; multisig addresses, ... determined individually for each index.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; In BIP64, they are strictly used for subwallets, and can&amp;#39;t be used by&lt;br/&gt;&amp;gt; anything else.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;yes, I saw that.&lt;br/&gt;&lt;br/&gt;In particular, bip64 stipulates that the wallet &amp;#34;never mixes coins&lt;br/&gt;across different accounts&amp;#34;. This is not what Electrum does currently.&lt;br/&gt;The UI allows you to chose between two modes: activate a single account&lt;br/&gt;(and the wallet will only use UTXOs from that acccount), or activate all&lt;br/&gt;accounts (and spend from all of them simultaneously).&lt;br/&gt;&lt;br/&gt;Concerning multisig addresses, I have changed my mind: Electrum will use&lt;br/&gt;parallel BIP32 trees. A wallet will not mix standard and multisig&lt;br/&gt;accounts. I think that is better in terms of UX.&lt;br/&gt;&lt;br/&gt;I agree with Mike Hearn&amp;#39;s view that wallets with multiple accounts are&lt;br/&gt;probably too difficult to deal with for most users. If a user feels the&lt;br/&gt;need to have different &amp;#34;accounting identities&amp;#34;, they will probably&lt;br/&gt;create different wallet files, instead of creating bip32 subwallets.&lt;br/&gt;&lt;br/&gt;However, since multiple subwallets have been asked by many users,&lt;br/&gt;Electrum will propose them. But this should not be the default. More&lt;br/&gt;important, multiple accounts should never be required (in my previous&lt;br/&gt;implementation, they were required for multisig, because the wallet was&lt;br/&gt;creating multisig addresses in dedicated multisig accounts)&lt;br/&gt;&lt;br/&gt;Thomas
    </content>
    <updated>2023-06-07T17:18:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxwny9dz9j6x5u9at3k3kr3e4dqexxk05vze2v275skh89qj3gjaqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2zdhyvc</id>
    
      <title type="html">📅 Original date posted:2014-04-24 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxwny9dz9j6x5u9at3k3kr3e4dqexxk05vze2v275skh89qj3gjaqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2zdhyvc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyffgkqcy3r258ur35mjzqsp572pmf20c42cwyq8gm7xaqxwwa2sqfxazqk&#39;&gt;nevent1q…azqk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-24&lt;br/&gt;📝 Original message:Le 24/04/2014 09:21, Gregory Maxwell a écrit :&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It doesn&amp;#39;t appear to me that reoccurring payments, receive accounts,&lt;br/&gt;&amp;gt; multisig addresses, etc can be used with this proposal, but instead&lt;br/&gt;&amp;gt; you must use a different purpose code and another BIP and are not&lt;br/&gt;&amp;gt; compatible with the draft here.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Am I misunderstanding it?   Will Electrum be limiting itself in this&lt;br/&gt;&amp;gt; way?  I&amp;#39;d consider it a unfortunate loss of functionality if wallets&lt;br/&gt;&amp;gt; couldn&amp;#39;t implement reoccurring payment chains without making users&lt;br/&gt;&amp;gt; generate entirely different wallets (which they couldn&amp;#39;t share funds&lt;br/&gt;&amp;gt; across) since addresses for recurring payments was one of the main&lt;br/&gt;&amp;gt; motivations in BIP32.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;No, Electrum will not be limiting itself in this way. I believe that we&lt;br/&gt;are only at the beginning of exploring the different possibilities&lt;br/&gt;opened by HD wallets. It will probably take years until we have clear&lt;br/&gt;ideas on what users need, what choices they make, and how to organize&lt;br/&gt;everything. Therefore it is too early to take decisions that might limit&lt;br/&gt;future functionality.&lt;br/&gt;&lt;br/&gt;I can see that it is very difficult today to find a consensus on wallet&lt;br/&gt;structure between wallet developers. In addition, I changed my mind&lt;br/&gt;several times on these questions, so I guess I will probably need to&lt;br/&gt;change things again in the future.&lt;br/&gt;&lt;br/&gt;This is why I decided to include a version number in Electrum seeds. The&lt;br/&gt;version number will be updated everytime the wallet structure changes. I&lt;br/&gt;know many developers do not follow me on this, but that is something I&lt;br/&gt;am quite sure Electrum needs, despite all the other things I am not sure&lt;br/&gt;about :)&lt;br/&gt;&lt;br/&gt;I think it is too early to aim for inter-wallet compatibility today. I&lt;br/&gt;guess we should postpone this goal, and move on with software releases.&lt;br/&gt;As Andreas pointed out, we should just make sure that we do not import&lt;br/&gt;an incompatible seed in another wallet, because not recovering all your&lt;br/&gt;bitcoins would be a terrible user experience; the version number built&lt;br/&gt;in the seed will ensure that for Electrum.
    </content>
    <updated>2023-06-07T17:18:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfh2kyrnty3nztgps8uj7r5h6znuv5meuxkrah5jfzvvh7m03q6pszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq23wuunk</id>
    
      <title type="html">📅 Original date posted:2014-04-24 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfh2kyrnty3nztgps8uj7r5h6znuv5meuxkrah5jfzvvh7m03q6pszypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq23wuunk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0flzqtkrkujrn96plvgvshfpfnxdz3d852exv4hp2klycz5wyz5gsafhhk&#39;&gt;nevent1q…fhhk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-24&lt;br/&gt;📝 Original message:Le 23/04/2014 21:44, Luke-Jr a écrit :&lt;br/&gt;&amp;gt; On Wednesday, April 23, 2014 7:29:04 PM Pavol Rusnak wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Examples: Electrum does not want to use accounts [...]&lt;br/&gt;&lt;br/&gt;&amp;gt; Why do clients need to use the features in BIP 64? If Electrum doesn&amp;#39;t want to &lt;br/&gt;&amp;gt; use accounts, [...]&lt;br/&gt;&lt;br/&gt;To clarify:&lt;br/&gt;Electrum plans to have bip32 accounts; Multibit will not, afaik.&lt;br/&gt;&lt;br/&gt;I think Pavol just wanted to make an example.
    </content>
    <updated>2023-06-07T17:18:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy9t9uuazgr6278pqpsy5gkww5j5r8x0j7zwecjcdgvwvkfvsj72szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq229vyy5</id>
    
      <title type="html">📅 Original date posted:2014-04-08 📝 Original message:&#43;1 I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy9t9uuazgr6278pqpsy5gkww5j5r8x0j7zwecjcdgvwvkfvsj72szypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq229vyy5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst0j2jlxlk0lj65dq35c6aza9mczta60gxwwkmvlk5m2yvtlel70q35cu4j&#39;&gt;nevent1q…cu4j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-08&lt;br/&gt;📝 Original message:&#43;1&lt;br/&gt;&lt;br/&gt;I would prefer that solution...&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 08/04/2014 15:53, Pieter Wuille a écrit :&lt;br/&gt;&amp;gt; I see the cause of our disagreement now.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You actually want to share a single BIP32 tree across different&lt;br/&gt;&amp;gt; currency types, but do it in a way that guarantees that they never use&lt;br/&gt;&amp;gt; the same keys.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I would have expected that different chains would use independent&lt;br/&gt;&amp;gt; chains, and have serializations encode which chain they belong to.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Let me offer an alternative suggestion, which is compatible with the&lt;br/&gt;&amp;gt; original default BIP32 structure:&lt;br/&gt;&amp;gt; * You can use one seed across different chains, but the master nodes&lt;br/&gt;&amp;gt; are separate.&lt;br/&gt;&amp;gt; * To derive the master node from the seed, the key string &amp;#34;Bitcoin&lt;br/&gt;&amp;gt; seed&amp;#34; is replaced by something chain-specific.&lt;br/&gt;&amp;gt; * Every encoded node (including master nodes) has a chain-specific&lt;br/&gt;&amp;gt; serialization magic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is in practice almost the same as your suggestion, except that&lt;br/&gt;&amp;gt; the m/cointype&amp;#39; in m/cointype&amp;#39;/account&amp;#39;/change/n is replaced by&lt;br/&gt;&amp;gt; different masters. The only disadvantage I see is that you do not have&lt;br/&gt;&amp;gt; a way to encode the &amp;#34;super master&amp;#34; that is the parent of all&lt;br/&gt;&amp;gt; chain-specific masters. You can - and with the same security&lt;br/&gt;&amp;gt; properties - encode the seed, though.&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:17:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxwfu8xemtevzlk4w0f3tgdkj9k2e9gktup9wv008srtnzhrr5rugzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nc74vl</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxwfu8xemtevzlk4w0f3tgdkj9k2e9gktup9wv008srtnzhrr5rugzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nc74vl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs02qtj8a5mhmufz8wk0m3ewnwg0rxjusm3d88fv0k36cmanzpldvcqy72qz&#39;&gt;nevent1q…72qz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:&amp;gt;&lt;br/&gt;&amp;gt;     Related to this, here is another idea I would like to submit:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     Instead of using a &amp;#34;gap limit&amp;#34; (maximal number of consecutive unused&lt;br/&gt;&amp;gt;     addresses), I think we should get rid of the topology, and simply count&lt;br/&gt;&amp;gt;     the number of unused addresses since the beginning of the sequence.&lt;br/&gt;&amp;gt;     Indeed, the topology of the sequence of addresses is of no interest to&lt;br/&gt;&amp;gt;     the user. Users often misinterpret &amp;#34;gap limit&amp;#34; as the &amp;#34;number of unused&lt;br/&gt;&amp;gt;     addresses available&amp;#34;, so I think we should just give them what they want&lt;br/&gt;&amp;gt;     :) This is easier to understand, and it makes things more predictable,&lt;br/&gt;&amp;gt;     because the wallet will always display the same number of unused&lt;br/&gt;&amp;gt;     addresses (except when it is waiting for confirmations).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m not convinced that it is either simpler to implement nor simpler to&lt;br/&gt;&amp;gt; understand. I considering every &amp;#34;account&amp;#34; as completely independent&lt;br/&gt;&amp;gt; structure (except that it has been derived from master seed). Because of&lt;br/&gt;&amp;gt; this, I don&amp;#39;t see a reason why number of generated addresses in one&lt;br/&gt;&amp;gt; account should affect available addresses of other account.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Sorry if I was not clear, but no, I was not proposing that... I propose &lt;br/&gt;to count the number of unused addresses in each account, independently.&lt;br/&gt;&lt;br/&gt;Here is an explanation with pictures:&lt;br/&gt;&lt;br/&gt;Currently, Electrum does this:&lt;br/&gt;&lt;br/&gt;x = used address&lt;br/&gt;o = unused address&lt;br/&gt;&lt;br/&gt;x x x o o x x x x o o o o o&lt;br/&gt;       |           └───────┘ 5 unused addresses at the end (gap limit =5)&lt;br/&gt;      existing gap, size 2&lt;br/&gt;&lt;br/&gt;Case 1:&lt;br/&gt;Suppose the user decides to use the 4th address starting from the end:&lt;br/&gt;x x x o o x x x x x o o o o&lt;br/&gt;&lt;br/&gt;After 3 confirmations, Electrum will create one extra address:&lt;br/&gt;x x x o o x x x x x o o o o o&lt;br/&gt;                     └───────┘ 5 final address (one new)&lt;br/&gt;&lt;br/&gt;Case 2:&lt;br/&gt;The user, who understands nothing about topology, decides to use the &lt;br/&gt;final address:&lt;br/&gt;x x x o o x x x x o o o o x&lt;br/&gt;&lt;br/&gt;After 3 confirmations, Electrum will create 5 new addresses:&lt;br/&gt;x x x o o x x x x o o o o x o o o o o&lt;br/&gt;                     |        └───────┘ 5 new addresses&lt;br/&gt;                  new gap (size 4)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You see that this leads to a number of newly created addresses that &lt;br/&gt;depends on the address picked by the user. This is the behaviour that I &lt;br/&gt;want to fix. I think it is bad for two reasons: First, because it is &lt;br/&gt;unpredictable (I had a user who set his gap limit to 100, and then was &lt;br/&gt;systematically using the last address of the list, ending up with a lot &lt;br/&gt;of wasted addresses). Second, because the worst case scenario (case 2) &lt;br/&gt;creates large gaps, which are less robust to blockchain reorgs than in &lt;br/&gt;case 1. A reorg in case 1, where the last tx is cancelled will create no &lt;br/&gt;gap. A reorg in case 2 can result in a gap that is larger than the limit &lt;br/&gt;(5), if another transaction uses the final addresses. (this is why &lt;br/&gt;Electrum has to wait for a few confirmations before adding addresses)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;So, what I propose is to always have a constant number of unused &lt;br/&gt;addresses in each account, instead of something that depends on the &lt;br/&gt;topology. (this number can be 10 or 20, I don&amp;#39;t mind, but I guess Mike &lt;br/&gt;might prefer 20...)
    </content>
    <updated>2023-06-07T17:16:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxmzel63npghgs6jtx2wxstsatxm9w9grxwwll5rzlzvfu2t2tusgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2z6ewv6</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxmzel63npghgs6jtx2wxstsatxm9w9grxwwll5rzlzvfu2t2tusgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2z6ewv6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswp34h2tnxluh36g6tclrcm3zxcxkgfc499rnc6ygmhddwtzljdlg0jdey2&#39;&gt;nevent1q…dey2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:Le 27/03/2014 13:49, Mike Hearn a écrit :&lt;br/&gt;&amp;gt; Ah, BIP32 allows for a range of entropy sizes and it so happens that&lt;br/&gt;&amp;gt; they picked 256 bits instead of 128 bits.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;d have thought that there is a right answer for this. 2^128 should not&lt;br/&gt;&amp;gt; be brute forceable, and longer sizes have a cost in terms of making the&lt;br/&gt;&amp;gt; seeds harder to write down on paper. So should this be a degree of freedom?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Here is what I understand:&lt;br/&gt;&lt;br/&gt;2^128 iterations is not brute forcable today, and will not be for the &lt;br/&gt;foreseeable future.&lt;br/&gt;&lt;br/&gt;An EC pubkey of length n can be forced in approximately 2^(n/2) &lt;br/&gt;iterations (see &lt;a href=&#34;http://ecc-challenge.info/&#34;&gt;http://ecc-challenge.info/&lt;/a&gt;) Thus, Bitcoin pubkeys, which &lt;br/&gt;are 256 bits, would require 2^128 iterations. This is why unused &lt;br/&gt;addresses (160 bits hash) are better protected than already used ones.&lt;br/&gt;&lt;br/&gt;However, people tend to believe that a public key of size n requires 2^n &lt;br/&gt;iterations. This belief might have been spread by this popular image:&lt;br/&gt;&lt;a href=&#34;https://bitcointalk.org/index.php?topic=508880.msg5616146#msg5616146&#34;&gt;https://bitcointalk.org/index.php?topic=508880.msg5616146#msg5616146&lt;/a&gt;
    </content>
    <updated>2023-06-07T17:16:22&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw82hxp25msqqsecfsuc7024xq9wlu0xra3kfvfg0tdxc7yycxgrgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2f24a4j</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw82hxp25msqqsecfsuc7024xq9wlu0xra3kfvfg0tdxc7yycxgrgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2f24a4j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0gy2p0kcy5qytlwpj0acspnsxf76uayuy36r59dva9qd2erzyn5sww55k7&#39;&gt;nevent1q…55k7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:Le 27/03/2014 12:30, Marek Palatinus a écrit :&lt;br/&gt;&amp;gt; Ah, I forget to two things, which should be into the BIP as well:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; a) Gap factor for addresses; as Thomas mentioned, although some software&lt;br/&gt;&amp;gt; can watch almost unlimited amount of unused addresses, this is serious&lt;br/&gt;&amp;gt; concern for lightweight or server-based wallets like Electrum or&lt;br/&gt;&amp;gt; myTREZOR. myTREZOR currently uses gap factor 10, which is (from my&lt;br/&gt;&amp;gt; experience so far) quite sane for most of users.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Yes, I was planning to increase the number of available unused addresses &lt;br/&gt;to 10 or 20 in the bip32 version of Electrum.&lt;br/&gt;&lt;br/&gt;Related to this, here is another idea I would like to submit:&lt;br/&gt;&lt;br/&gt;Instead of using a &amp;#34;gap limit&amp;#34; (maximal number of consecutive unused &lt;br/&gt;addresses), I think we should get rid of the topology, and simply count &lt;br/&gt;the number of unused addresses since the beginning of the sequence. &lt;br/&gt;Indeed, the topology of the sequence of addresses is of no interest to &lt;br/&gt;the user. Users often misinterpret &amp;#34;gap limit&amp;#34; as the &amp;#34;number of unused &lt;br/&gt;addresses available&amp;#34;, so I think we should just give them what they want &lt;br/&gt;:) This is easier to understand, and it makes things more predictable, &lt;br/&gt;because the wallet will always display the same number of unused &lt;br/&gt;addresses (except when it is waiting for confirmations).
    </content>
    <updated>2023-06-07T17:16:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgzz5c7dmy2grctpamlgl2ankgaywap3zkf9yehayz0n4u7h4rz6gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq24wt37m</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgzz5c7dmy2grctpamlgl2ankgaywap3zkf9yehayz0n4u7h4rz6gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq24wt37m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrkd0ptxgdezn3ua8phc0ptrue9kqpza0tyea59ts3yp5an4qz9egv3ll6n&#39;&gt;nevent1q…ll6n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:Le 26/03/2014 21:49, Mike Hearn a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * reserved is for &amp;#34;other stuff&amp;#34;. I actually don&amp;#39;t recall why we ended&lt;br/&gt;&amp;gt;     up with this. It may have been intended to split out multisig&lt;br/&gt;&amp;gt;     outputs etc from cointype. Marek, Thomas?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;yes, this was intended to create multisig addresses from the same seed.&lt;br/&gt;cointype was proposed after that.
    </content>
    <updated>2023-06-07T17:16:20&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw9ekawx90vv8kuwpfn8hw89jvl4j0p3apm0jzlxuhfwcvhazqdxgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nnevmk</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw9ekawx90vv8kuwpfn8hw89jvl4j0p3apm0jzlxuhfwcvhazqdxgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2nnevmk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxgewgh7wearghjp7ey2h7jsa0e0l8pjsmdlkmmzm653m3g6wchncpmk9l5&#39;&gt;nevent1q…k9l5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:Le 27/03/2014 12:39, Mike Hearn a écrit :&lt;br/&gt;&amp;gt;     One issue that I have is bandwidth: Electrum (and mycelium) cannot&lt;br/&gt;&amp;gt;     watch as many addresses as they want, because this will create too&lt;br/&gt;&amp;gt;     much traffic on the servers. (especially when servers send utxo merkle&lt;br/&gt;&amp;gt;     proofs for each address, which is not the case yet, but is planned)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is surprising and the first time I&amp;#39;ve heard about this. Surely your&lt;br/&gt;&amp;gt; constraint is CPU or disk seeks? Addresses are small, I find it hard to&lt;br/&gt;&amp;gt; believe that clients uploading them is a big drain, and mostly addresses&lt;br/&gt;&amp;gt; that are in the lookahead region won&amp;#39;t have any hits and so won&amp;#39;t result&lt;br/&gt;&amp;gt; in any downloads?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;To be honest, I have not carried out a comprehensive examination of &lt;br/&gt;server performance. What I can see is that Electrum servers are often &lt;br/&gt;slowed down when a wallet with a large number (thousands) of addresses &lt;br/&gt;shows up, and this is caused by disk seeks (especially on my slow VPS).&lt;br/&gt;&lt;br/&gt;The master branch of electrum-server is also quite wasteful in terms of &lt;br/&gt;CPU, because it uses client threads. I have another branch that uses a &lt;br/&gt;socket poller, but that branch is not widely deployed yet.&lt;br/&gt;&lt;br/&gt;I reckon that I might have been a bit too conservative, in setting the &lt;br/&gt;number of unused receiving addresses watched by Electrum clients (until &lt;br/&gt;now, the default &amp;#34;gap limit&amp;#34; has always been 5). The reason is that, if &lt;br/&gt;I increase that number, then there is no way to go back to a smaller &lt;br/&gt;value, because it needs to be compatible with all previously released &lt;br/&gt;versions. However, Electrum servers performance has improved over time, &lt;br/&gt;so I guess it could safely be raised to 20 (see previous post to slush).&lt;br/&gt;&lt;br/&gt;In terms of bandwidth, I am referring to my Android version of Electrum. &lt;br/&gt;When it runs on a 3G connection, it sometimes takes up to 1 minute to &lt;br/&gt;synchronize (with a wallet that has hundreds of addresses). However, I &lt;br/&gt;have not checked if this was caused by addresses or block headers.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     This constraint is not so important for bloom-filter clients.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Bloom filters are a neat way to encode addresses and keys but they don&amp;#39;t&lt;br/&gt;&amp;gt; magically let clients save bandwidth. A smaller filter results in less&lt;br/&gt;&amp;gt; upload bandwidth but more download (from the wallets perspective). So&lt;br/&gt;&amp;gt; I&amp;#39;m worried if you think this will be an issue for your clients: I&lt;br/&gt;&amp;gt; haven&amp;#39;t investigated bandwidth usage deeply yet, perhaps I should.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; FWIW the current bitcoinj HDW alpha preview pre-gens 100 addresses on&lt;br/&gt;&amp;gt; both receive and change branches. But I&amp;#39;m not sure what the right&lt;br/&gt;&amp;gt; setting is.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Heh, may I suggest 20 in the receive branch?&lt;br/&gt;&lt;br/&gt;For the change branch, there is no need to watch a large number of &lt;br/&gt;unused addresses, because the wallet should try to fill all the gaps in &lt;br/&gt;the sequence of change.&lt;br/&gt;&lt;br/&gt;(Electrum does that. It also watches 3 unused addresses at the end of &lt;br/&gt;that sequence, in order to cope with possible blockchain reorgs causing &lt;br/&gt;gaps. As an extra safety, it also waits for 3 confirmations before using &lt;br/&gt;a new change address, which sometimes results in address reuse, but I &lt;br/&gt;guess a smarter strategy could avoid that).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We also have to consider latency. The simplest implementation from a&lt;br/&gt;&amp;gt; wallets POV is to step through each transaction in the block chain one&lt;br/&gt;&amp;gt; at a time, and each time you see an address that is yours, calculate the&lt;br/&gt;&amp;gt; next ones in the chain. But that would be fantastically slow, so we must&lt;br/&gt;&amp;gt; instead pre-generate a larger lookahead region and request more data in&lt;br/&gt;&amp;gt; one batch. Then you have to recover if that batch ends up using all the&lt;br/&gt;&amp;gt; pre-genned addresses. It&amp;#39;s just painful.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     My opinion, as far as Electrum is concerned, is that merchant accounts&lt;br/&gt;&amp;gt;     should behave differently from regular user accounts: While merchants&lt;br/&gt;&amp;gt;     need to generate an unlimited number of receiving addresses, it is also&lt;br/&gt;&amp;gt;     acceptable for them to have a slightly more complex wallet recovery&lt;br/&gt;&amp;gt;     procedure&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Maybe. I dislike any distinction between users and merchants though. I&lt;br/&gt;&amp;gt; don&amp;#39;t think it&amp;#39;s really safe to assume merchants are more sophisticated&lt;br/&gt;&amp;gt; than end users.&lt;br/&gt;&lt;br/&gt;well, it depends what we mean by &amp;#34;merchant&amp;#34;. I was thinking more of a &lt;br/&gt;website running a script, rather than a brick and mortar ice cream &lt;br/&gt;seller. :)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     but also because we want fully automated synchronization between&lt;br/&gt;&amp;gt;     different&lt;br/&gt;&amp;gt;     instances of a wallet, using only no other source of information than&lt;br/&gt;&amp;gt;     the blockchain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think such synchronization won&amp;#39;t be possible as we keep adding&lt;br/&gt;&amp;gt; features, because the block chain cannot sync all the relevant data. For&lt;br/&gt;&amp;gt; instance Electrum already has a label sync feature. Other wallets need&lt;br/&gt;&amp;gt; to compete with that, somehow, so we need to build a way to do&lt;br/&gt;&amp;gt; cross-device wallet sync with non-chain data.&lt;br/&gt;&lt;br/&gt;Oh, I was not referring to label sync, but only to the synchronization &lt;br/&gt;of the list of addresses in the wallet. Label sync is an Electrum plugin &lt;br/&gt;that relies on a centralized server. Using a third party server is &lt;br/&gt;acceptable in that case, IMO, because you will not lose your coins if &lt;br/&gt;the server fails.
    </content>
    <updated>2023-06-07T17:16:15&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq6ewpf5r22wlwrxya4f3s03lyfsqun74473a2afszxplpp89zleqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2y3075d</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq6ewpf5r22wlwrxya4f3s03lyfsqun74473a2afszxplpp89zleqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2y3075d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw574xjvcmmu076wqaqau69c0w0shhvq5xz3afumqxm847w7jexeqx40qj5&#39;&gt;nevent1q…0qj5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:Le 27/03/2014 00:37, Andreas Schildbach a écrit :&lt;br/&gt;&amp;gt; Thanks for starting the discussion on finding a better structure.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For me, the most important thing is either we&amp;#39;re 100% interoperable or&lt;br/&gt;&amp;gt; 0%. There should not be anything inbetween, as users will delete seeds&lt;br/&gt;&amp;gt; without knowing there is still money in them on another implementation.&lt;br/&gt;&lt;br/&gt;I believe you have a good point here: we should not advertise wallets as&lt;br/&gt;compatible if they are not 100% compatible.&lt;br/&gt;&lt;br/&gt;One issue that I have is bandwidth: Electrum (and mycelium) cannot&lt;br/&gt;watch as many addresses as they want, because this will create too&lt;br/&gt;much traffic on the servers. (especially when servers send utxo merkle&lt;br/&gt;proofs for each address, which is not the case yet, but is planned)&lt;br/&gt;&lt;br/&gt;For this reason Electrum imposes a constraint on the number of virgin&lt;br/&gt;addresses provided to the user. Although the current strategy used by&lt;br/&gt;Electrum can certainly be improved, it will not scale up to having every&lt;br/&gt;client watching thousands of addresses.&lt;br/&gt;&lt;br/&gt;This constraint is not so important for bloom-filter clients. So I guess &lt;br/&gt;that&lt;br/&gt;it makes sense for Multibit to provide hundreds, or even thousands of &lt;br/&gt;virgin&lt;br/&gt;addresses to the user, regardless of how they are used. Such a wallet will&lt;br/&gt;in general not be recoverable in Electrum, unless the user &amp;#34;helps&amp;#34; the&lt;br/&gt;recovery procedure. (or the seed has metadata telling the software that&lt;br/&gt;this is a Multibit wallet). So we have a problem here, if we advertise &lt;br/&gt;these&lt;br/&gt;wallets as compatible.&lt;br/&gt;&lt;br/&gt;My opinion, as far as Electrum is concerned, is that merchant accounts&lt;br/&gt;should behave differently from regular user accounts: While merchants&lt;br/&gt;need to generate an unlimited number of receiving addresses, it is also&lt;br/&gt;acceptable for them to have a slightly more complex wallet recovery &lt;br/&gt;procedure&lt;br/&gt;(for example, the wallet might show an option to &amp;#34;search for more &lt;br/&gt;addresses&amp;#34;,&lt;br/&gt;and it might not need to watch &amp;#34;old&amp;#34; addresses anymore)&lt;br/&gt;&lt;br/&gt;OTOH, I don&amp;#39;t think we can ask regular users to do this, not only &lt;br/&gt;because it&lt;br/&gt;adds complexity to the wallet recovery procedure (which makes it scarier),&lt;br/&gt;but also because we want fully automated synchronization between different&lt;br/&gt;instances of a wallet, using only no other source of information than &lt;br/&gt;the blockchain.&lt;br/&gt;&lt;br/&gt;The first versions of Electrum allowed users to set the &amp;#34;gap limit&amp;#34; &lt;br/&gt;parameter&lt;br/&gt;in their GUI preferences, but I removed it from GUI after I realized it &lt;br/&gt;was a bad&lt;br/&gt;idea (users messed with it and did not understand what happened..)&lt;br/&gt;&lt;br/&gt;With bloom filter clients I guess the distinction between these two use &lt;br/&gt;cases&lt;br/&gt;is not really necessary, because watching addresses is cheap. So it &lt;br/&gt;would be&lt;br/&gt;good to hear what you and Mike think about this problem. If you decide &lt;br/&gt;to let&lt;br/&gt;the user create hundreds of unused addresses (and I think it perfectly &lt;br/&gt;makes&lt;br/&gt;sense for you), then I guess it would be better for Electrum to give up on&lt;br/&gt;compatibility, rather than running the risk of seeing only a subset of &lt;br/&gt;addresses.&lt;br/&gt;Another option is to handle these seeds as &amp;#34;merchant&amp;#34; accounts.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; I heard from multiple sources that using this standard some wallets will&lt;br/&gt;&amp;gt; only see a subset of the addresses/keys of some other wallets.&lt;br/&gt;&amp;gt; Implementation differences can always happen (and should addresses as&lt;br/&gt;&amp;gt; bugs), but I think its unacceptable that this source of issues is by design.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I suggest we agree on an even simpler least common denominator and&lt;br/&gt;&amp;gt; wallets that want to implement some feature on top of that can do but&lt;br/&gt;&amp;gt; are encouraged to pick a totally different &amp;#34;cointype&amp;#34;. I guess that&lt;br/&gt;&amp;gt; would mean removing reserved and account.&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m still thinking it might be a good idea to have a separate chain for&lt;br/&gt;&amp;gt; &amp;#34;refunds&amp;#34;. Refunds will be rarely used and thus need a much slower&lt;br/&gt;&amp;gt; moving window than receiving addresses or change.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 03/26/2014 09:49 PM, Mike Hearn wrote:&lt;br/&gt;&amp;gt;&amp;gt; Myself, Thomas V (Electrum) and Marek (Trezor) got together to make sure&lt;br/&gt;&amp;gt;&amp;gt; our BIP32 wallet structures would be compatible - and I discovered that&lt;br/&gt;&amp;gt;&amp;gt; only I was planning to use the default structure.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Because I&amp;#39;m hopeful that we can get a lot of interoperability between&lt;br/&gt;&amp;gt;&amp;gt; wallets with regards to importing 12-words paper wallets, we&lt;br/&gt;&amp;gt;&amp;gt; brainstormed to find a structure acceptable to everyone and ended up with:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    /m/cointype/reserved&amp;#39;/account&amp;#39;/change/n&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The extra levels require some explanation:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    * cointype:  This is zero for Bitcoin. This is here to support two&lt;br/&gt;&amp;gt;&amp;gt;      things, one is supporting alt coins based off the same root seed.&lt;br/&gt;&amp;gt;&amp;gt;      Right now nobody seemed very bothered about alt coins but sometimes&lt;br/&gt;&amp;gt;&amp;gt;      feature requests do come in for this. Arguably there is no need and&lt;br/&gt;&amp;gt;&amp;gt;      alt coins could just use the same keys as Bitcoin, but it may help&lt;br/&gt;&amp;gt;&amp;gt;      avoid confusion if they don&amp;#39;t.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;      More usefully, cointype can distinguish between keys intended for&lt;br/&gt;&amp;gt;&amp;gt;      things like multisig outputs, e.g. for watchdog services. This means&lt;br/&gt;&amp;gt;&amp;gt;      if your wallet does not know about the extra protocol layers&lt;br/&gt;&amp;gt;&amp;gt;      involved in this, it can still import the &amp;#34;raw&amp;#34; money and it will&lt;br/&gt;&amp;gt;&amp;gt;      just ignore/not see the keys used in more complex transactions.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    * reserved is for &amp;#34;other stuff&amp;#34;. I actually don&amp;#39;t recall why we ended&lt;br/&gt;&amp;gt;&amp;gt;      up with this. It may have been intended to split out multisig&lt;br/&gt;&amp;gt;&amp;gt;      outputs etc from cointype. Marek, Thomas?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    * account is for keeping essentially wallets-within-a-wallet to avoid&lt;br/&gt;&amp;gt;&amp;gt;      mixing of coins. If you want that.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    * change is 0 for receiving addresses, 1 for change addresses.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;    * n is the actual key index&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For bitcoinj we&amp;#39;re targeting a deliberately limited feature set for hdw&lt;br/&gt;&amp;gt;&amp;gt; v1 so I would just set the first three values all to zero and that is a&lt;br/&gt;&amp;gt;&amp;gt; perfectly fine way to be compatible.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The goal here is that the same seed can be written down once, and meet&lt;br/&gt;&amp;gt;&amp;gt; all the users needs, whilst still allowing some drift between what&lt;br/&gt;&amp;gt;&amp;gt; wallets support.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Pieter made the I think valid point that you can&amp;#39;t really encode how&lt;br/&gt;&amp;gt;&amp;gt; keys are meant to be used into just an HDW hierarchy and normally you&amp;#39;d&lt;br/&gt;&amp;gt;&amp;gt; need some metadata as well. However, I feel interop between wallets is&lt;br/&gt;&amp;gt;&amp;gt; more important than arriving at the most perfect possible arrangement,&lt;br/&gt;&amp;gt;&amp;gt; which feels a little like bikeshedding, so I&amp;#39;m happy to just go with the&lt;br/&gt;&amp;gt;&amp;gt; flow on this one.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&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; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T17:16:14&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr848ptlwla606zjprgmgj2mgh5rnrvv9703fct79j6hk9mv63urgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2sy5qxg</id>
    
      <title type="html">📅 Original date posted:2014-03-16 📝 Original message:I am ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr848ptlwla606zjprgmgj2mgh5rnrvv9703fct79j6hk9mv63urgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2sy5qxg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs27q97lazkkzqxnjnphsnwyjjsrluf73rlc4u6r25kl3nwmksn8zgqvf9v8&#39;&gt;nevent1q…f9v8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-16&lt;br/&gt;📝 Original message:I am happy to announce the release of Electrum 1.9.8.&lt;br/&gt;This release includes some features initially planned for version 2.0.&lt;br/&gt;&lt;br/&gt;Packages are available on &lt;a href=&#34;https://electrum.org/download.html&#34;&gt;https://electrum.org/download.html&lt;/a&gt; (signed by me)&lt;br/&gt;Binaries for windows and mac will be available in the coming days&lt;br/&gt;&lt;br/&gt;enjoy&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;-----------------------&lt;br/&gt;&lt;br/&gt;RELEASE NOTES&lt;br/&gt;&lt;br/&gt;# Release 1.9.8&lt;br/&gt;&lt;br/&gt;(This release includes features initially planned for version 2.0)&lt;br/&gt;&lt;br/&gt;* Electrum servers were upgraded to version 0.9. The new server stores&lt;br/&gt;   a Patrica tree of all UTXOs, an idea proposed by Alan Reiner in the&lt;br/&gt;   bitcointalk forum. This property allows the client to directly&lt;br/&gt;   request the balance of any address. The new commands are:&lt;br/&gt;      1. getaddressbalance &amp;lt;address&amp;gt;&lt;br/&gt;      2. getaddressunspent &amp;lt;address&amp;gt;&lt;br/&gt;      3. getutxoaddress &amp;lt;txid&amp;gt; &amp;lt;pos&amp;gt;&lt;br/&gt;&lt;br/&gt;* In addition, two commands for message encryption were added:&lt;br/&gt;      1. encrypt &amp;lt;pubkey&amp;gt; &amp;lt;message&amp;gt;&lt;br/&gt;      2. decrypt &amp;lt;pubkey&amp;gt; &amp;lt;message&amp;gt;&lt;br/&gt;&lt;br/&gt;   The encryption algorithm is ECIES, and code was was borrowed from&lt;br/&gt;   &lt;a href=&#34;https://github.com/jackjack-jj/jeeq&#34;&gt;https://github.com/jackjack-jj/jeeq&lt;/a&gt;.  In order to know the public&lt;br/&gt;   key corresponding to a Bitcoin address in your wallet, you can use&lt;br/&gt;   the &amp;#39;getpubkeys&amp;#39; command. The &amp;#39;decrypt&amp;#39; command assumes that the&lt;br/&gt;   wallet has the private key corresponding to the public key passed as&lt;br/&gt;   argument.&lt;br/&gt;&lt;br/&gt;* The encrypt and decrypt functions are available in the Qt GUI (from&lt;br/&gt;   the menubar, or right click on one of your addresses if you want to&lt;br/&gt;   use its public key).&lt;br/&gt;&lt;br/&gt;* Command-line commands that require a connection to the network spawn&lt;br/&gt;   a daemon, that remains connected and handles subsequent&lt;br/&gt;   commands. The daemon terminates itself if it remains unused for more&lt;br/&gt;   than one minute. The purpose of this is to make scripting more&lt;br/&gt;   efficient. For example, a bash script using many electrum commands&lt;br/&gt;   will open only one connection.
    </content>
    <updated>2023-06-07T17:15:47&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsttlejw402eewdqhqx8gqfz00a86lr2gwdz2uhpatu57vtf2lk9rczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2c8tyy5</id>
    
      <title type="html">📅 Original date posted:2014-03-11 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsttlejw402eewdqhqx8gqfz00a86lr2gwdz2uhpatu57vtf2lk9rczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2c8tyy5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdmumea7v3yejeapxu02xh73zm2sjpm8paxgltpax3nufqw7g6zscdefgfs&#39;&gt;nevent1q…fgfs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-11&lt;br/&gt;📝 Original message:&amp;gt; Trezor and Electrum may be earlier than this.&lt;br/&gt;&lt;br/&gt;Sorry for not joining the discussion earlier.&lt;br/&gt;&lt;br/&gt;I have postponed the release of bip32 features in Electrum due to &lt;br/&gt;ongoing discussions with Trezor and bitcoinj developers.&lt;br/&gt;I planned to post a summary in a separate thread, but this info is also &lt;br/&gt;relevant for this thread, so I&amp;#39;m posting here.&lt;br/&gt;(sorry if this is a bit offtopic, though)&lt;br/&gt;&lt;br/&gt;I plan to create a 2-factor authentication service that uses p2sh &lt;br/&gt;addresses in Electrum.&lt;br/&gt;All addresses are derived from the wallet root seed, and should be &lt;br/&gt;recoverable from it.&lt;br/&gt;(of course this departs from scenarios where master keys are generated &lt;br/&gt;independently;&lt;br/&gt;my opinion is that both should be possible)&lt;br/&gt;&lt;br/&gt;So, when the user activates 2fa protection, the root private key is &lt;br/&gt;deleted from their hard drive, as well as the&lt;br/&gt;master private key of one of the branches used to create p2sh addresses &lt;br/&gt;(which is sent to a remote server).&lt;br/&gt;&lt;br/&gt;See this (fairly old) description here for more details: &lt;br/&gt;&lt;a href=&#34;https://bitcointalk.org/index.php?topic=274182.0&#34;&gt;https://bitcointalk.org/index.php?topic=274182.0&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Since I still want to be able to generate 1of1 accounts after the 2fa &lt;br/&gt;protection is activated,&lt;br/&gt;1of 1 accounts should not be generated directly from the root of the tree.&lt;br/&gt;Thus, an extra level must be inserted in the tree.&lt;br/&gt;&lt;br/&gt;For example, 1of1 addresses can be derived as follows:&lt;br/&gt;&lt;br/&gt;m/reserved&amp;#39;/n&amp;#39;&lt;br/&gt;&lt;br/&gt;where n is the account index, and &amp;#34;reserved&amp;#34; is an index that indicates &lt;br/&gt;the type of address.&lt;br/&gt;(0 would be reserved for 1of1 addresses)&lt;br/&gt;&lt;br/&gt;slush suggested that another layer of derivation would be useful, in &lt;br/&gt;order to use wallets&lt;br/&gt;with altcoins on the same seed. This lead to this type of derivation:&lt;br/&gt;&lt;br/&gt;m/coin&amp;#39;/reserved&amp;#39;/n&amp;#39;&lt;br/&gt;&lt;br/&gt;where &amp;#34;coin&amp;#34; would be 0 for Bitcoin, and &amp;#34;reserved&amp;#34; would be 0 for 1of1 &lt;br/&gt;addresses&lt;br/&gt;&lt;br/&gt;Thomas
    </content>
    <updated>2023-06-07T17:15:07&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrd3fesnxlynyma2z0dyuh92fp7nduyp2lav8xy0g4jamlknn5nsgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2vxft8h</id>
    
      <title type="html">📅 Original date posted:2014-01-24 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrd3fesnxlynyma2z0dyuh92fp7nduyp2lav8xy0g4jamlknn5nsgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2vxft8h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9lz9m6jcgtfac6dqs44xsz3vxpjragf9khetkpujecugz0nd44kqfdcjq7&#39;&gt;nevent1q…cjq7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-01-24&lt;br/&gt;📝 Original message:Le 24/01/2014 10:05, Peter Todd a écrit :&lt;br/&gt;&amp;gt; On Tue, Jan 21, 2014 at 01:00:43AM &#43;0100, Thomas Voegtlin wrote:&lt;br/&gt;&amp;gt;&amp;gt; Hi slush,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Thank you for your new proposal; it seems to be a compromise.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; @Christophe Biocca:&lt;br/&gt;&amp;gt;&amp;gt; If the wordlist becomes part of the standard, then we will run into&lt;br/&gt;&amp;gt;&amp;gt; problems of collisions once users ask for wordlists in every language.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; IMO the right approach is to implement checksums that do not depend&lt;br/&gt;&amp;gt;&amp;gt; on the wordlist (eg the &amp;#39;brute force&amp;#39; method, Hash(mnemonic||1) mod&lt;br/&gt;&amp;gt;&amp;gt; 2^k == 0 )&lt;br/&gt;&amp;gt;&amp;gt; this would also allow us to implement sipa&amp;#39;s variable stretching proposal.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I understand this is not possible because of the computational&lt;br/&gt;&amp;gt;&amp;gt; requirements of devices such as trezor.&lt;br/&gt;&amp;gt; Is it? Surely the trezor can bruteforce, say, 8 bits == 0. How many&lt;br/&gt;&amp;gt; SHA256/sec can the trezor hardware do? Generating your seed is a&lt;br/&gt;&amp;gt; one-time thing after all - that taking 10-30s doesn&amp;#39;t seem like a big&lt;br/&gt;&amp;gt; deal to me.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Even a 1/256th &amp;#34;checksum&amp;#34; will really cut down on the number of mistakes&lt;br/&gt;&amp;gt; made and money lost.&lt;br/&gt;&lt;br/&gt;slush, correct me if I&amp;#39;m wrong, but I don&amp;#39;t think that&amp;#39;s the only reason:&lt;br/&gt;They want to generate a seed by combining entropy from the trezor device &lt;br/&gt;and from the user&amp;#39;s computer;&lt;br/&gt;In addition, they want the computer to be able to check that the seed &lt;br/&gt;actually was derived from the entropy it provided, using only a master &lt;br/&gt;public key (the computer does not have access to the seed)&lt;br/&gt;&lt;br/&gt;This is why they designed bip39 that way.&lt;br/&gt;&lt;br/&gt;I think the new bip39 proposal could be used in Electrum as an option &lt;br/&gt;for trezor, but I am reluctant to make it default, because it imposes &lt;br/&gt;its own dictionary.
    </content>
    <updated>2023-06-07T17:12:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszku7u9wdfrj7j0wet6fa806xpaum03xulr6sxkz0nz79qneq7p6gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jkmh62</id>
    
      <title type="html">📅 Original date posted:2014-01-20 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszku7u9wdfrj7j0wet6fa806xpaum03xulr6sxkz0nz79qneq7p6gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jkmh62" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgpv6p4299n25ekkkdtw7ru27hvlz4xh9r6xa2guypcasehj4mejc7r003r&#39;&gt;nevent1q…003r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-01-20&lt;br/&gt;📝 Original message:Hi slush,&lt;br/&gt;&lt;br/&gt;Thank you for your new proposal; it seems to be a compromise.&lt;br/&gt;&lt;br/&gt;@Christophe Biocca:&lt;br/&gt;If the wordlist becomes part of the standard, then we will run into&lt;br/&gt;problems of collisions once users ask for wordlists in every language.&lt;br/&gt;&lt;br/&gt;IMO the right approach is to implement checksums that do not depend&lt;br/&gt;on the wordlist (eg the &amp;#39;brute force&amp;#39; method, Hash(mnemonic||1) mod 2^k &lt;br/&gt;== 0 )&lt;br/&gt;this would also allow us to implement sipa&amp;#39;s variable stretching proposal.&lt;br/&gt;&lt;br/&gt;I understand this is not possible because of the computational&lt;br/&gt;requirements of devices such as trezor.&lt;br/&gt;&lt;br/&gt;I am leaning toward considering these devices as a nonstandard case,&lt;br/&gt;instead of enforcing a given wordlist in the standard.&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Le 21/01/2014 00:18, slush a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Jan 21, 2014 at 12:06 AM, Christophe Biocca &lt;br/&gt;&amp;gt; &amp;lt;christophe.biocca at gmail.com &amp;lt;mailto:christophe.biocca at gmail.com&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     I remember the wordlist choice getting bikeshedded to death a&lt;br/&gt;&amp;gt;     month ago.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     I would just include the wordlist as part of the standard (as a&lt;br/&gt;&amp;gt;     recommendation) so that fully compliant implementations can correct a&lt;br/&gt;&amp;gt;     user&amp;#39;s typos regardless of the original generator.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That&amp;#39;s exactly our attitude. We realized that have a community-wide &lt;br/&gt;&amp;gt; agreement on the wordlist itself is simply imposible, so to reach at &lt;br/&gt;&amp;gt; least some consensus we split the proposal to two parts - one what is &lt;br/&gt;&amp;gt; essential to call itself a &amp;#34;bip39 compatible&amp;#34;, i.e. converting the &lt;br/&gt;&amp;gt; mnemonic to bip32 node and second which is optional, including our &lt;br/&gt;&amp;gt; proposed wordlist, which has some advanced features like checksums &lt;br/&gt;&amp;gt; etc. Now it is up to client developers to decide if they really insist &lt;br/&gt;&amp;gt; on their superior wordlist or if they&amp;#39;ll implement checksums following &lt;br/&gt;&amp;gt; the full specification.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     Those who don&amp;#39;t like it will have to deal with the compatibility&lt;br/&gt;&amp;gt;     concerns themselves, or get an alternate wordlist approved as a BIP. &lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     Odds are no one will go that route.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; At least Trezor and bitcoinj (Multibit) seems to be going in this way, &lt;br/&gt;&amp;gt; which is 100% of clients which expressed interest in bip39 :-).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; slush&lt;br/&gt;&amp;gt;&lt;br/&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/20140121/2f2ab616/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140121/2f2ab616/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:12:23&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx8jtf9pmzevsaln7jacjlq4mvv5ga2hkrdl0u3lwmaxjua3hc6pgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2pa5nr2</id>
    
      <title type="html">📅 Original date posted:2013-11-02 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx8jtf9pmzevsaln7jacjlq4mvv5ga2hkrdl0u3lwmaxjua3hc6pgzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2pa5nr2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszjyf4srapn0afztsrxg5t2az9gl6zf0t2ulwvdk777vrwpwrenrsgh2p48&#39;&gt;nevent1q…2p48&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2013-11-02&lt;br/&gt;📝 Original message:&amp;gt; To be specific, we (in cooperation with / inspired by Timo Hanke) &lt;br/&gt;&amp;gt; developed method how to prove that the seed generated by Trezor has &lt;br/&gt;&amp;gt; been created using combination of computer-provided entropy and &lt;br/&gt;&amp;gt; device-provided entropy, without leaking full private information to &lt;br/&gt;&amp;gt; other computer, just because we want Trezor to be blackbox-testable &lt;br/&gt;&amp;gt; and fully deterministic (seed generation is currently the only &lt;br/&gt;&amp;gt; operation which uses any source of RNG).&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Thanks for the explanation. Here is how I understand how it works, &lt;br/&gt;please correct me if I&amp;#39;m wrong:&lt;br/&gt;&lt;br/&gt;The user&amp;#39;s computer picks a random number a, the Trezor picks a random &lt;br/&gt;number b.&lt;br/&gt;Trezor adds a and b in the secp256k1 group, and this creates a master &lt;br/&gt;private key k.&lt;br/&gt;Trezor sends the corresponding master public key K to the computer.&lt;br/&gt;Thus, the computer can check that K was derived from a, without knowing b.&lt;br/&gt;This also allows the computer to check that any bitcoin address derived &lt;br/&gt;from K is derived from a, without leaking b. (and reciprocally)&lt;br/&gt;&lt;br/&gt;However, it seems to me that this property will work only with bip32 &lt;br/&gt;public derivations; if a private derivation is used, don&amp;#39;t you need to &lt;br/&gt;know k?
    </content>
    <updated>2023-06-07T17:08:32&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrvesylkc777zvy7fcccvt30evsugjlct6279a2wsv40drn8dgtcczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jfcau7</id>
    
      <title type="html">📅 Original date posted:2013-11-03 📝 Original message:Le ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrvesylkc777zvy7fcccvt30evsugjlct6279a2wsv40drn8dgtcczypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2jfcau7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0yxg98s3e79a598hd8pyj6g95tvh37r6hz5mlfvycxju6jdypx4qrxjrv2&#39;&gt;nevent1q…jrv2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2013-11-03&lt;br/&gt;📝 Original message:Le 03/11/2013 07:41, Timo Hanke a écrit :&lt;br/&gt;&amp;gt; No. You mean the computer would use B for this check? (k,K) could be &lt;br/&gt;&amp;gt; rigged by Trezor, who computes b as k-a. Timo&lt;br/&gt;&lt;br/&gt;I was just asking a question, in order to understand how this device &lt;br/&gt;works, and what are its requirements.&lt;br/&gt;if you think you can help, please explain.
    </content>
    <updated>2023-06-07T17:08:32&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswrehyg5zk63ja0kfut7d5auegxnlf7hhge38keqk99njj6dkgwyqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2uu0hde</id>
    
      <title type="html">📅 Original date posted:2013-10-26 📝 Original message:here ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswrehyg5zk63ja0kfut7d5auegxnlf7hhge38keqk99njj6dkgwyqzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2uu0hde" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszj3n6wussx9jgzcr2dhterrmrn4yr0w2nj50tngjwh8enz90dkaqzljypv&#39;&gt;nevent1q…jypv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2013-10-26&lt;br/&gt;📝 Original message:here is a simple implementation, with some ideas on how to format the &lt;br/&gt;metadata:&lt;br/&gt;&lt;a href=&#34;https://en.bitcoin.it/wiki/Talk:BIP_0039&#34;&gt;https://en.bitcoin.it/wiki/Talk:BIP_0039&lt;/a&gt;
    </content>
    <updated>2023-06-07T17:08:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfej4xyq3qdapt7sfyxyyy2ywp0tl30q4qj2jkhtfenfvkef59p4gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2qdzphu</id>
    
      <title type="html">📅 Original date posted:2013-10-25 📝 Original message:slush ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfej4xyq3qdapt7sfyxyyy2ywp0tl30q4qj2jkhtfenfvkef59p4gzypayhfqqwrj5qy3p9pn3strxhmh4jfsrle789p9h9la2ln5a5gxq2qdzphu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszc6e0wa2ngc0fea9rec6jjc7pmzrs6qjzg5njayg6y9gg9zynnus38g0gw&#39;&gt;nevent1q…g0gw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2013-10-25&lt;br/&gt;📝 Original message:slush wrote :&lt;br/&gt;&amp;gt; Two years ago I proposed exactly this and you refused to add extra &lt;br/&gt;&amp;gt; information to mnemonic, because &amp;#34;it isn&amp;#39;t necessary&amp;#34; and &amp;#34;it makes it &lt;br/&gt;&amp;gt; longer to mnemonization&amp;#34;. What changed since then?&lt;br/&gt;&lt;br/&gt;I was wrong, and I fully acknowledge it.&lt;br/&gt;&lt;br/&gt;My concern was that adding extra information would make the mnemonic &lt;br/&gt;longer than 12 words.&lt;br/&gt;In addition, you proposed to allocate these extra bits for a checksum, &lt;br/&gt;not for metadata.&lt;br/&gt;However, a checksum does not really add any information, because &lt;br/&gt;Electrum checks the existence of a wallet directly from the blockchain.&lt;br/&gt;So, my feeling at that time was that adding extra bits would increase &lt;br/&gt;the risks (a longer seed is harder to memorize, increases the &lt;br/&gt;probability of mistakes, etc), and did not bring any real benefit.&lt;br/&gt;&lt;br/&gt;However, you showed since then how to solve this by using a slightly &lt;br/&gt;longer dictionary, and I do like your solution, I find it absolutely &lt;br/&gt;brilliant.&lt;br/&gt;In addition, I realize now that metadata (ie a &amp;#34;version number&amp;#34;) is &lt;br/&gt;crucially needed, for the reasons mentioned in my previous post.&lt;br/&gt;&lt;br/&gt;&amp;gt; Hm, what exactly do you need to store about wallet structure? I lived &lt;br/&gt;&amp;gt; in opinion that everything is able to recover using CKD function to &lt;br/&gt;&amp;gt; generate new addresses and blockchain lookups for their balances.&lt;br/&gt;&lt;br/&gt;BIP32 gives a lot of freedom to wallet developers: it does not specify &lt;br/&gt;which branches of the HD tree shall be used for which purpose.&lt;br/&gt;&lt;br/&gt;However, if you want to recover a wallet from its mnemonic (a &lt;br/&gt;requirement for Electrum), then you need to know which branches to explore.&lt;br/&gt;In Electrum 1.9 I had to make some choices about branch allocation. &lt;br/&gt;However, the decisions that I made are certainly not final, so it is &lt;br/&gt;important to be able to change them in the future. Thus, this metadata &lt;br/&gt;needs to be added to the mnemonic.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;  Yes, that&amp;#39;s true. It isn&amp;#39;t possible to make everybody 100% happy. At &lt;br/&gt;&amp;gt; least I wanted to be constructive and asked you to replace the most &lt;br/&gt;&amp;gt; problematic words. No pull request from you so far.&lt;br/&gt;&lt;br/&gt;The solution I propose is very different from BIP39, and it does not &lt;br/&gt;require to predefine a dictionary.&lt;br/&gt;My proposal is actually somewhat similar to Pieter Wuille&amp;#39;s proposal, &lt;br/&gt;which I discovered after his recent post.&lt;br/&gt;( &lt;a href=&#34;https://bitcointalk.org/index.php?topic=102349.0&#34;&gt;https://bitcointalk.org/index.php?topic=102349.0&lt;/a&gt; )&lt;br/&gt;&lt;br/&gt;&amp;gt;  Yes, it was original idea. So far I don&amp;#39;t think this is a problem. Of &lt;br/&gt;&amp;gt; course some words may have some meaning across languages, but it &lt;br/&gt;&amp;gt; should be easy to avoid them. There are tens of thousands words in &lt;br/&gt;&amp;gt; every language and we need to pick &amp;#34;only&amp;#34; 2048 words to wordlist.&lt;br/&gt;&amp;gt; ...&lt;br/&gt;&amp;gt; Are your worries about overlapping words across languages a real issue?&lt;br/&gt;&lt;br/&gt;No, there are not so many words that are frequent enough.&lt;br/&gt;Overlapping will be an issue, especially if we go for a 4096 words &lt;br/&gt;dictionary.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; If I understand this well, it is basically one-way algorithm &amp;#34;mnemonic &lt;br/&gt;&amp;gt; -&amp;gt; seed&amp;#34;, right? Seed cannot be printed out as mnemonic, because &lt;br/&gt;&amp;gt; there&amp;#39;s hashing involved, but the bi-directionality has been the &lt;br/&gt;&amp;gt; original requirement for such algorithm (at least in Electrum and bip39).&lt;br/&gt;&lt;br/&gt;You are right, this encoding is not symmetric.&lt;br/&gt;Bi-directionality has never been a requirement for Electrum. May I ask &lt;br/&gt;why you need bi-directionality in Trezor?&lt;br/&gt;(the only reason I can think of is if you want to export a bip32 branch &lt;br/&gt;into another wallet, but this would create a very long mnemonic string)&lt;br/&gt;&lt;br/&gt;&amp;gt; Then, how is this different to picking 12 random words from dictionary &lt;br/&gt;&amp;gt; and hashing them together? I don&amp;#39;t see any benefit in that &amp;#34;mining&amp;#34; &lt;br/&gt;&amp;gt; part of the proposal (except that it is lowering the entropy for given &lt;br/&gt;&amp;gt; length of mnemonic).&lt;br/&gt;&lt;br/&gt;it makes it possible to hash a utf8 string, and to retrieve the metadata &lt;br/&gt;from the hash.&lt;br/&gt;Thus we don&amp;#39;t need to spend ages arguing about the best choice of a &lt;br/&gt;dictionary, and to set it in stone.
    </content>
    <updated>2023-06-07T17:08:00&#43;02:00</updated>
  </entry>

</feed>