From b84a8b4cc903b17053edfcc0a9ad6007a84e1776 Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Thu, 13 May 2021 15:39:42 +0200 Subject: [PATCH] Draft version of Dagger project presentation --- presentations/Readme.md | 14 + presentations/dagger-presentation.md | 149 +++ presentations/images/cost-of-resources.svg | 287 ++++++ presentations/images/network.svg | 965 ++++++++++++++++++ presentations/images/others.svg | 243 +++++ presentations/images/others/aws.svg | 14 + presentations/images/others/ipfs.svg | 28 + presentations/images/others/sia.svg | 1 + presentations/images/others/storj.svg | 18 + presentations/images/others/swarm.svg | 101 ++ presentations/images/privacy.svg | 236 +++++ presentations/images/privacy/nym.svg | 3 + presentations/images/privacy/tor.svg | 21 + .../images/proof-of-retrievability.svg | 505 +++++++++ presentations/images/proof-of-storage-1.svg | 675 ++++++++++++ presentations/images/proof-of-storage-2.svg | 675 ++++++++++++ presentations/images/stack.svg | 199 ++++ 17 files changed, 4134 insertions(+) create mode 100644 presentations/Readme.md create mode 100644 presentations/dagger-presentation.md create mode 100644 presentations/images/cost-of-resources.svg create mode 100644 presentations/images/network.svg create mode 100644 presentations/images/others.svg create mode 100644 presentations/images/others/aws.svg create mode 100644 presentations/images/others/ipfs.svg create mode 100644 presentations/images/others/sia.svg create mode 100644 presentations/images/others/storj.svg create mode 100644 presentations/images/others/swarm.svg create mode 100644 presentations/images/privacy.svg create mode 100644 presentations/images/privacy/nym.svg create mode 100644 presentations/images/privacy/tor.svg create mode 100644 presentations/images/proof-of-retrievability.svg create mode 100644 presentations/images/proof-of-storage-1.svg create mode 100644 presentations/images/proof-of-storage-2.svg create mode 100644 presentations/images/stack.svg diff --git a/presentations/Readme.md b/presentations/Readme.md new file mode 100644 index 0000000..9d65135 --- /dev/null +++ b/presentations/Readme.md @@ -0,0 +1,14 @@ +Presentation is created with [reveal-md](https://github.com/webpro/reveal-md). +Images are created with [inkscape](https://inkscape.org/) + +To start a presentation, run: + +```sh +reveal-md dagger-presentation.md +``` + +To export the presentation to PDF, run: + +```sh +reveal-md dagger-presentation.md --print dagger-presentation.pdf +``` \ No newline at end of file diff --git a/presentations/dagger-presentation.md b/presentations/dagger-presentation.md new file mode 100644 index 0000000..4c2a624 --- /dev/null +++ b/presentations/dagger-presentation.md @@ -0,0 +1,149 @@ +--- +title: Dagger +theme: solarized +revealOptions: + controls: false + progress: false + transition: 'fade' +--- + +# Dagger + +Decentralized Storage + +Note: +Briefly describe what Dagger is. + +--- + + +## Why Dagger? + +![IPFS](images/others.svg) + +Note: +Decentralized storage is a fundamentally unsolved problem. +P2P storage hasn't taken off, why? +Without reliable storage, dapps won't take off. +Needs same guarantees as cloud storage, and then some. + +--- + +## Reliability + +predictable + +accessible + +Note: +Reliability is the property that is most lacking in p2p storage networks. +Predictable storage duration. +Storage is always accessible to you. + +--- + +## Proofs + +data possession + +retrievability + + +Note: +How do we achieve reliability? +Proof of data possession over time +Proof of retrievability (interactive) + +--- + +proof of data possession + +![Proof of storage 1](images/proof-of-storage-1.svg) + +Note: +Proof of storage. +File is divided into chunks. +Over time, proofs of different randomly selected chunks are requested + +--- + +proof of data possession + +![Proof of storage 2](images/proof-of-storage-2.svg) + +Note: +We improve on this scheme by making sampling events dependent on each other. +This increases the odds of detecting missing chunks over time. + +--- + +proof of retrievability + +![Proof of retrievability](images/proof-of-retrievability.svg) + +Note: +Prevents data withholding (ransomware) +The prover does not know when it's being verified + +--- + +## Incentives + +storage + +bandwidth + +![Costs of resources](images/cost-of-resources.svg) + +Note: +Incentives compensate for resources +Incentives provide security; it makes economic sense to stick to the rules +Storage incentives provide storage reliability +Bandwidth incentives provide retrievability (dynamic CDN) +Incentives encourage participation in the network + +--- + +## Money / Investments + +Note: +how much of the market can we cover +how much would it cost to make + +--- + +## Privacy & Anonymity + +![Privacy Stack](images/privacy.svg) + +Note: +Dagger layer: identities used for incentives and payments are pseudonymous. +Libp2p layer: peer identity is pseudonymous. +IP layer: depending on the need, there are several solutions to choose from + +--- + +## Network Overview + +![Network](images/network.svg) + +--- + +## Software Stack + +![Software Stack](images/stack.svg) + +--- + +## Research agenda + + - proofs for large data sets + - formal/emperical evidence + - consensus engine + +Note: +Small proofs, constant size, aggregatable, computationally light +Zero knowledge proofs +Formal proofs/emperical evidence that our algorithms have the desired properties +Model the network to observe emergent properties +How does the storage network interact with a consensus engine diff --git a/presentations/images/cost-of-resources.svg b/presentations/images/cost-of-resources.svg new file mode 100644 index 0000000..4589603 --- /dev/null +++ b/presentations/images/cost-of-resources.svg @@ -0,0 +1,287 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + node + node + node + node + $ + $ + $ + $ + $ + $ + + + + + + + + + + + + + + diff --git a/presentations/images/network.svg b/presentations/images/network.svg new file mode 100644 index 0000000..aeaddad --- /dev/null +++ b/presentations/images/network.svg @@ -0,0 +1,965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + node + + + + node + + + + node + + + + cache node + + + + store node + + + + store node + + + + store node + + + + validator + + + + validator + + + + validator + + regular nodes + storage nodes + validator subset + + + + + validation gossip overlay + PoDP + + + + + + + + + + + + + + + PoR + PoR + PoR + + diff --git a/presentations/images/others.svg b/presentations/images/others.svg new file mode 100644 index 0000000..b5dadf2 --- /dev/null +++ b/presentations/images/others.svg @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presentations/images/others/aws.svg b/presentations/images/others/aws.svg new file mode 100644 index 0000000..6618c15 --- /dev/null +++ b/presentations/images/others/aws.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/presentations/images/others/ipfs.svg b/presentations/images/others/ipfs.svg new file mode 100644 index 0000000..0b9b67d --- /dev/null +++ b/presentations/images/others/ipfs.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presentations/images/others/sia.svg b/presentations/images/others/sia.svg new file mode 100644 index 0000000..a4d5a01 --- /dev/null +++ b/presentations/images/others/sia.svg @@ -0,0 +1 @@ +SIA_NEW_WORDMARK_TRANSPARENT_01 \ No newline at end of file diff --git a/presentations/images/others/storj.svg b/presentations/images/others/storj.svg new file mode 100644 index 0000000..4ad7a6c --- /dev/null +++ b/presentations/images/others/storj.svg @@ -0,0 +1,18 @@ + + + + storj-logo-type-mark-color + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/presentations/images/others/swarm.svg b/presentations/images/others/swarm.svg new file mode 100644 index 0000000..eefa27b --- /dev/null +++ b/presentations/images/others/swarm.svg @@ -0,0 +1,101 @@ + + + + + + image/svg+xml + + Swarm Logo & Lettering 4 + + + + + + + + Swarm Logo & Lettering 4 + + + + + + + + + + + + diff --git a/presentations/images/privacy.svg b/presentations/images/privacy.svg new file mode 100644 index 0000000..40c930e --- /dev/null +++ b/presentations/images/privacy.svg @@ -0,0 +1,236 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VPN + ... + + + ip + + + + libp2p + + + + dagger + + + diff --git a/presentations/images/privacy/nym.svg b/presentations/images/privacy/nym.svg new file mode 100644 index 0000000..9b11e27 --- /dev/null +++ b/presentations/images/privacy/nym.svg @@ -0,0 +1,3 @@ + + + diff --git a/presentations/images/privacy/tor.svg b/presentations/images/privacy/tor.svg new file mode 100644 index 0000000..84fd9b4 --- /dev/null +++ b/presentations/images/privacy/tor.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/presentations/images/proof-of-retrievability.svg b/presentations/images/proof-of-retrievability.svg new file mode 100644 index 0000000..3a77fab --- /dev/null +++ b/presentations/images/proof-of-retrievability.svg @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + prover + + + + + + + + + + + + + verifier + node + node + request + request + request + + + diff --git a/presentations/images/proof-of-storage-1.svg b/presentations/images/proof-of-storage-1.svg new file mode 100644 index 0000000..b50deb1 --- /dev/null +++ b/presentations/images/proof-of-storage-1.svg @@ -0,0 +1,675 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + digest + digest + digest + digest + + + + + + + + + time + + + + diff --git a/presentations/images/proof-of-storage-2.svg b/presentations/images/proof-of-storage-2.svg new file mode 100644 index 0000000..8080e9c --- /dev/null +++ b/presentations/images/proof-of-storage-2.svg @@ -0,0 +1,675 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + digest + digest + digest + digest + + + + + + + + + time + + + + + + + + diff --git a/presentations/images/stack.svg b/presentations/images/stack.svg new file mode 100644 index 0000000..24113ea --- /dev/null +++ b/presentations/images/stack.svg @@ -0,0 +1,199 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + bandwidth incentives + + + + storage incentives + + + + + + payment channels + + + + storage engine + + + + smart contracts + + + + + libp2p + + + +