Why are Holochain Applications Different and What Does That Mean for Me?

Leadership & Org Update 08

In our recent Leadership & Org Posts and AMAs, we have been talking a lot about the progress of Holo, the distributed hosting solution built on top of Holochain, and HoloFuel, the mutual credit cryptocurrency that powers hosting transactions on the Holo network. Meanwhile, the Holochain core team has been making rapid strides towards a stable beta of Holochain. This progress is essential, as the closer we get, the more people can build the kind of solutions on Holochain that the community has been talking about for the last year.

We have been tracking weekly progress through the Holochain Dev Pulse, and today is a good day to look at what the dev team is building.

If you are an enterprise, service provider, institution, startup or dreamer and are considering building a decentralised solution, we’ve captured some of Holochain’s unique features and described how they could apply to you.

Why are Holochain applications different and what does that mean for me?

Holochain is an application framework for building distributed solutions. It is not a public protocol platform (like Ethereum, Ripple, or Stellar) where you have to choose between multiple, hard-to-scale networks with their own trade offs. It is also not a private network, like Corda, where solutions cannot grow or evolve or adapt to ever changing needs.

Holochain Solutions

Holochain does not force you to make this trade-off between public and private networks. On Holochain you can build public solutions with the scalability of private ones, and private solutions with the connectivity of public ones.

This makes Holochain a great choice for organisations that are not sure whether their private network will eventually go public, or whether their public network could benefit from changing its participation or governance to a more private design.

Holochain is uniquely configurable. It is not a monolithic network, which you might evaluate through the standard approaches like consensus protocols or network performance (i.e. throughput, scalability, latency, etc). Rather, Holochain is a framework for building interoperable public, private, and hybrid networks. What you have known as trade-offs between platforms are now simplified as easy configurations in Holochain apps. This means governance, resilience, and privacy is configurable to the requirements of the application, rather than a one-size-fits-all model forced upon you.

dApp functionality

Right now, enterprises are having to choose and learn different blockchains to suit particular use cases; but in Holochain, you can use one framework and configure your application to the specifications you require for that application only. You can build almost any blockchain solution on Holochain and those solutions can talk to each other.

The effort you have already put into learning other systems need not be for nothing. If you have a working system, you can extend its capacity at the margins using Holochain. Once you have implemented some functionality and feel comfortable using Holochain solutions, you can continue to gradually replace existing parts of your system without the kind of service disruptions your user base would normally experience when jumping blockchains.

This makes Holochain a great choice for service providers who have varied customer needs and one development team. They can build any customer solution in uniform framework and environment on Holochain.

Holochain is uniquely connectable. Holochain is designed so that apps can easily bridge to other apps, allowing identity and data sharing when desired. This native Application Programming Interface (API) creates a deep and secure integration ecosystem.

Users can continue to work while offline or partitioned, which is a crucial feature for applications in the real world and lends itself to use cases involving the Internet of Things, supply chain, energy, and even space.

Note: Use Case Example

Holochain is designed to create organic network effects. Private blockchains treat blockchain as an infrastructure tool, solving the immediate business problem at hand simply. Because Holochain’s applications are best implemented as an integrated collection of standalone microservices, any solution can become a valuable new component of the ecosystem without compromising the original solution. Large-scale infrastructure development is already moving in this direction, and blockchain solutions should too, in order to win the attention and loyalty of mainstream users. On Holochain, you don’t have to get your design choices perfect before you build; your solutions can interconnect and evolve as your learning improves or the situation on the ground changes.

This makes Holochain a great choice for those looking for massive network effects or those building solutions that bridge across many applications. For developers, imagine a Holochain-powered Disqus.

Holochain applications are evolvable. Holochain supports fast and agile development by creating microservices that can be bridged together. Holochain applications can adapt and evolve with hanging needs — no forking required and upgrades can happen in real time.

On Holochain, you don’t have the burden of getting the smart contract absolutely perfect before application launch. We believe developers will quickly realise the burden of getting smart contracts perfect on launch isn’t necessary for their solution, and will never go back.

This makes Holochain a great choice for developers and organisations wanting to design distributed applications in industries like supply chain and energy ecosystems. Here no single application will rule and complex, integrated solutions will naturally evolve over time. We believe developers and enterprise will prefer adaptable and bridged microservices to design solutions in these environments.

Note: Use Case Example

Holochain applications are secure. We approach security from the application perspective, which reduces surface area because each application is its own network and access can be restricted as required. Security membranes allow flexibility around controlling access to shared data, and our application development kit provides a flexible framework for writing unique participation rules.

We treat bad behaviour at the application level. Bad behaviour can be easily identified and a range of actions — algorithmically or human-driven — can then be taken based on severity. Think of self-enforcing Terms of Service using software-level validation to carry out pre-defined consequences. Consequences in one application can be felt across networks of applications.

Applications need basic security mechanisms and Holochain comes with a powerful suite of built-in functionality for you to employ as you see fit. On the base layer, we use cryptography to ensure data immutability via hash chains and signatures, which ensures reliability, tamper resistance, and proof-of-authorship for all data. Specific application patterns, such as transaction countersigning, further reinforces authorship in the context of multi-party activities.

We are natively supporting European GDPR regulations by making agent-centric, self-sovereign data ownership our default. This makes Holochain a great choice for organisations that would like to onboard European users without much hassle, and those who wish to support user agency and privacy, be it internally (employees) or externally (customers).

Note: Use Case Example

Holochain applications are scalable. On Holochain, capacity scales linearly with new Holochain users as each node contributes useful computing power.

Apps are scalable for the community — developers build 90% of their application, the user interface, in their language of choice and only about 10% on Rust (or another language that compiles to WebAssembly). In combination with Holo, app users can use a web browser to access the app with no reduced functionality.

Given that on Holochain, most relevant data naturally lives on the device for distributed processing and decision-making, local performance for users is more consistent, and sensitivity to network latency is reduced.

This makes Holochain a great choice for distributed analytics solutions and for startups who want to see their applications automatically scale with user adoption, but without the huge infrastructure costs that are typically required.

Note: Use Case Example

What can I do next?

If you are an enterprise or institution and want to learn more, we encourage you to get in touch so we can arrange a meeting and explore the power of Holochain together.

If you are a developer, we encourage you to connect to our community on the Holochain Mattermost chat server (email help@holo.host to request an invite) and join the App Dev Channel. You can start by completing the quick start guide to get going on your first application.

Holochain Developer Portal

If you are looking to solve a problem and are the owner or architect, we encourage you to connect to our community on the Holochain Mattermost chat server, ask design questions on the App Dev Channel, and check out these resources.

If you are curious to learn more, connect with us on Telegram and engage with the community.

David Atkinson, Commercial Director