We are continuing our Lightning 101 blog series where we explore all things Lightning Network. In this post, we will investigate what Lightning Network invoices are and how they work.
In this our third installment of our blog post series on the Lightning Network 101, we discuss what routing means in the context of the Lightning Network. In previous posts we have taken a look at:
Invoice
A Lightning network invoice is how you receive payments on the Lightning Network. It is similar to bitcoin addresses but with some key differences.
An example Lightning invoice:
lntb1u1pwz5w78pp5e8w8cr5c30xzws92v36sk45znhjn098rtc4pea6ertnmvu25ng3sdpywd6hyetyvf5hgueqv3jk6meqd9h8vmmfvdjsxqrrssy29mzkzjfq27u67evzu893heqex737dhcapvcuantkztg6pnk77nrm72y7z0rs47wzc09vcnugk2ve6sr2ewvcrtqnh3yttv847qqvqpvv398
There are two parts to a Lightning Network invoice:
- The “human readable” portion of the invoice
- The “data part” portion of the invoice
The two parts are separated by the last character “1” found in the invoice.
lntb1u1pwz5w78pp5e8w8cr5c30xzws92v36sk45znhjn098rtc4pea6ertnmvu25ng3sdpywd6hyetyvf5hgueqv3jk6meqd9h8vmmfvdjsxqrrssy29mzkzjfq27u67evzu893heqex737dhcapvcuantkztg6pnk77nrm72y7z0rs47wzc09vcnugk2ve6sr2ewvcrtqnh3yttv847qqvqpvv398x
In our example, the “human readable” part is “lntb1u”. This represents:
- The cryptocurrency network this invoice is valid for — in this example “lntb” indicates bitcoin test network.
- The amount encoded in the invoice. — in this example 1u is the amount. This means 1 micro bitcoin or 0.000001 bitcoin.
The data portion of the invoice is:
pwz5w78pp5e8w8cr5c30xzws92v36sk45znhjn098rtc4pea6ertnmvu25ng3sdpywd6hyetyvf5hgueqv3jk6meqd9h8vmmfvdjsxqrrssy29mzkzjfq27u67evzu893heqex737dhcapvcuantkztg6pnk77nrm72y7z0rs47wzc09vcnugk2ve6sr2ewvcrtqnh3yttv847qqvqpvv398x
This can contain information such as:
- When the invoice was created which is useful to see how old an invoice is
- The ID of the node that is receiving the payment
- When the invoice expires. Unlike bitcoin addresses, Lightning network invoices can expire
- A description of this invoice. In our example, the description embedded in the invoice is “suredbits demo invoice”.
- A backup bitcoin address. If the payment fails over the Lightning network, you can fallback to a regular bitcoin transaction.
- A route to make the payment. Remember, the Lightning Network is different than a blockchain in the sense that you need to find a route to make a payment. The receiver of a payment can suggest a route for you to use to make the payment.
Invoices are also protected by digital signatures. This means if somebody modifies the Lightning network invoice, the signature will be invalidated. This is critical since there is sensitive information encoded in the invoice like the node ID, payment hash, and fallback address. If it was possible for users to modify these values, they could steal money from you.
Overall Lightning Network invoices are extremely flexible and useful. They provide much more meta information about a payment than a traditional bitcoin address. This allows users of the Lightning network to be more confident about when, where and how a lightning network payment is processed.
If you are an exchange or interested in what Lightning can do for you and your business, contact us at [email protected]
You can also reach us on the Lightning Network: 038bdb5538a4e415c42f8fb09750729752c1a1800d321f4bb056a9f582569fbf8e@ln.suredbits.com
.
If you’re interested in chatting more about Lightning Network technology or crypto tech, you can find us on Twitter @Suredbits or join our Suredbits Slack community.