Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic Staking/Slashing Modules #5142

Open
4 tasks
AdityaSripal opened this issue Oct 4, 2019 · 4 comments
Open
4 tasks

Generic Staking/Slashing Modules #5142

AdityaSripal opened this issue Oct 4, 2019 · 4 comments
Assignees

Comments

@AdityaSripal
Copy link
Member

Summary

Currently the staking/slashing modules are designed for Tendermint consensus exclusively. However, staking/slashing functionality could be used in a variety of state-machine applications (e.g. dCERT/Oracles). Thus, the staking/slashing modules should be redesigned to allow developers to use staking/slashing for any purpose.

Proposal

  • Remove Tendermint consensus specific logic from x/staking and x/slashing
  • Define interfaces/types to pass into staking/slashing keepers that will run application-specific logic on slashing/staking state

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@AdityaSripal AdityaSripal self-assigned this Oct 4, 2019
@alexanderbez
Copy link
Contributor

@AdityaSripal this issue seems very very broad. It is prudent to first identify all points of tight coupling and dependency on Tendermint (e.g. power ranking) before proceeding. Preferably laid out in this issue before any work is tasked.

/cc @rigelrozanski

@rigelrozanski
Copy link
Contributor

Like the idea. I think what we really need is a generic consensus engine interface (of which tendermint fulfills) which contains expected parameters (for ex. validator delay blocks). This way staking and slashing could operate with any consensus engine which fulfills the sdk consensus engine interface

@zmanian
Copy link
Member

zmanian commented Oct 26, 2019

This is IMO a very important direction to explore.

I'd also like to at some point enable dynamically loaded slashing/staking related code via web assembly.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants