RE: Want to make a filesystem. 12-02-2017, 12:14 AM
#10
(12-02-2017, 12:07 AM)phaz0n Wrote:(12-01-2017, 07:05 AM)Ender Wrote:(12-01-2017, 06:56 AM)phaz0n Wrote: https://en.wikipedia.org/wiki/InterPlane...ile_System
This seems to do a lot of what you are talking about.
Close, but not exactly.
Blockchain-based systems keep everything in one chain, which is distributed. The problem with this in currencies, is that there is the possibility of a 51% attack.
Earlier, I was talking to @"phyrrus9" about this. He is planning on using a distributed hash table for this, which is somewhat similar to a blockchain, but is split up into multiple parts, with no single node having all of it at once. Then an algorithm (he pointed me to Dijkstra's algorithm when talking about cryptocurrencies, not sure if that's what's being used here though) is used to distribute the data in the fastest way possible. In cryptocurrencies, this adds an extra layer of protection, since it's extremely hard to figure out how to make a fake valid transaction that gets routed to your specific node, and takes more computational power than is needed in Bitcoin and other systems.
(12-02-2017, 12:01 AM)phyrrus9 Wrote:(12-01-2017, 11:45 PM)phaz0n Wrote: IPFS doesn't use a blockchain, actually. You seem to confuse IPFS with conventional blockchain protocols like BTC and Ethereum which use hash trees, and generally don't scale well to handle mass storage as a result of their architecture.
IPFS on the other hand does not use a strict tree but more of a generalized directed graph model. The graph is necessarily acyclic as long as the properties of the hash function used will hold true. Furthermore, like you described in your design, full files are addressed by their hash and refer to individual blocks of content which are distributed across the network. On another note: IPFS is accessible through FUSE as well.
DHTs form the basis of pretty much every peer to peer network protocol in one form or another, so that's nothing special really. Even blockchain systems like Ethereum use DHTs for node discovery. They are trivial to implement because most of the code is already there. So no, it won't be difficult to get the protocol itself working as it is pretty simple itself - my claim is that because the files being stored on the network are encrypted, stored with the intention of the owner being the sole retriever thereof, there is not enough incentive for nodes to handle storage of other nodes' data. It is simply more cost-effective, and arguably more practical for each person to use a centralized filesystem with parity-based redundancy to store the data in an encrypted format, rather than to offload it on to a distributed network and have to handle the storage of parts of others' encrypted data in order to ensure data redundancy.
That said, I am happy to help and contribute to this project for research purposes.
Again, I understand your desire to play yourself up here, but we aren't talking about IPFS. I'm not generally interested in constantly reading the wikipedia entry for IPFS. We don't want blockchain, period. The point is to be entirely self sustaining, firewall independent, fully encrypted, and completely decentralized. These are features that IPFS doesn't offer, and using IPFS defeats the entire purpose of the project (kernel development).
I'm just saying there is no blockchain in IPFS, and your concept has some non-technical flaws. I would also appreciate if you avoided using subtle ad-hominems in place of an argument against my claim.
The "technical flaws" you refer to are easily solved with engineering. You would incentivize in the same way that bt works. The more blocks you are willing to store, the more likely another will be willing to store your blocks, and balance the table so that you store a minimal amount of your own blocks.
What I don't appreciate is you've been off topic this whole time. The thread is about building a filesystem, not finding an existing one. The end result has nothing to do with the filesystem created and everything to do with kernel development, as I've stated. It could be a completely useless dummy project and it would still be valid. I've never heard of you before this thread, and then all of the sudden you come in quoting wikipedia and suggesting I use bitcoin technology, I'm not interested in that. If you want to be constructive to the original topic, I welcome it, but if you're just going to debate why your opinions are better than mine then you should find a different thread.