Update 22 February, 2024

18 Years Old Today…

It’s quite a milestone. But It marks the start of something much bigger than the combined effort of all those years.

We’ve got something rather special on the way.

Things are getting very real, and as @JimCollinson alludes to, it promises to be a whirlwind few weeks ahead. So make sure you join us for that very important live event next week.

Development Update

Despite tempting fate, ValentinesNet is still going strong, so all being well we’ll keep it going til we run out of space or release a new node with a breaking change. We are moving ahead with updates on the fly, with local tests passing pretty well, and we hope to put it to the test on the current testnet. Basically what will happen is that node IDs and data will be seamlessly retained even as the sn_node software is updated.

We’ve learned some useful lessons from the current testnet, so thanks as always to all you testers out there. One of the issues has been with replication, where we are continually stacking up pending messages from nodes that are not actually get-able, which means the data never actually gets written or fetched. So we’re working on sorting that out. We’re also delving into fault tolerance, where nodes are misbehaving but are not being deleted from peers’ routing tables as they should be. So we’ve started to look at detecting and blacklisting misbehaving nodes.

Thanks for the new and ongoing threads on the forum. @happybeing, @danda and others are working through ideas for a FUSE filesystem API, @josh has been testdriving sn_manager which has already helped us iron out a few UX lumps and we’ve had more good discussions on the registers thread. Mark also found a useful post on speeding up Rust build times, and cos we forgot him last week ( :bowing_man:) here’s a mention of his PR to expose MerkleReg and add register_inspect which is now merged. This is all great stuff guys, and while we can’t pitch in all the time, is genuinely helpful.

On registers, we want to keep it simple for now, with registers holding pointers to chunks, and see how far we can go with that. For one thing it makes for a simple pay-once-edit-for-free-til-its-full model. We haven’t used registers much ourselves yet beyond simple folders, and we want to test this approach to check its limitations and how much can be enabled via APIs. Then, if it doesn’t work out for us or app developers, we’ll review it.

On the audit DAG sn_auditor, @anselme has got a basic proof of concept working now so we can track anonymised spends, CashNotes and transaction inputs and outputs all the way back to Genesis and display queries as JSON. As this graph will grow quite big and querying it quite heavy we envisage dedicated DAG nodes to hold them, the operators perhaps offering API access to anyone wanting to query them for a fee. Here is an SVG visualisation of a few spends on a simple network.

General progress

As well as getting the DAG POC up and running @anselme has been working on serialisation and deserialisation so we can support multiple serialisation methods generically. He also dug into errors seen in the CI related to checking for redeemed CashNotes already spent. feat: custom serde for unique keys by grumbach · Pull Request #1329 · maidsafe/safe_network · GitHub and improved DAG crawling performance with better parallelisation.

@bzee successfully got the WASM proof of concept running in the browser and connecting to nodes :tada:, after much troubleshooting of compilation and configuration issues. This has been far from straightforward as it’s all pretty rough around the edges, but at least we know where some issues lie now.

On releases, @roland has added a retry mechanism for failed release downloads. Roland also worked on better integrating the manager daemon and refactoring code to control node processes and services in a more unified way.

Also on releases, @chriso handled some release management tasks to do with upgrading the network and fixed an issue in CI by uploading release binaries to S3 earlier in the publish process. This prevents errors when testing upgrades. He continued adding to the node_manager functionality with a faucet subcommand that will allow testnet management operations like adding, starting, stopping and upgrading the faucet.

@joshuef has also been deep in releases, improving the release workflow and working through issues like default branch settings and merging behaviour between git channels. The aim is a smooth flow for development on the alpha channel while keeping main stable. He’s also been thinking about pricing controls, and how those might be put in the hands of node operators, as in this forum discussion.

@dirvine led discussions about ideas for improvements like terminating nodes when the disk fills up and removing unresponsive nodes from routing tables during replication, as mentioned above. This would help avoid hassles like nodes appearing online but not actually functioning properly from a client’s point of view.

@bochaco merged a PR to move metadata out of folder entries into separate chunks, laying groundwork for features like tracking local changes and sync. He then began another PR to implement local change tracking for folders. This will form the basis of sync capabilities.

@jason_paul started investigating refactoring file.rs into more modular subdirectories by function, including an initial example of making the code more logical and maintainable.

Meanwhile, @qi_ma has been focussed on analysing node logs where nodes have gone over record limits. He tweaked cap and pruning parameters to raise limits and prevent re-fetching of pruned records during replication. This should help ease some of the storage issues we’ve been seeing.

And on top of the other news @jimcollinson’s has begun exploring potential approaches for measuring payment performance factors like transactions per second, confirmation time and time to finality. This will allow quantitative comparison to other projects.

Oh, and we’d also like to welcome a new member of the team (if you haven’t bumped into her already). @Rachel (aka Atomic654) will be our dedicated Community Manager helping out across all the wider socials. Give her a hearty welcome!


Useful Links

As an open source project, we’re always looking for feedback, comments and community contributions - so don’t be shy, join in and let’s create the Safe Network together!

65 Likes

Thanks so much to the entire Maidsafe team for all of your hard work! :horse_racing:

Also to the community testers working on our testnets! :horse_racing:

And I am very excited about our new presence on discord, as well. This will strengthen and grow our community.
:horse_racing:

Finally, welcome to the party @Rachel. The fun is just getting started! You are just in time.

8gpa6r

22 Likes

MaidSafe, 18 Years Old Today

Then they were first!

17 Likes

Oh, so close!

18 Likes

Well that’s a whopper of an update team :clap: Thank you everyone and welcome @Rachel, and good luck.

This is great news. I’d love to know more and to look at the code if possible.

18 Likes

Great update! Keep up the good work :smile:

16 Likes

I accidentally discovered today that MaidSafe is celebrating its 18th birthday today and I thought there probably won’t be any official announcement anymore but there is!

Happy birthday to MaidSafe and all its users! :birthday: :champagne: :clinking_glasses: :partying_face:

A big thank you to everyone who participated in the tests and to the team for their hard work and relentless pace!

A warm welcome to @Rachel, I hope she will strengthen the project significantly! :blush:

19 Likes

So you already doing audit of code,understood I correctly?

7 Likes

Thx 4 the update Maidsafe devs

PR are the best, @happybeing :clap: :clap: :clap:

Wow there is so much progress, this is so insanely close

Welcome @rachel right time, right place

Maidsafe :beers: :beer: :partying_face: :wine_glass: :cocktail: :tropical_drink: :baby_bottle:

Keep hacking/testing super ants

16 Likes

Getting the tingles!!!

…up the left arm
…as well as a cold sweat
…and shortness of breath
…and now the chest pain

21 Likes

Stop posting on here and call 999 :joy:

15 Likes

Phew, that was a lot! Below some of my personal favorites:

Really nice to hear that this aspect is now under way!

Super! :+1:

Welcome Rachel, I hope you like it here!

13 Likes

And now I started to worry about this… Some time ago there was a thought that malicious actor could try to buy nodes to cause havoc in the network. I think this might open a way to something like that. But I think it was a worry back in the time when we had elders and all that? I guess those worries doesn’t apply to the current design?

12 Likes

Happy birthday Maid! :birthday:

14 Likes

Happy Birthday MaidSafe. :partying_face:

@dirvine Did you see Maidsafe being what it is today when you started?

@Rachel A warm welcome from the community. We’d love to hear from you in the forum here. I hope you know what you got yourself into :rofl:

16 Likes

Now I did, for a while it was a bit fuzzy, but now back on track. I have always seen it as a logical requirement of a modern, connected world, though. So what we see now I feel is step 1.

25 Likes

Fantastic update team. Appears that a marketing branch of Maidsafe is developing … I wonder what that might imply :thinking: Eighteen years old is considered a mature adult in many countries - perhaps another hint there.
:rocket: :partying_face:

Well interesting times ahead for sure. Thanks for the update and all the hard work team and all supporters.

cheers :beers:

14 Likes

Welcome, @Rachel! Excited to see this critical role created and filled :clap:t5::clap:t5::clap:t5:

22 Likes

Happy 18th Maid!!!

When I turned 18, the Commodore Pet computer was discontinued after a short run of just 5 years. My buddy had one, and I remember watching with excitement, the magnetic cassette tape loading in space invaders, which seemed to take a blazing fast 20 minutes. Playing a game with only character sets in ROM, in those days on a MOS machine, was the pinnacle of technology.

The truly exciting thing though for me these days, is that the SafeNetwork, after 18 years, is only coming into adulthood, bringing with it new energy, and a new technology; standing on the brink of a whole new Internet.

This is not the end, but just the very start of a grand adventure toward the pinnacle of technological maturity!

Thanks team and testers, and all who are here, just for the ride, like me.

17 Likes