Triabase is a blockchain-based database for transparent and effective management of machine learning models in IoT systems.
Triabase consists of 3 layers; the Edge, Application, and Storage Layers.
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.
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.
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:
1 - An Edge Layer client sends a model retrieval request to the REST server of the Application Layer.
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 - The blockchain network's Smart Contract executes the transaction/s by either utilizing the World State database (CouchDB) or the blockchain files.
4 - The results are returned to the Application Layer (server).
5 - The server generates the suiting response and sends the results back to the Edge Layer (client).
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.