# LNP/BP Association

Non-profit supervising development of layers for Bitcoin

## Mission

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4>Standardize</h4></td><td>Create and maintain standards &#x26; public registries</td><td>See the current list of standards and registries</td></tr><tr><td><h4>Implement</h4></td><td>Develop opensource reference implementations of libraries, nodes &#x26; tools</td><td>See the list of our libraries, nodes and tools</td></tr><tr><td><h4>Educate</h4></td><td>Educate community and ensure alignment with cypherpunk values</td><td>See our values and community standards</td></tr></tbody></table>

## Values

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><h4>Censorship-resistance</h4></td><td>Ability to transact is a form of free speech. All operations with LNP/BP technologies must be censorship-resistant, leveraging bitcoin PoW qualities and decentralized networks.</td></tr><tr><td><h4>Privacy</h4></td><td>Bitcoin and blockchains lacks privacy by exposing transaction graphs and allowing chain analysis. The new tech must be based on zk-proofs and client-side-validation to give the control over privacy back to the user.</td></tr><tr><td><h4>Layerization</h4></td><td>Separation of concerns &#x26; abstraction are cornerstones in developing and maintaining secure, extensible protocols and software</td></tr></tbody></table>

## Activities

The Association fulfils its mission by creating and managing products, which include [standards](/products#standards), [registries](/products#registries), [libraries](/products#libraries), [nodes](/products#nodes), [command-line tools](/products#toolchains) and [documentation](/products#documentation).

The association products cover three main verticals:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><h4>Bitcoin protocol (BP)</h4></td><td>Client-side-validation enhancements of bitcoin components</td><td><a href="/files/3kTlk5rBTNkl6gYntqcc">/files/3kTlk5rBTNkl6gYntqcc</a></td></tr><tr><td><h4>Lightning network protocol (LNP)</h4></td><td>Generalization of lightning network supporting advanced functionality</td><td><a href="/files/edUhkExzMhBwqPN3VDKt">/files/edUhkExzMhBwqPN3VDKt</a></td></tr><tr><td><h4>Smart contracts (RGB etc)</h4></td><td>Technologies enabling higher programmability with client-side-validation</td><td><a href="/files/JoxuOAtRRcp8v3dzCLhR">/files/JoxuOAtRRcp8v3dzCLhR</a></td></tr></tbody></table>

### Protocols

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><h4><a href="https://github.com/RGB-WG/">RGB</a></h4></td><td>Scalable &#x26; confidential smart contracts with client-side-validation</td></tr><tr><td><h4>LNP (Lightning Network Protocol)</h4></td><td>Supporting Taproot, multi-peer participation, DEXes, composability and RGB</td></tr><tr><td><h4>BP (Bitcoin Protocol)</h4></td><td>Libraries implementing bitcoin protocol, for nodes and wallets</td></tr></tbody></table>

## Sponsors & contributors

The association is a non-profit running on funds from our donors. We would like to thank all who made it possible for us to continue operations through the past years.

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><h4>Pandora Prime</h4></td><td></td></tr><tr><td><h4>Fulgur Ventures</h4></td><td></td></tr><tr><td><h4>Bitfinex &#x26; Tether</h4></td><td></td></tr><tr><td><h4>Hojo Foundation</h4></td><td></td></tr><tr><td><h4>Bitlight Labs</h4></td><td></td></tr><tr><td><h4>DIBA Inc</h4></td><td></td></tr><tr><td><h4>Private donors</h4></td><td></td></tr></tbody></table>

Not all donors can be named, many of them are anonymous or would like to respect their privacy.

### Donations

We are accepting donations for the 2023 year via our [BTCPayServer page](https://btcpay.lnp-bp.org/btcpay/apps/XoNQvS2C2ePC2nWuRm3qajUWGkV/crowdfund).

## Community

You can follow our activities & join the community through the following channels:

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><a href="https://github.com/LNP-BP"><strong>GitHub</strong></a></td></tr><tr><td><a href="https://www.youtube.com/@LNPBP"><strong>YouTube</strong></a></td></tr><tr><td><a href="https://t.me/lnp_bp"><strong>Telegram</strong></a></td></tr><tr><td><a href="https://twitter.com/lnp_bp"><strong>Twitter</strong></a></td></tr><tr><td><a href="https://www.linkedin.com/company/lnp-bp/"><strong>LinkedIn</strong></a></td></tr></tbody></table>


# 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](https://standards.lnp-bp.org/) or in GitHub repository [here](https://github.com/LNP-BP/LNPBPs). You can use GitHub discussions to:

* [submit](https://github.com/LNP-BP/LNPBPs/discussions/categories/standard-proposals) a new standard proposal
* [discuss](https://github.com/LNP-BP/LNPBPs/discussions/categories/ideas) preliminary ideas about new standards
* [follow announcements](https://github.com/LNP-BP/LNPBPs/discussions/categories/releases) about standard releases
* [write](https://github.com/LNP-BP/LNPBPs/discussions/categories/implementations) about your implementation of one of the standards
* [ask questions](https://github.com/LNP-BP/LNPBPs/discussions/categories/q-a)
* [peer review & audit](https://github.com/LNP-BP/LNPBPs/discussions/categories/peer-review) existing standards

## Libraries

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.

### 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.

1. Client-side-validation foundation library&#x20;
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.

<table><thead><tr><th width="207">Repo (crate)</th><th width="164">GitHub Org</th><th>Description</th></tr></thead><tbody><tr><td>client_side_validation</td><td>LNP-BP</td><td>Abstract client-side-validation</td></tr><tr><td>bp-consensus</td><td>BP-WG</td><td>Bitcoin primitives (alternative to rust-bitcoin)</td></tr><tr><td>bp-core</td><td>BP-WG</td><td>Client-side-validation for bitcoin protocol</td></tr><tr><td>rgb-core</td><td>RGB-WG</td><td>RGB consensus library</td></tr></tbody></table>

### 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.

<table><thead><tr><th width="207">Repo (crate)</th><th width="138">GitHub Org</th><th>Description</th></tr></thead><tbody><tr><td>psbt</td><td>BP-WG</td><td>Implementation of partially-signed bitcoin transactions and operations with them involving signatures, support for client-side-validation etc</td></tr><tr><td>descriptors</td><td>BP-WG</td><td>Primitives for constructing wallets supporting bitcoin descriptors</td></tr><tr><td>invoices</td><td>LNP-BP</td><td>Implementation of universal LNP/BP invoices standard</td></tr><tr><td>lightning_encoding</td><td>LNP-WG</td><td>Encoding for BOLT data used in lightning network</td></tr><tr><td>lnp-core</td><td>LNP-WG</td><td>Implementation of both BOLT and LNPBP standards of lightning network</td></tr><tr><td>rgb-std</td><td>RGB-WG</td><td>Convenience API for working with RGB smart contracts</td></tr></tbody></table>

## Nodes

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><h3>RGB Node</h3></td><td>Node performing client-side-verification of RGB smart contract and keeping the stash of all known contracts and their state. Provides API for the wallets and lightning node for accessing information about the contracts.</td><td><a href="/files/JoxuOAtRRcp8v3dzCLhR">/files/JoxuOAtRRcp8v3dzCLhR</a></td></tr><tr><td><h3>LNP Node</h3></td><td>Lightning node implementation made in rust targeting developers. Has extensible architecture, supports plugins, AluVM scripting, Bifrost, Storm, RGB protocols out of the box.</td><td><a href="/files/edUhkExzMhBwqPN3VDKt">/files/edUhkExzMhBwqPN3VDKt</a></td></tr><tr><td><h3>BP Node</h3></td><td>Indexes bitcoin blockchain and mempool, connecting to Bitcoin Core and bitcoin P2P network. Drop-in replacement for Electrum Server, providing modern &#x26; fast API supporting monitoring wallet descriptors.</td><td><a href="/files/3kTlk5rBTNkl6gYntqcc">/files/3kTlk5rBTNkl6gYntqcc</a></td></tr></tbody></table>

## Documentation

<table><thead><tr><th width="174.33333333333331">Document</th><th width="184">Description</th><th width="180">Audience</th><th>URL</th></tr></thead><tbody><tr><td>RGB FAQ</td><td>Gives introduction into RGB from a power user perspective</td><td>Most broad</td><td><a href="https://rgbfaq.com">rgbfaq.com</a></td></tr><tr><td>Blackpaper ("whitepaper")</td><td>Systematically explains RGB, its capabilities and most important applications in half-technical terms</td><td>Most broad</td><td><a href="https://docs.lnp-bp.org/blackpaper">blackpaper.rgb.tech</a></td></tr><tr><td>Blueprint ("specification")</td><td>Technical explanation of all RGB internals, more readable than standards</td><td>Schema developers, integrators</td><td><a href="https://docs.lnp-bp.org/blueprint">blueprint.rgb.tech</a></td></tr><tr><td>Code docs</td><td>Documentation for the RGB-related APIs</td><td>RGB maintainers</td><td>docs.rs/&#x3C;crate_name></td></tr><tr><td>LNP-BP Standards</td><td>Formal &#x26; complete standardization of RGB algorithms &#x26; consensus</td><td>Auditors, RGB maintainers</td><td><a href="https://standards.lnp-bp.org">standards.lnp-bp.org</a></td></tr><tr><td>Yellow paper ("formalism")</td><td>Formal mathematical specification on RGB</td><td>Computer scientists, cryptographers</td><td><a href="https://docs.lnp-bp.org/yellowpaper">yellowpaper.rgb.tech</a></td></tr><tr><td>AluVM</td><td>Documentation on AluVM - functional virtual machine used in RGB consensus, node and lightning</td><td>AluVM contributors, auditors, application developers using AluVM</td><td><a href="https://www.aluvm.org">aluvm.org</a></td></tr><tr><td>Strict Encoding</td><td>Documentation on binary encoding used in RGB consensus</td><td>RGB schema (smart contract) developers; application developers using strict encoding</td><td><a href="https://www.strict-encoding.org">strict-encoding.org</a></td></tr><tr><td>Contractum docs</td><td>Documentation on Contrctum languague</td><td>RGB schema (smart contract) developers</td><td><a href="https://www.contractum.org">contractum.org</a></td></tr><tr><td>RGB source code</td><td>Source code for RGB consensus, standard lib and node</td><td>RGB contributors</td><td><a href="https://github.com/RGB-WG">github.com/RGB-WG</a></td></tr></tbody></table>

## Contributions to external projects

LNP/BP Association in 2019-2021 was a [major contributor](https://github.com/rust-bitcoin/rust-bitcoin/graphs/contributors?from=2018-12-26\&to=2022-04-01\&type=c) into [@rust-bitcoin](https://github.com/rust-bitcoin/rust-bitcoin) and other related project.


# Governance

Association is a non-profit organization operating under Article 6 of Swiss Civil Codex

As a Swiss-based non-profit, we are protected from EU and US regulations and restrictions applying to Bitcoin and related industries.

The Association is governed by three parties:

1. Board of Directors
2. Chair of the Board
3. Chief Engineer

## Board of Directors

The Board of Directors is the supreme governing body of the Association. It is formed by the members of the Association (see [Membership](broken://pages/iDiMWUtTxOhvTsHJYxcA)). The directors:

1. Appoint the Chair for 2 years with 2/3 of the votes. The same Chair can be re-appointed multiple times.
2. Remove the Chair with a vote of no confidence (which can be held once a year) with 75% of votes
3. Approve the annual report by the Chief Engineer with a simple majority
4. Propose additional research topics with 25% of the votes.
5. Appoint a new Chief Engineer (upon resignation or death of the previous one) with 75% votes

## Chair of the Board

The chair of the Board represents the Board for the daily Association matters.

1. Publically represents the Association.
2. Participates in Association fundraising campaigns.
3. Approves the annual budget proposed by the Chief Engineer.
4. Has the casting vote in case of 50/50% split in the Board voting.

## Chief Engineer

Chief Engineer is the executive head of the Association, leading all Association research & development efforts. Once elected, Chief Engineer holds the office until resignation or death.&#x20;

1. Publically represents the Association.
2. Organizes Association fundraising campaigns.
3. Prepares proposal on the annual budget.
4. Defines annual research & development plans; presents an annual report on its execution to the Board.
5. Responsible for the execution of the annual budget and R\&D plans.execution
6. Manages Association operations in a day-to-day manner.
7. Appoints or removes other executives and employees.

Additionally, the Chief Engineer has the following privileges:

1. Can veto the Chair of the Board proposed by the Board (once per election).
2. Upon resignation or as a part of the Will can veto specific persons from being elected as the next Chief Engineer


