Comments (5)
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.
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
from hyperbridge.
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:
- 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. - 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.
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.
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)
- Implement Parachain Template Runtime
- Add optimism support for beacon consensus client updates
- #first
- [META] Relayers HOT 1
- Introduce HostExecutive HOT 1
- [META] SubstrateHost HOT 3
- Gateway `ERC20` support HOT 2
- `GovernableToken`
- Support Account Abstraction(?) HOT 1
- Hyperclient Improvements
- CallDispatcherV2 HOT 1
- OffchainDB MMR pruning
- Ismp Parachain inherent relay chain Get request handling.
- Ismp Parachain should identify parachains with 6s slots HOT 2
- Testnet Token request for Faucet HOT 1
- Separate L2 Updates from sync committee updates
- Polygon (PIP-11) Consensus Client
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hyperbridge.