SAFE Network Dev Update - October 25, 2018


Here are some of the main things to highlight this week:

  • The teams completed some enhancements to the Crust test and internal end-to-end testing of Crust Test v2 started today.
  • @dugcampbell published a Medium post on his experience at the Web3 Summit.
  • MaidSafeCoin has now been added to third-party app Delta which collates and provides cryptocurrency information to their users.
  • Pierre, Nikita, Povilas and Jon will be at MozFest in London this weekend, if you’re in town DM them on the forum to catch up.
  • The Routing team is continuing work on the detection of various Malice scenarios.


This week the marketing team has been a little reduced with @dugcampbell away at the Web3 Summit in Berlin. Don’t worry if you weren’t able to attend, Dug has already found time to publish a post on the experience.

Back in Ayr, @SarahPentland and @DGeddes have been working on preparations for the new up and coming Crust test, liaising with the other teams on testing, ensuring we are GDPR compliant, and improving the dashboard based on user feedback. They have also continued to work on increasing awareness of the Crust test, and Crust generally, and Nikita gave an interview to @fergish for the SAFE Crossroads podcast yesterday. We really look forward to hearing it when it is released in the coming days as John always does a great job of explaining technical topics in an approachable way.

We also registered for SAFE Network/MAID news to be incorporated onto Delta, a third-party app available on Android and iOS, that collates and provides cryptocurrency information to their users. Any new blog posts we publish will be added to our Delta Direct page, and we can also add any Tweets from our accounts using the #DeltaDirect hashtag. This is a bit of an experiment as another way of getting the project and coin in front of new users. On a broader note, we will be reformatting our updates to work with competing apps to maximise awareness of the SAFE Network outside the community and we’ll continue to update you as we progress. Delta has over 100k downloads on Android so it will be interesting to see if this will increase our profile over time.

Finally, you may have noticed that we are getting out to more conferences of late and despite being unsuccessful for a presentation slot at Mozfest (, Pierre, Nikita, Povilas and Jon will be heading to the event in London this weekend anyway, so if anyone wants to join them for a couple of beers on Saturday please DM them on the forum. And if the temptation of beer is not enough for you they are likely to be armed with a small amount of swag and some scintillating conversation, so hopefully there is something for everyone!


Before we get underway with the recruitment update we would like to welcome some new members to the team :tada:

@chriso joined the team on Monday and will be working alongside @StephenC as our new Dev Ops Engineer. Please give him a big forum welcome :slight_smile:

@Victoria is back from her holiday now and has been busy with a number of interviews this week already - no rest for the wicked :slight_smile:

Marketing Strategist - due to @dugcampbell going to Berlin we had to push the final interviews for this role to the end of this week. We have 2 candidates shortlisted which will take place tomorrow (26th) with @dugcampbell, @victoria and @nicklambert. We will be in a position next week to update you on when the successful candidate is able to start.

Executive Assistant - @Victoria is back to the start in recruiting for this role following some issues in contacting applicants. Another shortlist has been created and telephone interviews are being scheduled.

Network Engineer - as mentioned in previous updates this is a hard role to fill and we have no update on this role as yet.

Assistant Manager - @krishna, @nadia and @victoria conducted interviews for this role on 12th and we are delighted to announce that we have an Assistant Manager joining the team in Chennai on 1st November.

Software Test Engineer - Stephen and Victoria have conducted initial interviews for this role this week and are setting up second stage interviews next week.

And finally, some slightly off topic but heartwarming news. Admin assistant @kayley’s wife gave birth to a little girl yesterday and we would like to welcome her to the MaidSafe family. We’ll give her a couple of years before we get her involved in development :stuck_out_tongue:

User Experience

We were delighted to have you all, sleeves rolled up, pitching in with the Crust Test. Yes, the real star of the show was Crust itself, but a significant effort on the part of the UX and frontend teams meant the test was usable, useful, and heck even a little fun!

As we prepare to roll around for another, further expanded test, we’ve been busy tweaking, improving, simplifying, and boosting the performance of the dashboard and the behind-the-scenes workflow.

It’s exciting when things get out there in the wild, this is what building real experiences is all about, especially when we’re in the business of connecting people. We look forward to seeing you all popping up in the next test!


Last week we mentioned giving more focus to our engagement with the SOLID community to receive feedback on our RDF implementation efforts. We’ve begun discussing how best to store RDF data, given our two network data types and the fundamental of immutability.

Thanks to some research articles that have been shared by members of the SOLID community, we’re starting to grasp what may make more sense for an RDF implementation on SAFE. For example, given an RDF graph stored as a file document where the graph represents a frequently updating user profile, it would become expensive to have to replace the whole file resource each time a single RDF triple is to be updated or appended. One possibility is that RDF graphs are composed of RDF Molecules, where minor updates to a graph consist of replacing single molecules.

Please join the discussion over at the SOLID Discourse forum.
Also, join the LinkedData Gitter chat.

Thank you to @intrz for bringing Underlay to our attention, a project that we can learn a lot from, especially in how it’s leveraging immutability for graph storage. Underlay is a new project from the creators of Freebase, the predecessor of the Google Knowledge Graph.

Lastly, yet another helpful SOLID community member introduced us to a binary RDF format called HDT. This compressed format takes between 6% and 11% the space of plain text triples and is indexed which means that it doesn’t have to be decompressed in order to query the RDF data!
The current use cases for HDT appear to be for very large (millions to billions of triples) and read-only data sets but we’re in dialogue with SOLID folks to find out how this format may work for smaller and highly dynamic graphs.

The safe_app_java pull request has been reviewed and merged! :tada: With the major changes now in place, we are working on the sample Android application that showcases the direct integration and usage of the safe_app_java library.

SAFE Client Libs

This week we finalized a couple of PRs involving IPC between apps and the authenticator. The first of these changes URIs to be case insensitive by switching from base64 encodings to base32. This will help with issues of the sort reported here. The other PR adds a “mock-bit” to IPC messages so that mock apps trying to communicate with a non-mock authenticator, or non-mock apps with a mock authenticator, will result in an error. Finally, we also wrote a test trying to reproduce a mock network issue that results in corrupted or deleted accounts. While the test didn’t reproduce the issue, it helped us narrow down the root cause of the issue.


In the Routing team, we are continuing work on the detection of various Malice scenarios.

We implemented some more structural changes that are necessary in considering another node’s perspective while deciding whether they were malicious. Namely, we changed the structural representation of meta-elections to allow evaluation of past meta-elections without any interference from the current meta-elections. It doesn’t sound like much but this was a major improvement that at the same time made the code more correct and easier to follow. Further tests are still upcoming that will confirm that we are reaching completion of the “per-peer-membership list” saga.

We have continued work on mirroring these structural changes in the generated graphs. As we were looking at this area of the code, we came up with several ideas for refactoring that we are implementing at the same time.

We also made progress in handling forks, including in making sure that the implementation is in line with the definitions in the whitepaper in the presence of forks. This is an area we had deliberately overlooked in milestone 1 as forks can only occur from malicious behaviour.

Finally, we started tackling two new kinds of malice: “InvalidGossipCreator” and “Accomplice”. Both these tasks rely on the structural changes that we have been making as they require consideration of another node’s perspective.


We’ve been working on all the new features that will go into the second iteration of the Crust test and we’re pleased to report that we started internal end-to-end testing of Crust Test v2 today. The highlight would be the addition of direct connections in the connection types tested in this iteration. If UPnP is enabled in a router, Crust will automatically request to forward a certain port to an address in the internal network. This makes direct connections an easy thing as in this case we just need to exchange the external IP address and the port number with the other party. Even if this is not possible, direct connections would work if a user has a publicly addressable IP or if they try to connect with someone else on the local network: in both of these cases we don’t have to rely on other NAT traversal techniques such as hole punching (although we’ll still collect these connection results for the test).

In addition to that, with the help of the QA team, we have sorted the build process for the test binaries: we’re now using musl, which theoretically means the client will run on any distribution of Linux irrespective of an installed GLIBC version.


Umm, what’s the word again? It’s on the tip of my tongue… God this is frustrating, you know that thing when you know the word but can’t quite bring it to mind? Oh hang on, I’ve got it! First. :sunglasses:


Better than being first, is reading the post!

Good work again @all.


Whilst all the others are slowly running out of puff Maidsafe continue to claw their way inch by inch to the Summit.

Some seriously impressive things happening across the board of late and it’s s pleasure to be a passenger watching history slowly unfold. Great work everyone @maidsafe.

Also congrats @kayley on the new addition.


Very good article @dugcampbell. Nicely written, balanced and well considered. The full 50 claps are yours.


Nah! Comes close though…


Thanks to everyone for all of your hard work! And welcome to all of the new team members.


I’m so glad that Maidsafe has stuck is out this long. Seeing all the pieces come together throughout the years has really been a joy. Keep up the fantastic work!


Great update team. Look forward to the next CRUST test!


Congrats to the new hires (whoever they will be). Great update, really nice also to see the work alongside SOLID as well. Can’t wait for more testing.


The CRUST is my favorite part of the bread :baguette_bread: I can’t wait to taste more CRUST. Amazing progress as always team!


Welcome aboard @chriso and @StephenC!


Super late reading the update today but wow! Sounds like some great insights have been made regarding SOLID. Having inroads with the SOLID community should really be beneficial for everyone too. Great work @happybeing for that bum kick :smile: I think this area along with @intrz suggestion of Underlay are really exciting. Which reminds me I’m on the edge of my seat about RDF DNS. What could be achieved by such a miraculous sounding thing???!

I’ve never heard of DeltaDirect (but sounds promising/I’ll check it out) but these efforts by the marketing team are yet again another step up :clap:t3: Having these updates automatically available across more mediums could really help raise awareness as well. Way to go :grinning:

Congrats on the bundle @kayley! Really nice to see all those @maidsafe have such appreciation and camaraderie for each other. Makes me an even prouder community member knowing there is such high regard and respect within the company.

Crust v2 we’re waiting!

PARSEC is going to slay all other conesus protocols!

Great write up @dugcampbell


No matter how important work you do you should not forget “the simple” things in life… Congratulations @kayley ! In Bulgaria we have saying “to be alive and healthy!” :slight_smile:

And Big WELCOME @chriso !


Congratulations to the team, this is really coming together really nicely.
Two thumbs up!


who would thought parsec implementation will take sooo long… probably no one :confused:

1 Like

You’ve made it painfully obvious you didn’t think so.

I haven’t seen many others complaining or even commenting on how long. Most who do ask, ask on progress.

Most who have been here for a while know/understand it takes time to get things right and capable of withstanding the rigours of real world operations.


Im a voice of many probably then , just sayin

1 Like

If you say so, it is your opinion remember.

Those who agree with you are welcome to like your post to give you support :wink:


Thanks for all your hard work Maidsafe devs

Welcome @chriso
Welcome @kayley 's :baby: :baby_bottle: :safety_pin: :computer:

Maidsafe Devs demoing the SAFE Network drunk, is the best publicity.