Bacalhau Project Report - Nov 28, 2022
Incentive Protocols, Websockets, Dashboards, oh my!
Hey everyone,
Another solid week of progress on building a decentralized byzantine fault tolerant compute network.
More test flakes eliminated 🍏💚
A heroic effort to eliminate test flakes has prevailed and our test suite is now more stable than ever. And it works offline so that those of us who spend our lives at 30,000 feet can be more productive than ever 😁
Incentive Protocols 💊🤑
One of our long term goals is to create a protocol that many projects can use to deliver incentives. We want Compute Providers on networks using this protocol to reliably get paid when they do good work. We want clients of the networks to reliably get valid results when they pay.
I feel like this guy:
Nevertheless, we are finally breaking the back of how to integrate a simulated incentive environment into the existing Bacalhau codebase in the form of a Simulator. The protocol will assign wallet balances of ₾ (a currency symbol that looks a bit like a fish) to a simulated network of nodes, run the verification protocols we have sketched and hopefully watch the bad guys’ wallet balances go to zero!
For more info, please see and comment on the design doc.
Websockets, Dashboards, SQLite 🔌👩💻💿
We’ve landed an initial implementation of websockets in main, which means that in the next release you’ll be able to open a websocket subscription and get a firehose of events down it (or you can request events for a specific job_id, in which case you’ll also get replayed historical events).
This is going to get hooked up to our first persistence implementation which will use SQLite on the dashboard backend to remember about jobs even after restarting! The dashboard will rapidly become useful as a way to visualize the network, as well as enabling FIL+ use-cases as previously discussed.
Can you kick it? Yes UCAN! 🔒🍪
We’re collaborating with the wonderful folks over at Fission.codes on an invocation spec to standardize the way that jobs get started, and that seems to be evolving into an integration with UCAN, a way to authorize users without a backend. More on this soon!
Grafana Dashboard 📈💡
The public dashboard is now available here.
We still need to fix resetting counters to zero on process restarts but this is great progress in visibility of the network.
There have also been some really nice steps towards splitting the requestor node out from the compute node.
What’s next? ⏭️
Centralized logging
API improvements
FIL+ design doc
Hopefully a running simulator
Networking design
Invocation spec
Questions/comments? Let us know!
Thanks for reading!
Your Humble Bacalhau Team