Skip to content

Commit

Permalink
docs(proof-of-contribution): bootstrap document (#954)
Browse files Browse the repository at this point in the history
  • Loading branch information
moul authored Jul 11, 2023
1 parent 8c8923e commit 5d32c39
Showing 1 changed file with 97 additions and 0 deletions.
97 changes: 97 additions & 0 deletions docs/proof-of-contribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Proof of Contribution

The gno.land chain utilizes a reputation-based consensus mechanism instead of proof-of-stake.
This mechanism emphasizes values and expertise to carry out important tasks like choosing validators and allocating rewards.

Meta issue: [#918](https://github.com/gnolang/gno/issues/918).

Presentation: https://github.com/gnolang/workshops/tree/main/presentations/2023-06-06--buidl-asia--manfred.

## Main Concepts

- Validator set determined by `worxDAO`, a DAO serving as the authority.
- Governance and distribution managed through smart contracts.
- Chain monitors contract changes (e.g., `valset`) to configure `Tendermint2`.
- No staking involved in consensus.
- Chain fees distributed to contributors and validators, not stakers.
- Chain fees accumulated in a contract-managed bucket for efficient distribution.
- Validators likely have equal power (1).
- Validators do not vote like in PoS, but may participate in dedicated governance topics, maybe.

## High-level schema

____ ____ ____ __ _ __ __ _
/ __ \_________ ____ / __/ ____ / __/ _________ ____ / /______(_) /_ __ __/ /_(_)___ ____ _____
/ /_/ / ___/ __ \/ __ \/ /_ / __ \/ /_ / ___/ __ \/ __ \/ __/ ___/ / __ \/ / / / __/ / __ \/ __ \/ ___/
/ ____/ / / /_/ / /_/ / __/ / /_/ / __/ / /__/ /_/ / / / / /_/ / / / /_/ / /_/ / /_/ / /_/ / / / (__ )
/_/ /_/ \____/\____/_/ \____/_/ \___/\____/_/ /_/\__/_/ /_/_.___/\__,_/\__/_/\____/_/ /_/____/

+---------------------------------------------------------------+ +------------------------------------+
| gno.land/{p,r} contracts | | gno.land |
| | | |
| +-----------------------------+ +---------------------+ | | |
| | | | r/system/valset | | | |
| | | +->| |--+------+ | +-------------+ |
| | worxDAO | | | validator set | | | | | | |
| | |--+ +---------------------+ | +-------+->| Gno SDK |----------+ |
| | the "Contributors DAO" | | | r/system/chaincfg | | | | | | | |
| | | +->| |--+------+ | +-------------+ | |
| | | | chain configuration | | | | | |
| +-----------------------------+ +---------------------+ | | | | |
| | +---------------------+ | | v v |
| v | r/system/rewards | | | +-------------+ +-------------+ |
| +--------------------+ | | | | | | | | |
| | Evaluation DAO | |distribute rewards to| | | | TM2 |-->| GnoVM | |
| | | | contributors and | | | | | | | |
| |Qualification system| | validators | | | +-------------+ +-------------+ |
| |to distribute ^worx | | +------+ | | | | | |
| +--------------------+ | |Bucket|<- - -|- + -chain fees -|- - - - - | |
| +-------+------+------+ | | | |
+---------------------------------------------------------------+ +---------------------------+--------+
^ |
| |
+---------------user TXs can publish and call contracts--------------------+

## Components

### `gno.land`

The main blockchain powered by the `TM2` engine. It offers permissionless smart
contracts with the `GnoVM` and can self-configure from contracts using the
`GnoSDK`.

### `worxDAO`

The governance entity consisting of contributors, responsible for governing the
`r/system` realms, including `valset` and `chaincfg`.

Meta issue: [#872](https://github.com/gnolang/gno/issues/872).

### `r/system/valset`

A realm (smart contract) that enables the `worxDAO` to update the validator set.
Similar to a PoA system, the authority is decentralized in a DAO.

Additionally, this contract is queried by `gno.land` to configure `TM2` when
changes are made to the validator set.

### `r/system/chaincfg`

A governance-backed smart contract that allows for chain configuration through
governance.

It helps prevent unnecessary upgrade campaigns for minor updates.

### Evaluation DAO

The system employed by the `worxDAO` to incentivize contributions with `^worx` tokens.

+---------------1. propose a contribution-------------+
| v
+--------------+ +----------------+
| |--------3. improve, negotiate------->| |
| contributor | | Evaluation DAO |
| |<-------4. distribute ^worx----------| |
+--------------+ +----------------+
^ |
+---------------2. review, challenge------------------+

0 comments on commit 5d32c39

Please sign in to comment.