What’s been cooking? (Blockless Technical Update — September)

Blockless
3 min readSep 13, 2024

--

What does it look like when you take a group of everyday devices and turn them into a new way of powering and processing the internet we use everyday? We’d like to show you, with our monthly technical update.

Read on below to discover what we’re working on and why we’re working on it.

Browser-based Node

Our first campaign with the browser based node was a success. Users were able to open a dApp and participate in providing compute power back to the project directly and automatically. The browser based node functioned as intended, deriving the compute resources taking into account the resources currently available to that device, and the task(s) that device would have already been engaged in.

Cluster Discoverability

Previously, worker nodes (that’s your everyday, regular node, running from your browser) forming a cluster for consensus relied on knowing each other’s addresses beforehand. The update now enables the head node (one of the regular everyday nodes which is randomly selected to serve as the head node) to provide the multiaddresses of chosen peers within the FormCluster message payload. That last bit sounds confusing, so let’s explain why we’ve done this.

Worker nodes can now automatically add new peer addresses to their address book if unknown, ensuring smoother communication during consensus without needing prior knowledge of fellow replicas. This improvement streamlines the cluster formation process, enhancing efficiency and reliability in carrying out compute tasks.

Metadata in Execution Results (AVS Update)

This update ensures accurate aggregation by tracking per-node metadata and returning it with execution results. That means we’re tracking each node’s progress even more closely to unlock a little more functionality and improve efficiency down the line.

You should view per-node metadata as the equivalent of a black box on an airplane. It helps you work out what’s happened, when and why.

Additionally, direct executions, raft, and PBFT now produce metadata if the node is configured accordingly. PBFT execution output comparison has been improved by ignoring metadata and resource usage, resolving prior inconsistencies. Importantly, the system functions as before if metadata is not utilized. To enable metadata, users simply add the ‘node.WithMetadataProvider()’ option in the node constructor.

Archive Extraction (Security Release)

This fix resolves vulnerabilities related to the ZipSlip exploit. ZipSlip is a security flaw that allows attackers to overwrite arbitrary files during the extraction of archive files, posing a serious threat to system integrity. With this fix, safeguards have been implemented to prevent file path traversal during extraction, ensuring that files are unpacked only in intended directories.

This enhancement protects the system from malicious archive content, improving overall security and preventing unauthorized file modification or exposure.

Swagger docs for the REST API

For those looking to build on Blockless, we’ve built out our Swagger documentation for the REST API. Swagger provides an interactive and user-friendly interface for developers to explore, understand, and test API endpoints in real-time.

The documentation includes detailed descriptions of each endpoint, supported methods, request parameters, and response formats. By incorporating Swagger, this update improves accessibility and usability of the REST API, making it easier for developers to integrate and work with the system while ensuring clarity and consistency in API interactions.

We’re finally reaching the point where we’re ready to open up our network to the many people around the world that we want to power it. As we get closer to the launch of our testnet, we’ll be providing more information as to how you can take part, as a builder, as a user, or as both.

In the meantime, join us at discord.gg/blockless for the latest updates.

Stay Blessed,

Blockless Engineering

--

--