Update from Bux - March 19, 2026

Uploads work on a real distributed testnet
74 nodes across 19 machines, 3 providers, 7 geographic locations. File uploads working. Network I/O - DHT lookups and chunk transfer - near-instant. The payment layer was the bottleneck, which brings me to…

Batch payments
A 100-chunk upload that previously needed 100 separate payment transactions now needs one. Merkle batch payments implemented end-to-end with ML-DSA-65 post-quantum crypto throughout. Tested on a 35-node testnet, CI all green.

Self-encryption upgrade
Shipped v0.35.0 - ChaCha20-Poly1305 + BLAKE3 with domain-separated key derivation. Legacy format gone. Cleaner, more secure, quantum-safe.

Indelible is taking shape
We have a working UI for uploads, collections, user management, API tokens, wallets, quotas, and analytics - alongside the Autonomi desktop app with node management and managed storage. This is the human-facing gateway to the network - and it’s real, running, and being tested.

Trust and node selection
2.0 fundamentally changes which nodes store your data. Not just the closest nodes to an address - it’s nodes with a high enough trust score, close to the address, and in different geographies and providers. That’s the structural defence against the attacks that plagued 1.0. Trust model being refined actively across the team.

Auto-upgrades working across Linux, Windows, and MacOS on a 102-node testnet
A note on this: we know auto-upgrades are inherently centralized - someone is pushing code that nodes trust. It’s a pragmatic tool for early launch when we need to iterate fast. The intention is to remove it once the network is stable. A decentralized network that depends permanently on centralized code pushes isn’t really decentralized. We’ll get there.

Architecture cleanup
Core networking cleaned up - legacy dependencies removed, identity verification hardened, integration tests added. Security principle set: default logging off in production. No metadata.

Getting to market
Heads down on execution - not planning, doing. Socials reactivated - new content will be built across X, LinkedIn, and YouTube (this will help us with podcasters and press when we get there). Audience-segmented campaigns in development (for products on The Network, not just The Network itself). Engaging in the agentic AI and post-quantum conversations (Jim can talk on this but agents giving you feedback on how to engage and succeed in them selecting skills autonomously is fascinating … also a bit of a mind melt if honest!). We’re also scaling content production like we’ve never been able to before. More as launch approaches. Any help and support you guys would be willing to give here, through your online (or indeed offline) interactions, would be incredibly appreciated :woman_bowing:

What’s next:
Replication system for reliable downloads, trust model refinement, continued testnets, and launch prep acceleration.

TLDR:
Autonomi 2.0 to go live early April (committed to the 7th in the public sphere but may move a little ahead of time with you guys).

Onwards we go!
@Bux

29 Likes

Thanks for the update on behalf of the ancient forum. I am curious to see where it goes now.

6 Likes

Great update! It sounds like Autonomi 2.0 is coming together well.

I’m also pleased to hear that all being well we’ll get a taste of it ahead of the official launch :slight_smile:

Keep up the amazing work team :smiley:

8 Likes

Thanks so much to the entire Autonomi team and community for all of your hard work! :sweat_droplets::flexed_biceps:

5 Likes

Hopefully I get a windows friendly network to play with, kinda sounds that way.

3 Likes

Is this a new thing?

4 Likes

been discussed for weeks in the secret Discord channel…

oops did I say that out loud?

5 Likes

Wowzaaaaaaaa!!!

awesome news, I’m really looking forward to the desktop app which kinda stealthily just popped up as of late it seems (quite a fabulous surprise, thanks y’all) and also really really interested in the vetting and ID scenario and if the network can/will provide a privacy-respecting ID tool adoptable and usable for general everyday purposes…

3 Likes

Cool!

.\saorsa-node.exe --bootstrap "165.22.4.178:12000" --bootstrap "164.92.111.156:12000" --rewards-address 0xd8a1e1e71992923e2a4af87f0756db07aa25cd82
2026-03-20T03:04:05.362739Z  INFO saorsa_node: saorsa-node starting version="0.4.1" commit="ef8b2b4"
2026-03-20T03:04:05.367521Z  INFO saorsa_node::node: Building saorsa-node with config: NodeConfig { root_dir: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", port: 0, ip_version: Dual, bootstrap: [165.22.4.178:12000, 164.92.111.156:12000], network_mode: Production, testnet: TestnetConfig { max_nodes_per_asn: 5000, max_nodes_per_64: 100, enforce_age_requirements: false, enable_geo_checks: false }, upgrade: UpgradeConfig { enabled: false, channel: Stable, check_interval_hours: 1, github_repo: "dirvine/saorsa-node", staged_rollout_hours: 1 }, payment: PaymentConfig { cache_capacity: 100000, rewards_address: Some("XXXXXXXXXXXXXXXXXXXXX"), evm_network: ArbitrumOne, metrics_port: 9100 }, bootstrap_cache: BootstrapCacheConfig { enabled: true, cache_dir: None, max_contacts: 10000, stale_threshold_days: 7 }, storage: StorageConfig { enabled: true, max_chunks: 0, verify_on_read: true, db_size_gb: 0 }, max_message_size: 5242880, log_level: "info" }
2026-03-20T03:04:05.369482Z  INFO saorsa_node::node: Node identity resolved peer_id=ce6bc09135d1c2815151b81e43f0686a8dc865e31b2b3cabf10faff624c8286e root_dir=C:\Users\StefanoC\AppData\Roaming\saorsa\data\nodes\ce6bc09135d1c2815151b81e43f0686a8dc865e31b2b3cabf10faff624c8286e
2026-03-20T03:04:05.369998Z  INFO saorsa_transport::bootstrap_cache::cache: Opened bootstrap cache with 0 peers
2026-03-20T03:04:05.370628Z  INFO saorsa_transport::p2p_endpoint: Creating P2P endpoint (fingerprint: 80c38ae4b07d6934)
2026-03-20T03:04:05.370863Z  INFO saorsa_transport::bootstrap_cache::cache: Opened bootstrap cache with 0 peers
2026-03-20T03:04:05.374961Z  INFO saorsa_transport::p2p_endpoint: Bound shared UDP socket at [::]:56276
2026-03-20T03:04:05.375050Z  INFO saorsa_transport::nat_traversal_api: Creating server config using Raw Public Keys (RFC 7250) for symmetric P2P node
2026-03-20T03:04:05.375147Z  INFO saorsa_transport::nat_traversal_api: Creating client config using Raw Public Keys (RFC 7250)
2026-03-20T03:04:05.375215Z  INFO saorsa_transport::nat_traversal_api: Using pre-bound UDP socket at [::]:56276
2026-03-20T03:04:05.375320Z  INFO saorsa_transport::nat_traversal_api: Endpoint bound to actual address: [::]:56276
2026-03-20T03:04:05.375385Z  INFO saorsa_transport::nat_traversal_api: Updated discovery manager with bound address: [::]:56276
2026-03-20T03:04:05.375449Z  INFO saorsa_transport::nat_traversal_api: Created MASQUE relay server on [::]:56276 (symmetric P2P node)
2026-03-20T03:04:05.375534Z  INFO saorsa_transport::nat_traversal_api: Started 1 transport listener tasks (excluding UDP)
2026-03-20T03:04:05.375585Z  INFO saorsa_transport::nat_traversal_api: Started accepting connections (symmetric P2P node)
2026-03-20T03:04:05.375634Z  INFO saorsa_transport::nat_traversal_api: Started discovery polling task
2026-03-20T03:04:05.375679Z  INFO saorsa_transport::candidate_discovery: Starting candidate discovery for Local
2026-03-20T03:04:05.375725Z  INFO saorsa_transport::nat_traversal_api: Started local candidate discovery
2026-03-20T03:04:05.376083Z  INFO saorsa_transport::p2p_endpoint: Creating P2P endpoint (fingerprint: 954c2c66cc0619ef)
2026-03-20T03:04:05.376328Z  INFO saorsa_transport::bootstrap_cache::cache: Opened bootstrap cache with 0 peers
2026-03-20T03:04:05.376466Z  INFO saorsa_transport::p2p_endpoint: Bound shared UDP socket at 0.0.0.0:56277
2026-03-20T03:04:05.376519Z  INFO saorsa_transport::nat_traversal_api: Creating server config using Raw Public Keys (RFC 7250) for symmetric P2P node
2026-03-20T03:04:05.376577Z  INFO saorsa_transport::nat_traversal_api: Creating client config using Raw Public Keys (RFC 7250)
2026-03-20T03:04:05.376646Z  INFO saorsa_transport::nat_traversal_api: Using pre-bound UDP socket at 0.0.0.0:56277
2026-03-20T03:04:05.376711Z  INFO saorsa_transport::nat_traversal_api: Endpoint bound to actual address: 0.0.0.0:56277
2026-03-20T03:04:05.376764Z  INFO saorsa_transport::nat_traversal_api: Updated discovery manager with bound address: 0.0.0.0:56277
2026-03-20T03:04:05.376816Z  INFO saorsa_transport::nat_traversal_api: Created MASQUE relay server on 0.0.0.0:56277 (symmetric P2P node)
2026-03-20T03:04:05.376900Z  INFO saorsa_transport::nat_traversal_api: Started 1 transport listener tasks (excluding UDP)
2026-03-20T03:04:05.377091Z  INFO saorsa_transport::nat_traversal_api: Started accepting connections (symmetric P2P node)
2026-03-20T03:04:05.377144Z  INFO saorsa_transport::nat_traversal_api: Started discovery polling task
2026-03-20T03:04:05.377189Z  INFO saorsa_transport::candidate_discovery: Starting candidate discovery for Local
2026-03-20T03:04:05.377234Z  INFO saorsa_transport::nat_traversal_api: Started local candidate discovery
2026-03-20T03:04:05.377851Z  INFO saorsa_transport::bootstrap_cache::cache: Opened bootstrap cache with 0 peers
2026-03-20T03:04:05.378281Z  INFO saorsa_node::node: Bootstrap cache initialized with 10000 max contacts
2026-03-20T03:04:05.381517Z  INFO saorsa_node::payment::verifier: Payment verifier initialized (cache_capacity=100000, evm=always-on)
2026-03-20T03:04:05.382553Z  INFO saorsa_transport::candidate_discovery::windows: Network interface scan completed successfully
2026-03-20T03:04:05.383260Z  INFO saorsa_node::node: ANT protocol handler initialized with ML-DSA-65 signing (protocol=saorsa/ant/chunk/v1)
2026-03-20T03:04:05.383378Z  INFO saorsa_node::node: Node runtime loop starting
2026-03-20T03:04:05.383563Z  INFO saorsa_transport::p2p_endpoint: Connecting directly to 165.22.4.178:12000
2026-03-20T03:04:05.384566Z  INFO saorsa_transport::candidate_discovery::windows: Network interface scan completed successfully
2026-03-20T03:04:07.390681Z  WARN saorsa_transport::candidate_discovery: Local interface scan timeout for Local, proceeding with available candidates
2026-03-20T03:04:07.391065Z  INFO saorsa_transport::candidate_discovery: Discovery completed (timeout) for Local: 2 candidates
2026-03-20T03:04:07.390699Z  WARN saorsa_transport::candidate_discovery: Local interface scan timeout for Local, proceeding with available candidates
2026-03-20T03:04:07.391628Z  INFO saorsa_transport::nat_traversal_api: Discovery completed with 2 candidates in 2.0134069s (success rate: 100.00%)
2026-03-20T03:04:07.392133Z  INFO saorsa_transport::candidate_discovery: Discovery completed (timeout) for Local: 2 candidates
2026-03-20T03:04:07.392739Z  INFO saorsa_transport::nat_traversal_api: Discovery completed with 2 candidates in 2.0149639s (success rate: 100.00%)
2026-03-20T03:04:35.387931Z  INFO saorsa_transport::p2p_endpoint: Connecting directly to 164.92.111.156:12000
2026-03-20T03:05:05.392514Z  INFO saorsa_node::node: P2P node started listen_addrs=[MultiAddr { transport: Quic([::]:56276), peer_id: None }, MultiAddr { transport: Quic(0.0.0.0:56277), peer_id: None }]
2026-03-20T03:05:05.393089Z  INFO saorsa_node::node: Protocol message routing started
2026-03-20T03:05:05.393564Z  INFO saorsa_node::node: Node running, waiting for shutdown signal
5 Likes

when test net? @JimCollinson :smiley:

3 Likes