Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


We developed a new p2p filesystem - looking for feedback
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

We developed a new p2p filesystem - looking for feedback

Hey guys, I've been recommended to ask some feedback about our new project here and it seems like a good place to do it so I hope it's fine!

We developed a decentralised peer to peer file system allowing you to create flexible and controllable storage infrastructures in a few minutes.

So we released it a few weeks ago and we're eagerly looking for feedback. If some of you want to play with it, it's here: https://infinit.sh. You can find some examples of infrastructures that can be made here: https://infinit.sh/documentation/deployments

Also, don't hesitate to ask me any questions!

Thanked by 2gitreset deadbeef
«1

Comments

  • cadeuhcadeuh Member
    edited February 2016

    Oh, wow, haven't seen it. Sorry about that then!

    @raindog308 said:

    We have quite some differences with IPFS, they don't have user permissions for example (. As for the comparison with Tahoe-LAFS, we want to make it more accessible for developers, easier/faster to setup infrastructures, more focused towards big companies.

  • @cadeuh as you probably know from the IRC channel I've already tried it on a single node and you've had some feedback already regarding my experiences in getting enough configuration set to allow a drive to be created and mounted.

    I do want to get it setup as a small cluster with replication between nodes, but I've not yet organised the underlying infrastructure yet (I.e I need to get a couple more LEB's sorted out, probably some storage VPS or cheap Dedi)

    I'll say here what I said there it looks promising but it does still need work, particularly around the Drive client which needs to be an noob/end-user friendly as possible seeing as the people using the drive client aren't going to be the same Sysadmins setting up the storage/cluster.etc

  • A web based management console would be good...

  • cadeuh said: Also, don't hesitate to ask me any questions!

    Does it have any ACD's (Amazon Cloud Drive) integration way? Or with other cheap and large cloud storages?

  • open source would be cool

  • deadbeefdeadbeef Member
    edited February 2016

    @cadeuh said:

    Looks great!

    Questions:

    • What happens if a storage server fails (hdd dies)? Can it be replaced with another storage server and the replication will take care of itself automatically?
    • How does the latency increase with the increase of replication #? What about with the increase of servers if the replication # stays constant?
    • What is your experience with a setup over a WAN in terms of speed/latency?
    • When using the Hub, what kind of trust level is required? I.e. what does the Hub know and what can the Hub do with the info (for example, it can read who am I sharing things with)?
  • All the files are encrypted both in transit and at rest through bank-level cryptographic algorithms.

    "Bank-level", "military-grade"...
    What are exact encryption algorithms used?

    Thanks.

    Thanked by 2tehdan 0xdragon
  • Looks like a paid service - subscription model https://infinit.io/. Why isn't this mentioned upfront on your infinit.sh page? A few red flags..

    Infinit uses bank-level encryption algorithms such as AES-256 and RSA 2048 to ensure bullet-proof security.

    In fact, Infinit was born out of security-based research conducted at the University of Cambridge.

    Based on one of the co-founder's thesis - P2P file-system with Chord network overlay, but also using cloud as cache?

  • cadeuhcadeuh Member
    edited February 2016

    Master_Bo said: "Bank-level", "military-grade"... What are exact encryption algorithms used?

    We use a mix of RSA and AES encryption. RSA is used for signing data and encrypting AES keys which are used for encrypting block data and communications between nodes.

  • @texteditor said:
    open source would be cool

    We plan to open source all the client code for the file system in the coming months. So far you can find what we open sourced here: https://infinit.sh/open-source

  • 0xdragon0xdragon Member
    edited February 2016

    Re: Your encryption response.

  • cadeuhcadeuh Member
    edited February 2016

    @_Nic said:

    We have Backblaze planned for now. A few users asked us about ACD as well so we might implement it as well. Could you take 1 minute to upvote it here? Thanks! https://infinit-sh.uservoice.com/forums/318522-general/suggestions/11425977-amazon-cloud-drive-support

  • @rincewind said:
    Looks like a paid service - subscription model https://infinit.io/. Why isn't this mentioned upfront on your infinit.sh page? A few red flags..

    We have two different products: infinit.io (related to file transfer with a subscription service indeed) and infinit.sh (related to file storage) that we just released. This thread only concerns the latter, sorry about the confusion.

  • cadeuh said: two different products:

    The binary from infinit.sh had references to https://beyond.infinit.io

  • @0xdragon said:
    Re: Your encryption response.

    Each user has a pair of keys (RSA 2048 bit) which are used for authentication, signing of block metadata and for communicating symmetric keys (AES 256 bit). The symmetric keys are used to encrypt the block data as well as for communication between nodes.

  • @cadeuh said:
    Each user has a pair of keys (RSA 2048 bit) which are used for authentication, signing of block metadata and for communicating symmetric keys (AES 256 bit). The symmetric keys are used to encrypt the block data as well as for communication between nodes.

    That's better.

  • rincewind said: The binary from infinit.sh had references to https://beyond.infinit.io

    This will be changed soon, it was setup before we got the new sh certificate.

  • Why does the server need to phone home, especially if this is not a subscription service?
    Do you gather usage stats?

  • @rincewind said:
    Why does the server need to phone home, especially if this is not a subscription service?
    Do you gather usage stats?

    Yes, that service probably gathers usage statistics and it seems to report the latest version of the client for updating purposes.

    Thanked by 1rincewind
  • rincewind said: Why does the server need to phone home, especially if this is not a subscription service? Do you gather usage stats?

    @0xdragon said:
    Yes, that service probably gathers usage statistics and it seems to report the latest version of the client for updating purposes.

    It doesn't gather any statistic usage. Only if you want to use our Hub, you'll communicate with our server but you can keep it completely decentralised without using the Hub.

    We're probably going to implement a crash reporter at some point, but we can add an option for people that don't want to use it as well.

    Thanked by 1rincewind
  • I tried the client on Linux Mint 17.3 and while I could register an account and login, it wasn't possible to send any files. In one case it hung my box entirely so I had to hit the reset switch :/

    I got rid of it.

  • deadbeefdeadbeef Member
    edited February 2016

    @cadeauh

    My questions weren't good enough for you and just skipped them? /s

  • k0nsl said: I tried the client on Linux Mint 17.3 and while I could register an account and login, it wasn't possible to send any files. In one case it hung my box entirely so I had to hit the reset switch :/

    I think you're talking about infinit.io (file transfer)? In any case, that's a really strange behavior. You can send us your logs so we can have a look by going in the app settings > report a problem.

  • cadeuhcadeuh Member
    edited February 2016

    deadbeef said: What happens if a storage server fails (hdd dies)? Can it be replaced with another storage server and the replication will take care of itself automatically?

    How does the latency increase with the increase of replication #? What about with the increase of servers if the replication # stays constant?
    What is your experience with a setup over a WAN in terms of speed/latency?
    When using the Hub, what kind of trust level is required? I.e. what does the Hub know and what can the Hub do with the info (for example, it can read who am I sharing things with)?

    Sorry, wanted to write proper answers but I just kept receiving notifications of other questions :)

    • Not exactly. If one of your — let's say — 3 servers crashes, it will be detected automatically and Infinit will try to replicate a copy on another server in compliance with the replication factor you set when you created the network. If in this example, the replication factor is set at 2, a copy will be replicated on the last server. If it's set at 3, there won't be any other server to create a copy. Basically we let you total control of the tradoffs you want between reliability, performance, cost etc.

    • All writing operations are asynchronous, so for these ones the latency won't reallt increase. Reading can a bit slower since it needs to fetch at least 50% of the replica blocks on the different servers. We try to tackle this issue with a cache and pre fetching blocks from the same file (streaming). For your other question, the latency will remain the same.

    • We have a one-liner demo in our Get Started page where it's exactly this setup, you can try and see it live :)

    • The Hub is used only as an utility tool for key exchange and exchange IP addresses (it doesn't auth users or send public keys).

    Thanked by 2deadbeef rincewind
  • deadbeefdeadbeef Member
    edited February 2016

    @cadeauh

    Thank you for your detailed answer - I went through the docs and the AMA of the founder and think it is an overall well thought project.

    Async writing means that the system is eventually consistent, that's good to know - and that leads to the next question...

    What happens if there's a split-brain situation? Suppose 3 servers in the quorum, I guess they elect a leader? So, if they split to (1 server), (2 servers) what happens? Do they stop accepting writes? Do they stop serving all together until the quorum is reached again? And if they keep accepting writes then how do they sync? Manually? Automatically via timestamps? Or any write that's not acknowledged gets rolled back?

    Thanks again!

  • Yes, it's about inifit.io, sorry for going off topic about that. I will report it.

    @cadeuh said:
    I think you're talking about infinit.io (file transfer)? In any case, that's a really strange behavior. You can send us your logs so we can have a look by going in the app settings > report a problem.

  • Maybe you should strip those binaries in your release. Look forward to you open-sourcing the client.

  • @deadbeef said:
    What happens if there's a split-brain situation? Suppose 3 servers in the quorum, I guess they elect a leader? So, if they split to (1 server), (2 servers) what happens? Do they stop accepting writes? Do they stop serving all together until the quorum is reached again? And if they keep accepting writes then how do they sync? Manually? Automatically via timestamps? Or any write that's not acknowledged gets rolled back?

    Forwarded the question to our lead dev for a detailed answer, will get back to you!

    Thanked by 1deadbeef
Sign In or Register to comment.