FinP2P Anatomy
Introduction
This document presents the high level structure of a FinP2P Router. A FinP2P Router implements the mandatory and some or all of the optional interfaces that allows it to communicate with other Fin2P2 Routers in a network
The FinP2P Router 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 Router 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 Router Architecture Components:
FinP2P Core
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 Routers, Access Private or Public Ledger, enforcing ACL rules.
This function is also responsible of understanding network events and route them to the right component.
Follow this link for the FinP2P Core Documentation
FinP2P Network & APIs
Implementers: This component is mandatory
The FinP2P Network handles all the intra and inter Router communication. It implements the Network API specification and transport requests from the FinP2P Core component and back.
On top of this network protocol, the inter-Router digital securities API will be implemented.
Follow this link for the FinP2P Network & API Documentation and FinP2P Services
FinP2P Application API
Implementer: A FinP2P Router 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.
Follow this link for the Applications
FinP2P Ledger Layer
The FinP2P Ledger Layer is an abstraction to the persistent sub-systems
FinP2P defines two different uses cases of persistency.
Follow this link for the FinP2P Ledger Documentation
Private Data Layer
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.
Follow this link for the FinP2P Ledger Documentation
DLT ( Blockchain ) Layer
This layer is the interface to the underlying DLT used by the organization.
With this interface an Organizations stores information that has to be accessible to all participating Routers. The underlying DLT provides an immutable, distributed and validated storage layer.
This specification defines a number of mandatory flows that must be persisted at this layer:
Asset Transactions
Confirmation Records of transactions.
Private Data Hash
Follow this link for the FinP2P Ledger Documentation