Breaking the problem down – into layers When thinking about how we might put this approach into practice, it can be helpful to think of Smart Contracts that run on a distributed ledger as a layered model as in the table below. Each layer would be agnostic to the implementation in the layers above and below, but each layer would expose a set of distinct methods or properties that can be called by layers above. Smart Contract Layers 5 Tags 4 Choreography / Orchestration 3 Actions 2 Data 1 Ledger Services 0 Ledger UNRESTRICTED 106

2nd R3 Smart Contract Templates  Summit (All Slides) - Page 107 2nd R3 Smart Contract Templates Summit (All Slides) Page 106 Page 108