Skip to content

Commit 968d18e

Browse files
authored
Update README.md
1 parent 84ec664 commit 968d18e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ We've designed a [new type of Merkle DAG-Tree hybrid](https://www.hornetstorage.
1414

1515
### ***Classic Merkle Trees***
1616

17-
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.
17+
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.
1818

1919
The number of hashes required for a Merkle proof in a Classic Merkle Tree grows logarithmically with the number of files, meaning the growth rate slows as the input (tree) size increases. This pattern makes them very efficient for large datasets because the branches become exponentially smaller as the number of files in the folder rises.
2020

@@ -59,17 +59,17 @@ These statistics underline the substantial efficiency improvements made by Scion
5959

6060
## Understanding Growth Patterns: Logarithmic vs Linear
6161

62-
In the case of Scionic Merkle DAG-Trees, which incorporate Classic Merkle Trees within their structure, they 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 Classic Merkle Tree branches decrease. This makes Scionic Merkle DAG-Trees an efficient structure for managing large datasets, ***as the branches become exponentially smaller with the increasing number of files in the folder.***
62+
In the case of Scionic Merkle DAG-Trees, which incorporate Classic Merkle Trees within their structure, they 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 Classic Merkle Tree branches decreases. This makes Scionic Merkle DAG-Trees an efficient structure for managing large datasets, ***as the branches become exponentially smaller with the increasing number of files in the folder.***
6363

6464
In stark 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 hash of each one to retrieve any individual file from the folder. This constant requirement can lead to overly large Merkle branches. The amount of hashes needed to validate a single file increases in direct proportion to the number of files in the folder, making it less efficient for large datasets.
6565

66-
## Syncing Trees Across Relays by Requesting a Range of Leafs
66+
## Syncing Trees Across Relays by Requesting a Range of Leaves
6767

6868
To further enhance the functionality of Scionic Merkle DAG-Trees and support efficient data retrieval, each leaf in the tree is labeled with a sequenced number. This method facilitates the [request for a range of Merkle leaves](https://www.hornetstorage.com/forest), much like what GraphSync attempts to accomplish, but without the complexity of using complex graph selectors and large request sizes.
6969

7070
The total number of leaves is recorded at the root of the tree. By doing so, users can request a range of leaves from a given folder and receive it as a small Scionic Merkle branch, reducing the bandwidth overhead and computational workload required to access multiple files in the same folder.
7171

72-
This approach not only maintains the structural advantages of Scionic Merkle DAG-Trees, such as logarithmic growth of branches and efficient file download and verification, but also provides enhanced support for range queries, contributing to their practicality in large-scale data management scenarios.
72+
This approach provides the structural advantages of Scionic Merkle DAG-Trees, such as logarithmic growth of branches and efficient file download and verification, and also provides enhanced support for ranged requests, contributing to their practicality in large-scale data management scenarios.
7373

7474
##
7575

@@ -114,3 +114,4 @@ if err != nil {
114114
```
115115

116116
This repository is a work in progress. We plan to make quite a few improvements as we move forward with integrating the Scionic Merkle DAG-Trees into H.O.R.N.E.T. Storage. Although, what we have is currently working -- we do not recommend using the trees in anything production-related yet.
117+
#

0 commit comments

Comments
 (0)