PUP-3: Change ClaimExpiration to 24

Attributes

  • Author(s): @luis
  • Parameter: ClaimExpiration
  • Current Value: 100 (Denominated in Sessions)
  • New Value: 24 (Denominated in Sessions)

Summary

Lowering the ClaimExpiration to 24 Sessions, from it’s current 100 Sessions, is a preventative measure to avoid invalid claims from continuing the pile up in the blockchain state, consuming less compute in the network and mitigating the current situation of nodes crashing or block times getting slowed.

Abstract

ClaimExpiration is the number of Sessions during which Claims are accepted by the protocol until they are no longer valid. Nodes in the network are currently experiencing an increasing number of invalid Claims sitting in their local Evidence DBs with no possibility of being approved due to a Relay Leak issue covered here: https://github.com/pokt-network/pocket-core/issues/1094

Motivation

Reducing ClaimExpiration it to 24 Sessions (~1 Day) should suffice in terms of providing a window to submit Claims while at the same time help mitigate the current issue of invalid claims being retried unnecessarily costing precious compute to the network.

Rationale

The idea behind ClaimExpiration is to give Pocket Validators enough of a window to submit their claims in case of congestion in blocks between Sessions.

Dissenting Opinions

By decreasing the ClaimExpiration time to 24 hours, it could result in nodes not having enough time to submit their claims should blocks be fully filled during the claim window due to network congestion.

Analysts

Luis de León - CTO @ Pocket Network Inc
Andrew Nguyen - Blockchain Development Lead @ Pocket Network Inc

1 Like

Yes. (which is kinda like saying ACK but not as cool)

@luis thanks for submitting this proposal. After my initial review, I support it.

However, to better understand this -

1 - Do we have an idea of how long it currently takes to nodes to submit claims?

2 - Would all blocks have to be filled for the entire 24 hour period to prevent a node having enough time to submit claims?

3 - What is the implication of a node not being able to submit claims?

@chris-remus thank you for your questions, please find my answers below:

1.- Claims are a transaction, so it takes 1 block for them to get finalized. Currently Pocket Core submits claims every Session block (every 4 blocks).

2.- Yes, all blocks would have to be filled for this to happen, however due to the current configuration every session block needs to be full in order for this scenario to happen, meaning we have 3 blocks with capacity in between that are not being used. However in Pocket Core RC-0.5.2 this will change in order to space out compute and block space, please see this issue: https://github.com/pokt-network/pocket-core/issues/1126.

3.- If a node cannot submit claims it cannot get paid for work done. However given our current configuration of 4 MB blocks, and Max Validators value of 5K, if the aforementioned change is implemented there would be block space to spare if all 5K validators submit claims on every session.

1 Like

I’m closing this topic because the vote passed.