At the same time, another design goal is to allow every institution in the network to offer their clients access to the network via any front-end applications they chose, from multiple vendors (including home grown). We also want to give institutions the choice to store the ledger information on the blockchain networks distributed ledger and private databases of their choice - thereby enabling a multi-vendor, open, competitive and vibrant ecosystem.
To support both these design goals, and enable all institutions to be on the same network, while allowing multiple apps (on the front end) and multiple ledgers (on the back end) - we are proposing FinP2P, an intermediary, thin and stateless network layer, interconnecting between any app and any approved blockchaindistributed ledger technology, to which all financial institution can easily connect. Each financial institution connecting to the network will be described as a Node.
FinP2P defines a network protocol and a set of specification APIs that aim to provide a communication abstraction layer between applications, data privacy and blockchain distributed ledger implementations.
High level network diagram
In the diagram we can see how the FinP2P network connects multiple organizations (in the business context - financial institutions) with different blockchainsDistributed Ledgers, and at the same time, allows transversal communication between the institutions.
Each entity on the network (including organizations, service providers, users and assets) has a global ID (FinID) which is known and accepted across all blockchains Distributed Ledgers and databases connected to the network, so that the same user can hold assets across multiple blockchains Distributed Ledgers with one identity.
Each asset has only one node (institution) that manages their data.
This node becomes the Primary Node for that asset.
The asset is known as a Primary Asset of this node.
Only the primary node of the asset can push transactions relating to that asset into its blockchainDistributed Ledger. That means all transactions related to a specific asset, from across the network, must always be routed to the asset’s Primary Node for verification and execution.
Similarly, each user is brought to the network by only one node (institution), which manages their data.
The node that brought the user is the Primary Node for that user.
The user is known as a Primary User of that node.
Only the primary node of the user can create and update information relating to the user. And only the primary node of the user can decide who (which other nodes) to share the user’s private information with.
After each transaction is finalized on the asset’s primary node, a separate Confirmation Record is stored by the user’s Primary node, on their own blockchainDistributed Ledger, so that:
The blockchain Distributed Ledger of the primary node of each asset has an immutable record of all transactions of that asset, and a fully updated, final, live cap table of the asset at any point in time.
The blockchain Distributed Ledger of the primary node of each user has an immutable confirmation record of all their transactions across all assets, so every institution has a fully updated list of all the holding of each of their users.
One network, to which all financial institutions can connect - which manages assets and users, and enables securities transactions, regardless of which front end apps or back end blockchains Distributed Ledger each financial institution chooses to utilize. Such network will therefore be able to digitize the private capital markets.