Conceptual View
This section describes the object model of the design.
Layers
According to Dan Boneh Blockchain applications may be divided into four layers:
3 | User Interface |
2 | Applications |
1.5 | Compute Layer |
1 | Consensus Layer |
We will use this classifications to group Iroha components and 3rd party components that can be integrated with Iroha components.
Components
Layer | Components | Description |
User Interface | Iroha Clients + 3rd Party Clients Web/Mobile/CLI | User Facing Services |
Applications | Iroha Modules + Custom Iroha Special Instructions | Run on blockchain computer |
Compute Layer | Iroha + Iroha Modules + Iroha Special Instructions | Application logic is encoded in a program that runs on blockchain • Rules are enforced by a public program (public source code) ➔ transparency: no single trusted 3rd party • The APP program is executed by parties who create new blocks ➔ public verifiability: anyone can verify state transitions |
Consensus Layer | Iroha Sumeragi | A public data structure (ledger) that provides:
|
,------------------. ,---------------. ,----------------------. ,---------------. ,--------. |Mobile Application| |Web Application| |Command Line Interface| |Iroha Substrate| |Sumeragi| |------------------| |---------------| |----------------------| |---------------| |--------| |------------------| |---------------| |----------------------| |---------------| |--------| `------------------' `---------------' `----------------------' `---------------' `--------' | | ,-----. |Iroha| |-----| |-----| `-----'
Process View
This section describes the activities of the system, captures the concurrency and synchronization aspects of the design.
Physical View
This section describes the mapping of software onto hardware and reflects its distributed aspect.
Development View
This section describes the static organization or structure of the software in its development of environment.