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