This document presents the high level structure of a FinP2P Node. A FinP2P node implements the mandatory and some or all of the optional interfaces that allows it to communicate with other Fin2P2 nodes in a network
The FinP2P Node specification proposes an architecture where there is a core engine ( FinP2P Core ) and 3 interfaces.
FinP2P Core is the orchestrator between the interfaces adding specific business logic flows while routing requests and responses between the different components. As the illustration shows, there is no actual communication between the different interfaces, other than via the FinP2P core.
The components are defined to illustrate the separation of concerns of each one. An implementer can decide to define a different internal topology as far as the network protocol and primitives are routed and processed.
Throughout the documents we will assume a FinP2P Node Architecture as described in this diagram. Different documents will get into more details of the interfaces, API, Protocols and interaction between FinP2P Core and the interfaces.
A brief walkthrough on the FinP2P Node Architecture Components:
Implementers: The functionality of this components is mandatory.
As stated in the introduction, FinP2P Core is the orchestrator between the interfaces. In this function resides the logic of routing requests from Applications to local or remote Nodes, Access Private or Public Ledger, enforcing ACL rules.
This function is also responsible of understanding network events and route them to the right component.
Implementer: A FinP2P Node is expected to provide an implementation of this interface in order to allow interoperability with ecosystem applications. There is no restriction on the technology used to implement this interface.
This layer is the interface that provides a standard specification for an open ecosystem of applications and services for financial institutions to choose from and work with on top of the FinP2P network.
The Application API expose the functionality of the network in a simple way, and provide many common digital securities features out of the box, without the need to develop complex blockchain code.
Implementer: A FinP2P Node is expected to provide an implementation of this interface. There is no restriction on the technology used to implement this interface.
This layer represents data an organization does not want to share publicly. The data stored at this layer should be protected by an Access Control List, so that only those entities that are authorized to access it will receive it..