BIP157 server Murmel introduced, enchancement suggestion to BIP158



Summary:

Murmel is a project in the rust-bitcoin community that aims to provide a lightweight, at least SPV security, settlement layer for the Lightning Network implementation in Rust. It relies on BIP157 (Client Side Block Filtering), and since Bitcoin Core does not yet support this protocol extension, filter and block server functionality was added to Murmel. The project may be useful for development purposes and other BIP157 client projects. A Murmel filter server can also be compiled and run to support client development. While implementing both client and server sides, it was found that an outpoint filter should be considered for BIP158. BIP158 specifies a base filter containing all scripts spent or created by a block (except those with OP_RETURN). An outpoint filter can be used to find transactions with spent scripts while computing the base script filter. This approach is useful because outpoints are usually spent shortly after they are created, making it easy to keep up with the blockchain. Additionally, there is nothing to be recomputed at re-org, filters are consulted following the path from current tip back to genesis. By adding an outpoint filter to BIP158, filter servers like Murmel can support it, as well as lightweight clients that can use outpoint filters to efficiently validate spent coins or miner rewards, which go beyond SPV guarantees. This is probabilistically possible now and will definitely be possible once filters are committed.


Updated on: 2023-06-13T16:55:36.275584+00:00