all 4 comments

[–]magnora7[S] 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (3 children)

This guy has some good ideas for decentralization. Ideas that we could apply to saidit. Perhaps we could fork etherium and use that as the server base for a decentralized saidit.

This is a good video too. https://www.youtube.com/watch?v=gSQXq2_j-mw

[–][deleted] 3 insightful - 2 fun3 insightful - 1 fun4 insightful - 2 fun -  (2 children)

d3rr nervously considers the next decade of his life while he reaches for his mouse...

[–]magnora7[S] 3 insightful - 1 fun3 insightful - 0 fun4 insightful - 1 fun -  (1 child)

Haha. In a decade this blockchain decentralized server stuff will probably be drag-and-drop and have a pretty UI.

I obviously wouldn't want to re-write the whole site in this solaris language (talk about a nightmare) but we could put the whole site stored as data on the blockchain and reference the files as needed through their etethereum data address. The only problem then is getting the blockchain to do the computation, but it will only compute things in the solaris language.

Soooo it seems like someone out there needs to write an emulation service or wrapper. Like if there was a javascript, C++, python etc emulator and then we could just straight copy-paste everything and then build some solaris wrapper file that just handles the incoming request and points it at the first file in the chain of files.

So that'd be the "easy" way to do it, I think. We need a wrapper system that can run our code. I'm sure if this doesn't exist it will very soon. Ethereum "smart contracts" are turing complete so this is technically possible using that platform or a fork of it.

I don't know how we would emulate the linux environment it requires to run though.

Anyway after watching both those videos, that's the conclusion I came to. We'd need a blockchain platform that is turing complete, and that allows file storage for files of any size. At a minimum.

Then we could put all that at a special address like d.saidit.net, because it'll run slower than the actual server. So we can have both. Then if anything goes wrong, the decentralized site will always run on its own.

Still trying to figure out if the ethereum platform is what we would want to use or if we need something more advanced before we can cleanly do this. We can also do this part-by-part, we can decentralize some of the files before we decentralize the html page itself, so we can gradually transition.

Anyway, just thoughts at this point. :)

[–][deleted] 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (0 children)

Nice video.

if there was a javascript, C++, python etc emulator and then we could just straight copy-paste everything

I wish. One big problem that this reddit code base has is the Ferrari aspect. it's not just python code that eventually makes a database query, it's python code tying together 2 different databases, the caching layer, home brew query caching, asynchronous job queues, and some custom c code here and there. I don't think much of it can be ported directly or emulated. It's got to be torn down at least to the API/main controller function implementations. But if all we're trying to do is store the data in a decentralized manner, we probably could shoehorn that into this codebase. (edit: maybe more like using a distributed database)

But to be more of a truly decentralized app (edit: where votes can come in from other clients and other nodes, multiple frontends/clients can run at once) and escape the OS requirements (multiple required services), I think we're talking more of the nightmare route, with the core logic running on etherium or in some new backend service.

So we can have both. Then if anything goes wrong, the decentralized site will always run on its own.

Agreed. SteemIt.com does special caching stuff to get you steem blockchain data faster and to make that page load time bearable.