Kaleido has proposed a promising new project into Hyperledger. We believe that FireFly is an exciting next act for the enterprise blockchain world - the Multi-Party System. Read on to get the backstory and a brief overview of FireFly.
A giant step forward
We believe that FireFly is an important step forward in the enterprise blockchain space. Consider several high level statements about the current state of blockchain use case development:
- Building a blockchain app is far too complex and difficult
- For blockchain business networks, off-chain data flows are the “90% case”, but until now developers have not had an app-friendly interface
- Building logic-heavy smart contracts is best used for situations where specific, custom logic is needed. This is still possible with FireFly, but is the exception rather than the norm.
FireFly is a multi-party system for enterprise data flows. It provides a purpose built system upon which to build decentralized blockchain applications. Decentralized applications are a new category of business application. They bring with them a new set of challenges to successfully build and deploy.
In particular, multi-party data flows are complex and require significant plumbing to run securely and reliably at an enterprise grade. Figure 2 summarizes the coming shift to multi-party systems.
Key Ingredients of a Multi-Party System
In our experience, consortia end up trying to build a multi-party system as a side effect of implementing their enterprise blockchain use case. This results in a large amount of “reinventing the wheel” and we’ve observed that most of the resources are spent on plumbing components.
At a high level, enterprise blockchain use cases attempt to coordinate data flows and transactions across disparate, separately owned systems (ERP, mainframe, commerce, etc.). To do this end-to-end, four things are required:
- the single source of truth coordination system across parties
- per-member plumbing software to enable reliable, private integration to and from the coordination system
- cross-org plumbing software that provides robust cross-connectivity among members alongside (1) for use when the coordination system is not suitable or not preferred as the data flow mechanism. Examples include sensitive data, low latency messaging, and large data flows
- a control plane to manage all of these runtime and configuration details
We formally define a multi-party system as the set of technology, infrastructure, and management capability to enable a consortium to build and deploy a use case which includes (1), (2), (3), and (4). We observe nearly all the real world consortia that we worked with over the last six years require all of (1), (2), (3), and (4) to build and deploy an enterprise blockchain use case. It is our observation that consortia spend most of their budget on (2) and (3).
Hyperledger FireFly brings together (1), (2), (3), and (4) to offer a pre-integrated set of runtimes via a highly pluggable framework. Note that FireFly is NOT attempting to replace or invalidate any specific runtime technology, but rather pulls together multiple complementary technologies into a coherent, larger system. Indeed, many of the infrastructure runtimes FireFly relies on are separate open source projects. Industry consortia globally have been using this technology to accelerate time to value for their production solutions.
Enterprise blockchains are purpose built to deliver (1) with invaluable attributes like global ordering and finality. FireFly will support Hyperledger Fabric, Enterprise Ethereum (such as Quorum and Besu), and will investigate Corda support. (1) also includes global storage providers such as IPFS. FireFly also provides a significant amount of technology for (2) and (3) including cross-party messaging, cross-party private document transfer, and event propagation. All of these runtimes and connectors into the FireFly node. For (4), Hyperledger FireFly also provides a network map and registry that unifies all of the identity and bindings information needed.
In a FireFly network, each member of the network deploys and runs one or more FireFly Nodes. Each Node consists of a FireFly Core application, as well as its dependencies. Each dependency is abstracted from the Core by a modular plugin system, so underlying technologies, such as the database for example, can be changed if necessary.
Try it on Kaleido for FREE!
Login to the Kaleido console to try FireFly out today! It's available on our free Starter plan, and if you're not a customer yet, you can sign up free.