The Association develops and manages standards, registries, libraries, nodes, command-line tools and technical documentation
The association maintains so-called LNPBP standards: specifications, standards & best practices for Layer 2, 3 solutions (and above) in cases when they do not require soft- or hard-forks on the Bitcoin blockchain level and are not directly related to issues covered in Lightning Network RFCs (BOLTs).
Basically, LNPBPs cover everything that can be anchored to Bitcoin transactions, defines primitives for L2+ solution design and describes complex use cases which can be built from some primitives. This allows such solutions as financial assets, storage, messaging, computing and different forms of secondary markets leveraging Bitcoin security model and Bitcoin as a method of payment/medium of exchange.
Criteria for a LNPBP standard proposal:
- Should not be covered by existing or proposed BIPs
- Should not cause soft- or hard-fork in Bitcoin blockchain (but may depend on soft-forks from an existing BIP proposals)
- Should not distort Bitcoin miner's economic incentives
- Should not pollute Bitcoin blockchain with unnecessary non-transaction related data or have to maintain such pollution as low as possible
- Must not require a utility or security tokens to function (but may enable creation of digital assets or tokenized physical goods)
- Must not depend on non-bitcoin blockchains (but may be applicable to other blockchains)
Libraries maintained by the Association can be classified into the following categories:
- 1.Consensus libraries
- 2.Standard library
- 3.Node-related libraries
- 4.Application-level libraries
The dependencies between these groups are strongly abstracted into four layers, such that underlying group doesn’t know anything about the libraries from the layer above.
These libraries are a part of the ossified client-side-validation consensus and must not be modified except of bugfixing. Usually, consensus-level libraries are named with “Core“ or “Foundation” as a part of their name.
- 1.Client-side-validation foundation library
- 2.Bitcoin common libraries: implementation of parsing bitcoin data related to bitcoin consensus layer. Currently, there are split in two groups:
- 1.Rust bitcoin ecosystem, maintained by Rust bitcoin community (mostly Blockstream members and Andrew Poelstra)
- 2.BP Foundation Libraries, maintained by LNP/BP Standards Association, Bitcoin Protocol Working Group. Contain re-implementation or improvements of the rust-bitcoin libraries
- 3.Bitcoin client-side-validation, also called “BP Core Lib”. It provides primitives such as deterministic bitcoin commitments (“TapRet”, ”OpRet”) and single-use-seals.
Standard libraries provide high-level convenience API for working with bitcoin, lightning & RGB, and do not perform any consensus-level tasks. Any validation and consensus operations must perform without standard libraries.