The rn-ldk implementation brings an open-source lightweight Lightning node to React Native, a popular programming language for developing mobile applications. It is powered by LDK, a flexible Lightning implementation written in the Rust programming language.
One feature BlueWallet will provide its users with the new integration, which is demonstrated in the announcement, is the ability to open and fund a Lightning channel from their mobile phones directly from an offline, air-gapped hardware wallet — leveraging Partially Signed Bitcoin Transactions (PSBTs).
PSBTs are a standard defined in BIP174 that allows two or more people or devices to collaborate in creating, funding, signing and broadcasting a Bitcoin transaction. At its core, PSBTs make it possible for people to more freely pass around a transaction, update its details and sign it once it’s ready to be sent. As a result, it allows for air-gapped devices to participate in signing the transaction, for instance, letting an online client such as BlueWallet broadcast it.
Another feature relates to backing up Lightning channels managed by the wallet. The company shared that encrypted backups can be stored in the cloud, allowing the user to more quickly restore their Lightning wallet and all of its channels on another device through a mnemonic backup phrase.
The go-to server infrastructure utilized by BlueWallet’s new implementation is Electrum, which it uses to quickly synchronize with the Bitcoin blockchain. Although Electrum is a reasonably popular and established solution, this process leaks user addresses to the Electrum server bridging the user’s mobile wallet with the Bitcoin peer-to-peer network. As a result, it effectively hurts user privacy and sovereignty as a third party would be in charge of validating transactions.
However, BlueWallet does give the user the option to use their own server, a typical setup in which they configure their own Electrum Personal Server (EPS). This works by having a Bitcoin node running on the user’s computer and a local EPS bridging it with a remote wallet such as BlueWallet. In such an arrangement, the user’s own full node would validate and broadcast their transactions while preserving their privacy and ensuring adherence to Bitcoin consensus rules.
Such an option is essential for Lightning in particular because the network is designed to scale the Bitcoin network as a second-layer protocol and increase privacy. By leveraging smart contracts to abstract small, frequent payments away from the Bitcoin base layer, Lightning is positioned to reduce fees and increase transactional confidentiality and speed. But although only channel opening and closing transactions are recorded on the Bitcoin blockchain, all Lightning transactions still make sure to adhere to the rules of the Bitcoin protocol.
But part of these Lightning Network benefits can be compromised if the user opts to utilize a custodial wallet, where the company would be in charge of handling the user’s funds, transactions and information. Only if the user chooses to use their own node to validate and broadcast transactions, such as using BlueWallet rn-ldk with an EPS, would they be better positioned to ensure individual sovereignty and privacy and adherence to Bitcoin consensus as an actual peer.