Introduction


Triabase is a blockchain-based database for transparent and effective management of machine learning models in IoT systems.

Internals


Triabase consists of 3 layers; the Edge, Application, and Storage Layers.

  • Layer 1 - Edge Layer

    At the Edge Layer we find the smart devices of the IoT system. These devices participate in a federated machine learning procedure by training models on their local data and storing them on the blockchain network of Triabase. After the local training phase is successfully completed, a node called the Model Aggregator retrieves the multiple models from the blockchain network and aggregates them into a single global model that describes the whole system. This global model is then stored on the blockchain network among the local ones, signaling the end of a single training round of the federated learning procedure.

  • Layer 2 - Application Layer

    The Application Layer is an intermediate layer which hides the complexity of the communication with the database's blockchain network. Here we find a REST server which communicates with the blockchain on behalf of its clients (the smart devices from the Edge Layer), who just use its simple endpoints instead. As of now, the supported endpoints offer model submitting, updating and retrieving services, as well as basic metadata querying options, while the aspiration is to create a full database-like service suite.

  • Layer 3 - Storage Layer

    The Storage Layer comprises the system's blockchain network, which serves as Triabase's secure, transparent and immutable storage medium. At this layer we find Smart Contracts providing the essential data management methods that the REST server from Layer 2 uses to respond to its client requests.

Currently, although Triabase's architecture is platform/framework independent, the federated machine learning procedure is implemented using the Tensorflow machine learning platform, while Layer 2's server utilizes the Node.js runtime environment. Layer 3's blockchain network was constructed using the Hyperledger Fabric framework.

Example of use - Model retrieval processing flow:

Request processing flow

  1. 1 - An Edge Layer client sends a model retrieval request to the REST server of the Application Layer.

  2. 2 - The server translates the request into the corresponding blockchain transaction/s and sends it/them to the blockchain network of the Storage Layer.

  3. 3 - The blockchain network's Smart Contract executes the transaction/s by either utilizing the World State database (CouchDB) or the blockchain files.

  4. 4 - The results are returned to the Application Layer (server).

  5. 5 - The server generates the suiting response and sends the results back to the Edge Layer (client).

About


Triabase was invented and developed by researchers and students at the Data Management Systems Laboratory (DMSL), of the Department of Computer Science, of the University of Cyprus, and is currently suitable for research purposes only.

As of today, Triabase offers only the very basic database operations, but although experimental, real data can be ingested into, and queried from, the system. Because of its limited capabilities, this first version of the system is more suitably called Triastore in the related articles.

Team


Demetris Zeinalipour

Project Leader

Associate Professor, DMSL Director

dzeina@cs.ucy.ac.cy

Andreas Constantinides

Project Leader

Associate Professor

com.ca@frederick.ac.cy

Panagiotis Drakatos

Developer

Computer Science PhD Student

pdraka01@cs.ucy.ac.cy

Erodotos Demetriou

Developer

Computer Science BSc Student

erodotosd@gmail.com

Stavroulla Koumou

Developer

Computer Science BSc Student

skoumo01@cs.ucy.ac.cy