The Path from RSM to Beta
A few weeks ago we announced and opened up the code repository for Holochain RSM — a new version of Holochain with a refactored state model (RSM). If you’ve followed some of the more technical articles or the AMA where Arthur Brock, the co-founder and principal architect of Holochain described the fundamentals of the changes, you probably know already that much more than just the state model was changed. The reception to this news has been profound. Developers across the board are excited to see the progress and have leapt in with both feet to test out this new version of Holochain and the response so far has been stunning. Again and again we hear the chorus “it’s so fast” and “it’s amazing how much easier it is”. This is great news for Holochain and it’s also great for Holo because ecosystem adoption is one of the keys to our success. What we have been saying for years now is that blockchain is interesting in how it approaches cryptography, security, and trusted data but it is also limiting because it leaves out everyday web users, the key to adoption of distributed technologies.
We must be able to build distributed apps (dApps) that can go mainstream if we want the tech to succeed.
Projects that have the potential to go mainstream are what we are beginning to see built with Holochain. In our ongoing Ecosystem Sessions video series with David Atkinson, speaking to project leaders he teases out in conversations why Holochain is their framework of choice to maintain distributed control of data. These and other upcoming projects that support useful consumer applications — without removing the agency of the users — are key to the value proposition and growth of Holo.
To get a sense of just the diversity of use cases, take a look at these upcoming projects, many of which have been waiting for Holochain RSM to really demonstrate the potential of their work:
- RedGrid is connecting IoT and Holochain to build the Internet of Energy.
- hummHive is a secure, radical way to create and share content.
- Junto is a distributed, human-centered social media platform supported by its community.
- Acorn is a virtual whiteboard for collaborative goal planning.
- H-Wiki gives groups the power to fully own and control their knowledge base and data.
- Bhive is a local, digital sharing economy owned by its members.
- Kizuna is a peer-to-peer messaging app that is secure and serverless.
- CRISPR is an ultra simple power tool to remix, combine, and share Holochain apps.
And there are many more in the making including our own Elemental Chat which we’ll share about later in this article.
Before we get to that, let’s bring it closer to home and talk about the path we are on with Holo. We know that for the many of you invested in the success of this project, you most want to know “when will we be in open alpha testing — and then beta?” Let’s try to answer that.
A Final Milestone for the Old Version of Holochain
On Friday of last week, the final Holo release using ‘Holochain Redux’ (what we’re calling the previous Holochain version) passed QA testing, began being tested by select community members, and this week was used in our demo of the first hosted hApps available via a web browser. As you might imagine, with the shift to Holochain RSM it doesn’t make sense to broaden community participation on this old version. However, the Redux versions of HoloFuel and Holochain are currently working well enough for browser-to-HoloPort testing as we deploy our hosting network infrastructure, which supports our continued learning even as we start integrating with Holochain RSM. As we shared in several recent posts and updates, this hosting infrastructure includes aspects like DNS, routing, matchmaking, and browser-based key management.
Here’s a diagram to help give you a sense of what is going on at a high level which Paul d’Aoust has also described in more detail in this week’s Dev Pulse:
The Path to Beta with Holochain RSM
So how exactly does Holochain RSM change our path to Beta? There are two clear sets of milestones that must happen to bring that about. The first set includes two ‘Infrastructure Milestones’ which each show a specific end-to-end functionality of an app being used on the Holo network after updating what we’ve already built to work with Holochain RSM. The second ‘Holo Suite of Applications Milestones’ involves the specific functionalities needed by the Holo product suite (described below) which are dependent upon both underlying Holochain backend apps (DNAs) as well as multiple integrated business services.
Though these milestones require integration or new builds using Holochain RSM, a massive amount has already been accomplished across many of the required apps and tools necessary to meet them. There will not be a pause but rather a transition between where we are today — working with the Redux version of Holochain — and where we are headed with a fully deployed Holochain RSM. Here is what you can expect to see as we proceed.
Upcoming Infrastructure Milestones
We are well on our way to achieving the first infrastructure milestone which will mean HoloPorts can serve RSM applications to their Host owners. In just the past few weeks, we have reworked the HoloPort operating system to use the new keystore binary in Holochain RSM and to generate keys. We have also built RSM on our HoloPort update server (Hydra) which assures us that the deployment pipeline to the HoloPorts is ready. We have also further reviewed and deployed initial algorithms for matching published apps with available hosts.
Even more exciting, the Elemental Chat application, which simply allows users to create channels and join group discussions, is already working on Holochain RSM.
This week we are working to ensure that host credentials are configured such that they automatically are used by the chat application when a Host logs into their HoloPort. So in short, the team has been quickly moving this transition process forward and we expect to begin testing an RSM app on HoloPorts in the next few weeks, and then community testing following that.
The second infrastructure release will follow on the heels of the host release of Elemental Chat and will focus on making that same RSM application accessible via a browser so that the community, beyond HoloPort owners, can begin using a hosted Holochain RSM dApp. This second infrastructure release will demonstrate end to end hosting on Holo with a RSM dApp. At the point of this release, we will have three backend Holochain applications (Elemental Chat, Service Logger DNA, and Holo Hosting DNA) running using Holochain RSM and we’ll be able to do more thorough testing and benchmarking. Our intention is to do load tests that measure the application running on thousands of nodes while maintaining acceptable concurrent transaction levels. After that we will expand testing to volume and endurance rounds.
The Holo Suite of Applications
Once Elemental Chat has been demonstrated to work in a browser by regular web users our focus will move to user experience on the Holo platform. At that point we will continuously iterate through many small feature releases of the Holo suite of applications. This suite consists of the Host Console, the Publisher Portal, and HoloFuel.
The way we are describing the Holo suite of products, with primary interfaces dedicated respectively to Hosts and Publishers, sounds simple compared to how we’ve talked about Holo in the past. It isn’t that the architecture has changed all that much, but after the two infrastructure releases, our approach will shift from working on underlying components (with all their odd names) to delivering a great user experience for hosts and publishers. Many of the underlying components necessary for these releases are already developed or being ported to RSM.
The high level features for the Host Console are:
- Auto Select hApps for Hosting Based on Settings
- Set Custom Pricing for Hosting
- Auto Invoice Publishers
- Receive HoloFuel Payments for Hosting
- Redeem HoloFuel at a Reserve
- See Reports on Usage and Earnings
The high level features for the Publisher Portal are:
- Setup hApps for Publishing on Holo
- Configure HoloFuel Account
- Receive and Autopay Hosting Invoices
- See Reports on Usage and Costs
- Link to holo.host to buy HoloFuel from Reserve
As you can probably tell from the features above, both the Host Console and Publisher Portal use the HoloFuel backend as an integral part of the platform. That said, the HoloFuel app also works as a stand-alone Holochain application for sending and receiving HoloFuel transactions that are not related to hosting.
What is not obvious from these feature lists are the back-end applications, components and services, and ecosystem tools that are required to make the Holo suite of applications run. In addition to all of the infrastructure components we described in the first part of this update, the following are also required for the platform. The majority of these are in progress or are built and being migrated to RSM now.
Additional Back End Applications and Business Services
Service Logger DNA (migrating to RSM — used in Infrastructure Milestone 2) Service Logger is intrinsic to hosting and tracks all back end requests and responses made by web users to and from HoloPorts, so that hosting work can be measured and invoiced.
Holo Hosting DNA (migrating to RSM — used in Infrastructure Milestone 2) The Holo Hosting DNA holds the host and publisher information required for operating a hosting marketplace such as pricing, performance needs, and hApp registration data.
HoloFuel DNA (migrating to RSM) The HoloFuel DNA is the data and business logic of the hosting payment settlement application for the Holo hosting ecosystem, enabling HoloFuel transactions, validation, and hosting invoicing as well as reserve accounts.
Verifiable Claims DNA (new for RSM) Verifiable Claims will support KYC and because it is based on the W3C Verifiable Credentials standard, it will more generally allow users to express credentials on the Web in a way that is cryptographically secure, privacy respecting, standards-compliant, and machine-verifiable.
hApp Store DNA (new for RSM) The hApp Store is for publishers and Holochain users and it allows for searchability of all the hApps that are available for use on Holochain and/or for publishing on Holo.
DeepKey DNA (Holochain Core to build for tight integration to RSM keystore) DeepKey is a public key management tool that allows users to declare multiple keys as belonging to the same person, to replace keys, and to regenerate them. It does not store seeds or keys directly.
HOT Reserve Infrastructure for purchase, swap and redemption (in progress) The HOT reserve infrastructure connects ERC-20 transactions with HoloFuel enabling cross-chain validation of transactions for purchase and redemption.
Developer Tools & DevHub (in progress) Developer Tools help new devs model and build Holochain DNAs and UIs, and DevHub is the developer console where hApps are uploaded and tested, and where they are reviewed/rated by other ecosystem developers.
Major Milestones for the Holo Suite of Applications
It’s important to understand that the component and DNA work described in the preceding section is very difficult to demonstrate without the product based UIs for the Host Console and the Publisher Portal. We will test each of the components for functional usability as we integrate and release features on these two products. Following the two infrastructure releases described earlier, the Milestones we will be working towards for the Holo Suite of Applications are as follows:
Each of these major milestones will be made up of smaller feature releases that will be tested with the community and then rolled out and made more widely available for UI/UX testing for Open Alpha. At the end of these milestones the full circle of publishing, hosting, invoicing and payments with purchase and redemption using the HOT reserve will be testable.
Throughout our journey towards the full feature implementation of the Holo platform we’ll intermittently announce other accomplishments and results as they pertain to feature releases of Holochain, developer ecosystem tools, and operational workflows.
Next Monday, 19 October, we’ll be hosting an AMA where David, Arthur and I will all be available to answer questions from you and others about Holochain RSM and Holo. We are super grateful for all the engagement in the ecosystem by our various groups and community members including Holo hosts, Holochain app developers and community leaders, HOT holders, and especially our testers. Another appreciation I want to repeat is for the team inside Holo and Holochain for the incredible commitment and perseverance you have demonstrated time and again, but especially this past year given the many outside circumstances and challenges. Thank you.