News for hackers. Stuff that matters.
Re:Workstream: A fast virtual computer you can use for anything by VikingCoder on Thursday April 16, 2020 @12:04PM (#22890761)
I'm just going to state again what I want, which is only tangentially related to the topic...

1) I go on Github and configure a service

2) I make a wallet that people can donate to

3) I start up a virtual machine, aimed at the Github, using the wallet to pay for the time on the machine. The virtual machine host guarantees that the code at that Github is what's really running.

I can imagine lots of other things I want, too, but this is the bare minimum. I think it'd be really useful in a lot of scenarios.

Re:Workstream: A fast virtual computer you can use for anything by thanksforfish on Thursday April 16, 2020 @01:06PM (#22891386)
Theres some interesting security ideas you could try to solve with something like this. With an open source service that is hosted by someone else, you never know what is actually running. You can't trust it.

I was thinking about something similar a few months back, and I think it could be doable. You'd need a CI service that creates reproducible builds, and a hosting service that can show what build artifact is currently loaded. You'd allow the public to view the state of the service. I think it could work with heroku or similar.

That gets me closer to: I trust the code, and I trust the hosting service (I.E. AWS), but I don't need to trust the person running the code as I can verify that it matches what's on GitHub.

Re:Workstream: A fast virtual computer you can use for anything by derefr on Thursday April 16, 2020 @01:50PM (#22891805)
This—the ability to audit what's running on the backend you're talking to—is in large part what people get out of smart contracts on e.g. Ethereum. You can take the contract source code from GitHub, compile it (deterministically), and validate that the deployed-on-chain smart-contract binary is the same. The blockchain nature of the platform then ensures that the contract will do exactly and only what you "expect" it to do (i.e. it'll do the same thing "in production" that it does when you test it on your own machine, since any node that tries to execute the code differently would diverge its state from the consensus, and be ignored.)

In essence, a Turing-complete smart-contract blockchain is a deterministically-trustworthy compute-hosting service. It's one that has the disadvantage of all the overhead distributed auditability requires; but at least has the advantage (compared to centralized compute-hosting with remote-attestation) that it already exists and is usable right now for real-world use-cases.

(And you can also reduce the blockchain-y overhead by moving whatever backend business logic you can out of the "trust kernel" into untrusted regular machines, and then just having the "trust kernel" do the important stuff. CryptoKitties is a good example of this: the only thing their smart contract does is track who owns what kitty, because that's what people would try to dispute by forging transactions. The rest of the stuff is state in a regular centralized RDBMS, because it's dictated by the service, rather than by user input, and so is not under dispute.)

Re:Workstream: A fast virtual computer you can use for anything by crispyporkbites on Thursday April 16, 2020 @06:55PM (#22894419)
Ethereum is basically one big cloud computer, with a shared runtime.

Everyone gets a copy of the code AND all the data/state, and can execute all instructions.

Problem is that it’s too slow/expensive to do anything useful.

But perhaps the killer app for blockchain is buried somewhere in this concept.

Re:Workstream: A fast virtual computer you can use for anything by ghthor on Friday April 17, 2020 @11:25AM (#22899821)
Just because you dont understand how to do something useful using ethereum doesnt mean that no one knows how to do something useful with ethereum.

Please investigate ethereum name system(ENS) and Handshake name system.

Re:Workstream: A fast virtual computer you can use for anything by rubicks on Thursday April 16, 2020 @12:42PM (#22891169)
> The ... host guarantees...

This is a really hard problem with "solutions" that usually run counter to privacy and, you know, controlling the machine consuming your electricity. Remote Attestation has come a long way, but (at least on Linux) still in its infancy.

Re:Workstream: A fast virtual computer you can use for anything by capableweb on Thursday April 16, 2020 @12:49PM (#22891236)
First time I hear about "Remote Attestation", got any trusted sources/resources for someone to read up on it more? (besides Wikipedia and it's sources)
Re:Workstream: A fast virtual computer you can use for anything by aspenmayer on Thursday April 16, 2020 @01:34PM (#22891667)
Here's some words Red Hat folks wrote[0] about Keylime[1][2], "open source scalable trust system harnessing TPM Technology,"[3] written in python and rust, originally created within MIT Lincoln Labs.[4] It leverages TMP 1.2 and 2.0[5] and also involves/includes/references code from Intel[6] and Cloudflare[7].

[0] https://next.redhat.com/2019/06/25/keylime-using-tpm-to-secu...

[1] https://keylime.dev/

[2] https://www.youtube.com/watch?v=Qhr_aVBCZPw

[3] https://github.com/keylime/keylime

[4] https://www.ll.mit.edu/news/laboratory-staff-develop-new-cyb...

[5] https://github.com/tpm2-software

[6] https://www.intel.com/content/www/us/en/architecture-and-tec...

[7] https://github.com/cloudflare/cfssl

Re:Workstream: A fast virtual computer you can use for anything by SCHiM on Thursday April 16, 2020 @01:16PM (#22891480)
Well, you could try googling for DRM, same beast different name.
Re:Workstream: A fast virtual computer you can use for anything by aspenmayer on Thursday April 16, 2020 @05:48PM (#22893911)
This comment seems needlessly user-hostile, much like the same DRM you are railing against.
Re:Workstream: A fast virtual computer you can use for anything by SCHiM on Friday April 17, 2020 @08:56AM (#22898552)
True true, wasn't meant to be hostile but I see that I wrote my comment unkindly.

I do think the point stands though. They are names for the same technology. How it is used, and who uses it will determine what type of spin I'd put on it.

Monitoring the integrity of a trusted audio decoder in my system's kernel: DRM

Monitoring the integrity of an open source tool that I bought and paid for: remote attestation.

Both will come down to various arrangements of trusted computing enclaves, asymmetric cryptography and groups trying to bypass said arrangements.

Re:Workstream: A fast virtual computer you can use for anything by aspenmayer on Friday April 17, 2020 @10:01AM (#22899026)
I couldn’t agree more. DRM is just hardware and software. It’s a tool and implementations matter. HDCP is one of those implementations that seem like a good idea but which have all kinds of side effects that make the product the DRM is part of (HDMI in this case) much less useful for certain fair use law abiding use cases. As long as we have the interoperability exception for breaking DRM there’s a way around but it would be better if interoperability was a requirement of accessibility standards in the first place.
Re:Workstream: A fast virtual computer you can use for anything by t0astbread on Thursday April 16, 2020 @12:27PM (#22891007)
Agreed, something like "Netlify for virtual machines" would be useful.

You could probably get close by auto-deploying from GitHub Actions but you wouldn't get the main benefit of a service like that (having ops done in a clean way without having to think much about it).

Without having any experience in the field, aren't lambda functions supposed to provide something like that?

Re:Workstream: A fast virtual computer you can use for anything by kim0 on Thursday April 16, 2020 @01:15PM (#22891469)
Sorry I'm not getting the main value prop from this. I'm mainly an ops person. Can you please explain what that service would look like?
Re:Workstream: A fast virtual computer you can use for anything by t0astbread on Thursday April 16, 2020 @02:17PM (#22892012)
Netlify (primarily) takes a git repo containing a program to generate a static site and turns that into a live running website that automatically updates when the generator repo changes. You don't have to think about configuration or security or updates and you don't have to maintain a server.

Ideally this would be a service with the same ergonomics but the outcome isn't a hosted static website but a machine (somewhere in the cloud) running whatever the user wants. "Tedious" tasks like hardening, monitoring and upgrading (and redeploys) would be handled by the service provider, as opposed to the user.

For people who like doing ops this might not sound appealing but developers (especially single devs and small teams) often just wanna focus on their app, not their ops, even more so when it comes to continous maintenance.

Addendum: I think Laravel has some of this covered in their ecosystem with tools like Forge and Envoyer. But I've never tried any of them so I can't judge.

Re:Workstream: A fast virtual computer you can use for anything by manigandham on Saturday April 18, 2020 @08:08PM (#22912227)
This is what Platform-as-a-service (PAAS) is and has been around for a long time. Google's Appengine, Heroku, and many others offer it.

Since then we've seen "serverless" or functions-as-a-service (FAAS) which is just smaller bits of code (down to a single javascript function) but the same concept of everything else being managed by the provider. This is AWS Lambda, Cloudflare Workers, Google Cloud Functions, etc.

The latest offerings now take a Dockerfile or container image that you build, which means you can run anything on any stack while the provider manages the rest. Google Cloud Run, AWS Fargate, Azure Container Instances, Fly.io, Zeit Now, etc.

Re:Workstream: A fast virtual computer you can use for anything by battery_cowboy on Friday April 17, 2020 @05:29AM (#22897505)
Have you heard of platform as a service, like Heroku or gigalixr? That's exactly what that is, pretty much.
Re:Workstream: A fast virtual computer you can use for anything by t0astbread on Friday April 17, 2020 @09:06AM (#22898615)
Oh so that's what that is! I always thought Heroku was just more expensive VPSes.
Re:Workstream: A fast virtual computer you can use for anything by jedieaston on Thursday April 16, 2020 @01:38PM (#22891702)
The host would prove that the source available online is the exact same code running on the instance, so you know that it wasn't modified by the developer/bad-guy before it went into production.
Re:Workstream: A fast virtual computer you can use for anything by matdehaast on Friday April 17, 2020 @09:03AM (#22898596)
What you are describing is almost exactly how Codius is envisioned to work. Our company is actively working on this right now and it is close to being in an alpha/beta state.

Checkout codius.org

Re:Workstream: A fast virtual computer you can use for anything by third_I on Thursday April 16, 2020 @12:52PM (#22891268)
You should really look into GitLab. It's free to self-host the whole thing if you want, and there's a full CI/CD pipeline (you can plug whatever you want in there).

It's miles and leaps beyond what GitHub offers (different target I suppose).

You'd still have to code the linking to a wallet part, but that's definitely doable.

Re:Workstream: A fast virtual computer you can use for anything by derefr on Thursday April 16, 2020 @01:48PM (#22891792)
The GP poster's point was that the hosting service needs to prove to the consumers of the app that what's running on the hosting service is the same code they can browse through on GitHub.

When you're both the developer and the consumer, you can certainly prove this to yourself (to five nines of confidence or so) by just setting up the hosting yourself. But we're talking about the case of a centralized backend for a multiuser service, e.g. a forum, where the users want to not have to trust the moral fibre of the person who set up the server, but merely trust that the infrastructure used in the hosting guarantees that it can't run anything other than the codebase (that they control.)

Re:Workstream: A fast virtual computer you can use for anything by third_I on Thursday April 16, 2020 @02:56PM (#22892325)
Fair point, I overlooked this. My mistake.

Different target, yet again.

Re:Workstream: A fast virtual computer you can use for anything by machbio on Friday April 17, 2020 @11:21AM (#22899773)