top of page

Negentropy Syncs Merkle Roots with Libp2p QUIC

Negentropy Syncs Merkle Roots

Sync Data with Libp2p QUIC

Scionic Merkle Tree Storage and Syncing
For Nostr Apps

Deduplicate with content-addressed storage: never store the same file twice.

Store any file or folder as a cryptographically chunked Scionic Merkle Tree. Clients attach a file to a Nostr note by including its Merkle Root.

Scaling Nostr with Scionic Merkle Trees

Classic Merkle Trees are cryptographic structures used to manage and securely verify large amounts of data. However, they have a significant drawback: they cannot store folders or files. Merkle DAGs were developed as a solution to incorporate folders and files into Merkle Trees.

 

However, Merkle DAGs require users to download the hash of every other file inside the folder its stored in. This becomes inefficient when dealing with folders that contain large amounts of files. Scionic Merkle Trees exhibit logarithmic growth. This means that as the size of the input (the number of files in a folder) increases, the growth rate of the Scionic Merkle branches decreases.

 

This makes Scionic Merkle Trees an efficient structure for managing large datasets, as the branches become exponentially smaller with the increasing number of files in the folder. In contrast, the number of hashes required to validate a single folder in a Merkle DAG exhibits linear growth. If there are more children (files) in the folder, you must download the hashes to all of them to retrieve a single file. This requirement can lead to the overly large branches Merkle DAGs suffer from that Scionic Merkle Trees aim to resolve.

Best of Both Worlds: Compatible with All File Types and Folders

Scionic Merkle Tree are a new type of Merkle Tree/Merkle DAG structure for file chunking. Scionic Merkle Trees have small branches like Classic Merkle trees, the file/folder storage ability of Merkle DAGs, and numbered leaves so relays can request a range of missing leaf numbers in order to sync succinctly. Merging the advantages of Classic Merkle trees and Merkle DAGs gives H.O.R.N.E.T. Storage the best of both worlds: file storage and small branches. This will unlock a new tier of speed for a variety of decentralized apps that require large file directories. 

Airlock Uses Scionic Merkle Trees for GitNestr Permissions

Include Phase D here on launch day.

Scionic Merkle Tree

Scionic Merkle Tree
Storage & Syncing
For Nostr Apps

Deduplicate with content-addressed storage: never store the same file twice.

 

Store any file or folder as a cryptographically chunked Scionic Merkle Tree. Clients attach a file to a Nostr note by including its Merkle Root.

Get started with
H.O.R.N.E.T Storage

Scionic Merkle Branch

Scionic Merkle Tree & Branch

First, the Scionic Merkle Root of each file is synced with Negentropy's RBSR. The Merkle root of each file is inspected so the total number of leaves/chunks for that file is revealed. After, H.O.R.N.E.T Storage checks if any of those file chunks/leaf numbers are currently saved. Finally, LeafSync is imitated to request the missing file chunks by listing a range of leaf numbers, e.g. "merkle_root:1-50" that represents a request for the missing file chunks.

LeafSync + Negentropy

bottom of page