Are you interested in what have we done in the last 2 weeks? Let’s find out!
Data Trust Redesign
After a heavy backend redesign in AWS migration in the past couple of sprints, it was time to focus on our data trust services. There was a decent amount of technological debt, that required some serious hands-on approach. Boy, did we head a lot of “Why haven’t we thought of this sooner?” in the past two weeks. Here’s our playlist:
- The Notary service no longer directly communicates with the backend, but is using Agent as a broker for sake of consistency across all services. Messages from the all data trust services to the Agent are sent over RabbitMQ
- Agent’s RabbitMQ is no longer exposed to the “world”. Only services running on the same node where the Agent is deployed can access it. This allowed us to get rid of the overcomplicated architecture with certificates without compromising on security.
- Notary and Secretary no longer communicate with each other directly. The messages between them are relayed via Kafka running on the backend. Backend is also responsible for triggering blockchain notarization events based on the bucket size settings. Contrary to what you might expect, this actually made the messaging architecture much more resilient.
- Transaction hashes, previously held locally on the node running the Notary service in an SQLite Database are from now on kept directly on the backend in a highly available and disaster-resilient database. Not only this limits the storage requirements for a Notary Node but also mitigates data loss in case the node is damaged.
Our CEO, Krzysztof Radecki, represented us during the conference called “How to effectively create R&D strategies in the Polish industry?“. Krzysztof was talking about hardware security, blockchain, and trust – our way from the ECSEL 2016 competition to investing in spin-offs. His presentation was a part of the Partnership Session in the Horizon Europe Program.
A word from CEO
The next days will probably see less development and more conceptual work on our end. Currently, when a user deploys a data trust service on node, any subsequent changes to that service’s configuration must be performed directly on the node, by editing JSON configuration files. It was a conscious decision driven by our privacy-focused mindset, but it is far from user friendly and we need to fix this. While doing so we must mitigate the risk of exposing the user’s sensitive configuration parameters, like AWS keys and secrets. We’ll keep you updated as we progress. – Krzysztof Radecki, CEO