pocket icon indicating copy to clipboard operation
pocket copied to clipboard

[Utility][Consensus] PoS Rewards & Slashing Onboarding & Knowledge Transfer

Open Olshansk opened this issue 11 months ago • 1 comments

Objective

This ☂️ ticket organizes links, references and details to onboard a Protocol Engineer to the protocol team. It acts as a central point of coordination to capture questions, discussions and results to enable a new core team member to own and drive the rewards & slashing mechanisms of the protocol.


1. Origin Document

One of the core principles of Crypto of Blockchains and crypto is incentive: rewards & slashing for useful or faulty/byzantine behaviour.

The protocol team uses the [E2E Flows Template] e2e-flows-template to detail and scope out work for Utility E2E Flows

2. Knowledge Transfer FAQ

Where is the utility module today?

Rewards & slashing are less than half backed. It has been an afterthought around all the other work going on and some effort needs to be put into understanding the lay of the land:

  • What's done?
  • What's not done?
  • Is it documented anywhere?
  • What remains?
  • What tooling do we have for it?

2.1 Examples of what's done / not done

Example 1: Is slashing for double signing implemented?

No

Example 2: Is slashing for double signing implemented?

No

Example 3: Do validators get rewards for the blocks they proposed?

Kind of? We don't have an E2E test for this and it's most likely half-baked. Needs to be verified, documented, and tested.

Example 4: Do valid transactions deduct fees? Do invalid transactions deduct fees if available?

Kind of? We have a discussion about it in protocol hour (audio and ULTRA rough whiteboard notes available here)

Example 5: Do Servicers get rewards for relays served?

Not yet.

Hopefully this gives an idea of how early it is.

2.2 Who is working on what?

Who is building the E2E relay flow?

@adshmh 🚄

Who is working on consensus? State Sync?

@red-0ne 🔥

Who is currently building p2p discovery, churn and gossip?

@bryanchriswhite 🌐

Who is currently building state important, export, rollback, validation and guaranteeing efficient data integrity?

@dylanlott 💾

Who is building & maintaining the infrastructure for all of this?

@okdas 🏗️

Who is currently thinking about IBC and related light client implementations?

@h5law 🌲

3. Goals

  • Get the utility module to a TestNet ready stage
  • Leverage the perspective of someone new in order to update the tooling & documentation
  • Identify and resolve low-hanging fruit
  • Complete a few starter tasks and one major task
  • Determine the missing gaps and define a path forward for utility model w.r.t rewards, slashes and transaction fees
  • Identify a co-owner and additional Point of Contact (POC) for the V1 Utility module
  • Outline & document follow-up work & tasks to build & scale the utility module
  • Focus on things like
    • Slashing for both byzantine and faulty behaviour
    • Rewards for work completed
  • Work closely with @red-0ne on the consensus side
  • Work closely with @adshmh on the utility side

4. Deliverables

Starter Tasks

  • #956
  • #441

Larger Tasks

  • #325
  • #432
  • #477

Stretch Goals

  • #629
  • #556

Cancelled but useful

  • #751
  • #752

Unscoped Tickets to be done after onboarding

  • [ ] E2E Test for tx fee validation
    • [ ] Retrieve funds from the signers?
    • [ ] Include transaction in the block?
  • [ ] E2E ticket for validator rewards?
  • [ ] E2E ticket for servicer rewards?
  • [ ] E2E tickets Scope out tickets/work for:
    • Jailing / unjailing
    • Inactivity leaks
    • E2E tests for valid tx fee
    • E2E tests for invalid tx fee

Creator: @Olshansk Co-Owners: @0xRampey

Olshansk avatar Jul 30 '23 19:07 Olshansk