pfrazee / nodevms

A cryptographically auditable VM service using Nodejs and Dat.
https://nodevms.com
69 stars 5 forks source link

Possibilities #2

Open luandro opened 7 years ago

luandro commented 7 years ago

First, congrats, this is the most amazing stuff I've seen so far in terms of decentralizing the web.

So this could be used to run the whole dApp stack (database, function calls, static files) on Beaker (Dat), as well (or better) than you can in something like Ethereum? Smart contracts plus oracles, as well as simple function calls similarly to how AWS Lambda does it? Token wallets and exchange too?

I've been through the oficial page and the blog post, and it seems the sections comparing to Ethereum have been removed from this repos readme and the oficial page. I'm still trying to understand how the whole thing works (even Dat) when compared to how Blockchain works.

pfrazee commented 7 years ago

@luandro thanks!

So this could be used to run the whole dApp stack (database, function calls, static files) on Beaker (Dat), as well (or better) than you can in something like Ethereum?

TBH I'm not sure yet. We'll need to bench it and get a sense for the overhead of auditing. Should it do all the things? Some of the things? My thinking (for our projects) is we should experiment with nodevms for a bit before integrating it concretely into our Beaker/Dat stack.

Smart contracts plus oracles, as well as simple function calls similarly to how AWS Lambda does it? Token wallets and exchange too?

Definitely yes to the smart contracts + oracles and Lambda ideas. Not sure about token wallets and exchanges -- it's certainly possible, but I'm not deep in that space, so I don't know what their requirements will be.

it seems the sections comparing to Ethereum have been removed from this repos readme and the oficial page.

I had a few conversations with people about the comparison and found out that people associate Ethereum with finances much more strongly than I do. I figured we should move past the comparison to help with clarity.

I'm still trying to understand how the whole thing works (even Dat) when compared to how Blockchain works.

It's very similar to blockchains. In fact, there's an argument to be made that NodeVMS' secure ledger is a type of blockchain.

The key difference is, NodeVMS does not put multiple computers in charge of writing to the dataset -- there's one computer that's given that power. We watch that computer to make sure it's honest, but that computer runs the show.

By using only one computer, we gain efficiency: no "Nakamoto Consensus" (proof-of-work or proof-of-stake) is necessary. However, we lose flexibility: if the host computer goes down, nobody can author writes, and you have to fork the dataset.

luandro commented 7 years ago

Awesome answer, that clarifies a lot. I'll begin experimenting with NodeVMS asap. Are there other places where discussions are happening?

Please feel free to close this issue.

pfrazee commented 7 years ago

Nope this is it!

acailly commented 6 years ago

Hi, I found this repo some time ago and my main concern was the unique writer. But since hyperdb is out with multiple writer, it could fix the lack of flexibility @pfrazee was talking about. Is there any plan to update this project with hyperdb?

pfrazee commented 6 years ago

I wouldn't discourage anybody from exploring it!

HyperDB is Eventually Consistent and each nodevms host would have its own action-log. That makes it a little harder to audit and provide guarantees for. The contract would have to handle conflicts.

acailly commented 6 years ago

Ok, thanks for this precision