Lightning This Week | 615,789

Twitter adds Bitcoin emoji, Eclair v0.3.3, and LND Pathfinding

André Neves
ZEBEDEE Engineering
5 min readFeb 3, 2020

--

Twitter Adds Bitcoin Emoji

https://twitter.com/jack/status/1223841364711854080

This week Jack Dorsey, CEO of Twitter/Square announced support for the Bitcoin emoji on Twitter — just use it with the hashtag (#bitcoin) and the emoji will appear automatically. In the tweet Jack also mentions Unicode which is the Twitter account for the body that standardizes the system for the “interchange, processing, and display of the written texts of the diverse languages of the modern world”. While Bitcoin is already part of the Unicode standard (got added in 2017 in Unicode 10.0), it does not specify support for an Emoji, only a character.

The letter B with two vertical strokes, used to represent Bitcoin. This character was approved in 2017 as a Unicode character, but not as an emoji. No platforms display this as an emoji.

Looking forward to seeing lots of Bitcoin logos in my Twitter feeds now.

Eclair v0.3.3 Release

The ACINQ team have released the latest version of the Eclair node software — v0.3.3. While a minor version release, this one comes with some great improvements and bugfixes.

Eclair now supports Multipart Payments (MPP) which means a payment can be split into multiple HTLCs that all settle/converge on the same receiving node, but may use different paths. These are also atomic, in the sense that either all of the smaller split-payments succeed, or they all fail. This is a great improvement for the usability of the network. Not only does it allow for larger payments to happen over LN channels, but it also simplifies the idea behind a Lightning node’s balance — previously your true spending balance was limited to the largest channel’s outgoing capacity rather than your node’s full outgoing channel balance. While MPP is disabled by default, you must simply change your configuration settings in eclair.conf file to enable this new feature.

If enabled, Eclair will support both sending and receiving MPP. A first splitting algorithm has been implemented to automatically split payments based on your channels and network information.

For more details and walkthrough of how MPPs work in Eclair, head on over to their dedicated MPP Wiki page: https://github.com/ACINQ/eclair/wiki/Multipart-Payments

Additionally, this Eclair release brings in support for Trampoline Routing. While not part of the Lightning Network specification yet, Trampoline Routing is one of the many technologies/protocols being tested by some teams as additional features in the network (e.g. KeySend in LND).

Trampoline Routing allows Lightning Nodes to send payments without having to compute a complete route to the destination, by delegating route computation to some of the “trampoline” nodes that relay payments.

The proposal is aimed at allowing nodes running on constrained devices to sync only a small portion of the network and leverage trampoline nodes to calculate the missing parts of the payment route. As with MPP, Trampoline Routing is not activated by default in Eclair.

Release: https://github.com/ACINQ/eclair/releases/tag/v0.3.3
Announcement:
https://twitter.com/realtbast/status/1224254275993374721
Trampoline Routing Spec: https://github.com/lightningnetwork/lightning-rfc/pull/654

LND Pathfinding — apriori

With the recent release of LND’s v0.9.0 there are changes to how pathfinding happens with/in your node. In short, nodes are becoming more selective in which other nodes are chosen to carry the routed HTLCs. Alex Bosworth from Lightning Labs puts it this way:

Pathfinding logic at this stage is not being tuned against empirical data. Instead the idea is to setup some general high level rules and a framework to push the routing node economy in a desired direction.

In 0.9.0, if you have a payment routed through a channel that fails when forwarding to one of your peers (balance issues, node is offline), this failure will reflect badly on all of your channels.

https://github.com/lightningnetwork/lnd/pull/3945

LND has support for configuring these new pathfinding changes called apriori confidence that can be assumed when minimal direct experience has been had with a specific channel. The new apriori formula is as follows:

apriori Probability X apriori Factor / (apriori Factor + n)
-
where n is the number of failures a pathfinder has encountered

With this new formula, as the number of failed payment attempts through a specific node grows, that node will grow closer to being ignored by its peers. In its default settings state, a series of 30 failed payment attempts through a node will mean it is 100% ignored during pathfinding logic.

Lightning node operators are encouraged to adjust the routerrpc.aprioriweight factor value for their own specific needs. To disable these new penalties, just set the value to 1. Bosworth further describes:

If you are a regular user wallet, you can crank up the settings to avoid low-confidence routes. If you are running a routing node where you are doing circular rebalances or Loop Outs, you can crank down the settings to avoid high-fee routes.

The idea behind this pathfinding logic change is to once again highly encourage Lightning Network node operators to maintain healthy balanced channels with healthy online peers, since routing failures of your peers will begin to affect your node’s ability to forward payments. Be a good network node!

Loop Server v0.4.0-RC1

The Lightning Labs team has posted the first release candidate for the Loop Server v0.4.0. Users of Lightning Loop are encouraged to help test the software to find bugs and any side effects from the changes implemented. While a minor version release there are a few interesting changes, including a new access model for Loop based on authentication tokens. The idea is to require a purchase of an access token before enabling the swap requests on the Loop server (v0.4.0 does this automatically already).

To learn more about Loop server and how you can leverage swaps to move funds onchain to Lightning channels (and vice-versa), check this detailed walkthrough.

Release: https://github.com/lightninglabs/loop/releases/tag/v0.4.0-rc1.beta

That is all for Lightning This Week. If I’ve missed something important please let me know through the comments or on Twitter.

ZEBEDEE’s mission is to develop software and infrastructure to introduce first-class Bitcoin and Lightning support into digital experiences and gaming environments. This allows players, developers, streamers, and watchers to interact and instantly exchange value in a frictionless manner.

To learn more, visit our website and follow us on Twitter.

--

--