A practical and compelling distributed cap platform: Sandstorm on Cap'n Proto
"Mark S. Miller" <[email protected]>
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <CABHxS9gGG0HARbCKeaDxUGNp0WUL6-JvZUptKyiNH8fvvbV1sA@mail.gmail.com> |
Hi cap-talk,
I want to call everyone's attention to a project I've been advising and am
excited about.
Sandstorm.io is a capability platform entering a new market not already
dominated by big players: user-friendly hosting of personal instances of
"cloud" apps. Kenton et al have built a system that makes installing and
using apps on a personal server as easy as installing apps on a phone
should be. They have attracted users from far beyond the capability
community with the promises of privacy, security, control, and the ability
to easily run open source apps that were previously too hard to set up.
We may have a real opportunity here to show the world what a capability
system looks like without having to beat a well-funded incumbent.
The demo takes 60 seconds and quickly illustrates what Sandstorm is and
just how easy it is to use <https://demo.sandstorm.io>.
The project is currently fundraising on Indiegogo. I have contributed <
https://www.indiegogo.com/projects/sandstorm-io-personal-cloud-platform>.
Please take a look. Do you find it as compelling as I do? What
opportunities or weaknesses might we have missed? Let's discuss it here on
cap-talk. I've CC'd Kenton Varda, the lead developer.
Some more details, in layers:
* Kenton had built and open sourced Google's "Protocol Buffers 2"
infrastructure <https://code.google.com/p/protobuf/>, which is a compact
efficient serialization format for structured data (typed records and
lists). It is central to much of Google's infrastructure. Kenton has since
left Google and revisited these ideas, creating a successor in the
serialization format of Cap'n Proto, where the generated C++ accessors
enable clients to directly compute with the data as stored in the
transmissible form, saving the serialization/unserialization costs,
resulting in significant speedups. For example, <
http://www.slideshare.net/albertstrasheim/serialization-in-go> starting at
slide 39. This is especially significant since Go was built to work well
with protocol buffers.
* Next layer up is Cap'n Proto's RPC system, which is a statically typed
variant of CapTP built on Cap'n Proto serialization, with full promise
pipelining and E-order. Kenton has done a few friam presentations on it,
and it looks great.
There are now language bindings for Cap'n Proto for a significant number of
languages <https://kentonv.github.io/capnproto/otherlang.html>. For
example, Cloudflare is using Cap'n Proto from Lua <
http://blog.cloudflare.com/introducing-lua-capnproto-better-serialization-in-lua
>.
Cap'n Proto is a conventional github based volunteer open source project,
based on free (as in beer) contributions.
* Next layer up is Sandstorm, which is also all open source, but as a
startup company trying to raise their initial funding on Indegogo. I am an
advisor and contributor to this project.
The name "Sandstorm" is for "Sandbox in the Cloud". The Sandstorm
technology enables anyone to run a webserver which can host sandboxed
applications -- typically web apps -- installed by their clients. Cap'n
Proto serves as the secure IPC layer between these applications, and
between them and their clients. If clients and hosts do not enable these to
talk to their authors, these applications are ideally confined from their
authors (modulo some transient usable security shortcuts in the current
demo).
I like <
http://gigaom.com/2014/08/01/sandstorms-decentralized-hosting-platform-could-finally-make-indie-web-apps-viable/>
as a laymen's explanation of the significance of all this, without needing
to say much about computer security per se. We've all learned the painful
lesson of how hard it is to sell security directly. I think these projects
are a wonderful way to deploy the kind of security we care about, by
selling the functionality they built on this security.
--
Cheers,
--MarkM
_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk