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.
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!
Comments
http://www.lowendtalk.com/discussion/72987/infinit-p2p-clustered-filesystem/p1
And also:
https://en.wikipedia.org/wiki/Tahoe-LAFS
https://en.wikipedia.org/wiki/InterPlanetary_File_System
http://www.halfbakery.com/idea/P2P_20File_20System
etc.
Oh, wow, haven't seen it. Sorry about that then!
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...
Does it have any ACD's (Amazon Cloud Drive) integration way? Or with other cheap and large cloud storages?
open source would be cool
Looks great!
Questions:
"Bank-level", "military-grade"...
What are exact encryption algorithms used?
Thanks.
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..
Based on one of the co-founder's thesis - P2P file-system with Chord network overlay, but also using cloud as cache?
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.
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
Re: Your encryption response.
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
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.
The binary from infinit.sh had references to https://beyond.infinit.io
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.
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?
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.
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 switchI got rid of it.
@cadeauh
My questions weren't good enough for you and just skipped them? /s
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.
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).
@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.
Maybe you should strip those binaries in your release. Look forward to you open-sourcing the client.
Forwarded the question to our lead dev for a detailed answer, will get back to you!