top | item 10067510

Morphis: Encrypted distributed datastore

48 points| slxh | 10 years ago |morph.is

31 comments

order

jondubois|10 years ago

So Morphis is both a distributed data store and the ultimate solution to human suffering?

"MORPHiS is a global encrypted distributed datastore"

...

"It's about all of us, working together to create the world we want to live in, free from corruption, slavery, evil and manipulation; a vision many have thought impossible, until now."

I'd love to try out Morphis' anti-corruption and anti-manipulation features. Is there an API for these?

Seriously though, the project sounds interesting. It's cool to have a grandiose vision like this, but as the reader, I just don't see how it relates back to the project.

MorphisCreator|10 years ago

The end goal of my life's work of which MORPHiS is only the beginning is The World Brain. That is, humanity linked together as a unified conciousness. No matrix style needed; a keyboard is enough. An uncensorable high performance internet with an inherent web of trust acting as the synapses and our brains acting as the individual super neurons of that then neural net.

Read H.G. Well's essay by that name: https://sherlock.ischool.berkeley.edu/wells/world_brain.html

Wells is not talking about a centralized wikipedia. He is talking about a decentralized (even mentions Iceland as a safe harbour) and unified human conciousness.

Humanity can then determine its own destiny instead of having to use the stone-age system of paper ballots and inherenlty corrupt elected representatives who's representation has absolutely zero correlation with what the people they are claiming to represent actually want.

See the Princeton study that proved that: http://scholar.princeton.edu/sites/default/files/mgilens/fil...

For the World Brain to function, it needs a ultra high performance and non-kill-switch able distributed datastore to operate upon. Thus, MORPHiS is the foundational layer for that end. Of course such a layer also inherently is a better file sharing app than BitTorrent, a better communication platform than Email (See Dmail, already working great!), Etc., a better comment system than Disqus, a better Forum than HN. Expect the Disqus deprecating implementation out by the end of this month is my estimate.

Come join me on https://reddit.com/r/morphis

When the Disqus/HN deprecating layer is out later this month hopefully, the community can move onto MORPHiS itself as well :)

lewisl9029|10 years ago

For those looking for a more practical decentralized storage solution that you can use to build apps with today, take a look at remoteStorage:

https://remotestorage.io/

The client-side library acts as an abstraction layer for multiple storage backends, including DropBox, Google Drive, and remoteStorage servers, and handles client-side sync, caching and persistence for you.

The remoteStorage server has multiple implementations that anyone can host and is based on an open spec.

I don't think it handles encryption though, but it really should. Its mission is to allow users to "own their data", and that won't ever be true as long as storage providers can freely inspect and copy data belonging to their users. Hopefully that's something on the roadmap.

MorphisCreator|10 years ago

You can't host the World Brain on such a thing.

MORPHiS is already live. Very practical.

Check out Dmail to see a brand new invention, the likes of which you have been waiting for and have never seen before.

ivansavz|10 years ago

> multiple storage backends, including DropBox, Google Drive

seems like dbox, and gdrive are still work-in-progress, otherwise very interesting project...

madmod|10 years ago

Have you considered hosting this in a collaborative git platform such as GitHub? Are there any plans for an http "gateway" like ipfs has?

MorphisCreator|10 years ago

I am deprecating GitHub. It would be sort of a hypocrisy to host there.

You can join us on IRC: #morphis @ freenode! (this is first announcement of that :)

Come the Disqus feature, github becomes deprecated. I also envision adding GIT over SSH protocol to MORPHiS. (MORPHiS is already SSH protocol based.)

Dmail will be exposed through POP3 and later IMAP. It will also support IRC protocol. It will also support SFTP and RSYNC.

All that stuff takes is time to add higher level stuff that the underlying layer was archtected from the beginning to do (SEE DMAIL!)

If anyone wants to join me, I WOULD LOVE HELP TO MAKE THIS GO FASTER! Join US!

This is going to be awesome.

brucehauman|10 years ago

I appreciate your enthusiasm and agree that your stated goals are important. But if you are serious about this project having an impact, you may want to get some feedback and help with the voice of your presentation. You talk of saving the world, but you are mainly talking about "you" saving the world. It comes across as grandiose ... Please speak clearly about your project and its specifics and less about you if you want people to listen.

MorphisCreator|10 years ago

Very good point. I'm not sure I ever said 'I' in that context, I certainly don't mean so.

I see myself as just the campaign manager for the World Brain, and one of the first coders of this component of it. The World Brain, is you.

Others working on open hardware, hardware mesh net (wireless, Etc.), Etc., all of these people have already done just as much as I or more in making necessary components. So it certainly isn't about me. In this post-Snowden world, so many people know exactly what to do now, it is amazing really, so many people united and working together and knowing exactly what is needed!

Thanks for that input still! I will consider that in how I word stuff in the future. I am just /very/ excited about what I've already calculated as a certain path and inevitable future for humanity.

I found out late in my coding (only 2-3 months ago) that H.G. Wells certainly beat me in 1937 to the idea, no, realization, of a unified human consciousness :) (See his essay entitled World Brain.)

https://sherlock.ischool.berkeley.edu/wells/world_brain.html

mlawren|10 years ago

Inspiring web page, but where does a user start? I can download, install, run, and then? You are missing some instructions about an interface.

Edit: Ok I looked harder. The RUNNING file has the critical protocol/port combination (http://localhost:4251) but this could also (or rather) be in the README, and on the web page.

MorphisCreator|10 years ago

Thank you for that feedback. You make a good point. I will reorganize the instructions to be more up front instead of buried as you discovered :)

I went and made the windows install a one click affair, but neglected to realize the Linux one, while likely easy to install, does not launch the browser like the windows batch file does and thus unless you read the RUNNING file then you wouldn't even know it had the web UI! Which is the whole point of running it :)

I will do as you suggest and move that into the README, and as well document the fact of the web UI and its port on the website. Thank you so much!

AlphaWeaver|10 years ago

If this is a distributed datastore, what controls do you have about what it stores on your computer for others?

MorphisCreator|10 years ago

Data is broken up into 32k blocks. (That might change to 512k blocks as it gives it a 10x throughput improvement with less CPU / overhead.)

Random of those blocks, based on your nodes ID and the hash of each block's data, are stored on your computer. Before they are, your node encrypts them and throws away the key. All that is ever stored on your harddrive is random encrypted data and no key. The key is the original key that the uploader is provided with. The encryption key is the hash of the data, the ID of the data is a hash of that key. Your node knows only the ID, it cannot derrive the key to decrypt the data. Your node cannot be tricked into storing unencrypted data.

Now, a soon future version will support seeding v1. This is the ability to essentially 'like' a file/website/etc, and that will ensure that your node never throws out the data blocks it does store for that file/site/files_that_site_links_directly. This is mostly UI work that is missing. This feature will also automatically seed for example your Dmails, comments, trust publications, own site, Etc. (Although a UI will let you control it).

After that, more distant, will be seeding v2. This will be more like the file sharing that is similar in concept to how https://peeriodproject.github.io/dl/peeriod_an-anonymous-app... envisions file sharing. Their paper came out as I was coding and I noticed they were the closest in many ideas to mine of any papers I've seen. Their project seems stalled, as most coming out of the academic world are. That is why I started with code and not a paper :) I will write the paper before 0.9 release.

anotherangrydev|10 years ago

If you're the author, can you give specifics on performance?

MorphisCreator|10 years ago

Sub second latency, and it will already download as fast as your pipe will allow for most people, and it will only get orders of magnitude faster! This is first draft, tech preview, yet due to how good its design is, it is fully functional and beyond what is out there.

slxh|10 years ago

sorry, I am not and I haven't used it yet, but it looks like an interesting project.

acd|10 years ago

Cool idea and thanks for implementing morph.is.

How does it compare with ipfs?

MorphisCreator|10 years ago

Biggest thing that nothing else has:

MORPHiS has TargetedBlock technology which enables Dpush technology which enabled Dmail:

Dead simple and fool-proof to use decentralized network hosted spam proof high performance uncensorable encrypted authenticated unsolicited messaging.

Email is deprecated already by MORPHiS as is.

MorphisCreator|10 years ago

Tied with security (Sybil proof and uncensorable) as the #1 goal of its design and architecture is that even a child can use it, fool-proof.

It is also here already and higher performance.

It is also not stopping at a datastore.

Uptrenda|10 years ago

Will this work with Python 3.3?

MorphisCreator|10 years ago

In order to be Python + High Performance I went with asyncio, which is amazing, blew me away in performance, very glad I went with it. However, that unfortunately means it needs 3.4.0 or greater.

Just download Python 3.4 and compile yourself. It is dead simple (./configure; make; make install). It then can be referred to as python3.4, pip3.4, Etc., not conflicting at all with your existing system.