---
# System prepended metadata

title: Architecture Diagrams - Specs

---

## Resource DAG

![](https://hackmd.io/_uploads/ryvr25-th.png)


This diagram aims to show how `Resources` decompose into their components. All Fields consist of a content hash in the systax

```
data ResourceHeader = ResourceHeader {
Fieled :: Content Hash
}
```
*  Resource Logics/Predicates, are computed via `hash(object)`
*  Each field of an object should be individually hashed to provide content addressing for all elements of all layers in the form `Field :: Content Hash`
*  Resource`array` contains: `resource_Logic`, `Prefix`, `Suffix`, `quantity`, `Value`
    *  Fields `resource_logic` and `Prefix` provide type or fungibility identification
        *  `Suffix` provides a history of the resource provides a partially ordered history of the immutable Resources, for dynamic resources



## Anoma DAG Separating Layers

![](https://hackmd.io/_uploads/H1Mid2ZFh.png)

* Separates the architecture of Higher level abstractions from concrete Logic & Engines. As I understand any protocol could be used in place of Taiga or Typhon as long as it meets the constraints of the higher level abstractions; eg. Requirements, Primitives & Basic types
    * This may be wrong   

## Physical DAG & Logical DAG

![](https://hackmd.io/_uploads/S1VoKh-K3.png)


* Shows that a Logical DAG is a subcomponent of the Physical DAG
    * Need some clarity on transaction and basic identity DAGs
    * This is likely wrong