beckn / beckn/protocol-specifications-v2
NFH-007: Reconsider 5-second default for clock skew tolerance
- Dominant language
- No language data
- Stars
- 15
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
[NFH-007 (Authentication and Trust)](https://github.com/beckn/protocol-specifications-v2/blob/main/docs/Authentication_and_Trust.md) currently sets the default clock skew tolerance for the created field at 5 seconds — in §7 Step 2, §8 Step 2, the "Clock skew" cross-cutting section, and conformance requirement CON-004-13.
5 seconds is a tight default for a network of independently-operated NPs whose clocks aren't centrally managed. Even healthy NTP-synced servers can drift into the low seconds, and participants on constrained infra (retail POS terminals, edge/IoT gateways, lower-tier hosting) will realistically exceed it. The spec does allow NFOs to override the value per subnet, but a default this tight effectively forces most subnets to override it on day one — which suggests the default itself, not the override mechanism, needs fixing. For reference, comparable HTTP-signature schemes typically default well above 5s (e.g. AWS SigV4 allows up to 15 minutes).
Proposal: Raise the recommended default for created skew tolerance to a larger value (30s or 60s are reasonable starting candidates for discussion), and update the three prose occurrences plus CON-004-13 consistently. This does not touch the expires field, which correctly has zero tolerance, or the per-subnet override mechanism itself.
Open questions:
Is there field data from pilot subnets on observed clock skew to ground the new number, or is this a judgment call?
Should the request path (§8) and callback path (§7) share one default, given callbacks can accumulate extra processing/queuing latency (§9.2)?
Contributor guide
Assessment
This issue has not been assessed yet.