R&D Update | Oct 2022

Welcome back to our Monthly R&D Updates @ Subspace Network!

Arthur
Subspace Network

--

The team has been busy making improvements during Gemini 2a. Here are some updates on what’s been happening:

⛓️ Subspace Core Protocol — 30 Merged PRs

Gemini 2a — We’ve crossed 1 PB total storage pledged and touched over 25k nodes, which crossed our milestone 1 goals and gets us closer to milestone 2! Gemini 2a has run without major issues. Additionally, we’ve been able to reduce our infrastructure costs with how successfully Gemini 2a has been running.

Consensus v2 — An initial implementation of our SSD friendly consensus and farming protocol is complete. These updates will go live on our test network once we move to Gemini III. One key change is that we are now using KZG commitments in place of Merkle trees for archiving the history and proofs-of-storage, which makes storage proofs constant-size. Over the next month we will be implementing a new proof-of-replication that leverages the mathematical relationship between KZG commitments and Reed-Solomon erasure coding, effectively allowing for Zero Knowledge (ZK) proofs-of-archival storage!

DSN v2 — We have completed the design and begun an implementation for the next iteration of our Distributed Storage Network (DSN), based on the above changes to our consensus protocol. The main focus is on providing an efficient caching layer for the archival history using our LibP2P DHT, since extracting pieces from the plots will be harder now. This will provide faster retrievals of storage objects for clients while putting less burden on farmers.

Domains & Execution Layer — Our revised execution protocol, which generalizes the decoupled execution framework described in our technical white paper into namespaced execution across different off-chain execution domains (effectively enshrined rollups) is beginning to take shape! We have refactored pallet-executor into pallet-domains on our main chain and begun implementing pallet-executor-registry on the system domain (conceptually similar to the relay chain Polkadot), which will allow executors to stake SSC and process transactions for the network.

X-Domain Messaging Protocol — As part of our domains framework, we have created a generic messaging protocol that borrows and generalizes lots of great ideas from IBC, XCM, Dfinity, and Layer Zero. We have started expressing this design within pallet-messenger, a standard pallet that will reside on all domains and allow them to communicate with each other asynchronously. We will later extend this into an x-chain messaging protocol.

💻 Subspace Desktop — 12 Merged PRs

Audit Completion — We’ve completed the audit of Subspace Desktop with the Trail of Bits team. The product engineering team has since been working hard at updating the application per the audit report, and we look forward to releasing the audit report shortly! We’ve made improvements to better separate the front-end and back-end pieces of our desktop application, which addressed concerns around escalated privilege attempts. We’ve also made some UI/UX improvements that clarify our error flow and provide wallet address validation.

🧑‍💻 Subspace SDK — 2 Merged PRs

Initial API endpoints developed — The team has built out our first initial API endpoints for our Subspace SDK in Rust. The Subspace SDK will be the future library to build all things Subspace. The SDK will provide a simpler and more stable API for developers to build against. We are also building a more user-friendly CLI with the SDK that will provide a better farmer experience!

📊 Subspace Telemetry — 15 Merged PRs

List and Map View are back! — The team has been hard at work to make improvements to our telemetry service as our network continues to grow during Gemini 2a. During that time, we had to disable the node list view and map to ensure that we can keep the service operational. Our service was running into scaling issues as our telemetry service started to hit a high amount of connecting clients in connection with our milestones. We’ve reduced the amount of data being transferred when clients use the service, specifically optimizing our list view which has more and more nodes appearing on the list. With our latest deployment, we have now re-enabled both of those views.

🌲 Ecosystem Partners 🌳

💲Subwallet — 38 Merged PRs

0.6.6 Release and Block explorer support — Subwallet has released a new version of their browser wallet extension that now include block explorer support on your account! Come check out 0.6.6 on their download page.

Thanks for reading and following us through this journey. Please feel free to reach out for any other questions or ideas!

🌎 All Engineering Channels Moved to Slack

All engineering channels in Discord will no longer be active going forward. Communication with the Subspace Network engineering team is now happening on Slack.

The Slack channel is open to the public — if you want to participate in engineering-related discussions and keep up with updates, please fill out a short form, and wait for an email invitation: https://forms.gle/Yo8onAJj1TwyoMcg7

--

--