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

MESG integration with Aragon DAOs #190

Closed NicolasMahe closed 5 years ago

NicolasMahe commented 5 years ago

Aragon Nest Proposal: Expand functionalities of DAOs by connecting them to web services

Abstract

Ethereum Smart Contracts have a pretty significant usability problem. It’s a challenge to connect smart contracts to centralized technologies, but features that contribute to good user experiences are often centralized. This is causing a steep barrier to decentralized application adoption.

We’ve been working on this issue for the past couple of years, and have released a working solution called MESG. It uses an event-driven, service-based decentralized network to solve this problem with event channels and message brokers. It allows interoperability between any sort of technology with accessible data, such as blockchains, P2P networks, IoT devices, and even legacy software. The tool is working well in trusted environments, and we are actively working on decentralizing it fully, which, fingers crossed, will be finished early 2020. Our aim is to maintain a custodian website to easily onboard users to the decentralized network without the hassle of installing any software.

Product

The goal is to build an Aragon application that allows users to easily connect DAOs to web services through a UI.

The application will provide users with a set of technologies, such as Zapier, Email, SMS, Slack, Telegram, Twitter or webhooks, that will be triggered from particular events from Aragon DAOs. The technologies to connect to are open for discussion.

For the use of subscription-based services, such as SendGrid for email or Twilio for SMS, MESG will cover subscription expenses for users with this grant. In the case of Zapier, users would need to use their own accounts on the platform. Of course, non-subscription-based services such as webhooks will be free because operational costs will be covered by this grant.

The application will run on a private POA blockchain with our currently-available tools. This blockchain is built on top of Cosmos and Tendermint, and we plan to validate the network with at least four nodes to be Byzantine Fault-Tolerant. We’d really appreciate it if Aragon could run one of the validators to increase the security of the network.

The application will expand to run on the public decentralized network upon its completion. It’s important to note that our decentralized network will be a token-based open economy, so funding to process transactions will go directly to those who support emission and validations on the decentralized network.

Deliverables

Grant size

Funding: $22k in DAI divided between milestones 1, 2, 3 ($5k each) and 4 ($7k).

This grant will cover development and operational expenses in relation to this Aragon application, not for the development of the MESG Network itself, which is being self-funded.

Following the completion of Milestone 4, we were thinking up to an additional $1k/month in DAI to cover the cost of the nodes and other operational expenses.

Success reward: Up to you, depending on how useful you think this project is.

Application requirements

Development timeline (conservative estimation)

  1. December 2019
  2. January 2020
  3. February 2020
  4. March 2020
yeqbfgxjiq commented 5 years ago

First, really excited about this proposal. It seems well thought out, has the potential to create lots of value, and you've shown progress and competency with the problem you're solving. For DAOs to be viable as an alternative to traditional organization structures like LLCs, it's important that teams have access to all the traditional business services and integrations they know and love.

The application will provide users with a set of technologies, such as Zapier, Email, SMS, Slack, Telegram, Twitter or webhooks, that will be triggered from particular events from Aragon DAOs. The technologies to connect to are open for discussion.

Since Aragon is a platform, and there's more and more apps every day, what if you created a platform for integrations? For example, you could build a few initial MESG Aragon DAO integrations as planned, but also make it possible for other teams to build integrations too. This way as more Aragon apps get built over time new teams could easily integrate with MESG services as well.

Not sure how much complexity this would add, but seems like it could be a win/win. What do you think?

For the use of subscription-based services, such as SendGrid for email or Twilio for SMS, MESG will cover subscription expenses for users with this grant. In the case of Zapier, users would need to use their own accounts on the platform. Of course, non-subscription-based services such as webhooks will be free because operational costs will be covered by this grant.

Does this cover all Aragon apps currently shipped to mainnet, or just a subset of those apps?

The application will run on a private POA blockchain with our currently-available tools. This blockchain is built on top of Cosmos and Tendermint, and we plan to validate the network with at least four nodes to be Byzantine Fault-Tolerant. We’d really appreciate it if Aragon could run one of the validators to increase the security of the network.

What would we need to do to set that up and what would be the ongoing maintenance required (time and money)?

The application will expand to run on the public decentralized network upon its completion. It’s important to note that our decentralized network will be a token-based open economy, so funding to process transactions will go directly to those who support emission and validations on the decentralized network.

So are you saying that if Aragon was a validator we would get some of the fees from Aragon DAO users back to reinvest in Aragon stuff?

NicolasMahe commented 5 years ago

Since Aragon is a platform, and there's more and more apps every day, what if you created a platform for integrations? For example, you could build a few initial MESG Aragon DAO integrations as planned, but also make it possible for other teams to build integrations too. This way as more Aragon apps get built over time new teams could easily integrate with MESG services as well.

  • This could benefit MESG because over time more data (tx/requests) would flow through your service and more apps would integrate. Depending on how your fee structure works that could be great.
  • From the perspective of Aragon devs this is also important because then we will easily be able to provide integration services to all our apps and we will know that you'll support and maintain things on your end because you're receiving fees to do so.
  • For Aragon DAO users/admins this would give them a mini-app store to easily choose the services they want to connect to their DAO for various apps.

Not sure how much complexity this would add, but seems like it could be a win/win. What do you think?

That's exactly what we want to do with MESG. We want to incentivised developer to create MESG Services and publish them on the MESG Marketplace. Then users pay per execution the services to create their own MESG Application. One of our goals is to create an economy where open-source developers are incentivised, not only to create software, but also to maintain them by receiving a fees every time their services are used.

We already built a proof of concept of the Marketplace running on Ethereum using a duration-based offer system instead of the pay per execution. Unfortunately we removed its support in our main software (MESG Engine) in a recent release, so the command doesn't work on the latest version of the Engine, but you can still access the marketplace website: https://marketplace.mesg.com

You can also check the paper Decentralized Network of Services and the technical implementation paper that me and my co-founder wrote a while ago to show you the vision of MESG. Also check MESG.com for condensed explanations ;)

To come back to this Nest proposal, it will be possible to add more services on the private network but it requires manual check and audit and that will take quite a long time. I think we should do it as hackathons where the winners get their services listed! What do you think? The open and scalable solution where anyone can publish its services and get pay per execution will be available when we released our public network, hopefully in early 2020.

Does this cover all Aragon apps currently shipped to mainnet, or just a subset of those apps?

We were planning to listen to Aragon DAOs by using smart contract events. So as long as they are the same, it will work. We could even be compatible with multiple versions of the smart contracts and even multiple chain, mainnet, testnets, if it makes sense.

What would we need to do to set that up and what would be the ongoing maintenance required (time and money)?

It will require a good server, up to $100/month should be more than enough, and few hours per week to make sure everything is running normally. Our team will of course monitor the network 24/7 and will contact you when update or fix needs to be done.

So are you saying that if Aragon was a validator we would get some of the fees from Aragon DAO users back to reinvest in Aragon stuff?

On the public network, yes :) Every actor of the network will be incentivised: the blockchain validators but also the services runners (the ones who execute the task and event of the services), and the developers of the services (if they put a fee). Everyone will be incentivised by the users creating applications running on the Network and also by the block reward.

yeqbfgxjiq commented 5 years ago

Wow. I am so impressed with this proposal. Thank you so much for applying! :)

We already built a proof of concept of the Marketplace running on Ethereum using a duration-based offer system instead of the pay per execution. Unfortunately we removed its support in our main software (MESG Engine) in a recent release, so the command doesn't work on the latest version of the Engine, but you can still access the marketplace website: https://marketplace.mesg.com

The open and scalable solution where anyone can publish its services and get pay per execution will be available when we released our public network, hopefully in early 2020.

To confirm, you will be supporting the marketplace in your public release right?

To come back to this Nest proposal, it will be possible to add more services on the private network but it requires manual check and audit and that will take quite a long time. I think we should do it as hackathons where the winners get their services listed! What do you think?

What is the difference between the private network and the public network?

I generally love hackathons as it incentivizes teams to create an onboarding process that's fast and works. Then stuff gets built, but also the onboarding is going to be better/faster/stronger for teams moving forward. This is essential if you're building a marketplace.

Also, if the product is awesome, and you're hosting a hackathon, the Aragon CFDAO might be able to sponsor prizes for integrations or services that work with Aragon.

We were planning to listen to Aragon DAOs by using smart contract events. So as long as they are the same, it will work. We could even be compatible with multiple versions of the smart contracts and even multiple chain, mainnet, testnets, if it makes sense.

This is great news! @0xGabi Is there anything else we should be considering when it comes to the technical aspects of pulling data from Aragon contracts to sent to 3rd party APIs?

It will require a good server, up to $100/month should be more than enough, and few hours per week to make sure everything is running normally. Our team will of course monitor the network 24/7 and will contact you when update or fix needs to be done.

Cool. That's definitely within the scope of the CFDAO if a community member wants to take that on.

On the public network, yes :) Every actor of the network will be incentivised: the blockchain validators but also the services runners (the ones who execute the task and event of the services), and the developers of the services (if they put a fee). Everyone will be incentivised by the users creating applications running on the Network and also by the block reward.

Beautiful. Asked this question a few comments up, but what's the difference between the public and private networks?


Since you're building a marketplace, and marketplaces require users, what's your go-to-market strategy to acquire said users?

NicolasMahe commented 5 years ago

To confirm, you will be supporting the marketplace in your public release right?

Yes, full marketplace with pay per execution for the public release of the MESG Network. We also will progressively release features of the marketplace on the different iterations of the network.

What is the difference between the private network and the public network?

The private network is a network where the validator are manually selected (like a POA) and the network itself can only be accessible from authorised parties (the validators of course, but also any number of clients that we need). User will only be able to access the network data by authorised clients. The users will not be able to access the underlying blockchain directly (no access to transaction, blocks or emit new transaction). The main reason is to protect the network and its data while using it and testing it. Users will have to use the backend that we will develop that exposes the underlying data of the blockchain in a trusted way.

The public network is a classic public blockchain (like Ethereum Mainnet) where users can become validators by staking token (classic Cosmos POS system), become service runners (also my staking token), can read directly the transactions and blocks and emit new transactions.

The private network is only a temporary limitation to give us enough time to remove those limitation and update the network to become public one step at a time. Many issues need to be addressed before confidently open to the public the low level api of the network. I really would like, if technically and securely possible, to open up the private network until it becomes a full public one without having to restart it (but honestly I think we will need a few resets..)

Also, if the product is awesome, and you're hosting a hackathon, the Aragon CFDAO might be able to sponsor prizes for integrations or services that work with Aragon.

CFDAO looks like a very good funding system for the hackathons :)

Since you're building a marketplace, and marketplaces require users, what's your go-to-market strategy to acquire said users?

Our current strategy is to find partners that can benefit the MESG technology, built solution using both the partners' tech and ours, and give it to the partners and their users (everything we do is open-source). We also like to organise online hackathons, either alone or with a partner, to reach developers and motivate them to build on both techs. By doing this, we plan on the partners' users to use MESG to expand the limitation of the partners' tech in a win-win situation. We currently have a partnership with OmiseGo to built a tool that monitors OmiseGo's operator and challenges it on the Plasma smart contract when needed (more info).

yeqbfgxjiq commented 5 years ago

@NicolasMahe Thanks for the update. We're very interested in this proposal and would like to move forward. The next step is for @joeycharlesworth and I to put together an investment memo on your Nest application. We will then present our findings at the next NestWG meeting. At this point Nest team members will decide if they want to move forward. This meeting is currently scheduled for Thursday Nov 14th and we'll have more information for you the following day (Fri Nov 15th).

We're already in contact via Keybase so feel free to ask us questions through that channel. We'll also want to hop on a call sometime this week to get to know you and the team. Look forward to talking soon! :)

yeqbfgxjiq commented 5 years ago

@NicolasMahe Update: we discussed the MESG X Aragon proposal at the latest NestDAO meeting and have put it to a vote. You can see the current status of that vote here.

Will circle back once the vote executes to discuss next steps.

yeqbfgxjiq commented 5 years ago

@NicolasMahe Happy to inform you that your Nest application has been approved! Will reach out to discuss next steps. Congratulations :)

yeqbfgxjiq commented 5 years ago

Closing this Issue as it is no longer a Nest application, but is a Nest project that is in progress.