Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate/implement IPFS-based implementation of BlockStore #87

Closed
pchiusano opened this issue Aug 12, 2016 · 1 comment
Closed

Investigate/implement IPFS-based implementation of BlockStore #87

pchiusano opened this issue Aug 12, 2016 · 1 comment

Comments

@pchiusano
Copy link
Member

pchiusano commented Aug 12, 2016

See #86 for some context.

IPFS is big project, but the part we are most interested in is the distributed, content-addressed file-system, which could work as a nice backend for BlockStore. It would have the advantage that IPFS-backed Unison nodes would all share a common Universe, which eliminates the hash-syncing step of the distributed evaluation protocol. It also has a solution to the hash distribution problem - common hashes are replicated based on demand across the IPFS network, which can minimize bottlenecks and bring the data closer to where it is needed.

Something I was rather concerned about was this issue, but it looks like the IPFS folks are on the case.

The goal is to investigate and possibly implement an IPFS-based BlockStore. At first glance, IPFS doesn't look like a natural fit for the Series concept that BlockStore has. Perhaps it could be implemented using IPNS, or perhaps we don't rely on IPFS for that aspect of the implementation.

/cc @jbenet - Juan, not sure if you get this notification, but hello! IPFS seems like a great project. We may be building atop it. Also, looking forward to meeting you at Full Stack Fest this year.

@jbenet
Copy link

jbenet commented Aug 13, 2016

Hey @pchiusano :) fan of unison too, i was excited when it was announced. In short:

  • we need to fix the resource limits, but that's purely optimization
  • you can use IPNS i think. and aim not 100% sure, but i think you want what we're calling "authenticated streams" (think of a co-recursive merkle-dag, meaning you listen on H and get a stream of objects, all of which have H as a descendant (well, ancestor in merkle-dag terms, since arrows point back in time).
  • yeah let's definitely chat at FullStack Fest
  • Highly recommend looking into our IPLD work-- i think it may be super relevant to unison.
  • In general, dive into our abstraction pool-- there's lots of good stuff there.
  • And, highly recommend to use something like https://github.com/multiformats/multihash ( https://github.com/multiformats/multiformats ) to ensure interop for a long time :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants