QR of node information [combined summary]



Individual post summaries: Click here to read the original discussion on the lightning-dev mailing list

Published on: 2018-04-12T09:56:11+00:00


Summary:

Bech32 is a Bitcoin address format designed to create smaller QR codes by using text-mode QR codes. By avoiding certain characters and making the string uppercase, Bech32 can save more than ASCII. Blockstream is currently the only case that makes uppercase QR codes for invoices, but it remains optional. Invoices using Bech32 satisfy the requirements for small QR codes.When it comes to payments, if a suitable route cannot be found, it is better to connect directly with the receiving party rather than randomly selecting a node and hoping it has a path. It may be best to ask the user if they want to open a new channel directly to the store or a randomly selected goat farmer on the other side of the world. If a direct channel is used, the invoice already contains the node-ID, allowing the wallet to establish a properly sized connection automatically.To facilitate automatic opening of channels without scanning the graph, it would be beneficial if the invoice also contained the addr-part from the node. A proposed bolt12 could make this possible, but reliance on DNSSEC might be necessary to prevent domain hijacking.In order for the Lightning Network to grow in connectivity and capacity, it is important to have direct channels with nodes that are frequently paid and receive payments. This will make the network grow more naturally compared to randomly connecting with nodes. Even when the Lightning Network is well funded, avoiding routing fees is still desirable.The size of QR codes was discussed, and a reckless proof-of-concept implementation of hex, Bech32, and bolt12 QR codes was created for comparison purposes. Rusty Russell foresees a move away from manual node connections, which will make this issue less visible. He suggests creating a Bech32 'ln1' encoding, which would be 62 characters instead of 66.A forum post by Robert Olsson raises the issue of not being able to find a bolt regarding the QR code format for a node at ip:port. He mentions that eclair only supports the hex format at ip:port and has not tried other mobile wallets. Rusty responds by expressing his anticipation of moving away from manual node connections and suggests the creation of a bech32 'ln1' encoding, which would reduce the character count.A discussion on the Lightning-dev mailing list revolves around the QR code format for node ID at ip:port. Robert Olsson suggests using Bech32 nodeid to make the QR codes smaller. He proposes a format like "lightning:ln1bech32nodeid/ipnumber/port," where /port is optional if the port is 9735. The idea of encoding IP and port number in Bech32 is also mentioned. Igor Cota states that not using hex would save 33 bytes, and he intends to support both approaches.The email thread delves into the use of Bech32 encoding in QR codes for Lightning Network nodes. The original poster suggests a format to enable smaller QR codes and avoid confusion with certain characters. Some members question the usefulness of Bech32 encoding and suggest finding a more space-efficient way to encode node IDs. Another suggestion is using Bech32 encoding for IP addresses and port numbers. Despite differing opinions, there is interest in standardizing QR code formats for Lightning Network nodes to enhance usability.In conclusion, the writer seeks support for Bech32 nodeids to reduce the size of QR codes. They believe standardization is necessary to ensure all wallets support this format from the beginning. The suggested format is "lightning:ln1bech32nodeid/ipnumber/port," with /port being optional if the port is 9735.


Updated on: 2023-07-31T19:56:43.317887+00:00