We’ve been heads down on building the future of the decentralized web. There’s plenty to do, but we feel it’s important to keep you in the loop. So today, we’ve got some updates for you form our Platform Team, which is comprised of some of our top-notch engineers, product, and design resources.

Here’s what we’ve been up to in August.

Show & Tell

Video of a recent Show & Tell

We announced less than a month ago that we would start holding Show & Tell sessions where we show the world what we’re working on. These are over-the-shoulder looks at what we’re building and the problems we’re facing.

We’ve published two Show & Tell videos that highlight some of the work that’s being done. You can find them here and here on our YouTube channel. They’re also linked in the posts below as relevant to the team who presented.

Roundtable

Screenshot of a recent Roundtable discussion

We’ve also been releasing weekly “roundtable” discussions — where we talk tech, take questions, and have open discussions amongst ourselves and the community we’re working so hard to serve. You can also find these on our YouTube channel here and here. Feel free to join our next Roundtable — they’re held every Thursday at 9am Mountain Time (US), broadcast live on our YouTube channel.

Our Roadmap

As we discussed recently on our blog, we are taking a novel approach to our Roadmap. Since software development, especially the cutting-edge kind, is an exploratory process as much as it is a herculean code-writing effort, we felt it is important to represent our development and product discovery journey in a living, breathing roadmap.

The Mainframe product roadmap

Keep an eye on our Roadmap page to see how we’re progressing towards our goal of empowering developers all over the world to build bulletproof applications.

Team and Service Layer Updates

Mainframe is a platform for developers that enables them to build bulletproof decentralized applications. Our platform is complex product that consists of SDKs, service layers that provide developers needed functionality in their dApps, and components, services and tools developers will need to easily author, sign, ship, and deploy their dApps to the decentralized ecosystem.

A snapshot of the Mainframe platform

Service Layer Update: Communications

Shane Howley and Camron Levanger

On the communications service layer, work has resumed this last month on building a reliability protocol on top of PSS (the messaging layer that is part of swarm) that we presented on at this year’s Swarm Orange Summit. You can learn more about the goals of this protocol by watching the talk here: https://blog.mainframe.com/swarm-summit-presentation-psst-is-anyone-there-8388c417f952.

Shane Howley presenting at Swarm Summit

So far, we have implemented the basic skeleton of the connection representation, the state machine logic for reacting to incoming segments, and the serialisation of segments to be encapsulated inside PSS messages. Next up will be to implement the internal timers, local action handlers and then tying all these possible state transition inputs together with an event loop. This should give us enough foundation to be able to build some end-to-end integration tests to validate the connection protocol.

Camron demonstrating some of his recent work at a Show & Tell

To see more of what we’re working on, check out our Github repo. You can also see Camron demoing some of his work with Swarm nodes and computing in a secure enclave at a recent Show & Tell.

Service Layer Update: Architecture and Tooling

Paul Le Cam and Adam Clarke

On the architecture and tooling team we’ve been focused on laying the foundations of the platform, building and connecting the various core pieces represented in the graphic below, ultimately working towards providing developers with the tools they need to build and publish fully decentralised, secure applications.

The Mainframe platform

We’re approaching our first milestone for the platform, an alpha version that we’ll be pushing out to the team at the end of this month. This internal release will give our product teams a chance to test the platform, allowing us to gather feedback and validate some of the design decisions we made around platform architecture, before we move towards a more stable public release.

The platform currently supports the core developer use cases of creating and publishing fully decentralised applications and allows users to download, install and run Mainframe dapps in a secure sandboxed environment. Right now our SDK exposes limited API’s, only enabling read calls to the Ethereum blockchain but with the foundations of the platform now in place, we should be able to easily integrate other decentralised service layers in a modular way as they become available.

You can view our Github project (https://github.com/MainframeHQ/js-mainframe/projects/1) for a more detailed view on the state of platform development.

You can also check out one of our recent Show & Tell’s, where we demoed the above process.

The team demoing launching a dApp on the Mainframe platform

Service Layer Update: Storage

Miloš Mošić and Doug Leonard

The storage layer will likely be the first service layer Mainframe ships to production. We have been working in three key areas to prepare for this. Mutable Resource Updates, Incentivisation, and Project Erebos — our javascript library that wraps all of the storage layer functionality into a nice consumable SDK.

Mutable Resource Updates have gone through an extensive overhaul thanks to Javier Peletier and the wider Swarm open source community. We have been running early versions of Javier’s work stay in the loop with the extensive changes being made.

Implementing Swarm’s Incentivisation protocol SWAP has started. The eventual goal here is to reward node operators for making resources available to the network. Accounting for bandwidth and storage used, this work will also lay the groundwork for zero cost onboarding to the Mainframe platform. Doug works alongside Fabio from the swarm team and almost have a first implementation of the protocol complete.

The progress on the Erebos library has been going forward, API functions for uploading and downloading files in both raw and non raw mode have been implemented and tested. Also uploading and downloading whole directories is now supported, with optional streaming downloads. Aside from being used as a storage layer in the Mainframe platform, another goal of Erebos is becoming the library of choice for anyone wanting to interact with Swarm using JavaScript, and we’ve started the work on testing and documenting it for broader use.

Miloš demoing file uploads/downloads via Erebos and Swarm

You can check out the Github repo for Erebos here.

Service Layer Update: Identity

Duane Johnson

We’ve identified four options for decentralized identity on the Mainframe platform. These options aren’t necessarily mutually exclusive, but some options align better with Mainframe’s values than others:

1. Public Key Cryptography

2. ERC 725/735

3. uPort

4. Sovrin

Comparison of 4 Identity Options on Mainframe’s Radar

Of the 3 that offer verifiable credentials, only Sovrin (aka Hyperledger Indy) provides true surveillance-resistant solutions to verifiable claims — a necessary component of communities and private online collaboration. Selective Disclosure, Private Off-Chain Claims, and Non-correlative Disclosure Proofs are 3 ingredients that make its solution stand out.

Here is what each of the short-form features mean in the comparison chart above:

Verifiable Claims/Credentials — the ability to carry credentials with you online, in a way that others can be sure that a 3rd party really did say what you say they say about you.

Private, Off-Chain Claims — the ability to keep credentials private, rather than storing them in the public block-chain.

DID-spec Compliant — the W3C DID spec is fast approaching an industry standard. It will allow identities on various platforms to interoperate at some basic level. (DID = Decentralized IDentity).

DID Auth (Login) — the ability to login with a DID, proving you are who you say you are. Similar to OAuth.

Identity Correlation (Advertisers, Governments, etc.) — the unwanted side-effect of publicly viewable credentials — 3rd parties may be able to learn more about you than you want them to.

Selective Disclosure — the ability to share just the necessary parts (however you define necessary) of your claims/credentials to others. Conversely, the ability to hide all claims/credentials from 3rd parties until you want to show them.

Non-correlative Disclosure Proof — this is the “have your cake and eat it too” of privacy and verifiable claims within the identity space. Without this feature, you might be able to prove things about yourself to a 3rd party (using credentials others have given you), but it would be possible to then use the information you reveal to collude with others and find out more about you behind your back. Non-correlative Disclosure Proof is a cryptographic method of revealing proof about yourself without revealing identifiers that organizations can then go on to use to amass databases filled with correlated information about you.

Agent-to-agent Communication — when you’re offline, or you need a way to cooperate with friends regarding your identity (see DKMS — social recovery), agent-to-agent communication provides the infrastructure.

DKMS (device recovery) — the ability to install a unique private key per device, and connect it to your identity, such that if the device is stolen you will still be able to revoke access and get on with your life. (DKMS = Decentralized Key Management System).

DKMS (social recovery) — the ability to designate “recovery buddies” who are given cryptographic permission to recover your identity if you ever completely lose access. The methods and numbers of buddies is flexible — for instance, you could designate that 3 of 5 friends must cooperate to accomplish the recovery for you.

Onyx Update

Blake Ferguson and Sarah Wiley

In recent weeks, we’ve added several new faces to Team Onyx (I’m one of the most recent additions). We’ve spent our onboarding time assessing and discussing Onyx’s capabilities and potential. Our team is currently in the middle of a major market review, as 2018 has seen a bunch of companies entering the decentralized messenger space. It’s become saturated quickly with product announcements from several Web 2.0 messaging super-giants along with well-capitalized startups. And with ICOs democratizing access to startup capital, we don’t expect this trend to slow anytime soon.

So where does Onyx fit in this congested ecosystem? Why does it matter — and to whom? So far, we’re seeing the all-too-familiar trend with disruptive technologies where the first products to market simply force the outgoing tech’s paradigm into the newer tech’s environment like forcing a square peg into a round hole.

Our team believes the true power of decentralization remains largely untapped in the messenger market.

In many ways, we’re starting fresh in the ‘Discovery’ phase of the product lifecycle. We’re reviewing and refreshing data, personas, and research to hone our product vision and roadmap. We’re working hard to clearly define who Onyx is for, understanding and articulating their needs, and then designing and building for them the best possible solutions.

As a product team, we know one thing for certain: if we just make “a messenger app, but on blockchain” then we didn’t do our job. More to come!

How to Get Involved

As we’ve said before, we’re up to the task, but we want to work with you to build the future. Come and help us build a secure, private world, the way data was meant to be shared. Here’s how you can help.

Check out our Jobs page

Participate in our weekly Roundtable on our YouTube channel

Join our developer discussion forum

Ask a question in our real-time chat

Watch for Show & Tell’s being broadcast on our YouTube channel

Thanks for reading, and here’s to the future! 🥂