Experimenting with SourceCred

Multifactorial Governance

Enigma recently launched a blockchain using the Cosmos SDK, and we implemented this gov module for on-chain proposals. It uses coin-weighted voting, which means every SCRT coin is worth a number of votes. In other words, voting power depends on the amount controlled by each participant. However, delegators and validators must consider many perspectives to understand the needs of all stakeholders. Important elements may not be easily reflected in a SCRT-weighted vote alone.

“The approach for blockchain governance that I advocate is ‘multifactorial consensus,’ where different coordination flags and different mechanisms and groups are polled, and the ultimate decision depends on the collective result of all of these mechanisms together.”
– Vitalik Buterin, Notes on Blockchain Governance

Purpose: Boosting Quality Discourse

Can tracking off-chain reputation drive quality participation on the forum, and eventually on Github? We are intending to understand how various members of the community influence the direction of Enigma’s protocol and its ecosystem. As Figment’s Gavin Birch wrote in this resource, “Perhaps there is an opportunity to better distribute governance power.” If we find a successful way to track community contributions, we can expose that data to decision-makers in the ecosystem like voting nodes.

Evaluating Forum Participation

During last week’s governance discussion, I demonstrated SourceCred’s reputation protocol and expressed how it may benefit our community. Essentially, it could help mitigate the risks associated with plutocratic decision making.

“There is a delicate balance between having earlier contributors get too much credit as a result of being early, and recognizing that later work may be legitimately dependent on early contributions.”
– Dr. Michael Zargham, Network Formation Games

Informed Community Spending

Enigma’s community pool is available to fund projects and other community initiatives, and there is currently a proposal to increase our tax rate from 2 to 75 percent of inflation. We hypothesize cred scores might help voters (delegators and validators) understand the context of proposals. New members of the community should earn reputation in order to gain trust and support.

Rollout Plan

  1. We are planning to include snapshots of our reputation leaderboard in weekly updates.
  2. Members of the community will respond in those threads to highlight any contributions, point out inconsistencies, or make suggestions.
  3. If this provides value, we can seek ways to improve effectiveness, like maintaining a dashboard with real-time cred and exploring how the scores change when parameters are modified.

Calculating Reputation

SourceCred gathers data from GitHub, Discourse, and other collaboration platforms to represent networks of actions. Contributions and contributors are nodes, interactions and connections between nodes are edges; both nodes and edges have a relative weight based on parameters. This readme gives a detailed explanation of such graphs and how they are used in the CredRank algorithm.

Forum participants build reputation by creating valuable topics and sharing helpful feedback. The default configuration of weights in the SourceCred algorithm is designed to be minted upon review of an action, rather than the action itself. In the future, we might want to adjust parameters based on community feedback.

Discourse_weight_config

GitHub_weight_config

Using a contribution graph from SourceCred, we run the CredRank algorithm to compute reputation scores. The intention of this PageRank-style algorithm is to calculate relative importance of various nodes based on weights of the nodes and edges. That means “any contribution’s importance is explicitly validated by future contributions, and the strength of that validation is greater if it comes from contributions that are, in turn, more significant.”

Learn More

Watch this presentation by Dandelion, temporary benevolent dictator of SourceCred:

Read these articles by Dr. Michael Zargham of BlockScience:

Feedback?

Please let us know any ideas or questions. Reply here and join our Governance Working Group call tomorrow (March 13 at 2pm EDT / 6pm UTC) to discuss potential use cases for the community pool. All are welcome to get involved. Everyone is creating value, and I’m excited to coordinate this experiment. Looking forward to sharing what we learn collectively!

Thanks for sharing James! Looking forward to seeing this in our weekly updates moving forward. Is there anything users need to do to link their forum + github handles?

1 Like

Great question! Currently, there is no need for community members to do anything other than participate. Weekly cred scores are based on forum data only. Each GitHub repository generates a different graph of contributions. However, we might combine sources in the future.

SourceCred already has an identity plugin that provides a unified specification across platforms. After the initial phase of our experiment, we can use a JSON file to collapse nodes into each other. For example, here are the SourceCred team’s combined usernames.

Details:

3 Likes

This is a very interesting concept to faciliate the growth of the crypteconommunity.

As this is still in prototype phase, are you aware of any other projects which are currently experimenting with this (or a similar)system or have plans to implement it in the future?

1 Like