JoinColony / colonyHackathon

Submissions for the Colony Hackathon
29 stars 38 forks source link

Futurarchy as a plugin for Colony #20

Open RyanMilb opened 6 years ago

RyanMilb commented 6 years ago

Colony Hackathon Submission

Futurarchy as a plugin

Project Description Making important decisions for decentralized groups sometimes needs more than simple democracy, direct democracy, or even delegated democracy. By creating a bridge between a decentralized prediction market and a colony we can allow users to experiment with futarchy.

Futarchy is a form of government proposed by economist Robin Hanson, in which elected officials define measures of national welfare, and prediction markets are used to determine which policies will have the most positive effect.

Decentralized prediction markets will be coming live to Ethereum soon via Augur, Gnosis and Stox. These new markets will unlock lots of potential such as the ability to bet on the future price of a colony's token depending on which decision they make, "Will my favorite reality star get kicked off my show next week?", and anything else that can be reported by a central oracle or decentralized one.

In exploring new ways to work as a distributed and decentralized organization there will be a demand to test out aspects of futurachy.

I think the next step is to build an adapter bridge between Colony and Augur that will function as a Futarchy plugin that will allow colony participants to easily create a prediction market.

I think Augur is the best choice for the prediction market due to it going live on July 9th, however we may just be interacting with the testnet for this hackathon. If we can build an interface so we can abstract the specific markets api away that would be the best option but may be ambitious for the hackathon. Full disclosure I own some Augur REP tokens.

Project Repository TBD

Team Members and Contact info @RyanMilb - Twitter

Open to accepting contributors.

If you are unfamiliar with decentralized prediction markets: Augur Ethereum based prediction market and decentralized Oracle Gnosis Ethereum based prediction market STOX Ethereum based prediction market

jakzilla commented 6 years ago

Really interesting! It's been widely posited (by Vitalik no less), that prediction markets may have powerful implications for organisational governance. Perhaps an opportunity could be something which connects a prediction market to colony in some way for big, slow decisions (a la futarchy), or to provide a datasource for an organisation which wants to predict market conditions in some particular area where insiders may be incentivised to participate. There are so many potentials here! Very excited to see where you go with this!

RyanMilb commented 6 years ago

I love the futarchy idea! I will have to explore the best way to make that integration possible. For those not familiar, here is the entire wikipedia article on it:

Futarchy is a form of government proposed by economist Robin Hanson, in which elected officials define measures of national welfare, and prediction markets are used to determine which policies will have the most positive effect.

Here is a good link to a more thorough explanation, the Wikipedia article is lacking details.

jrmoreau commented 6 years ago

@RyanMilb if you have any needs or questions as you get started on this, please let us know!

RyanMilb commented 6 years ago

@jrmoreau Thanks! I think the "Futuarchy as a plugin" concept is promising. I'm still getting up to speed on the framework but it looks like I need to create an Adapter to build a bridge between a colony and Augur to create a market.

https://github.com/JoinColony/colonyJS/tree/master/packages/colony-js-adapter-ethers

This doc took me too a dead link: https://joincolony.github.io/colonyjs/api-adapters/

Is the colony adapter the best place to start as far as understanding which APIs I need to hook up?

gichiba commented 6 years ago

Oh no! Sorry about that dead link. Let me investigate. In the mean time, I hope this will suffice: https://joincolony.github.io/colonyjs/docs-adapters/

The adapters in colonyJS are more about getting your JavaScript application to play nicely with the colony smart contracts. For example, if you want to write a program in JavaScript that will manage some part of your futarchy app using things like tasks and skills, the adapter is needed send those transactions from your application through ethers to the colonyNetwork contracts.

You'll still likely need to do some research about what APIs you want to query to get the information you need and pull it into your application. Then you'd use colonyJS to take that information and use it to manipulate the colony contracts.

So, please take this advice with a massive grain of salt, but on the colony side I'd say you should start by sketching out a process: What information will the app be getting from external sources? Once your app has that information, how will it be used to create tasks, assign workers to those tasks, or assign ratings to the people involved in the tasks?

csajedi commented 6 years ago

I've also been captivated by the idea of futarchy and would love to take a crack at an implementation. I am going to read these links and post this comment so I can find this thread later, hope we can work together!

zillerium commented 6 years ago

I am interested in this.

CodeForFreedom commented 6 years ago

I got interest in your proposition. I've been working binding art and technology to make futurarchy in my own way, getting really interested to spread it to an other scale. May I ask what is the composition of the project right now?

jrmoreau commented 6 years ago

@RyanMilb seems like you have captivated the imaginations of a few!

csajedi commented 6 years ago

Is the project off the ground in any sense? Willing to contribute but I don't have the available commitment to lead.

gichiba commented 6 years ago

@CodeForFreedom and @csajedi, I'm not sure... it's been relatively quiet for several days. There's still 10 days left, though, so I'd say there's still time to pitch in to another project... Come post in the gitter with how you might be able to help and let's see if we can find you another team!