aragon / nest

A grants program to support the development of the ecosystem
https://aragon.org/project/grants
Creative Commons Zero v1.0 Universal
140 stars 78 forks source link

Aragon Nest Proposal: Visual process modelling with Statebox #131

Closed wires closed 5 years ago

wires commented 5 years ago

Aragon Nest Proposal: Visual process modelling with Statebox

Abstract

Statebox is a Turing incomplete language for protocols, whose preferred syntax is diagrams.

The language is build around a mathematical theory that is sufficiently abstract that it allows translation of diagrams into different many different domains: frontend (JS), backend, offchain (WASM), smart contract (EVM/WASM), etc.

Besides the natural fit of diagrammatic languages to workflow modelling, the category theoretic underpinnings allow us to construct correctness proofs of the translation of diagrams to code or proof the non-existence of deadlock in a user supplied workflow.

Many organisations have specialised workflows such as employee onboarding, budget approvals, etc. For example, if two people must approve something, one could model this as follows:

We propose to investigate and implement a (proof of concept) backend for Statebox that would allow people to create customised workflows that "glue together" various Aragon services and enforce a certain process-like contract, without having to write any Solidity.

Deliverables

  1. A tool that compiles Statebox protocols into AragonOS or AragonJS compatible code
  2. A example library of 'base protocols' that match some AragonOS provided services
  3. A web interface to view the protocols and execution history and fire state transitions

Grant size

Funding: Up to $100k in ETH, split into chunks paid out over achieved deliverables. Success reward: Up to $50k in ANT, given out when all deliverables are ready.

Application requirements

Development timeline

A rough development timeline would be the following:

Deliverable Duration
Initial Investigation 2 weeks
Example base protocol 2 weeks
Prototype compiler 2 months
Prototype front end 2 months
Round up 1 month

Please note that

1) The main difficulty lies in understanding Aragon at depth and working out the details translation, hence we start with a proof of concept and then hope to follow up with a more concrete and detailed proposal based on our learnings. 2) The Statebox language implementation is currently still very restricted, which means that many real world processes cannot be implemented, yet.

Thus keep in mind that this proposal is about "demonstrating a vision of the future ", rather than developing a production ready tool.

mariapao commented 5 years ago

Hi @wires thanks for submitting your proposal.

Statebox is a very fun and interesting tool. However, the development of such a tool is not among the priorities of the Nest for 2019. This year we are focused on funding teams that are working on basic tools, applications, and features that add functionality to the platform so more people can use it. Thus, we have decided not to approve this proposal for the moment.

If in the future you are working on something that is a fit for the program, please do not hesitate to apply again.