One key requirement for MPC is the existence of secure broadcast channels between parties, i.e. Reliable broadcast. This is achieved when the following two properties are satisfied: validity, so that messages intended by an honest sender are received by all players, and consistency, so that all players receive the same value even when the sender is malicious.
Assuming that the relayers set is static and known during each session of communication, as long as all known parties responded with acknowledgment, broadcast can be proved valid.
For ensuring consistency of the broadcasted messages we follow the simple but robust practice of echoing, i.e. Echo broadcast. Once messages from all known parties are received, relayers hash vector containing these messages along with their own ones and send it as an acknowledgment. Assuming relayers sort vectors in the same way (e.g. by party indexes) and all of them received consistent sets of messages, hashes will end up identical and broadcast reliability will be proven. This process is shown in the diagram below:
sequenceDiagram
actor R1 as Relayer 1
actor R2 as Relayer 2
R1->>R2: broacasts msg1
R2->>R1: broacasts msg2
Note over R1,R2: Each relayer hashes H(msg1+msg2)
R1-->>R2: acks with H1
R2-->>R1: acks with H2
Note over R1,R2: Consistancy is proven if H1 == H2
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing