SPV Channels - developer site

SPV Channels offer encrypted persistent messaging channels between any Bitcoin participants. Seamlessly integrating offline and direct communications to break down the technical barrriers to enabling the direct peer to peer interactions that Satoshi described as fundamental to the operations of the Bitcoin network.

SPV Channels provides a mechanism via which counterparties (e.g. miners and client applications - developer site) can communicate in a secure manner even in instances where one of the parties is temporarily offline.

Channels are configured to receive messages. Individual Channels have owners, and owners may configure Channel read/write permissions for unauthenticated connections and distinct read/write permissions for those to whom they issue revocable API keys.

The security model is establised by prescribing an application-level end-to-end encryption protocol, which protects transported messages.

A reference implementation of SPV Channels is shipped as a docker image and is available SPV Channels CE.

In summary channels specification is set of light weight JSON-over-HTTP public APIs for account holders, and their counterparties, to exchange messages in a secure manner.

A service identifies its customers/users via accounts. Message streams, whether one-shot or long-lived streams, are logically arranged into Channels, which in turn are owned by a single account. An account holder identifies itself to the platform via the account credentials. An account holder may generate API tokens which may be passed to third parties (message exchange counterparts), should the platform operator or Channel owner require authentication for its APIs.