Mosaique: Decentralized Workflows - Prototype

Innovation Tagline:  Decentralized business processes with built-in governance

Project Keywords:  #governance #workflows #decentralizedworkflows #decentralizedgovernance #blockchainworkflows #blockchaingovernance

Project Members

  1. Dave McKayAtefeh Mashatanvolodyatan@yahoo.ca

Prototype Outcomes

a. Pitch Deck

Mosaique.pptx

b. Project Repos

https://github.com/CRLTeam/templatenodejs

https://github.com/CRLTeam/react-webrender

d. Demo video 

dummyfile.txt

Solution

a) Solution Description

Mosaique is a system for providing decentralized workflows.  It allows users to collaboratively build workflows using governance workflows implemented in Mosaique.  The users can modify the governance workflows using the governance workflows themselves.   All of this is accomplished by using data-driven state machines stored as JSON templates.  This is implemented on top of Hyperledger Fabric with the templates stored in CouchDB and the template parser in chaincode.  When a user starts a new process, the parser creates a new instance and starts at state 1.  It parses out how state 1 would look like to the user based on the role that they have in the system by sending a collection of display objects.  Actions on a page may result in the state being changed to a new state.  A new state will have a newly rendered page.  Further pages are rendered based on the current state, the role of the user, and previously entered data for that instance.  The rendering of the page is done by interpreting the display objects in the context of the system that has requested the page.  We will provide reference renderers for systems like React.js, React-Native, Vue.js, Angular, and .Net.


b) How is Mosaique better than existing systems?

The current state of the art in building decentralized workflows, revolves around custom coding the workflow.  There are several problems with this.

  1. Writing smart contracts is difficult work in permissioned blockchain systems.  They need to be heavily tested, reviewed by all of the parties involved with the system, and approved by a majority of the participants in the system before they can be deployed.
  2. Workflows between multiple parties can change often.  It may be due to newly discovered edge cases, mistakes, or new legislative compliance regulations.  Each of these will require going back to the chaincode to execute the changes and then triggering the reviews and votes on deployment.
  3. The workflows are coded by developers.  It is difficult for the workflow designers to understand all of the implications in a chaincode smart contract.

Mosaique solves these problems by moving the code into data.  There is a core set of code that parses the data.  This code will only need to be changed on version updates.  This makes development of workflows very fast, will require less code review and will allow for visual inspection by more than just developers.  With a visual template editor, Mosaique will allow the workflow designers to review their work visually in representations that they understand and allows them to deploy changes using simplified automated governance mechanisms that match the actual approval process of the governance organization tasked with overseeing the system.


c) Does Mosaique support governance?

Governance is at the heart of Mosaique.  Governance is used to approve changes to the templates.  Once approved, the changes can be instantly implemented.  The governance workflows around suggesting improvements and implementing actual changes will themselves be Mosaique workflows.  Mosaique will come with a default set of governance templates.  The system users can then use that default governance to modify the governance to the way they want it to operate.  After the customized governance is in place, proposals, implementations, and deployments of use case specific workflows can be added to the system.


d) Socializing Mosaique

We have been talking to our partners at the George Brown College Blockchain Development Program, the established blockchain company Northern Block, members of the Digital Identity and Authentication Council of Canada (DIACC), and the Trust Over IP Foundation (ToIP).  Now that we have a working prototype, we will be able to demonstrate the concept of Mosaique.   Currently we are experiencing challenges clarifying the importance and scope of this project.  Visual demonstrations will make what we are doing much more apparent.

Project Plan

a) Mosaique project plan

  1. Now to August 2 - Launch Challenge
    In this time we will be building our visual editor, basic governance templates, moving the parser and database to Hyperledger Fabric, and refactoring our prototype code.
  2. Fall 2022 - Role Identity
    In this phase we will use Hyperledger Aries to add verifiable credential verification for ensuring the validity of users for undertaking roles in the system.  
  3. Winter/Spring 2023
    Develop real world use cases to test out the system.  We will be seeking out use cases in the real estate and insurance industries to apply Mosaique to.

b) Open Source community engagement

We will be reaching out to governance organizations in the SSI space to offer our governance system to their verification networks.  This will include Sovrin, BCovrin, IDUnion, Findy, CANdy, CanaCred, Indicio, Cardea, and Bedrock Business Utility.  Their need for governance and their existing adoption of SSI will make it easier to engage them.  We hope that that engagement will attract contributors to our project.  We are still in need of some code refactoring and documentation to be ready for new contributors to join.  We are looking to host a hackathon in early 2023 to introduce blockchain developers to the possibilities that Mosaique offers.

c) Sustaining Mosaique

Mosaique is currently funded by the Cybersecurity Research Lab at the Metropolitan University of Toronto and funding from the provincial and federal governments of Canada.  This funding will continue for the foreseeable future.  Future revenue will come from the development of custom templates, addition of custom display objects, and consulting on the implementation and usage of Mosaique.

d) Industry Adoption

Our best angle for wide spread industry adoption comes from our governance templates.  All properly decentralized system require governance.  Currently, that governance is handled in a similar manner as open source governance.  It is left to a few to make the decisions and it is difficult for new contributors to join in and participate.  It makes for an almost centralized bottleneck in otherwise decentralized systems.  Mosaique, with full decentralization and complete blockchain ledger-based transparency of governance tasks, provides a simple way to open up governance and provide more accessible ways to participate.  The goal is to become the standard for all blockchain governance projects.  Once a project is using Mosaique for governance, it becomes a simple task for them to move to using it for the workflows in the systems they represent.