`pallet-staking` VS `parachain-staking`

pallet-staking is developed by Paritytech.
parachain-staking is developed by Purestake AKA Moonbeam.

Nowadays, pallet-staking is able to add to parachain with some custom configurations.

So, here is a question.

What should we choose between pallet-staking and parachain-staking?

What’s the best practice about adding the staking to parachain?

2 Likes

Why would you need staking for parachains? I do not see the benefits

I think that is off-topic?!

In my opinion, because of the economic incentive model.

Otherwise, why do many parachains want a staking system? Such as Moonbeam.

Sorry for my incomplete answer. So in short, the staking consensus like nimbus by Moonbeam is made for Parachains. The staking pallet is only meant for relaychains, so you can try to emulate the interface, but the pallet will not work from my understanding.

But my point still stands, there is no reason for parachains to have staking since collators does not have security verification burden and staking is generally a waste for parachains imo when the relaychain does all the work.

1 Like

I have not yet looked too deep into Moonbeam’s parachain-staking pallet to comment on it. Now that this discussion has arisen, I do intend to do so though. I do know that it also won a grant for specifically being a parachain-capable staking pallet, so it should be the default choice if you are not sure[1].

As for pallet-staking, in the linked StackExchange I have noted all the considerations that you have when configuring it, both if a solo-chain and a parachain. Do it right, and it will work in either context. There is nothing in pallet-staking that explicitly says “don’t work if in a parachain”.

Using pallet staking with a simpler ElectionProvider is essentially the way to go for a parachain.

The main downside IMO is that with the current pallet-staking being a mono-pallet, you get functionality such as slashing that are probably not needed, which could be somewhat of a configuration overhead (but again, harmless to have if done right).

We want to break down and simplify the existing staking pallet significantly in the next 6-12 months, merely for the sake of long term maintainability for Polkadot. Doing that, I am optimistic that it will become even more “parachain friendly”. Hopefully inspiring and mixing it with the novel aspects of Nimbus in a optional way, would arrive us at a single pallet-staking that’s sufficiently configurable (i.e. concepts such as rewards, slash, controller are no longer hardcoded) and usable in both a parachain and a solo-chain.

As the icing on the cake, if staking.polkadot.network can then work with all of them, this will be a massive improvement across the ecosystem IMO.


  1. and whether staking as a while is needed in a parachain is a separate discussion. ↩︎

2 Likes

As a parachain you need to solve two issues.

  1. Incentivize collators. Without that, no blocks will be produced and the parachain stops. Also since the default author selection is AuRa at the moment, downtime should somehow be disincentivized.
  2. Ensure a decentralized collator set. Collators can choose which extrinsic is included in a block. For things like governance votes, this power becomes security relevant. Imagine a single collator running your parachain. The collator can suddenly control who joins as a collator and which votes are put on chain. The collator basically gained sudo powers.

Number 2 is a problem since we use AuRa for parachains. If anyone could build blocks, without being registered in some onchain storage, issue number 2 would be solved.

IMO parachain staking is the best available solution at the moment. But I hope that new and better solution will pop up next year.

Sorry if this is off-topic. We could also open a new thread for this conversation.

2 Likes

I agree with both these points. decentralisation is a goal here but you cannot expect people to run collators without incentives/rewards - and if you don’t have that then you are essentially a centralised chain.

I have another aspect to add to this. Many teams have minted billions of coins from the start. You could argue that they don’t need to have an additional coin creation reward mechanism at all. Adding any coins to an already huge Total Issuance is economically odd, and doesn’t really provide an incentive to the collators.

Chains that have had low Issuance from the outset, may require the creation of new coins as time goes on - this is a valid economic model in itself, and would imply incentivised collators to make it happen. In this case staking + rewards would be needed.

I’d like to discuss this further. Looking at it from first principles, why should new tokens be minted in the traditional staking model, where only block authors receive them? I think we might be mistakenly reasoning by analogy here.

I totally agree that if collators were to bear economic security, it would have made sense to pay them, but Polkadot is exactly here to remove that constrain. Instead of seeing more and more scenarios where collators are treated more like a validator, I think we should go the other way around and stop seeing them as analogous to one another.

I think the advantage of parachain is actually in the fact that it no longer needs to rewards its collators as much as a solo PoS chain has to reward its validators. This then begs the question: how else can a chain have inflation? governance participation? other behaviors that benefit the chain?

(we are already stretching this of topic, should we move this to a new thread “Should parachains have staking+inflation?”? )

What about block rewards? Many parachains choose not to reward collators through inflation, but rather by giving them a percentage of the block fees they produce. This is done using pallet collator-selection itself without any other custom pallets.

Let’s not hijack this topic and continue the discussion here: