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