Products
The Association develops and manages standards, registries, libraries, nodes, command-line tools and technical documentation
Standards
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)
The current list of standard can be found on a dedicated website or in GitHub repository here. You can use GitHub discussions to:
submit a new standard proposal
discuss preliminary ideas about new standards
follow announcements about standard releases
write about your implementation of one of the standards
peer review & audit existing standards
Registries
Libraries
Libraries maintained by the Association can be classified into the following categories:
Consensus libraries
Standard library
Node-related libraries
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.
Consensus libraries
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.
Client-side-validation foundation library
Bitcoin common libraries: implementation of parsing bitcoin data related to bitcoin consensus layer. Currently, there are split in two groups:
Rust bitcoin ecosystem, maintained by Rust bitcoin community (mostly Blockstream members and Andrew Poelstra)
BP Foundation Libraries, maintained by LNP/BP Standards Association, Bitcoin Protocol Working Group. Contain re-implementation or improvements of the rust-bitcoin libraries
Bitcoin client-side-validation, also called “BP Core Lib”. It provides primitives such as deterministic bitcoin commitments (“TapRet”, ”OpRet”) and single-use-seals.
rust-lnpbp (lnpbp_secp256k1)
LNP-BP
Fork of Grin re-implementation of rust-secp256k1-zkp; used for bulletproofs only
rust-stens (stens)
Strict-Encoding
Data encoding used in RGB
rust-aluvm (aluvm)
AluVM
Virtual machine used in RGB
client_side_validation
LNP-BP
Abstract client-side-validation
bp-foundation
BP-WG
Bitcoin primitives (alternative to rust-bitcoin)
bp-core
BP-WG
Client-side-validation for bitcoin protocol
rgb-core
RGB-WG
RGB consensus library
Standard libraries
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.
psbt
BP-WG
Implementation of partially-signed bitcoin transactions and operations with them involving signatures, support for client-side-validation etc
descriptor-wallet
BP-WG
Primitives for constructing wallets supporting bitcoin, lightning and RGB protocols
invoices
LNP-BP
Implementation of universal LNP/BP invoices standard
rust-lnpbp (lnpbp)
LNP-BP
Implementation if LNPBP standards for Base64, Bech32, Elgamal encoding and encryption
lightning_encoding
LNP-WG
Encoding for BOLT data used in lightning network
lnp-core
LNP-WG
Implementation of both BOLT and LNPBP standards of lightning network
storm-core
Storm-WG
Implementation of Storm specifications and standards
rgb-stdlib
RGB-WG
Convenience API for working with RGB smart contracts
Nodes
Toolchains
Documentation
RGB FAQ
Gives introduction into RGB from a power user perspective
Most broad
Blackpaper ("whitepaper")
Systematically explains RGB, its capabilities and most important applications in half-technical terms
Most broad
Blueprint ("specification")
Technical explanation of all RGB internals, more readable than standards
Schema developers, integrators
Code docs
Documentation for the RGB-related APIs
RGB maintainers
docs.rs/<crate_name>
LNP-BP Standards
Formal & complete standardization of RGB algorithms & consensus
Auditors, RGB maintainers
Yellow paper ("formalism")
Formal mathematical specification on RGB
Computer scientists, cryptographers
AluVM
Documentation on AluVM - functional virtual machine used in RGB consensus, node and lightning
AluVM contributors, auditors, application developers using AluVM
Strict Encoding
Documentation on binary encoding used in RGB consensus
RGB schema (smart contract) developers; application developers using strict encoding
Contractum docs
Documentation on Contrctum languague
RGB schema (smart contract) developers
RGB source code
Source code for RGB consensus, standard lib and node
RGB contributors
Contributions to external projects
LNP/BP Association in 2019-2021 was a major contributor into @rust-bitcoin and other related project.
Last updated