Skip to content

Commit 8028b3e

Browse files
committed
SIMD-0317: Enforce 32 data shreds
1 parent 1ebbb2d commit 8028b3e

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
simd: '0316'
3+
title: Enforce 32 data shreds
4+
authors:
5+
- Emanuele Cesena
6+
category: Standard
7+
type: Core
8+
status: Review
9+
created: 2025-07-08
10+
feature:
11+
---
12+
13+
## Summary
14+
15+
All clients currently send 32 data + 32 coding shreds, however Turbine still allows
16+
to send and receive a variable number of shreds. With this change we will enforce
17+
sending and receiving only 32 data + 32 coding shreds.
18+
19+
## Motivation
20+
21+
It is inconvinient to support many combinations of data + coding shreds.
22+
There's no security benefit, and in fact security is reduced when the number of
23+
shreds is low.
24+
25+
## New Terminology
26+
27+
N/A
28+
29+
## Detailed Design
30+
31+
A sender should always produce 32 data shreds + 32 coding shreds per FEC set
32+
(this is currently already happening).
33+
34+
Receivers currently accept FEC sets with variable number of shreds.
35+
36+
If `enforce_32_data_shreds: <PUBKEY>`
37+
is active, then any FEC set with a number of shreds different than 32 data + 32 coding
38+
will be dropped on ingest.
39+
40+
## Alternatives Considered
41+
42+
Leave as is.
43+
44+
## Impact
45+
46+
Clients will no longer accept FEC sets (thus blocks) with any number of shreds
47+
different than 32 data + 32 coding.
48+
49+
## Security Considerations
50+
51+
Security is improved since the (minimum) number of shreds is now 32 + 32.
52+
53+
## Backwards Compatibility
54+
55+
This feature is not backwards compatible.

0 commit comments

Comments
 (0)