You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> A protocol that enables stakeholders in a proof-of-stake blockchain network to individually sign messages. These signatures are then aggregated into a multi-signature, ensuring that stakeholders collectively represent a minimum share of the total stake.
13
-
14
10
The **certificate chain** is a Mithril component that certifies the **stake distribution** used to create the multi-signature. Its primary purpose is to prevent adversaries from executing an **eclipse attack** on the blockchain.
15
11
16
12
Without the certificate, the stake distribution can't be trusted. A malicious actor could relatively easily create a fake stake distribution and use it to produce a valid multi-signature, which would be embedded in a valid but non-genuine certificate. This certificate could be served by a dishonest Mithril aggregator node, leading an honest Mithril client to restore a non-genuine snapshot.
Copy file name to clipboardExpand all lines: docs/website/root/mithril/advanced/mithril-protocol/security.md
-36Lines changed: 0 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,44 +5,8 @@ sidebar_label: Protocol security
5
5
6
6
# Protocol security
7
7
8
-
:::info
9
-
10
-
Mithril is based on the [Mithril: Stake-based Threshold Multi-signatures](https://iohk.io/en/research/library/papers/mithril-stake-based-threshold-multisignatures/) research paper.
11
-
12
-
:::
13
-
14
-
Mithril is a stake-based threshold multi-signature (STM) protocol that aggregates individual signatures into a compact certificate. This process occurs when the total stake supporting a message exceeds a predefined threshold. The protocol enhances scalability in signing, communication, and verification by pseudorandomly selecting a subset of eligible participants to sign each message.
15
-
16
8
This document presents a comprehensive security analysis of Mithril, examining potential threats and the protocol’s defenses against various attack vectors. It starts with an overview of the STM protocol and the adversarial model, followed by an in-depth discussion of security measures against common cryptographic attacks. The document concludes with an analysis of parameter selection, highlighting trade-offs between security and efficiency through practical examples.
17
9
18
-
## Mithril protocol explained
19
-
20
-
The STM protocol enables participants to sign a message collectively, validating the signature based on their combined stake. It leverages threshold multi-signatures to aggregate multiple individual signatures into a single, compact signature. This approach is especially beneficial in proof-of-stake (PoS) systems, where blockchain security relies on the distribution and control of stake among participants.
21
-
22
-
-_Threshold multi-signature_: a cryptographic scheme that aggregates individual signatures into one compact signature if the total stake of the signers exceeds a predefined threshold
23
-
-_Stake-based eligibility_: the protocol ensures that only participants with sufficient stake are pseudorandomly selected as eligible to sign messages
24
-
-_Aggregation and verification_: aggregates individual signatures into a multi-signature, enabling efficient verification.
25
-
26
-
### Protocol phases
27
-
28
-
-**Initialization phase**
29
-
30
-
-_Setup_: the protocol sets up the necessary cryptographic parameters and prepares the system for operation
31
-
-_Key generation_: participants generate a public-private key pair $(sk_i, pk_i)$
32
-
-_Proof of possession_: each participant creates a proof $(\mathcal{PoP_i})$ that they possess the private key corresponding to their public key
33
-
-_Registration_: participants register their public keys $(pk_i)$ and $(\mathcal{PoP_i})$, which are then stored in a Merkle tree structure for efficient verification
34
-
-_Aggregate verification key_: the root of the Merkle tree, which serves as the aggregate verification key $(\mathcal{AVK})$.
35
-
36
-
-**Operation phase**
37
-
-_Eligibility determination_:
38
-
-_Lottery mechanism_: the protocol initiates a series of lotteries for each message to determine eligible participants. Each participant's chance of winning is proportional to their stake
39
-
-_Security parameter_ $(m)$: the number of parallel lotteries, which ensures that enough participants are eligible
40
-
-_Quorum parameter_ $(k)$: the minimum number of eligible signatures required to form a valid multi-signature
41
-
-_Signing process_:
42
-
-_Individual signature generation_: eligible participants generate individual signatures for the message
43
-
-_Aggregation_: these signatures are aggregated into a single multi-signature; a minimum of $k$ signatures are aggregated into a single multi-signature
44
-
-_Verification_: the multi-signature, along with the Merkle proofs, is verified using the $\mathcal{AVK}$.
45
-
46
10
:::info
47
11
48
12
Protocol phases are described in more detail [here](./protocol.md#protocol-phases).
0 commit comments