Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions all.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
| SIP # | Title | Category | Status | Date |
| --------------------------------------------------------- | ------------------------------------------------------ | ---------- | ------------------- | ---------- |
| [1](./sips/dkg.md) | DKG | core | open-for-discussion | 2022-06-27 |
| [2](./sips/msg_struct_encoding.md) | Message struct and encoding | core | open-for-discussion | 2022-07-26 |
| [3](./sips/qbft_sync.md) | QBFT Sync | core | open-for-discussion | 2022-09-04 |
| [4](./sips/change_operator.md) | Change operators set | contract | open-for-discussion | 2022-09-04 |
| [5](./sips/ecies_share_encryption.md) | ECIES Share Encryption | contract | open-for-discussion | 2022-11-09 |
| [6](./sips/constant_qbft_timeout.md) | Constant QBFT timeout | core | open-for-discussion | 2022-11-19 |
| [7](./sips/fork_support.md) | Fork Support | core | open-for-discussion | 2022-12-12 |
| [2](./sips/msg_struct_encoding.md) | Message struct and encoding | core | spec-merged | 2022-07-26 |
| [3](./sips/qbft_sync.md) | QBFT Sync | core | Deprecated | 2022-09-04 |
| [4](./sips/change_operator.md) | Change operators set | contract | rejected | 2022-09-04 |
| [5](./sips/ecies_share_encryption.md) | ECIES Share Encryption | contract | approved | 2022-11-09 |
| [6](./sips/constant_qbft_timeout.md) | Constant QBFT timeout | core | spec-merged | 2022-11-19 |
| [7](./sips/fork_support.md) | Fork Support | core | approved | 2022-12-12 |
| [8](./sips/pre_consensus_liveness.md) | Pre-Consensus liveness fix | core | open-for-discussion | 2023-02-07 |
| [9](./sips/partial_signature_verification_aggregation.md) | Partial Signature Verification Aggregation | core | spec-merged | 2024-03-19 |
| [10](./sips/qbft_drop_redundant_bls.md) | Drop redundant BLS in QBFT | core | spec-merged | 2024-03-27 |
| [11](./sips/eliminate_bls.md) | Eliminate BLS out of QBFT and change message structure | core | spec-merged | 2024-03-15 |
| [12](./sips/topic_by_committee_id.md) | Topic mapping by Committee ID | networking | spec-merged | 2024-05-21 |
| [13](./sips/committee_consensus.md) | Cluster-based consensus | core | spec-merged | 2024-03-05 |
| [14](./sips/validators_per_operator_1k_cap.md) | 1K cap on validators per operator | core | spec-merged | 2024-11-28 |
| [15](./sips/network_topics_minhash.md) | Network Topics MinHash | networking | open-for-discussion | 2024-03-06 |
| [16](./sips/epoch_aware_round_robin_proposer.md) | Epoch-Aware Round-Robin Proposer | core | open-for-discussion | 2025-12-13 |
| [17](./sips/aggregator_committee_consensus.md) | Aggregator Committee Duties | core | open-for-discussion | 2025-05-12 |
| [15](./sips/network_topics_minhash.md) | Network Topics MinHash | networking | spec-merged | 2024-03-06 |
| [16](./sips/epoch_aware_round_robin_proposer.md) | Epoch-Aware Round-Robin Proposer | core | spec-merged | 2025-12-13 |
| [17](./sips/aggregator_committee_consensus.md) | Aggregator Committee Duties | core | spec-merged | 2025-05-12 |
2 changes: 1 addition & 1 deletion sips/aggregator_committee_consensus.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- | -------------------------------- | ---------- | ------------------- | ---------- |
| Matheus Franco | Aggregator Committee Consensus | Core | open-for-discussion | 2025-05-12 |
| Matheus Franco | Aggregator Committee Consensus | Core | spec-merged | 2025-05-12 |

## Summary

Expand Down
2 changes: 1 addition & 1 deletion sips/committee_consensus.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- | -------------------------- | ---------- | ------------------- | ---------- |
| Matheus Franco, Gal Rogozinski | Committee consensus | Core | open-for-discussion | 2024-03-05 |
| Matheus Franco, Gal Rogozinski | Committee consensus | Core | spec-merged | 2024-03-05 |

## Summary

Expand Down
2 changes: 1 addition & 1 deletion sips/constant_qbft_timeout.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
|-------------|-----------------------|----------|----------|------------|
| Alon Muroch | Constant QBFT timeout | Core | rejected | 2022-11-19 |
| Alon Muroch | Constant QBFT timeout | Core | spec-merged | 2022-11-19 |

_Special thanks for Henrique Moniz for reviewing_

Expand Down
12 changes: 8 additions & 4 deletions sips/dkg.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
| Author | Title | Category | Status | Date |
|-------------|--------------------------------|----------|---------------------|------------|
| Alon Muroch | Generalized DKG support in SSV | Core | open-for-discussion | 2022-06-27 |
| Alon Muroch | Generalized DKG support in SSV | Core | Superseded | 2022-06-27 |

[Discussion] (https://github.com/ssvlabs/SIPs/discussions/7)
[Discussion](https://github.com/ssvlabs/SIPs/discussions/7)

> **Note:** This SIP is no longer actively developed. DKG for SSV is now provided by
> [`ssvlabs/ssv-dkg`](https://github.com/ssvlabs/ssv-dkg) and
> [`ssvlabs/dkg-spec`](https://github.com/ssvlabs/dkg-spec), which follow a **different
> design** than the protocol described below. This document is kept for historical
> reference only.

**Summary**
Describes a general workflow and specifications for integrating DKG into SSV regardless of the DKG protocol selected, number of rounds it requires or data structures it uses.
Expand Down Expand Up @@ -92,8 +98,6 @@ Immediately after receiving an Init message, each operator will broadcast a newl

IMPORTANT: The protocol does not start the key generation process if did not receive SignedSessionPubKey from every operator

// TODO - missing proof of possession for the pubkey?

```go
type SignedSessionPubKey struct {
// Session EC pubkey
Expand Down
2 changes: 1 addition & 1 deletion sips/eliminate_bls.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- | ------------------------ | -------- | ------------------- | ---------- |
| Matheus Franco | Eliminate BLS out of QBFT and change message structure | Core | open-for-discussion | 2024-03-15 |
| Matheus Franco | Eliminate BLS out of QBFT and change message structure | Core | spec-merged | 2024-03-15 |

[Discussion](https://github.com/ssvlabs/SIPs/discussions/38)

Expand Down
3 changes: 1 addition & 2 deletions sips/epoch_aware_round_robin_proposer.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- |----------------------------------| -------- | ------------------- |------------|
| Matheus Franco | Epoch-Aware Round-Robin Proposer | Core | open-for-discussion | 2025-12-13 |
| Matheus Franco | Epoch-Aware Round-Robin Proposer | Core | spec-merged | 2025-12-13 |


## Summary
Expand Down Expand Up @@ -55,4 +55,3 @@ func RoundRobinProposer(state *State, round Round) types.OperatorID {
return state.CommitteeMember.Committee[index].OperatorID
}
```

2 changes: 1 addition & 1 deletion sips/network_topics_minhash.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| --------------------------------| -------------------------- | ---------- | ------------------- | ---------- |
| @diegomrsantos, Matheus Franco | Network Topics MinHash | Network | open-for-discussion | 2024-03-06 |
| @diegomrsantos, Matheus Franco | Network Topics MinHash | Network | spec-merged | 2024-03-06 |

## Table of Contents <!-- omit from toc -->
- [Summary](#summary)
Expand Down
4 changes: 2 additions & 2 deletions sips/pre_consensus_liveness.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
|-------------|------------------------|----------|----------|------------|
| Alon Muroch | Pre-Consensus Liveness | Core | approved | 2023-02-07 |
| Alon Muroch | Pre-Consensus Liveness | Core | open-for-discussion | 2023-02-07 |

**Summary**
Some duties require pre-consensus (randao, selection proof, etc) before the consensus stage can start. Partial signatures are signed and broadcasted to reconstruct a valid signature for the pre-consensus step.
Expand Down Expand Up @@ -232,4 +232,4 @@ func (b *BaseRunner) processPreConsensusJustification(runner Runner, highestDeci
return runner.decideOnRoots(r)
}

```
```
4 changes: 2 additions & 2 deletions sips/qbft_drop_redundant_bls.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- | ------------------------- | -------- | ------------------- | ---------- |
| Matheus Franco | QBFT - Drop redundant BLS | Core | open-for-discussion | 2024-03-27 |
| Matheus Franco | QBFT - Drop redundant BLS | Core | spec-merged | 2024-03-27 |

[Discussion](https://github.com/ssvlabs/SIPs/discussions/38)

Expand Down Expand Up @@ -190,4 +190,4 @@ func (n *Operator) GetOperatorPublicKey() []byte {

## Drawbacks

No drawbacks could be found yet.
No drawbacks could be found yet.
2 changes: 1 addition & 1 deletion sips/topic_by_committee_id.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
| Author | Title | Category | Status | Date |
| -------------- | --------------------- | -------- | ------------------ | ---------- |
| Matheus Franco | Topic by committee ID | Core | open-for-discussion | 2024-05-21 |
| Matheus Franco | Topic by committee ID | Core | spec-merged | 2024-05-21 |


## Summary
Expand Down
3 changes: 3 additions & 0 deletions template_sip.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ Explain the rational behind writing this SIP, what were the design goals set for
**Specification**
Under this section all relevant technical details for the SIP should be written, including: code, equations, testing, etc.
The specification section should fully explain how to implement the SIP, test it (if relevant) and in general explained in a technical way.

**Security Considerations**
Discuss the security implications of the proposed change. Identify new attack surfaces, assumptions the design relies on (e.g. honest majority, synchrony), and how the change interacts with slashing, consensus safety, and liveness. If the SIP has no security impact, state so explicitly and explain why.