github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/docs/concepts/proof-of-contribution.md (about)

     1  ---
     2  id: proof-of-contribution
     3  ---
     4  
     5  # Proof of Contribution
     6  
     7  The gno.land chain utilizes a reputation-based consensus mechanism instead of proof-of-stake.
     8  This mechanism emphasizes values and expertise to carry out important tasks like choosing validators and allocating rewards.
     9  
    10  Meta issue: [#918](https://github.com/gnolang/gno/issues/918).
    11  
    12  Presentation: https://github.com/gnolang/workshops/tree/main/presentations/2023-06-06--buidl-asia--manfred.
    13  
    14  ## Main Concepts
    15  
    16  - Validator set determined by `worxDAO`, a DAO serving as the authority.
    17  - Governance and distribution managed through smart contracts.
    18  - Chain monitors contract changes (e.g., `valset`) to configure `Tendermint2`.
    19  - No staking involved in consensus.
    20  - Chain fees distributed to contributors and validators, not stakers.
    21  - Chain fees accumulated in a contract-managed bucket for efficient distribution.
    22  - Validators likely have equal power (1).
    23  - Validators do not vote like in PoS, but may participate in dedicated governance topics, maybe.
    24  
    25  ## High-level schema
    26  
    27              ____                   ____         ____                    __       _ __          __  _
    28             / __ \_________  ____  / __/  ____  / __/  _________  ____  / /______(_) /_  __  __/ /_(_)___  ____  _____
    29            / /_/ / ___/ __ \/ __ \/ /_   / __ \/ /_   / ___/ __ \/ __ \/ __/ ___/ / __ \/ / / / __/ / __ \/ __ \/ ___/
    30           / ____/ /  / /_/ / /_/ / __/  / /_/ / __/  / /__/ /_/ / / / / /_/ /  / / /_/ / /_/ / /_/ / /_/ / / / (__  )
    31          /_/   /_/   \____/\____/_/     \____/_/     \___/\____/_/ /_/\__/_/  /_/_.___/\__,_/\__/_/\____/_/ /_/____/
    32  
    33      +---------------------------------------------------------------+              +------------------------------------+
    34      |                   gno.land/{p,r} contracts                    |              |              gno.land              |
    35      |                                                               |              |                                    |
    36      |  +-----------------------------+     +---------------------+  |              |                                    |
    37      |  |                             |     |   r/sys/validators  |  |              |                                    |
    38      |  |                             |  +->|                     |--+------+       |  +-------------+                   |
    39      |  |           worxDAO           |  |  |    validator set    |  |      |       |  |             |                   |
    40      |  |                             |--+  +---------------------+  |      +-------+->|   Gno SDK   |----------+        |
    41      |  |   the "Contributors DAO"    |  |  |    r/sys/config     |  |      |       |  |             |          |        |
    42      |  |                             |  +->|                     |--+------+       |  +-------------+          |        |
    43      |  |                             |     | chain configuration |  |              |         |                 |        |
    44      |  +-----------------------------+     +---------------------+  |              |         |                 |        |
    45      |                 |                    +---------------------+  |              |         v                 v        |
    46      |                 v                    |    r/sys/rewards    |  |              |  +-------------+   +-------------+ |
    47      |      +----------------------+        |                     |  |              |  |             |   |             | |
    48      |      |    Evaluation DAO    |        | distribute rewards  |  |              |  |     TM2     |-->|    GnoVM    | |
    49      |      |                      |        | to contributors and |  |              |  |             |   |             | |
    50      |      | Qualification system |        |     validators      |  |              |  +-------------+   +-------------+ |
    51      |      | to distribute ^worx  |        |       +------+      |  |              |         |                 |        |
    52      |      +----------------------+        |       |Bucket|<- - -|- + -chain fees -|- - - - -                  |        |
    53      |                                      +-------+------+------+  |              |                           |        |
    54      +---------------------------------------------------------------+              +---------------------------+--------+
    55                                      ^                                                                          |
    56                                      |                                                                          |
    57                                      +---------------user TXs can publish and call contracts--------------------+
    58  
    59  ## Components
    60  
    61  ### `gno.land`
    62  
    63  The main blockchain powered by the `TM2` engine. It offers permissionless smart
    64  contracts with the `GnoVM` and can self-configure from contracts using the
    65  `GnoSDK`.
    66  
    67  ### `worxDAO`
    68  
    69  The governance entity consisting of contributors, responsible for governing the
    70  `r/sys` realms, including `validators` and `config`.
    71  
    72  Meta issue: [#872](https://github.com/gnolang/gno/issues/872).
    73  
    74  ### `r/sys/validators`
    75  
    76  A realm (smart contract) that enables the `worxDAO` to update the validator set.
    77  Similar to a PoA system, the authority is decentralized in a DAO.
    78  
    79  Additionally, this contract is queried by `gno.land` to configure `TM2` when
    80  changes are made to the validator set.
    81  
    82  ### `r/sys/config`
    83  
    84  A governance-backed smart contract that allows for chain configuration through
    85  governance.
    86  
    87  It helps prevent unnecessary upgrade campaigns for minor updates.
    88  
    89  ### Evaluation DAO
    90  
    91  The system employed by the `worxDAO` to incentivize contributions with `^worx` points.
    92  
    93              +---------------1. propose a contribution-------------+
    94              |                                                     v
    95      +--------------+                                     +----------------+
    96      |              |--------3. improve, negotiate------->|                |
    97      | contributor  |                                     | Evaluation DAO |
    98      |              |<-------4. distribute ^worx----------|                |
    99      +--------------+                                     +----------------+
   100              ^                                                     |
   101              +---------------2. review, challenge------------------+