Difference between revisions of "Kredits"

From Kosmos Wiki
Jump to navigation Jump to search
(13 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
For now kredits are just a fun experiment and gaming element, but the long-term idea is that they can be rewarded with dividends, in case the Kosmos project/org will be in a financial position that allows it to reward everybody contributing to its success. There's also a variety of other possible use cases, like e.g. a public offering via kredit sales. (see [[Crypto Equity]])
 
For now kredits are just a fun experiment and gaming element, but the long-term idea is that they can be rewarded with dividends, in case the Kosmos project/org will be in a financial position that allows it to reward everybody contributing to its success. There's also a variety of other possible use cases, like e.g. a public offering via kredit sales. (see [[Crypto Equity]])
 +
 +
== Roadmap ==
 +
 +
See https://wiki.kosmos.org/Meeting_Notes:_Feb_25,_2019#Kredits_Roadmap_2019
  
 
== Software ==
 
== Software ==
Line 10: Line 14:
  
 
[https://github.com/67P/kredits-contracts/ kredits-contracts] contains the smart contracts, written in Solidity, as well as the generated contract ABI for use with the Web3 JavaScript library (e.g. in kredits-web). It can be linked from other programs via npm.
 
[https://github.com/67P/kredits-contracts/ kredits-contracts] contains the smart contracts, written in Solidity, as well as the generated contract ABI for use with the Web3 JavaScript library (e.g. in kredits-web). It can be linked from other programs via npm.
 +
 +
=== Kosmos Schemas ===
 +
 +
[https://github.com/67P/kosmos-schemas/ kosmos-schemas] contains the JSON Schema definitions and examples for all data stored in IPFS. They can be used in the kredits-contracts JS wrapper as well as in client apps.
  
 
=== Kredits Web ===
 
=== Kredits Web ===
Line 17: Line 25:
 
=== Hubot Kredits ===
 
=== Hubot Kredits ===
  
[https://github.com/67P/hal8000/blob/feature/hubot-kredits/scripts/hubot-kredts.js hubot-kredits] is a chatbot, which can automatically propose kredit issuance, e.g. based on GitHub contributions, wiki edits, etc.
+
[https://github.com/67P/hal8000/blob/feature/hubot-kredits/scripts/hubot-kredts.js hubot-kredits] is a Hubot chatbot extension, which can automatically create (unconfirmed) contribution tokens, e.g. based on GitHub contributions, Mediawiki edits, etc.. We also use it to protoype back-end behavior that is potentially needed in `kredits-web`.
 +
 
 +
=== Kredits GitHub ===
 +
 
 +
[https://github.com/67P/kredits-github kredits-github] is a very simple GitHub app, which adds a check to pull requests in org repos, ensuring that they are assigned a kredits label, which is used by hubot-kredits to determine the size of the contribution.
 +
 
 +
=== Kredits IPFS Pinner ===
 +
 
 +
[https://gitea.kosmos.org/kosmos/kredits-ipfs-pinner kredits-ipfs-pinner] pins IPFS data of a Kredits organization on an IPFS node. Running this program turns any IPFS node into a live mirror for all Kredits-related documents.
  
 
== Democratic governance via Kredits ==
 
== Democratic governance via Kredits ==
Line 25: Line 41:
 
=== Rules / parameters ===
 
=== Rules / parameters ===
  
# Voting Kredits are only issued for contributions to the project to the person who contributes.
+
''TODO update this section with current information''
# As soon as the person transfers the Kredits to a different entity, the Kredits lose their votes. This way investors and speculators can never acquire voting rights by just buying someone's Kredits.
 
# Kredit votes lose weight over time. For example 30% per year. This ensures that people who contributed a lot at a certain time, but then don't contribute for a longer time, cannot influence the project as much as people who are currently contributing/doing. The Kredits still retain their normal value/dividends, but voting weight decreases until the point of having non-voting Kredits after a few years.
 
# Voting Kredit holders can put decisions to a vote at any point in time. Some reasonable rules have to be established to prevent trolling and resource/time waste.
 
  
 
== Ideas ==
 
== Ideas ==
Line 38: Line 51:
 
* [[Contribution Dashboard]] for regular Kredit distribution as well as general project stats
 
* [[Contribution Dashboard]] for regular Kredit distribution as well as general project stats
 
* Expense management, similar to https://opencollective.com/learn-more
 
* Expense management, similar to https://opencollective.com/learn-more
 +
* Interoperability with other coops/projects/software
 +
** https://docs.opencoopecosystem.net/
 +
** https://www.valueflo.ws/
  
 
== Similar projects/ideas ==
 
== Similar projects/ideas ==
Line 54: Line 70:
 
* [https://medium.com/@ConsenSys/tokens-on-ethereum-e9e61dac9b4e#.hfxscd8yx Tokens on Ethereum] about Ethereum based tokens by ConsenSys
 
* [https://medium.com/@ConsenSys/tokens-on-ethereum-e9e61dac9b4e#.hfxscd8yx Tokens on Ethereum] about Ethereum based tokens by ConsenSys
 
* [https://medium.com/@balajis/thoughts-on-tokens-436109aabcbe Thoughts on Tokens] by Balaji S. Srinivasan and Naval Ravikant
 
* [https://medium.com/@balajis/thoughts-on-tokens-436109aabcbe Thoughts on Tokens] by Balaji S. Srinivasan and Naval Ravikant
 +
* [https://www.misthos.io/ Misthos] (multi-sig bitcoin wallet, "designed for project teams, investment partnerships and other ad hoc ventures to manage the divvying up of income (received as bitcoin) among their individual members", based on Blockstack, [https://www.coindesk.com/bitcoin-wallet-blockstack-decentralized/ Coindesk article])
 +
* https://sourcecred.io
 +
* [https://freecoin.dyne.org/ Freecoin]
  
 
== Similar code/inspirations/links ==
 
== Similar code/inspirations/links ==
Line 61: Line 80:
 
* [https://github.com/ConsenSys/gnosis-contracts/blob/master/contracts/solidity/Tokens/StandardToken.sol gnosis-contracts]  
 
* [https://github.com/ConsenSys/gnosis-contracts/blob/master/contracts/solidity/Tokens/StandardToken.sol gnosis-contracts]  
 
* [https://github.com/melonproject/melon/ melonproject contracts]
 
* [https://github.com/melonproject/melon/ melonproject contracts]
 +
* Paper: [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3243656 "Liberal Radicalism: Formal Rules for a Society Neutral Among Communities"]
 +
 +
== Notes ==
 +
 +
* [https://sideshift.ai/ Sideshift] is similar to Shapeshift, but without KYC and such. Could be used to donate to the Kredits contract using Bitcoin via LN, as well as via normal chain txs with a variety of currencies.

Revision as of 17:17, 2 July 2019

Kredits are an experimental bonus system for contributors. They are cryptographic tokens, stored on the Ethereum blockchain, issued and managed via smart contracts.

Anyone can create an Ethereum wallet via e.g. metamask.io and start receiving kredits for contributions of any kind. People can also send their own kredits to each other if and when they like.

For now kredits are just a fun experiment and gaming element, but the long-term idea is that they can be rewarded with dividends, in case the Kosmos project/org will be in a financial position that allows it to reward everybody contributing to its success. There's also a variety of other possible use cases, like e.g. a public offering via kredit sales. (see Crypto Equity)

Roadmap

See https://wiki.kosmos.org/Meeting_Notes:_Feb_25,_2019#Kredits_Roadmap_2019

Software

Kredits Contracts

kredits-contracts contains the smart contracts, written in Solidity, as well as the generated contract ABI for use with the Web3 JavaScript library (e.g. in kredits-web). It can be linked from other programs via npm.

Kosmos Schemas

kosmos-schemas contains the JSON Schema definitions and examples for all data stored in IPFS. They can be used in the kredits-contracts JS wrapper as well as in client apps.

Kredits Web

kredits-web is the Web UI for the public Kredits dashboard and management UI. The app is hosted on 5apps Deploy at kredits.kosmos.org.

Hubot Kredits

hubot-kredits is a Hubot chatbot extension, which can automatically create (unconfirmed) contribution tokens, e.g. based on GitHub contributions, Mediawiki edits, etc.. We also use it to protoype back-end behavior that is potentially needed in `kredits-web`.

Kredits GitHub

kredits-github is a very simple GitHub app, which adds a check to pull requests in org repos, ensuring that they are assigned a kredits label, which is used by hubot-kredits to determine the size of the contribution.

Kredits IPFS Pinner

kredits-ipfs-pinner pins IPFS data of a Kredits organization on an IPFS node. Running this program turns any IPFS node into a live mirror for all Kredits-related documents.

Democratic governance via Kredits

Kredits have the potential to be used for distributed governance of the Kosmos project and organization. The basic idea is that people can vote on decisions with a vote that carries a weight according to their contributions. In short: the people who do should decide. With a limited set of basic rules, this makes for a revolutionary new approach to decentralized open-source governance.

Rules / parameters

TODO update this section with current information

Ideas

  • Leaderboard for contributions/kredits, where people can choose to publish their name or not (based on actual blockchain data) WIP, almost done: https://kredits.kosmos.org/
  • Some way for new contributors to claim kredits sent to them via email link or similar (Update: current idea is to issue them without the need for an address, then be able to confirm address change via GitHub OAuth and admin action/proposal)
  • IRC bot for small transactions, so people can send each other kredits on Kosmos project channels Turned out to not make sense.
  • Custom wallet, removing all unncesseary features and integrating custom features we'd like to have (like e.g. easy multisig transactions, linked/initiated from a Kosmos chatroom) WIP, almost done: https://github.com/67P/kredits-web/ (tokens can be sent via normal ETH wallets)
  • Contribution Dashboard for regular Kredit distribution as well as general project stats
  • Expense management, similar to https://opencollective.com/learn-more
  • Interoperability with other coops/projects/software

Similar projects/ideas

  • cDPOs (commons-oriented decentralised programmed organisations) as frameworks to bootstrap, develop & sustain commons projects
  • Colony -- "The Colony Beta is for teams who want to create their own “Collaboration Network”—a place to work with, incentivize, and track the contributions of a network of collaborators. It combines task management with “payments” and tracking."
  • Aragon
  • ether-camp/virtual asselerator -- "The Virtual Accelerator is a platform that allows for the promotion, testing and funding of ideas. " HackerGold is their token.
  • boardroom.to -- A blockchain based governance platform.
  • Lunyr -- "Lunyr is an Ethereum-based decentralized crowdsourced encyclopedia which rewards users with app tokens for peer-reviewing and contributing information."
  • Singulardtv -- "A Blockchain Entertainment Studio, Smart Contract Rights Management Platform and Video On-Demand Portal"

see also:

Similar code/inspirations/links

Notes

  • Sideshift is similar to Shapeshift, but without KYC and such. Could be used to donate to the Kredits contract using Bitcoin via LN, as well as via normal chain txs with a variety of currencies.