Rahasak is a highly scalable blockchain platform for enterprise applications that was developed with a collaboration of engineers and academic researchers. Rahasak is not only a blockchain platform, it's a framework to build and deploy highly scalable enterprise applications with microservices-based architecture. Following are the main components of the Rahasak.
- Aplos Service - Smart contract service implemented using functional programming and actor-based concurrency handling(with Scala and Akka).
- Storage Service - Apache Cassandra-based block, transaction, and asset storage. It supports sharding-based data replication.
- Lokka Service - Block creating service implemented with reactive stream-based architecture(with Scala and Akka streams)
- Rahasak-ML - Federated machine learning service. It allows to build and share ML models in a privacy-preserving manner.
- Apache Kafka - Supports sharding-based consensus and message broker functions.
- Rahasak-CA - Certificate authority that issues certificates for peers and clients in the Rahasak blockchain.
- Etcd Cluster - Service registry and configuration store.
Rahasak introduced real-time transaction enabled novel scalable validate-execute-group blockchain architecture. The proposed architecture built using Apache-Kafka-based consensus and reduces the overhead of the order-execute architecture in traditional blockchain systems. Backpressure operations on scalable real-time applications are handled with Reactive Streaming based methodology.
Concurrent Smart Contracts
Rahasak supports functional programming and an actor-based concurrent smart contract platform Aplos. All blockchain-based software programs and the messages that pass between them are written as Scala functional programming language-based Akka actors. Aplos identified as a Smart Actor platform since it supports concurrent transaction execution blockchain using actor-based concurrency handling.
Rahasak blockchain uses Sharding-based consensus. The consensus handling of the blockchian can be delegate into sub-groups(shards) and operates independently. Further the data replication of the blockchain supports sharding-based architecture. Instead of full-node data replication on blockchain sharding-based data replication has been used to reduce the network and communication overhead in the blockchain.
Rahasak blockchain is designed using Microservices-based architecture. The consensus handling, smart contracts, asset storage, and block generation functions are implemented in independent microservices services in the Rahasak blockchain. Each blockchain node contains four different microservices 1. storage, 2. aplos, 3. lokka, 4. rahasak-ml. All these microservices are dockerized and available for deployment using Kubernetes.
Rahasak used Apache Cassandra-based storage as the blockchain asset storage. All the assets stored in the storage indexed on an elastic search-based full-text search API. Rahasak facilitates the full-text search of blockchain data by using this search API. Rahasak blockchain elastic search API can be plugged with Kibana, Grafana like analytic dashboards. In this way, we make blockchain more scalable, secure, structured, and meaningful for further data analytics.
Rahasak blockchain comes with federated-learning-based machine learning service Rahasak-ML. The data on the different blockchain peers can be analyzed and built the machine learning models in a privacy preserving manner using federated learning. Rahasak-ML supports Pytroch, Pysyft, and TensorFlow-federated machine learning integrations.