# Sequence diagram for RLN Relay protocol (registration) msc { hscale = "1.3"; 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"]; |||; d abox d [ label=" \n Listening to the membership contract \n "] ; a box a [ label=" \n Generate sk,pk \n "] ; a=>b [ label = "Register(pk, x ETH)" ] ; a abox a [ label=" \n Listening to the membership contract \n "] ; b box b [label=" \n Insert pk to the list. \n Emit an event announcing the insertion of pk and its index in the list. \n "]; |||; ---; b abox b [ label=" \n Block containing the insertion transaction is mined \n "] ; b=>a [ label = "Insert(pk, index)"]; b=>d [ label = "Insert(pk, index)"]; }