mirror of https://github.com/vacp2p/rfc.git
33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
|
# Sequence diagram for RLN Relay protocol (registration)
|
||
|
msc {
|
||
|
hscale = "2";
|
||
|
|
||
|
d [label = " "], a [label = " "],b [label = " "];
|
||
|
a rbox a [label="Relay Node A"],
|
||
|
b note b [label="Membership Contract"],
|
||
|
d rbox d [label = "Relay Node B"];
|
||
|
|
||
|
b abox b [ label=" \n Listening to the membership contract \n "] ;
|
||
|
|
||
|
a box a [ label=" \n Generate sk,pk \n "] ;
|
||
|
a=>b [ label = " \n Register(pk, x ETH) \n " ] ;
|
||
|
a box a [ label=" \n Listening to the membership contract \n "] ;
|
||
|
|
||
|
b box b [label=" \n Insert pk as a leaf to the tree \n \n index: The index of the inserted leaf \n \n root: The updated tree root \n \n authPath: The authentication path \n "];
|
||
|
|||;
|
||
|
b=>a [ label = "index, root, authPath"];
|
||
|
|||;
|
||
|
..., ---;
|
||
|
... [ label = "Other relay nodes register and the membership tree gets updatetd" ];
|
||
|
..., ---;
|
||
|
a=>b [ label = "getRoot()" ] ;
|
||
|
b box b [label=" \n root: Get the current root\n "];
|
||
|
b=>a [ label = "root"];
|
||
|
|
||
|
..., --- [ label = " " ];
|
||
|
|
||
|
a=>b [ label = "getAuthPath(index)" ] ;
|
||
|
b box b [label=" \n authPath: Calculate the authentication path of the leaf with the given index and based on the current tree\n "];
|
||
|
|
||
|
b=>a [ label = "authPath"];
|
||
|
}
|