Skip to content
This repository was archived by the owner on Apr 29, 2020. It is now read-only.

Commit 3f0b6e3

Browse files
authored
Open Problem: Improved layouts to represent data in hash-linked graphs (using IPLD) (#8)
* Create HASH_LINKED_DATA_GRAPH_LAYOUTS.md * Update HASH_LINKED_DATA_GRAPH_LAYOUTS.md * Update HASH_LINKED_DATA_GRAPH_LAYOUTS.md * Update HASH_LINKED_DATA_GRAPH_LAYOUTS.md
1 parent 2a78af6 commit 3f0b6e3

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Improved layouts to represent data in hash-linked graphs (using IPLD)
2+
3+
## Short Description
4+
> In one sentence or paragraph.
5+
6+
## Long Description
7+
8+
IPFS offers a unique way to represent any kind of data in a hash-linked graph. What this means is that a file can be chunked in different ways and these chunks can be organized with the goal of improving file seek times, file fetching, reducing time to first byte and more, which creates the room for drastic improvements in the performance of certain applications (e.g. video streaming) and the memory footprint of each dataset.
9+
10+
We believe this to be an evergreen field as the IPFS network improves and gets smarter, new ways to chunk and organize data will emerge for all sorts of usecases. This is possible thanks to the [IPLD](https://ipld.io/) data layer of IPFS.
11+
12+
## State of the Art
13+
14+
> This survey on the State of the Art is not by any means complete, however, it should provide a good entry point to learn what are the existing work. If you have something that is fundamentally missing, please consider submitting a PR to augment this survey.
15+
16+
### Within the IPFS Ecosystem
17+
> Existing attempts and strategies
18+
19+
##### UnixV1
20+
21+
- layouts
22+
- TrickleDAG
23+
- Balanced DAG
24+
- FlatDAG
25+
- chunking
26+
- fixed-size
27+
- rabin
28+
29+
##### UnixV2
30+
31+
- https://github.com/ipfs/unixfs-v2/
32+
33+
### Within the broad Research Ecosystem
34+
> How do people try to solve this problem?
35+
36+
Any kind of research that studies different file formats, compression algorithms and data manipulation.
37+
38+
### Known shortcommins of existing solutions
39+
> What are the limitations on those solutions?
40+
41+
Although the existing solutions work, they are far from optimal and we believe that there is multiple avenues to improve.
42+
43+
## Solving this Open Problem
44+
45+
### What is the impact
46+
47+
Improve the experience of everyone that is using IPFS and IPLD and/or enable new usecases for processing data.
48+
49+
### What defines a complete solution?
50+
> What hard constraints should it obey? Are there additional soft constraints that a solution would ideally obey?
51+
52+
A solution to this evergreen Open Problem should improve in one of more dimensions comparing to existing solutions. From performance, memory, interface, etc.
53+
54+
More concretely, here are some usecases to consider:
55+
56+
- Accessing and Fetching Large Data Archives
57+
- Streaming Video
58+
- Video Rendering
59+
60+
## Other
61+
62+
### Existing Conversations/Threads
63+
64+
- [Content depending chunker](https://github.com/ipfs/notes/issues/183)
65+
- [IPLD Importers - endeavor notes](https://github.com/ipfs/notes/issues/144)
66+
- [merkledag datastructure DSL](https://github.com/ipfs/notes/issues/22)
67+
- [Small Languages for IPLD things (like IPRS)](https://github.com/ipfs/notes/issues/229)
68+
- [IPLD Selector Thoughts](https://github.com/ipfs/notes/issues/272)
69+
- [Authenticated RDF (or RDF/JSON-ld on IPLD)](https://github.com/ipfs/notes/issues/152)
70+
- [commutative or rolling cryptographic hash](https://github.com/ipfs/notes/issues/83)
71+
- [InterPlanetary language](https://github.com/ipfs/notes/issues/50)
72+
- [Stackstream possibilities](https://github.com/ipfs/notes/issues/25)
73+
- [streaming byte-string Stack-based Assembly draft](https://github.com/ipfs/notes/issues/6)
74+
- [JRFC 20 - Merkle DAG](https://github.com/jbenet/random-ideas/issues/20)
75+
76+
### Extra notes

0 commit comments

Comments
 (0)