Giter Site home page Giter Site logo

Relayer DPoS about hyperbridge HOT 5 OPEN

4meta5 avatar 4meta5 commented on August 16, 2024 1
Relayer DPoS

from hyperbridge.

Comments (5)

Wizdave97 avatar Wizdave97 commented on August 16, 2024 2

We'll need some form of identity pallet that relayers can use to associate a hyperbridge account to any number of accounts that have successfully accumulated fees in pallet-ismp-relayer

from hyperbridge.

seunlanlege avatar seunlanlege commented on August 16, 2024 1

I think it makes sense to try to leverage pallet-collator-selection in some way, the only thing to keep in mind is, relayers won't bid with the native token to become a collator. They'll bid with their "accrued revenue", which is the revenue they've accrued relaying for hyperbridge. This revenue accrual is currently tracked in pallet-ismp-relayer, although it is deleted when relayers make a withdrawal. I think it makes sense to figure out how to use it for collator selection

https://github.com/polytope-labs/hyperbridge/blob/main/modules/ismp/pallets/relayer/src/lib.rs#L82-L86

from hyperbridge.

Wizdave97 avatar Wizdave97 commented on August 16, 2024 1

The accrued fees are are already denominated in USD, we would not need to know the equivalent in terms of the native asset.
We only need to use for the accrued fees to know the relayers that have been active in the previous session, these are the only relayers eligible to be part of the next collator set.
We want to reward relayers who have committed the most to facilitating cross chain message delivery.

The conditions for selecting relayers would be in the following order:

  1. Select all relayers who have accrued some fees in the previous session(we'll need to modify pallet-ismp-relayer to preserve this data), the list will be sorted by fees accrued.
  2. Select those who have the native asset staked from the previous set to be the new collators(selected number would be dependent on max number of collators configured in the runtime).

For nominations, nominators are not directly staking on relayers but are contributing their nominations to a global nomination pool, the goal is to allow any account who has some amount in the pool to receive some portion of the protocol revenue.

We would use some sort of curve to gradually increase the minimum amount to be staked or nominated gradually as the network grows.

from hyperbridge.

seunlanlege avatar seunlanlege commented on August 16, 2024 1

Another idea is to fork pallet-collator-selection and make it work with more than one currency by adding an associated type like xcm_executor::Trader

Likely we don't need this and we can maybe track the accrued fees in pallet-assets and use fungible::ItemOf to get the Currency interface.

from hyperbridge.

4meta5 avatar 4meta5 commented on August 16, 2024

Thanks for the feedback @seunlanlege @Wizdave97 !

Is there a preferred way for estimating the value of the accrued fees in terms of the native asset (to represent accrued fees as stake to bid for a collator spot in pallet-collator-selection)? This would have to be in the runtime. Maybe there is some fee conversion config that could be reused for this purpose?

Another idea is to fork pallet-collator-selection and make it work with more than one currency by adding an associated type like xcm_executor::Trader. The changes could be upstreamed eventually, but one concern is the complexity of representing minimum stake and ordering stake in the context of multi-asset deposits; value comparisons across assets would still be necessary.

from hyperbridge.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.