FinP2P Anatomy

Introduction

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:

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 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.

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 node 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-node digital securities API will be implemented.

Follow this link for the FinP2P Network & API Documentation and https://finp2p.atlassian.net/wiki/spaces/FINP2P/pages/1043628037

FinP2P Application API

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.

Follow this link for the https://finp2p.atlassian.net/wiki/spaces/FINP2P/pages/393217

FinP2P Ledger Layer

The FinP2P Ledger Layer is an abstraction to the persistent sub-systems

FinP2P defines two different uses cases of persistency.

Implementer: An implementer is free to provide the underlying implementation that supports the FinP2P Ledger APIs. There is no restriction on the technology used for the Privacy Layer or the DLT layer

Follow this link for the FinP2P Ledger Documentation

Private Data Layer

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..

Follow this link for the FinP2P Ledger Documentation

DLT ( Blockchain ) Layer

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 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 nodes. 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