lnpbp-0081
1
LNPBP: 0081
2
Layer: Client-validated data (3)
3
Vertical: Cryptographic primitives
4
Title: Tagged merkle trees for client-side-validation
5
Author: Dr Maxim Orlovsky <[email protected]>,
6
Peter Todd
7
Comments-URI: https://github.com/LNP-BP/lnpbps/issues/<____>
8
Status: Draft
9
Type: Standards Track
10
Created: 2021-05-11
11
License: CC0-1.0
Copied!

Abstract

Background

Motivation

Problems with modern merkle trees:
    Depth extension attack: no commitment to the tree depth

Design

Based on bitcoin merklization with following modifications:
    Tagged hashing for source data
    Tagged hashing of each tree object
    Commitments to depth, width and height of the tree
    Custom placeholders for empty objects
    Restricting tree source to 2^16 elements (height is always <=16)

Specification

Compatibility

Rationale

Reference implementation

Acknowledgements

References

Copyright

This document is licensed under the Creative Commons CC0 1.0 Universal license.

Test vectors

Last modified 3mo ago