@startuml
!pragma teoz true
database DL
actor P1
actor P2
actor Pt
actor Pn
P1 ->(05) P2: RBcast(prop, S, r, 1)
& P1 ->(25) Pt : RBcast(prop, S, r, 1)
& P1 ->(50) Pn : RBcast(prop, S, r, 1)
P2 -> P2 : S'(sk_2, r)
P2 -> P1 : send(\sigma_2)
... \text{Wait until P1 received }\sigma \text{ t times} ...
Pt -> Pt : S'(sk_t, r)
Pt -> P1 : send(\sigma_t)
P1 -> P1 : C'(pkc, r, J, \{\sigma_r^j\}_{j\in J})
P1 -> DL : PROVE(\sigma)
P1 -> DL : APPEND(\sigma)
P2 -> Pt
P1 ->(05) P2: RBcast(submit, S, r, 1, \sigma)
& P1 ->(25) Pt : RBcast(submit, S, r, 1, \sigma)
& P1 ->(50) Pn : RBcast(submit, S, r, 1, \sigma)
P2 -> DL : P \gets READ()
& Pt -> DL
& Pn -> DL
P2 -> P2 : V'(pk, r, \sigma)
& Pt -> Pt : V'(pk, r, \sigma)
& Pn -> Pn : V'(pk, r, \sigma)
hide footbox
@enduml