bcb_sq_appraise.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
prove client id
n4
+<-
n4->n2
n4->n3
n5
->
n5->n1
n5->n4
n6
@client
n6->n5
Events and Evidence
Copland
cluster_bank
bank
cluster_client
client
n17
s(m(msp(appraise, client, bank), client, m(msp(attest, bank, sys), bank, mt)),
m(msp(prove, client, id), client, mt))
n18
bank: rpy(client)
n17->n18
n19
s(m(msp(appraise, client, bank), client, m(msp(attest, bank, sys), bank, mt)),
m(msp(prove, client, id), client, mt))
n18->n19
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->n18
n2
mt
n1->n2
n2->n3
n5->n6
n0
mt
n0->n1
n16
client: join
n16->n17
n15
m(msp(prove, client, id), client, mt)
n15->n16
n12
m(msp(appraise, client, bank), client, m(msp(attest, bank, sys), bank, mt))
n12->n16
n11
client: msp(appraise, client, bank)
n11->n12
n14
client: msp(prove, client, id)
n11->n14
n14->n15
n13
mt
n13->n14
n9
client: +<- split
n9->n13
n10
m(msp(attest, bank, sys), bank, mt)
n9->n10
n10->n11
n8->n9