gcb_sq.md
Copland Source
*ghost: @client @bank attest bank sys -> @client prove client id
Abstract Syntax Tree
AST
n0
attest bank sys
n1
prove client id
n2
@client
n2->n1
n3
->
n3->n0
n3->n2
n4
@bank
n4->n3
n5
@client
n5->n4
Events and Evidence
Copland
cluster_bank
bank
cluster_client
client
cluster_ghost
ghost
n14
m(msp(prove, client, id), client, m(msp(attest, bank, sys), bank, mt))
n15
ghost: rpy(client)
n14->n15
n16
m(msp(prove, client, id), client, m(msp(attest, bank, sys), bank, mt))
n15->n16
n12
m(msp(prove, client, id), client, m(msp(attest, bank, sys), bank, mt))
n13
client: rpy(bank)
n12->n13
n13->n14
n10
m(msp(prove, client, id), client, m(msp(attest, bank, sys), bank, mt))
n11
bank: rpy(client)
n10->n11
n11->n12
n7
bank: req(client)
n7->n11
n8
m(msp(attest, bank, sys), bank, mt)
n7->n8
n9
client: msp(prove, client, id)
n8->n9
n3
client: req(bank)
n3->n13
n4
mt
n3->n4
n5
bank: msp(attest, bank, sys)
n4->n5
n1
ghost: req(client)
n1->n15
n2
mt
n1->n2
n2->n3
n6
m(msp(attest, bank, sys), bank, mt)
n6->n7
n5->n6
n9->n10
n0
mt
n0->n1