Skip to content

Latest commit

 

History

History
79 lines (57 loc) · 3.13 KB

blip-0012.md

File metadata and controls

79 lines (57 loc) · 3.13 KB
bLIP: 0012
Title: Hosted Channels
Status: Active
Author: Anton Kumaigorodski <akumaigorodski@gmail.com>
        fiatjaf <fiatjaf@gmail.com>
Created: 2022-07-07
License: CC0

Abstract

Hosted Channels is a specification for auditable Lightning-like channels backed only by trust from a client in a host.

This bLIP serves to document what is already supported by some wallets and daemons (see Reference Implementations) and to encourage new implementations.

Copyright

This bLIP is licensed under the CC0 license.

Motivation

Hosted Channels are an improvement over the traditional custodial Lightning wallet model. They describe the roles of "host" and "client", the client being the peer that is trusting the host to allow them to spend from the channel according to their balance.

Like custodial wallets, hosted channel clients do not have to have any previous Bitcoin UTXO or touch the chain in any way; they gain the ability to receive payments immediately; and they do not have to keep track of a channel state history and all the pitfalls involved on that, or keep track of Bitcoin transactions or fees.

Unlike custodial wallets, hosted channel clients are not "accounts" in a central server, they communicate through signed messages over the Lightning protocol and are otherwise anonymous to the hosts; they perform client-side routing and their hosts only ever see onions to forward, never the final destination of a payment; they can open multiple channels to different hosts and send MPP payments over these channels, further improving their anonymity; and their channel state is signed by both parties, so they are immune to hosts that may tamper with balances from their actual state on purpose or by mistake. All this also means clients must be online to send and receive, as they must sign state updates.

Specification

Rationale

The protocol for hosted channels was created based on real-world experience maintaining the first standalone Lightning mobile wallet, BLW, and improved upon the initial version of the protocol that was deployed on that in 2019.

It introduces some new messages with numbers picked from the end of the range of available numbers and a set of messages related to HTLC adding and removing that are exactly like their BOLT equivalents, but wrapped so they don't interfere with the normal protocol and can be implemented on plugins that allow custom messages to be sent and received from nodes like Eclair, CLN and LND.

Universality

Hosted channels are completely optional. One node may only establish a hosted channel with another that also supports the same protocol, but there is no need at all for other nodes to be aware of these channels.

Backwards Compatibility

This does not have backwards compatibility concerns.

Reference Implementations