The general concept of the service is the information sharing that is required in order to exchange messages between the security collaboration partners.
The service exposes a REST API to interact with other services and it uses a Blockchain architecture that is responsible for the transmission and delivery of the shared information. During wave 2 the only adjustment is the integration of the Hyperledger Fabric instead of the Ethereum blockchain. However, this change is seamless to the end users.
The technology architecture of the service is composed of two major parts, the Blockchain network and the REST API interface. The Blockchain network is constructed by all the peer nodes. Each node has a whole copy of the Blockchain network data. Inside the Blockchain network there is a smart contract deployment that provides some service functionalities. The functionalities of the smart contract are used by the service API that is exposed by a NodeJS – Express application. This application handles all the Blockchain related data and calls and transforms them into FINSTIX compatible data.
The collaboration serves as a middleware between the Blockchain infrastructure and the FINSEC platform. It is responsible to provide an API that can be used to produce or consume data in the Blockchain. The following steps are identified as a typical collaboration scenario, which is illustrated in the figure below :
- A collaboration message is created;
- The generated message is reviewed by a security officer;
- It gets approved for submission to the other stakeholders/organizations;
- The message is sent to the collaboration API endpoint;
- The collaboration API submits the message to the Blockchain smart contract;
- The Blockchain nodes verify the transaction;
- After successful verification, the message is encapsulated and stored inside the Blockchain (the message is accessible by every node);
- An event is raised and sent to all the nodes notifying them about the new message.