<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-09T12:16:21Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by William Casarin [ARCHIVE]</title>
  <author>
    <name>William Casarin [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub1d7e068ud72v0au6xf53qvek44eccfhlgnhzuclf6za6hnxrvx89sc93exj.rss" />
  <link href="https://njump.me/npub1d7e068ud72v0au6xf53qvek44eccfhlgnhzuclf6za6hnxrvx89sc93exj" />
  <id>https://njump.me/npub1d7e068ud72v0au6xf53qvek44eccfhlgnhzuclf6za6hnxrvx89sc93exj</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://njump.me/nevent1qqsfd0qdlsvlww90mnm9jnky9t3hkgzm3vptpt2y2xxsqkn77dgdakszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukq4hx4m</id>
    
      <title type="html">📅 Original date posted:2022-01-24 📝 Original message: On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfd0qdlsvlww90mnm9jnky9t3hkgzm3vptpt2y2xxsqkn77dgdakszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukq4hx4m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszzsjzkdsehk0cf76v40qhv04hysa70hv57ke5epltmlyjz4anm5sk5wnzu&#39;&gt;nevent1q…wnzu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-24&lt;br/&gt;📝 Original message:&lt;br/&gt;On Mon, Jan 24, 2022 at 01:54:49PM &#43;1030, Rusty Russell wrote:&lt;br/&gt;&amp;gt;Christian Decker &amp;lt;decker.christian at gmail.com&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt;William Casarin &amp;lt;jb55 at jb55.com&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I think the end goal of an RPC bolt [blip] would be super powerful,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; so that lnsocket could talk to any lightning node, but that could be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; further down the line. Choosing the right data format seemed like an&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; important step in that direction. Would love to hear your thoughts&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; on this!&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I agree. Exchanging the transport layer underneath grpc doesn&amp;#39;t change&lt;br/&gt;&amp;gt;&amp;gt; semantics, but does unlock a number of potential use-cases. I think&lt;br/&gt;&amp;gt;&amp;gt; either the JSON-RPC or grpc can serve as a basis for a common RPC&lt;br/&gt;&amp;gt;&amp;gt; definition that can have any number of bindings, since we generate&lt;br/&gt;&amp;gt;&amp;gt; conversion code to/from JSON-RPC and grpc we can transparently map them&lt;br/&gt;&amp;gt;&amp;gt; back and forth.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;Yeah, I don&amp;#39;t think we&amp;#39;ll end up with a control standard.  But I&amp;#39;ve been&lt;br/&gt;&amp;gt;pleasantly surprised before: certainly a common subset would be nice!&lt;br/&gt;&lt;br/&gt;I ended up just using json&#43;commando for my prototype[1]. I&amp;#39;m not going&lt;br/&gt;to overengineer anything yet. If there&amp;#39;s a way write plugins for the&lt;br/&gt;other implementations I could start hacking away at a common control&lt;br/&gt;subset, since I do eventually want an iOS app that controls all node&lt;br/&gt;implementations. I will try to get something working across multiple&lt;br/&gt;implementations before writing up a spec.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;http://git.jb55.com/lnsocket/file/rpc.c.html&#34;&gt;http://git.jb55.com/lnsocket/file/rpc.c.html&lt;/a&gt;
    </content>
    <updated>2023-06-09T13:05:04Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs946aypd30tm4jp4kkthks6qvfjpp0pstet0jhydrqn9wwtfcpraszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukmyyc9w</id>
    
      <title type="html">📅 Original date posted:2022-01-18 📝 Original message: Hey ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs946aypd30tm4jp4kkthks6qvfjpp0pstet0jhydrqn9wwtfcpraszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukmyyc9w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsthtaufsmku59zmp3z4dk867ac2renwa9w3jydgvgvultaspezppgl7q705&#39;&gt;nevent1q…q705&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-18&lt;br/&gt;📝 Original message:&lt;br/&gt;Hey Christian,&lt;br/&gt;&lt;br/&gt;I noticed you are doing RPC stuff... I&amp;#39;m looking to do RPC over&lt;br/&gt;lightning itself. I started a C library called lnsocket[1], scrounged&lt;br/&gt;from clightning parts, so that I can send messages from iOS to control&lt;br/&gt;my lightning node.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve got to the point with lnsocket where I can send TLVs to my node,&lt;br/&gt;and now I&amp;#39;m starting to think about what format the RPC commands should&lt;br/&gt;be.&lt;br/&gt;&lt;br/&gt;I noticed the commando c-lightning plugin just uses the JSON-RPC&lt;br/&gt;payload, but perhaps something more compact and rpc-friendly like grpc&lt;br/&gt;would be better... which is why this cln-grpc PR peaked my curiosity.&lt;br/&gt;&lt;br/&gt;I think the end goal of an RPC bolt would be super powerful, so that&lt;br/&gt;lnsocket could talk to any lightning node, but that could be further&lt;br/&gt;down the line. Choosing the right data format seemed like an important&lt;br/&gt;step in that direction. Would love to hear your thoughts on this!&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve cc&amp;#39;d clightning/lightning-dev as well to see if anyone else is&lt;br/&gt;working on this or thinking about this stuff right now.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;http://git.jb55.com/lnsocket&#34;&gt;http://git.jb55.com/lnsocket&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;On Tue, Jan 18, 2022 at 06:01:46AM -0800, Christian Decker wrote:&lt;br/&gt;&amp;gt;This is the final PR in the cln-* series. It uses all the primitives we&lt;br/&gt;&amp;gt;built in the previous 3 PRs and uses them to expose the JSON-RPC over&lt;br/&gt;&amp;gt;grpc, with mTLS authentication builtin. You can view, comment on, or&lt;br/&gt;&amp;gt;merge this pull request online at:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  &lt;a href=&#34;https://github.com/ElementsProject/lightning/pull/5013&#34;&gt;https://github.com/ElementsProject/lightning/pull/5013&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;-- Commit Summary --&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  * cln-grpc-plugin: Add scaffolding for the cln-grpc-plugin&lt;br/&gt;&amp;gt;  * make: Add a hook for us to depend on generated files for tests&lt;br/&gt;&amp;gt;  * make: Generate grpc bindings if we want to test with rust enabled
    </content>
    <updated>2023-06-09T13:05:03Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0gtrqw53rp43pjxewwp42kspqdantv2v0j4fa7y0zafcpvutdxmszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukhr7wer</id>
    
      <title type="html">📅 Original date posted:2021-12-15 📝 Original message: On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0gtrqw53rp43pjxewwp42kspqdantv2v0j4fa7y0zafcpvutdxmszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukhr7wer" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswgfpj36dn0wa34at6ry4mdkapden4ets77sjvzpmlfc227l0n0zcmc39lu&#39;&gt;nevent1q…39lu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-12-15&lt;br/&gt;📝 Original message:&lt;br/&gt;On Wed, Dec 15, 2021 at 01:59:49PM -0800, William Casarin wrote:&lt;br/&gt;&amp;gt;Hey Ronan,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;On Wed, Dec 15, 2021 at 05:33:51PM &#43;0000, Ronan McGovern wrote:&lt;br/&gt;&amp;gt;&amp;gt;If not, what would be required to develop this?&lt;br/&gt;&amp;gt;&amp;gt;* A protocol change?&lt;br/&gt;&amp;gt;&amp;gt;* Could it be built with the current protocol (I see an app on LN Bits to&lt;br/&gt;&amp;gt;&amp;gt;split but it doesn&amp;#39;t seem to work).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;This is typically done at the application level. The fountain podcasting&lt;br/&gt;&amp;gt;app works this way and it seems to work okish.&lt;br/&gt;&lt;br/&gt;The tricky part is what to do when the payment partially fails. Perhaps&lt;br/&gt;you keep trying with exponential backoff until the payment completes for&lt;br/&gt;all parties. If this was handled at the protocol level, would you fail&lt;br/&gt;the entire transaction if one of the channels failed? This is the kind&lt;br/&gt;of business logic that would be tricky when designing a protocol-level&lt;br/&gt;solution to this.&lt;br/&gt;&lt;br/&gt;I think it&amp;#39;s reasonable to handle this at the application level for now,&lt;br/&gt;but perhaps some standard protocols might be useful in the future.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will
    </content>
    <updated>2023-06-09T13:04:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswgfpj36dn0wa34at6ry4mdkapden4ets77sjvzpmlfc227l0n0zczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk0xm6gv</id>
    
      <title type="html">📅 Original date posted:2021-12-15 📝 Original message: Hey ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswgfpj36dn0wa34at6ry4mdkapden4ets77sjvzpmlfc227l0n0zczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk0xm6gv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxjl5ekhg3r72cr04kkv8xeppw34wpunchypfh8q326gqq27r8jnqlkg7ft&#39;&gt;nevent1q…g7ft&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-12-15&lt;br/&gt;📝 Original message:&lt;br/&gt;Hey Ronan,&lt;br/&gt;&lt;br/&gt;On Wed, Dec 15, 2021 at 05:33:51PM &#43;0000, Ronan McGovern wrote:&lt;br/&gt;&amp;gt;Hi folks, I&amp;#39;m Ronan - based in Dublin and building Trelis.com (simple&lt;br/&gt;&amp;gt;payment links to accept Lightning).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;I&amp;#39;m wondering if there is a way to create an invoice that splits the&lt;br/&gt;&amp;gt;payment to two lightning addresses?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;If not, what would be required to develop this?&lt;br/&gt;&amp;gt;* A protocol change?&lt;br/&gt;&amp;gt;* Could it be built with the current protocol (I see an app on LN Bits to&lt;br/&gt;&amp;gt;split but it doesn&amp;#39;t seem to work).&lt;br/&gt;&lt;br/&gt;This is typically done at the application level. The fountain podcasting&lt;br/&gt;app works this way and it seems to work okish.
    </content>
    <updated>2023-06-09T13:04:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf80va6qz0uqxcr6lsnlxhh62eqtyzxmp82vqh250ndgadf5fk00gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk6jn2j4</id>
    
      <title type="html">📅 Original date posted:2021-12-16 📝 Original message: Hey ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf80va6qz0uqxcr6lsnlxhh62eqtyzxmp82vqh250ndgadf5fk00gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk6jn2j4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2tkd5k50ltj6kevxmmrsc8a8ar4xecv4y0df0kak57f564txkfkqe0jt5f&#39;&gt;nevent1q…jt5f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-12-16&lt;br/&gt;📝 Original message:&lt;br/&gt;Hey Christian,&lt;br/&gt;&lt;br/&gt;On Thu, Dec 16, 2021 at 11:27:33AM &#43;0100, Christian Decker wrote:&lt;br/&gt;&amp;gt;This is quite a common request, and we&amp;#39;ve used a solution I like to call&lt;br/&gt;&amp;gt;the &amp;#34;Poor man&amp;#39;s rendez-vous&amp;#34;. It basically routes a payment through all&lt;br/&gt;&amp;gt;the parties that are to be paid, with the last one accepting the payment&lt;br/&gt;&amp;gt;for all participants.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;The payment is atomic, once the circuit is set up no participant can&lt;br/&gt;&amp;gt;cheat the others and it&amp;#39;s seamless from the payer&amp;#39;s perspective.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;Let&amp;#39;s say user `A` wants to pay `B` and `C` atomically. `B` gets 10ksat&lt;br/&gt;&amp;gt;and `C` gets 90ksat out of a total of 100ksat:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) `C` creates an invoice with payment hash `H` for 90ksat and sends it&lt;br/&gt;&amp;gt;    to `B`&lt;br/&gt;&amp;gt; 2) `B` creates an invoice with payment hash `H` (same as the first&lt;br/&gt;&amp;gt;    invoice, but `B` doesn&amp;#39;t know the preimage) for 100ksat (maybe plus&lt;br/&gt;&amp;gt;    a tiny bit for routing fees between `B` and `C`).&lt;br/&gt;&amp;gt; 3) `A` receives an invoice which appears to be from `B` for the&lt;br/&gt;&amp;gt;    expected total of 100ksat.&lt;br/&gt;&amp;gt; 4) `A` proceeds to pay the invoice to `B` like normal&lt;br/&gt;&amp;gt; 5) `B` receives the incoming payment, but doesn&amp;#39;t have the preimage for&lt;br/&gt;&amp;gt;    `H`, so they must forward to `C` if they want to receive their&lt;br/&gt;&amp;gt;    share. `B` then proceeds to pay the 90ksat invoice from `C`, which&lt;br/&gt;&amp;gt;    reveals the preimage to them, and they can turn around and claim&lt;br/&gt;&amp;gt;    the incoming `100ksat` (covering both `B` and `C` share)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;It&amp;#39;s a poor man&amp;#39;s version because it requires creating two invoices and&lt;br/&gt;&amp;gt;`B` sees two payments (100ksat incoming, 90ksat outgoing), but the&lt;br/&gt;&amp;gt;overall outcome is the desired one: either both parties get paid or&lt;br/&gt;&amp;gt;noone gets paid. This can trivially be extended to any number of parties&lt;br/&gt;&amp;gt;(with reduced success probability), and will remain atomic. It also&lt;br/&gt;&amp;gt;doesn&amp;#39;t require any changes on the sender side, and only minimal setup&lt;br/&gt;&amp;gt;between the payees. The crux here is that we somehow need to ensure `H`&lt;br/&gt;&amp;gt;is always the same along the entire chain of payments, but with a good&lt;br/&gt;&amp;gt;coordination protocol that should be feasible.&lt;br/&gt;&lt;br/&gt;This is very cool, at least for a small number of parties. When I was&lt;br/&gt;working at a record label it was very common to split between 1-5 people&lt;br/&gt;on a given track, being able to atomically payout to individual artist&amp;#39;s&lt;br/&gt;lightning nodes would have been super useful at the time (assuming a&lt;br/&gt;world where our artists ran lightning nodes). At some point I was&lt;br/&gt;testing 600-output bitcoin transactions as a payout method, but that&lt;br/&gt;looked like it was going to be economically infeasible sometime in the&lt;br/&gt;future.&lt;br/&gt;&lt;br/&gt;Has anyone coded up a &amp;#39;Poor man&amp;#39;s rendez-vous&amp;#39; demo yet? How hard would&lt;br/&gt;it be, could it be done with a clightning plugin perhaps?&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will
    </content>
    <updated>2023-06-09T13:04:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsv4uqpns5c6kdgkwsnv9cda8d6fqf2ctgqr798377ewv5ssvk5p5qzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukaa468p</id>
    
      <title type="html">📅 Original date posted:2020-05-14 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsv4uqpns5c6kdgkwsnv9cda8d6fqf2ctgqr798377ewv5ssvk5p5qzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukaa468p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstde7gq054uwtfk3x4ga4wjhkfk2c2dpx6hfjjs37w82t4cv5dvxqpfetlh&#39;&gt;nevent1q…etlh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2020-05-14&lt;br/&gt;📝 Original message:&lt;br/&gt;Eugene via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello, list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I haven&amp;#39;t closely following the Lightning Network&amp;#39;s state of affairs since late 2018 and I wondering, is it possible to support the following use-case with LN:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. A user subscribes to the service by opening a channel with it&lt;br/&gt;&amp;gt; 2. User sets his LN node to &amp;#34;trust&amp;#34; invoices that come from said service&lt;br/&gt;&amp;gt; 3. On subscription renewal, service sends an invoice to the client&amp;#39;s LN node&lt;br/&gt;&amp;gt; 4. Since the client&amp;#39;s node is &amp;#34;trusting&amp;#34; service&amp;#39;s node, it pays invoice straight away&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; User, of course, may cancel the subscription at any time by removing service&amp;#39;s LN node public key from the list of &amp;#34;trusted&amp;#34;. Or the user can set a limit on the amount and the frequency of payments that would be accepted from the trusted node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For that matter, the questions are:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. Is it possible to send invoices just by LN means? (Should we use TLVs?)&lt;br/&gt;&amp;gt; 2. Is it possible to enable automatic machine-to-machine payments? As in the example above, by accepting invoices from &amp;#34;trusted&amp;#34; nodes.&lt;br/&gt;&lt;br/&gt;Offers[0] should support these use cases&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;[0] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-November/002276.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-November/002276.html&lt;/a&gt;
    </content>
    <updated>2023-06-09T13:00:15Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswma0qddev0etn0fj8q4mk5p5kkly9vxdhdaxac2ndg7vkk04ed7szyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukyk3qzc</id>
    
      <title type="html">📅 Original date posted:2018-12-29 📝 Original message: Pavol ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswma0qddev0etn0fj8q4mk5p5kkly9vxdhdaxac2ndg7vkk04ed7szyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukyk3qzc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq2w0edjhn5lslenqupra2j5hy86v2kdg9zts8dp8res4up9vpkncna7zqx&#39;&gt;nevent1q…7zqx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-29&lt;br/&gt;📝 Original message:&lt;br/&gt;Pavol Rusnak via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi all!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Currently, when I perform a payment via QR code, I usually check the&lt;br/&gt;&amp;gt; payee node id (public key) in the send dialog. However, this is a rather&lt;br/&gt;&amp;gt; long hex value, so for example Eclair app shows just the beginning and&lt;br/&gt;&amp;gt; the end of the value.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Idea: Can we show an identicon (for example &lt;a href=&#34;https://jdenticon.com/&#34;&gt;https://jdenticon.com/&lt;/a&gt;) of&lt;br/&gt;&amp;gt; payee node id (= public key) next to the QR code, so user can visually&lt;br/&gt;&amp;gt; quickly check whether the recipient is correct?&lt;br/&gt;&lt;br/&gt;I think it would be interesting if someone came up with a visual hashing&lt;br/&gt;algorithm, where small changes in the inputs had uniformly random visual&lt;br/&gt;outputs. I was testing jdenticon with my node id:&lt;br/&gt;&lt;br/&gt;  03f3c108ccd536b8526841f0a5c58212bb9e6584a1eb493080e7c1cc34f82dad71&lt;br/&gt;&lt;br/&gt;I was surprised to see that small changes to the first digit didn&amp;#39;t&lt;br/&gt;change the visual output at all. Whether or not this is a useful&lt;br/&gt;property in this use case, it&amp;#39;s something to keep in mind.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-09T12:53:35Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvtntzlh8jd5mc5l8g0h5wa8lunwsexcmau6ehk2zmw8703gm7cuszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukdn7dye</id>
    
      <title type="html">📅 Original date posted:2018-08-17 📝 Original message: Hello ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvtntzlh8jd5mc5l8g0h5wa8lunwsexcmau6ehk2zmw8703gm7cuszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukdn7dye" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsze59qn5fhj8vm2c769fgmsc230we9cgqqpn7e3e85wxyjknhuf4cad485m&#39;&gt;nevent1q…485m&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-08-17&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello lightning/bitcoin devs,&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been working on an OpenGL Lighting Network visualizer written in C&lt;br/&gt;&#43; nanovg with no dependencies except for glfw. I thought I would release&lt;br/&gt;the alpha here first for testing.&lt;br/&gt;&lt;br/&gt;Right now it only parses c-lightning channels and node json, but I&amp;#39;m&lt;br/&gt;currently adding support for LND. I&amp;#39;ve only tested on linux, so it would&lt;br/&gt;be great if we could get this working on macos/windows as well.&lt;br/&gt;&lt;br/&gt;Picture:  &lt;img src=&#34;https://jb55.com/s/abe49a248360d41c.png&#34;&gt; &lt;br/&gt;Code: &lt;a href=&#34;https://github.com/jb55/lnvis&#34;&gt;https://github.com/jb55/lnvis&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;How it works&lt;br/&gt;------------&lt;br/&gt;&lt;br/&gt;LNvis renders the Lightning Network channel gossip, which include nodes&lt;br/&gt;and the edges (channels) between those nodes.&lt;br/&gt;&lt;br/&gt;- Channels are colored by the node that opened the channel&lt;br/&gt;- Channel widths are rendered proportional to the capacity&lt;br/&gt;- Right clicking a node filters the view to that node and its neighbors&lt;br/&gt;- Dragging a node in any view will focus that node and its neihbors&lt;br/&gt;&lt;br/&gt;That&amp;#39;s about it for now. Next things that I think would be fun to have:&lt;br/&gt;&lt;br/&gt;- Filter by alias/id in the UI&lt;br/&gt;- &amp;#34;Google Maps&amp;#34; mode for highlighting potential routes between nodes&lt;br/&gt;- Realtime channel updates from network gossip&lt;br/&gt;&lt;br/&gt;Any other ideas and suggesstions would be great.&lt;br/&gt;&lt;br/&gt;Contributors welcome!&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will
    </content>
    <updated>2023-06-09T12:51:22Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqvs0xtucyfpt9sqrzfa4858c6rt9rrp4k43jtr2hj5c4t8psz8tqzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukpka9vq</id>
    
      <title type="html">📅 Original date posted:2018-07-03 📝 Original message: A ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqvs0xtucyfpt9sqrzfa4858c6rt9rrp4k43jtr2hj5c4t8psz8tqzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukpka9vq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspvkufde59h8gzenkll75jhakymmf9zkfufqr8crw0kh8p9nh8sfqs2h8yx&#39;&gt;nevent1q…h8yx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-07-03&lt;br/&gt;📝 Original message:&lt;br/&gt;A convention in Haskell libraries is to use an &amp;#34;unsafe&amp;#34; prefix to any function that may have side effects (here be dragons, etc)&lt;br/&gt;&lt;br/&gt;I&amp;#39;m happy with a _VULNERABLE or _UNSAFE postfix as a standard way to signal this.
    </content>
    <updated>2023-06-09T12:51:08Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgdatdp0lkwymd5a7lhpyvp8gf9sc6lurad2makm52jndzytwe04gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukfnzxdc</id>
    
      <title type="html">📅 Original date posted:2018-01-16 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgdatdp0lkwymd5a7lhpyvp8gf9sc6lurad2makm52jndzytwe04gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukfnzxdc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2ndn3xq2ae5spxy2jf347d0juh73v9ayhf2zr4j5a2zhfsezv29c0320pc&#39;&gt;nevent1q…20pc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-16&lt;br/&gt;📝 Original message:&lt;br/&gt;Benjamin Mord &amp;lt;ben at mord.io&amp;gt; writes:&lt;br/&gt;&amp;gt; [..]&lt;br/&gt;&amp;gt; why not allow negative fees to incent unwinding, in scenarios where nodes&lt;br/&gt;&amp;gt; consider that cheaper than on-chain rebalancing?&lt;br/&gt;&lt;br/&gt;This was brought up before here [1]:&lt;br/&gt;&lt;br/&gt;Rusty Russell &amp;lt;rusty at rustcorp.com.au&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt; Edward Marynarz &amp;lt;edziumarynarz at gmail.com&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt; Another trivial question: can the fee be negative? It might help with some&lt;br/&gt;&amp;gt;&amp;gt; channel rebalancing.&lt;br/&gt;&lt;br/&gt;&amp;gt;In my original implementation, they could be.  However, that turns out&lt;br/&gt;&amp;gt;to be a very strange idea, and complicates routing.&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2017-December/000827.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2017-December/000827.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-09T12:48:35Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspvxnplxm6n2d8dz6w5qv2l0ve7fmm0j4gklxzkykur4gdz64xl7gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukra4gkh</id>
    
      <title type="html">📅 Original date posted:2020-05-14 📝 Original message:Orfeas ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspvxnplxm6n2d8dz6w5qv2l0ve7fmm0j4gklxzkykur4gdz64xl7gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukra4gkh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2rea4p37ny5ay2s638tc0hkkw2skd54ena0emxpqty90kn22swjszfr8z7&#39;&gt;nevent1q…r8z7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2020-05-14&lt;br/&gt;📝 Original message:Orfeas Stefanos Thyfronitis Litos &amp;lt;o.thyfronitis at ed.ac.uk&amp;gt; writes:&lt;br/&gt;&amp;gt; ZmnSCPxj via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt; If everyone runs such a privately-owned server, on the other hand, this&lt;br/&gt;&amp;gt;&amp;gt; is not so different from having a Lightning node you run at your home&lt;br/&gt;&amp;gt;&amp;gt; that has a fullnode as well and which you access via a remote control&lt;br/&gt;&amp;gt;&amp;gt; mobile device, and it is the inconvenience of having such a server at&lt;br/&gt;&amp;gt;&amp;gt; your home that prevents this in the first place.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Private full nodes serving headers to a handful of weak devices have&lt;br/&gt;&amp;gt; been mentioned many times as a good solution against all sorts of&lt;br/&gt;&amp;gt; problems in a future full of LN &#43; SPV nodes. I agree. It should be&lt;br/&gt;&amp;gt; therefore a top priority to make the UX of connecting my mobile LN&lt;br/&gt;&amp;gt; client to my home full node extremely easy, so that centralised&lt;br/&gt;&amp;gt; services can&amp;#39;t improve much on that step. Especially if I already run&lt;br/&gt;&amp;gt; a full node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Could someone briefly describe how this UX looks currently? And if&lt;br/&gt;&amp;gt; it&amp;#39;s not as seamless as it could, what blockers are there?&lt;br/&gt;&lt;br/&gt;The UX for this doesn&amp;#39;t have to be complicated. All you need is a node&lt;br/&gt;provider like FullyNoded, Casa, etc. My setup at home is a desktop with:&lt;br/&gt;&lt;br/&gt;  - bitcoind&lt;br/&gt;  - clightning&lt;br/&gt;  - zerotier (or tailscale) (private vpn for connecting to your node from anywhere)&lt;br/&gt;  - sparkwallet (clightning webui) bound to a zerotier interface&lt;br/&gt;&lt;br/&gt;So as long as you have a node that runs these bits of software, perhaps&lt;br/&gt;assumeutxo to speed up IBD, and a QR-code automagic setup, then UX&lt;br/&gt;should be pretty smooth. You would still need to deal with lightning&lt;br/&gt;backups and liquidity issues, but we just need to do more work on the&lt;br/&gt;software side to make that experience nicer.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:24:21Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr8zrvvza088crvspj9d933ec7kjdzqudynveynjucuehulzam40gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk687vy8</id>
    
      <title type="html">📅 Original date posted:2019-12-25 📝 Original message:Hey ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr8zrvvza088crvspj9d933ec7kjdzqudynveynjucuehulzam40gzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk687vy8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy0r5dedv750cfnvsfj6fajq8cdzu30x8546yytr4wgd64370842g6a0fjr&#39;&gt;nevent1q…0fjr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-12-25&lt;br/&gt;📝 Original message:Hey Chris,&lt;br/&gt;&lt;br/&gt;Chris Belcher via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; writes:&lt;br/&gt;&amp;gt; I&amp;#39;ve recently been playing around with descriptors, and they are very&lt;br/&gt;&amp;gt; nice to work with. They should become the standard for master public&lt;br/&gt;&amp;gt; keys IMO.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One downside is that users cant easily copypaste them to-and-fro to make&lt;br/&gt;&amp;gt; watch-only wallet. The descriptors contain parenthesis and commas which&lt;br/&gt;&amp;gt; stop highlighting by double-clicking. Also the syntax might look scary&lt;br/&gt;&amp;gt; to newbs.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An obvious solution is to base64 encode the descriptors. Then users&lt;br/&gt;&amp;gt; would get a text blog as the master public key without any extra details&lt;br/&gt;&amp;gt; to bother them, and developers can easily base64 decode for developing&lt;br/&gt;&amp;gt; with them.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think encoding descriptors is a good idea. Encoding makes more&lt;br/&gt;sense if it&amp;#39;s non-human-readable binary data that you want transfer over&lt;br/&gt;a plaintext channel.&lt;br/&gt;&lt;br/&gt;Descriptors aren&amp;#39;t binary data, and have a wealth of useful information&lt;br/&gt;that you can view at a glance. Obfuscating this information just to gain&lt;br/&gt;the ability to copy-paste doesn&amp;#39;t seem like a good idea.&lt;br/&gt;&lt;br/&gt;&amp;gt; I didn&amp;#39;t come up with these ideas, they came from discussions with achow101.&lt;br/&gt;&lt;br/&gt;I suggested base58 or base62 &#43;hrp for PSBT in id:87zhzlbfq5.fsf at jb55.com&lt;br/&gt;[1] for the reasons that you mentioned, so I&amp;#39;m a bit sad that base64 was&lt;br/&gt;chosen. base64 isn&amp;#39;t really good for double-click copy-pasting, it&lt;br/&gt;contains characters such as &#43;/= which aren&amp;#39;t always included when&lt;br/&gt;double-clicking. I prefer bech32, base58 or base62. In this case,&lt;br/&gt;encoding of any kind doesn&amp;#39;t make much sense IMO.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-June/016151.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-June/016151.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:22:06Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0rayzx2pyzyxk8xpuse06243mule89yywrz44jmsdy3ldsuxlcxczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukjk4yed</id>
    
      <title type="html">📅 Original date posted:2019-02-17 📝 Original message:Pavol ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0rayzx2pyzyxk8xpuse06243mule89yywrz44jmsdy3ldsuxlcxczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukjk4yed" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf5ae6djty4p0787cl0c3t440zeqztldjmxyznvmqa05xc8cllnrs76qfkj&#39;&gt;nevent1q…qfkj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-02-17&lt;br/&gt;📝 Original message:Pavol Rusnak via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; We&amp;#39;ve been using Protocol buffers in Trezor since the beginning and so&lt;br/&gt;&amp;gt; far it has proven to be as a great choice.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While I agree it is always risky to add an exotic dependency to a&lt;br/&gt;&amp;gt; software project, this one has lots of interoperable implementations in&lt;br/&gt;&amp;gt; all possible languages you can name and it&amp;#39;s very easy to work with.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the past, the Bitcoin dev community used the same arguments with&lt;br/&gt;&amp;gt; regards to PSBT and we ended up with something that is almost as complex&lt;br/&gt;&amp;gt; as protobuf, but it&amp;#39;s de-facto proprietary to Bitcoin.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cherry on top is that PSBT format can be easily translated back and&lt;br/&gt;&amp;gt; forth to PB making it even more obvious that PB should have been used in&lt;br/&gt;&amp;gt; the first place.&lt;br/&gt;&lt;br/&gt;One argument against Protobuf is that people are already moving away&lt;br/&gt;from it in favor of FlatBuffers, Google&amp;#39;s successor to Protobuf that&lt;br/&gt;doesn&amp;#39;t require serialization/deserialization of structures.&lt;br/&gt;&lt;br/&gt;Do we really want to be chasing the latest serialization library fad&lt;br/&gt;each time a new one comes out? I do think there is value in having&lt;br/&gt;accessible serialization formats, which is why I think it&amp;#39;s a good idea&lt;br/&gt;to provide custom format to protobuf conversion tools.&lt;br/&gt;&lt;br/&gt;This way users who prefer not to include large dependencies don&amp;#39;t have&lt;br/&gt;to, and protobuf users can just do an extra step to convert it into&lt;br/&gt;their preferred format.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:16:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspezyl8gnmxqu8kkmq72vq7z9mfhr7a24ht3y57qdk5efmgfql2hczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukz7rwj6</id>
    
      <title type="html">📅 Original date posted:2018-08-17 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspezyl8gnmxqu8kkmq72vq7z9mfhr7a24ht3y57qdk5efmgfql2hczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukz7rwj6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq4y36p3yjnc46h93m7g2epm9z0gn4ptfg9m5znpcxr6uwkgsv8rqtg5gyr&#39;&gt;nevent1q…5gyr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-08-17&lt;br/&gt;📝 Original message:Hello lightning/bitcoin devs,&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been working on an OpenGL Lighting Network visualizer written in C&lt;br/&gt;&#43; nanovg with no dependencies except for glfw. I thought I would release&lt;br/&gt;the alpha here first for testing.&lt;br/&gt;&lt;br/&gt;Right now it only parses c-lightning channels and node json, but I&amp;#39;m&lt;br/&gt;currently adding support for LND. I&amp;#39;ve only tested on linux, so it would&lt;br/&gt;be great if we could get this working on macos/windows as well.&lt;br/&gt;&lt;br/&gt;Picture:  &lt;img src=&#34;https://jb55.com/s/abe49a248360d41c.png&#34;&gt; &lt;br/&gt;Code: &lt;a href=&#34;https://github.com/jb55/lnvis&#34;&gt;https://github.com/jb55/lnvis&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;How it works&lt;br/&gt;------------&lt;br/&gt;&lt;br/&gt;LNvis renders the Lightning Network channel gossip, which include nodes&lt;br/&gt;and the edges (channels) between those nodes.&lt;br/&gt;&lt;br/&gt;- Channels are colored by the node that opened the channel&lt;br/&gt;- Channel widths are rendered proportional to the capacity&lt;br/&gt;- Right clicking a node filters the view to that node and its neighbors&lt;br/&gt;- Dragging a node in any view will focus that node and its neihbors&lt;br/&gt;&lt;br/&gt;That&amp;#39;s about it for now. Next things that I think would be fun to have:&lt;br/&gt;&lt;br/&gt;- Filter by alias/id in the UI&lt;br/&gt;- &amp;#34;Google Maps&amp;#34; mode for highlighting potential routes between nodes&lt;br/&gt;- Realtime channel updates from network gossip&lt;br/&gt;&lt;br/&gt;Any other ideas and suggesstions would be great.&lt;br/&gt;&lt;br/&gt;Contributors welcome!&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Will
    </content>
    <updated>2023-06-07T18:14:06Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqst800zyfcpk8h9czv2pjn5u32ve7njxr9auwwss26xxdq3ev965jczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk5k3jcj</id>
    
      <title type="html">📅 Original date posted:2018-07-05 📝 Original message:I have ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqst800zyfcpk8h9czv2pjn5u32ve7njxr9auwwss26xxdq3ev965jczyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk5k3jcj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstxpsc8sg06w9ty4enejdfynfdtyfj8mctvf5gjeweyx9h4m9yzus7pcnnq&#39;&gt;nevent1q…cnnq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-07-05&lt;br/&gt;📝 Original message:I have another concern with the format. (my original bip comment for some context: [1])&lt;br/&gt;&lt;br/&gt;It looks like the one of the reasons I was confused is because you can&lt;br/&gt;only parse the format properly by first deserializing the transaction.&lt;br/&gt;Since there is no &amp;#34;length&amp;#34; field for the key-value map arrays, you must&lt;br/&gt;count the number of transaction input/outputs, and use that as the&lt;br/&gt;number of kv maps to parse.&lt;br/&gt;&lt;br/&gt;This is pretty brittle, because now if a Combiner writes the wrong&lt;br/&gt;number of key-value maps that don&amp;#39;t align with the number of inputs and&lt;br/&gt;outputs in the transaction, then the psbt will not be able to be&lt;br/&gt;deserialized properly, but is still a valid PSBT. It can&amp;#39;t even detect&lt;br/&gt;these situations, because the input and output types share the same enum&lt;br/&gt;values. I don&amp;#39;t see anywhere that says the number of key value maps MUST&lt;br/&gt;match the number of inputs/outputs, perhaps it&amp;#39;s implied?&lt;br/&gt;&lt;br/&gt;I think I think we should either make this explicit in the BIP, add an&lt;br/&gt;array length prefix, or make all (global/input/output) types share the&lt;br/&gt;same enum.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;William&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://github.com/bitcoin/bips/pull/694#issuecomment-402812041&#34;&gt;https://github.com/bitcoin/bips/pull/694#issuecomment-402812041&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:13:32Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9dh7wfxxt9maz88j0jjma22cetd6x89p27wpu2lgq5nax27gzkrgzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk5s245v</id>
    
      <title type="html">📅 Original date posted:2018-07-03 📝 Original message:A ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9dh7wfxxt9maz88j0jjma22cetd6x89p27wpu2lgq5nax27gzkrgzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuk5s245v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszfp39jc676jgggqgsx8q6fzvdcjtqg5l8qq8mjxa8uh7a2fn94ashrzhcm&#39;&gt;nevent1q…zhcm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-07-03&lt;br/&gt;📝 Original message:A convention in Haskell libraries is to use an &amp;#34;unsafe&amp;#34; prefix to any function that may have side effects (here be dragons, etc)&lt;br/&gt;&lt;br/&gt;I&amp;#39;m happy with a _VULNERABLE or _UNSAFE postfix as a standard way to signal this.
    </content>
    <updated>2023-06-07T18:13:27Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqcx4hfdyatkjxrwwhvx7e5z0eddys4duyyf6r4yuz6rm6ehdtykszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukt9fyaf</id>
    
      <title type="html">📅 Original date posted:2018-06-27 📝 Original message:Hey ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqcx4hfdyatkjxrwwhvx7e5z0eddys4duyyf6r4yuz6rm6ehdtykszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukt9fyaf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyaah3vxfjzx9v4axuazagj0jwwv38en8gh4v224s664c43z6f3jq7l9lrk&#39;&gt;nevent1q…9lrk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-06-27&lt;br/&gt;📝 Original message:Hey Andrew,&lt;br/&gt;&lt;br/&gt;If I&amp;#39;m reading the spec right: the way it is designed right now, you&lt;br/&gt;could create hundreds of thousands of zero bytes in the input or output&lt;br/&gt;key-value arrays. As far as I can tell this would be considered valid,&lt;br/&gt;as it is simply a large array of empty dictionaries. Is this right? I&amp;#39;m&lt;br/&gt;worried about buffer overflows in cases where someone sends a large blob&lt;br/&gt;of zeros to an unsuspecting implementation.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Also, the extensibility section reads:&lt;br/&gt;&lt;br/&gt;&amp;gt; Additional key-value maps with different types for the key-value pairs&lt;br/&gt;&amp;gt; can be added on to the end of the format.&lt;br/&gt;&lt;br/&gt;&amp;#34;different types for the key-value pairs&amp;#34;, is this referring to new&lt;br/&gt;types beyond the current global, input and output types?&lt;br/&gt;&lt;br/&gt;&amp;gt; The number of each map that follows must be specified in the globals&lt;br/&gt;&amp;gt; section&lt;br/&gt;&lt;br/&gt;Is this out of date? Since there is only one type in the global section&lt;br/&gt;now (tx).&lt;br/&gt;&lt;br/&gt;&amp;gt; so that parsers will know when to use different definitions of the&lt;br/&gt;&amp;gt; data types&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure what this means.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thanks!&lt;br/&gt;&lt;br/&gt;Will&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:13:16Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsym5s4enge4v28gyly0nv5xchcy7ek6w77q565auq8cyp2f252cjgzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukswea0s</id>
    
      <title type="html">📅 Original date posted:2018-06-26 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsym5s4enge4v28gyly0nv5xchcy7ek6w77q565auq8cyp2f252cjgzyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukswea0s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgt7jx3c854m940ag00z5gnmjmtwkxfervwjw5zgwptchzztxrnqqfhukc8&#39;&gt;nevent1q…ukc8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-06-26&lt;br/&gt;📝 Original message:matejcik via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; BIP174 is a ad-hoc format, simple to parse by hand; but that results&lt;br/&gt;&amp;gt; in _having to_ parse it by hand. In contrast, protobuf has a huge&lt;br/&gt;&amp;gt; collection of implementations that will do the job of sorting record&lt;br/&gt;&amp;gt; types into relevant struct fields, proper delimiting of records, etc.&lt;br/&gt;&lt;br/&gt;seems a bit overkill for how simple the format is, and pulling in a&lt;br/&gt;large dependency just for this is a bit silly. Although making it&lt;br/&gt;protobuf-compatible is an interesting idea, but I fear would be more&lt;br/&gt;work than is worth? I haven&amp;#39;t looked closed enough at the protobuf&lt;br/&gt;encoding to be sure.&lt;br/&gt;&lt;br/&gt;&amp;gt; ...while at the same time, implementing &amp;#34;protobuf-based-BIP174&amp;#34; by&lt;br/&gt;&amp;gt; hand is roughly equally difficult as implementing the current BIP174.&lt;br/&gt;&lt;br/&gt;as a data point, I was able to build a simple serializer[1] in about an&lt;br/&gt;afternoon. I would much prefer to use this lib in say, clightning (my&lt;br/&gt;original goal), without having to have the larger protobuf dependency.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://github.com/jb55/libpsbt&#34;&gt;https://github.com/jb55/libpsbt&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:13:12Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs83p85ueffg6laafqgpvq32300x3tz5m49s4mgvqrfdlyuv4z0ygszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuknsawrp</id>
    
      <title type="html">📅 Original date posted:2018-06-23 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs83p85ueffg6laafqgpvq32300x3tz5m49s4mgvqrfdlyuv4z0ygszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscuknsawrp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0m84dy66dufr9es526nh75njcqj60ntg6kn78h2ltqr20n3ps93chy0zm9&#39;&gt;nevent1q…0zm9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-06-23&lt;br/&gt;📝 Original message:Achow101 via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; I have decided that PSBTs should either be in binary or encoded as a&lt;br/&gt;&amp;gt; Base64 string. For the latter, several Bitcoin clients already support&lt;br/&gt;&amp;gt; Base64 encoding of data (for signed messages) so this will not add any&lt;br/&gt;&amp;gt; extra dependencies like Z85 would.&lt;br/&gt;&lt;br/&gt;Since we&amp;#39;re still considering the encoding, I wonder if it would be a&lt;br/&gt;good idea to have a human-readible part like lightning invoices[1]?&lt;br/&gt;&lt;br/&gt;lightning invoice &lt;br/&gt;&lt;br/&gt;  vvvvvv&lt;br/&gt;  lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w&lt;br/&gt;&lt;br/&gt;psbt?&lt;br/&gt;&lt;br/&gt;  vvvv&lt;br/&gt;  psbtcHNidP8BAHwCAAAAAi6MfY03xCfgYOwALsHCvDAZb8L3XWqIRMvANlHAgUMKAQAAAAD/////lqBODMY283eTPj2TrMxif6rNvNtaliTfG0kL0EXyTSwAAAAAAP////8B4CvlDgAAAAAXqRS1O7DcHbjI2APj4594TULkc3/6DYcAAAAAFQEgNzbDwGBTiW1wQc6PW64992zEkUdSIQPIcnzjXxyT6wviFAbumpI8iSGf6cnoUEyDFKaiLRKVwCEDx03HEMQH19tuBB7iEtmFzSgm2T&#43;AbtRJErmh2mkcl3NSrhUB87qKEg2WCuB9Hb5vDDf7TJJtdtUiACCo9ERnvxcdUUmRU&#43;AcC9YpEQn8OL0hs8MiTJ3GtXWQ3yECqPREZ78XHVFJkVPgHAvWKREJ/Di9IbPDIkydxrV1kN9HUiEC6A3sMdFnhlwWhenXqSkeZqTqIsZc/uMkKJoWZ8zaO4chAljLvDyylai&#43;usIzqtx3c5eIBJk3mL5TkKtET23UxTJ&#43;Uq4AAQD9/wACAAAAAYst0vc10KkzivlkAqipHkhBzT/tiCNi5zKfsE8f9lMlAAAAAGpHMEQCIHe&#43;3&#43;qZEMm6TgDeyUHazpdPi0c0mZLF1DEsHPV5bM5VAiBhZOa//3rBFZAGTKVxWDcJM3yKOJc9sucPTp2Ts7zOHQEhAy1kRHRZeE43yy3aNmxpetu9yKrirW23TtLa3jnXWIL6/v///wOCtCoEAAAAABl2qRTaUzZI/TOdV5d5DmuxZn2ehv37aIisgPD6AgAAAAAXqRQgNzbDwGBTiW1wQc6PW64992zEkYcAtMQEAAAAABepFLU7sNwduMjYA&#43;Pjn3hNQuRzf/oNh54vEwAAAQEgAMLrCwAAAAAXqRTzuooSDZYK4H0dvm8MN/tMkm121YcA&lt;br/&gt;&lt;br/&gt;Then perhaps you could drop the magic code as well?&lt;br/&gt;&lt;br/&gt;Also we could do a base encoding that excludes &#43; and / characters, such&lt;br/&gt;as base62 (gmp-style). It&amp;#39;s easier to copy/paste (double clicking a&lt;br/&gt;string stops at / or &#43; in base64 encodings).&lt;br/&gt;&lt;br/&gt;example human readible part &#43; base62&lt;br/&gt;&lt;br/&gt;  psbtWzecLNK5WdwZyceXUYVo0E1TqgLWF0jRXsrLnsuGifjOJl5QHEaaeQbfHfzvbYH85uhUUvpfNc2RYnBqM9E4UqOjzRzDg4QGypL2bxoEsUmmAqOC7nRoN8SuftftuFBI9YabFjVZC9ykOIuJaMzanmKHxnhuh55Hh4mxpwDsvkGFHEHzYHJfkIAiaCEmpdxVBD3qvXNlspDwLKkssUlmDjH7X9zCGyTBE90XvwNdrwM63Q4T45GQbe3c4oQlzCnJuHf5FLnH2oR70hgxIoM01af35iJpZRZAGITtdnKvm9PbH3huEf7TXTzXuNLB9XFh50UlGvnPKcIfFHvgzTSqeN3NmXdzPzsNSRY83BnfHFtTIZnczIyDi5oWsi0sL8f5ABUqGHD61GXDXJGcsqWOjiW6zjhz1L2IKN6OdSVGBFf7C7gH2EYvkWJcKYcJ34gBGsLuXYCU8vzauxEYXXlOXohQ1qKj6Eb0DqOyroRD57uw9fG1e3ueCGlBKmyTI4z4Q1JQXSuLYzBGPlBpVuSZmDBUe28b1EVetJbP9rQ5r6aKsuNX1GToXq1KY5Xh5hsMixJ2o8kG8IBKQSZBRaxjiVEQDWoN3FED869vNHiQtgSLjbqQFZRJuDK0UTMfQCtcg7NdYulPxbUYFNF5Ug6wCvWrTpX1SdbDgGOqZel4ibM18fk9uSIIVDFK9XbenLH3NBOKj0hkxgvrbICZMWBc8GW78TLV4acO75tFBt4a4ziH0wztWGbEEGIAZTDaGmJ51omiRNUVfIX6fO9CeN3Nx3c7Ja2hAjMqQcYcKHEK8tFtLuUdR2jqLuGXOPV4gsqJb8TdkKGEZaA0RRqwHm6HG86OCOEGYqptt43iljv52qkh4znyekJI2mYPItcaw11tsxHaRQcs8Us9Ehlbf6ngmIW6tlo&lt;br/&gt;&lt;br/&gt;base64: 920 bytes&lt;br/&gt;base62: 927 bytes&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md#human-readable-part&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md#human-readable-part&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:13:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs29vukyad43vs32hm9rvr4dn2lj2gwfu7v42g4kmjetpkwlwgtxaszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukckjkh5</id>
    
      <title type="html">📅 Original date posted:2017-11-17 📝 Original message:Bryan ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs29vukyad43vs32hm9rvr4dn2lj2gwfu7v42g4kmjetpkwlwgtxaszyphm9lgl3hef3lhngexjypnx6kh8rpxlazwutnra8gth27vcdscukckjkh5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszmdwvuq6m0c5uj5r0yh6lx5k3r8h9s0cltjzkw8ys0fvxwpm2rnqrt8zcs&#39;&gt;nevent1q…8zcs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-17&lt;br/&gt;📝 Original message:Bryan Bishop via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;writes:&lt;br/&gt;&lt;br/&gt;&amp;gt; It&amp;#39;s not clear to me if you are have looked at the previous UTXO set&lt;br/&gt;&amp;gt; commitment proposals.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; some utxo set commitment bookmarks (a little old)&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://diyhpl.us/~bryan/irc/bitcoin/utxo-commitments-or-fraud-proofs.stdout.txt&#34;&gt;http://diyhpl.us/~bryan/irc/bitcoin/utxo-commitments-or-fraud-proofs.stdout.txt&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TXO bitfields&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://diyhpl.us/wiki/transcripts/sf-bitcoin-meetup/2017-07-08-bram-cohen-merkle-sets/&#34;&gt;http://diyhpl.us/wiki/transcripts/sf-bitcoin-meetup/2017-07-08-bram-cohen-merkle-sets/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; delayed TXO commitments&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-May/012715.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-May/012715.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TXO commitments do not need a soft-fork to be useful&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013591.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013591.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; rolling UTXO set hashes&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014337.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014337.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; lotta other resources available, including source code proposals..&lt;br/&gt;&lt;br/&gt;Thanks!&lt;br/&gt;&lt;br/&gt;Has anyone categoried list discussions by topic like this? It seems a&lt;br/&gt;lot of this stuff is scattered between mailing lists, irc conversations,&lt;br/&gt;etc and can be hard to know whats floating out there.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;
    </content>
    <updated>2023-06-07T18:07:49Z</updated>
  </entry>

</feed>