mirror of
https://github.com/codex-storage/codex-research.git
synced 2025-02-11 01:56:21 +00:00
Updated IPFS evaluation based on comments
For discussion, see: https://github.com/status-im/dagger-research/pull/5
This commit is contained in:
parent
30d9351943
commit
15725b0c7b
@ -1,7 +1,7 @@
|
||||
An evaluation of the IPFS paper
|
||||
===============================
|
||||
|
||||
2021-01-06 Mark Spanbroek
|
||||
2021-01-07 Dagger Team
|
||||
|
||||
https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
|
||||
|
||||
@ -17,25 +17,25 @@ Dagger. It is not meant to be a criticism of IPFS.
|
||||
(§2.1.2)
|
||||
+ Uses proof-of-work in S/Kademlia to discourage Sybil attacks (§2.1.3)
|
||||
+ Favors self-describing values such as multihash (§3.1) and multiaddr (§3.2.1)
|
||||
+ BitSwap protocol for exchanging blocks supports multiple strategies (§3.4.2)
|
||||
+ BitSwap protocol for exchanging blocks supports multiple strategies (§3.4.2),
|
||||
so it should be relatively easy to add a micropayment strategy.
|
||||
+ Uses content addressing (§3.5)
|
||||
+ The Merkle DAG is simple, yet allows constucting filesystems,
|
||||
key-value stores, databases, messaging system, etc.. (§3.5)
|
||||
|
||||
#### Cons:
|
||||
|
||||
- Kademlia prefers long-lived nodes, which is not ideal for mobile enviroments
|
||||
(§2.1.1)
|
||||
- BitSwap falls just short of introducing a currency with micro payments,
|
||||
necessitating additional work for nodes to find blocks to barter with (§3.4)
|
||||
- Merkle DAGs and Paths (§3.5.1) feel like an unnecessary complication at the
|
||||
protocol level; they could have been implemented on top of a system consisting
|
||||
solely of content addressable chunks
|
||||
- Kademlia prefers long-lived nodes (§2.1.1), which is not ideal for mobile
|
||||
enviroments (although it's unclear whether there are any better alternatives)
|
||||
- The default BitSwap strategy falls just short of introducing a currency with
|
||||
micro payments, necessitating additional work for nodes to find blocks to
|
||||
barter with (§3.4)
|
||||
- Object pinning (§3.5.3) inevitably leads to centralized gateways to IPFS, such
|
||||
as Infura and Pinata
|
||||
- There are no self-describing multiformats for encryption and signing (§3.5.5)
|
||||
- IPFS uses variable size blocks instead of fixed-size chunks (§3.6)
|
||||
- There are no self-describing multiformats for encryption and signing (§3.5.5),
|
||||
although [multicodec](https://github.com/multiformats/multicodec/) can
|
||||
probably be used here.
|
||||
- IPFS uses variable size blocks instead of fixed-size chunks (§3.6), which
|
||||
might make it a bit harder to add incentives and pricing
|
||||
- Supporting version control directly in IPFS feels like an unnecessary
|
||||
complication (§3.6.5)
|
||||
- Handles mutable state by hacking it into the routing DHT (§3.7.1), instead of
|
||||
using a separate mutable naming system like ENS
|
Loading…
x
Reference in New Issue
Block a user