Safe Network Dev Update - September 3, 2020

Summary

Here are some of the main things to highlight since the last dev update:

  • We have finished with the changes in Routing required to expose an async API, with only some minor issues left to be fixed before we consider this task done.
  • The remove parsec PR has been raised, with work ongoing to resolve failing CI tests.
  • We’re changing to Title Case for the Safe Network (as opposed to SAFE Network).

CRDT

safe-fs

This week focus has returned to the filesystem layer that will integrate the tree CRDT with FUSE. A solution was implemented and tested that encodes both a replica_id and inode identifier into a single 64 bit unsigned integer used by the FUSE API. This solution requires fewer lookups and less code than the original design. Details

We also performed some tests of filename conflicts between replicas. In the Tree CRDT, a filename is just metadata and can be duplicated. But in a filesystem, it’s not OK to have two directory entries with the same name. For now, we are going with a resolution strategy that the last-writer gets to keep the original filename, and any loser is renamed to <filename>.conflict.<replica_id>. Details

Lastly, work has begun to implement the filesystem layer in Rust + Fuse. For now we are using the polyfuse library, but that could change. As this work progresses, it will finally be possible to mount and write to a crdt_tree based local filesystem, which has been our Phase 1 goal.

Safe Client Libs and quic-p2p

Safe Transfers Project plan
Safe Client Libs Project plan
Safe Vault Project plan

We’ve started the documentation effort for Safe Client Libs, progressing with Rust doctests (documentation that is verified by the compiler and can be tested as part of CI) for large parts of the API there. While SCL itself will still not be wholly stable until we get quic-p2p fully updated in there, this does give us some guarantees for the code which we’re now using for CI once more. There have also been some other code quality issues fixed, plus some refactoring afoot there too.

We’ve been making a few improvements to the quic-p2p async API which will allow us to re-use streams to exchange multiple messages between peers. This removes the need to create a new stream for every request-response pair. The consumer of the API can hold on to the streams as long as they need to and gracefully shut it down when they are done. We have also started migrating the unit tests to use the new API for continuous testing and integration.

Alongside this, we’ve also begun upgrading the rest of our repositories to use async quic-p2p, consequently making them async as well. BLS-DKG is the repo under the microscope right now - we’ve started updating it to async, fitting it flush with the new quic-p2p APIs and features.

Routing

Project Plan

Adam made great progress on the parsec removal (plus relocation refactoring) work before going on leave at the end of last week, with the in-progress remove parsec PR raised. There are some failing tests, due to the huge scope of the refactoring, which need to be resolved before it would be considered ready to fully review and merge.

With Adam on leave this week, Qi picked up the task of resolving these failing tests, raising a WIP remove parsec PR for rebasing and resolving the issues found. At this point the unit tests are successfully passing, with Qi now tackling failing integration tests. The progress is steady, and we hope to see those CI :white_check_mark: gradually re-appearing for this critical refactoring work.

We’ve also finished with the changes in Routing required to expose an async API, having the message handling logic now fully integrated with the new API and the new internal async design. We are now trying to fix some minor issues which will be the last thing required to consider this task done. During this refactoring, and thanks to the async migration, we’ve seen some other areas of improvement which we are keeping out of the scope for now, e.g. breaking up some modules into smaller ones that encapsulate their responsibilities.

We’re changing to Title Case for the Safe Network

As most of you will know, the Network’s name is an acronym formed from the phrase: Secure Access For Everyone. For the most part, when referring to the Network, you’ll have seen that in upper case, as the SAFE Network.

But in other areas you’ll see it in Title case, for example Safecoin, or MaidSafe.

There are no hard and fast rules on how acronyms are supposed to be used, and we’ve never standardised anything until now, but we’ve made the call to start using title case, and embrace writing it as the Safe Network. We hope you will too.

It may seem trivial, but there are a few reasons why we think it’s worth doing:

  • Safe Network, and Safe, is much more ergonomic. Using the all-caps acronym doesn’t work in many circumstances, as it becomes less readable, and less understandable. E.g. #SAFENetwork vs #SafeNetwork, SAFEID vs SafeID.
  • The meaning of the acronym is built into the definition of the word itself; We can still explain it is an acronym when we need to, but we aren’t sacrificing the ergonomics for general use.
  • The word safe embodies the project too, which is good. And it’s “Safe Network”, written as it is pronounced, that we want to stick.
  • We’re in a techie world which suffers under an abundance of acronyms and initialisms, and it can make things almost impenetrable at times. So if we don’t need to surface the acronym, we shouldn’t.
  • We actually already use it this way in many places: Safecoin, MaidSafe, SafeID, repo names etc. It would be nice not to have this weird mix.

So happy Safe Networking folks! Your shift key will thank you.

Useful Links


Feel free to reply below with links to translations of this dev update and moderators will add them here:

:bulgaria: Bulgarian

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!

:love:

73 Likes

Here I am. First.

And there you are, update. At last.

22 Likes

You know what they say about second and the best… :wink:

Now to read!

This is great! Thanks, Adam and Qi! :smile:

23 Likes

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

4a5zkm

18 Likes

The time run fast and the SAFE Network is now Safe Network :wink:

12 Likes

Sounds like some serious tidying is happening across the board. As all these parts all are simplified, made into modules, and officially tied together then we’ll be having some real fun with a helluva updated SafeNetwork

17 Likes

30 posts were merged into an existing topic: Safe name brand poll

Fantastic work once again team as this thing is welded together. I think the time and effort spent on crdt and fuse is well worth it, as is dropping parsec for more elegant systems of ants. There will be a ton of skepticism at launch and quick wins for users and developers is part of the UX that will blow people’s socks off.

15 Likes

Nice suggestion about connecting the words. Well done to the team as always… keep your mind, body and spirit… not long now.

9 Likes

Thanks Maidsafe devs.

Great work Adam and Qi, hopefully parsec is out the sandbox soon

It also let wealthy people know where to store their… :crazy_face:

:+1:t2: looks good and might be :duck: :duck: goable

Keep up the hacking super ants

10 Likes

Thanks for another week of hard work everyone, and thanks especially to folk who answered my data questions earlier in the week!

Can’t say I’ve got any strong opinions about the name change, but really nice to see things like that getting tidied up, as well as all the tidying up on the code side as well. Feels like it’s moving towards something…

11 Likes

I’ve been following the project in 2015-2017 but sold all my coins some time in 2017. Got back here 3 years later and had to create a new account as I didnt remember my credentials . Hi all!
I would consider one day buying some coins as I cannot see any contender for new web except maybe filecoin to take over a major part of the crypto mcap in the future.
Can someone ensure me that this project will actually deliver? or Is this still a big unknown ? I mean In 2017 the release was supposed to be nearing, now 3 years later there is no working product yet afaik. I didnt follow updates, maybe I should read them but maybe anyone care to answear. thanks!

2 Likes

Delivery is not guaranteed, however it seems more real than it ever has before. There has been a juggling of many major components that have changed in 3 year, in theory all for the better, and while I’m the last guy to give you a tech run down of where we are at, having a live working product, inclusive of many of the components that we expected to have to wait for a later iteration for, seems to be now measured in months not years.

5 Likes

So why would you bet on Safe Network where there release is an unknown and there is filecoin which is going live in 2 weeks, they are competitors right?

1 Like

I’ve been following this project from 2014 and the team is extremely open. You can follow every storyline for any hold up in release through the weekly development updates. The whole history of the project is here for anybody to review and ask questions about. Go follow them on Github and tell me how much confidence you have from what’s shown there. - https://github.com/maidsafe The next major release of the network will renew a lot of interest.

8 Likes

Scroll down for green ticks…
https://safenetwork.tech/roadmap/

It’s been solid steps forward and a learning process in places but very encouraging. One of the best projects and more likely than most to deliver a product.

7 Likes

I am not sure filecoin (yet) can manipulate/edit files on it’s network. I know they were looking at crdt a while back but not sure they got there. I may be wrong. They certainly use a very similar (almost exactly) story about what they are doing, but perhaps a little more focused on the money and much larger machines.

All in all competition in innovation should be encouraged at all levels. I know they guy who started filecoin was looking to meetup for a while but then they did a huge ipo and hired a ton of talent, so let’s see how it all turns out. Them like us I hope are just keen the world gets this opportunity to free ourselves from the large corporate and government spying etc. Inclusive, cheap and highly available information is a good goal.

21 Likes

Alright, for me the uncertainty is still too high to put any money in for now, I will follow the updates and see where the project goes from here, hopefully in months not years there will be a working product. I really admire you guys holding on here for so many years. You have insane patience.

1 Like

Some would say we are crazy

1 Like