rfc/static/rfcs/17/rln-relay-reg-with-tree-on-...

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"];
}