bcb_sq_appraise_sink.md
Copland Source
*bank: @client @bank [attest bank sys] -> (appraise client bank -> {} +<- prove client id)
Abstract Syntax Tree
AST
n0
attest bank sys
n1
@bank
n1->n0
n2
appraise client bank
n3
{}
n4
->
n4->n2
n4->n3
n5
prove client id
n6
+<-
n6->n4
n6->n5
n7
->
n7->n1
n7->n6
n8
@client
n8->n7
Events and Evidence
Copland
cluster_bank
bank
cluster_client
client
n19
s(mt, m(msp(prove, client, id), client, mt))
n20
bank: rpy(client)
n19->n20
n21
s(mt, m(msp(prove, client, id), client, mt))
n20->n21
n6
m(msp(attest, bank, sys), bank, mt)
n7
client: rpy(bank)
n6->n7
n8
m(msp(attest, bank, sys), bank, mt)
n7->n8
n3
client: req(bank)
n3->n7
n4
mt
n3->n4
n5
bank: msp(attest, bank, sys)
n4->n5
n1
bank: req(client)
n1->n20
n2
mt
n1->n2
n2->n3
n5->n6
n0
mt
n0->n1
n18
client: join
n18->n19
n17
m(msp(prove, client, id), client, mt)
n17->n18
n14
mt
n14->n18
n13
client: nul
n13->n14
n16
client: msp(prove, client, id)
n13->n16
n16->n17
n15
mt
n15->n16
n9
client: +<- split
n9->n15
n10
m(msp(attest, bank, sys), bank, mt)
n9->n10
n12
m(msp(appraise, client, bank), client, m(msp(attest, bank, sys), bank, mt))
n12->n13
n11
client: msp(appraise, client, bank)
n11->n12
n10->n11
n8->n9