MaidSafe Dev Update - January 19, 2017

First, here’s an update on the status of the Alpha 1 network. As most of you know, it has been running nonstop since August 12, 2016, the date we released it. It’s been very stable over the last few months. It’s only a few days ago that we started noticing issues with it, such as the inability to login to some accounts, and to access some .safenet websites that had been previously created. The alpha network still works fine (e.g. you can create a new account and upload a new .safenet website), but you probably won’t be able to access accounts and websites created before last week.

@AndreasF explained what happened in this post:

Yes, several virtual servers on which the alpha nodes were running had shut down. We knew that this could potentially cause data loss (which is why we didn’t allow users to run vaults in that network), and that is what happened, unfortunately. We restarted the nodes on the rebooted servers and the network structure seems to be fine again. We’ll keep the alpha network running for now, but we can’t restore the lost data.

We are planning to implement ways to even completely restart a network and republish the data it had, and once that is in place, we will be able to make the content survive such failures, and even persist it between different alpha networks.

Short-term roadmap

We’re currently working on getting Test 12 ready. This will allow users to run vaults from home. This test won’t contain the new client API (with mutable data). It’s purely about the features related to the routing update (disjoint sections and resource proof). If this test is successful, we will move right to Alpha 2. If Test 12 shows issues, we’ll patch them and maybe have another testnet before Alpha 2.

After that, we will have other testnets (e.g. Test 13) until we reach Alpha 3, which will give us vaults from home along with the new client API and the updated SAFE Browser (which integrates the SAFE Authenticator directly so you won’t have to download a separate app).

SAFE Authenticator & API

Team leader: Krishna

The authenticator is now functionally complete and it’s been integrated with the SAFE Browser as planned. This makes it easier for users to download just one binary that contains both the browser and the authenticator. We will continue to test and improve the authenticator in the following week.

We have also made decent progress with the SAFE Node.js API for app developers. There were a few issues we faced while integrating with the FFI. We are hoping to wrap the API by early next week and then we’ll integrate it with a demo app. There are minor changes being made in the FFI exposed by the safe_client_libs to address the segfaults and ownership related problems. The authenticator will also be updated to use the FFI of safe_client_libs once these changes are completed.

SAFE Client Libs

Team leader: Spandan

This week we’re addressing concerns from the front-end team. With the C API, they are sometimes finding it difficult to not cause segfaults. We are trying to make it easier for them, considering that front-end developers don’t necessarily have a C background. Instead of giving the ownership of all heap-allocated data to the front-end and asking them to free it when they want, we are making it more restrictive in that everything that we give them (C-structs/strings, etc.), we expect them to immediately clone into their native types. We will free stuff as soon as control reaches back to us and leaves scope. That way, given less choice and a more restrictive approach, memory management becomes very simple (especially for memory-managed languages such as JavaScript, Java, etc.).

We are also discussing how to approach error recovery during composite operations. For example, if authenticator revokes an app, it has to perform a bunch of operations including re-encryption of data previously accessible to the revoked app and if this fails midway (because connection was lost or the user ran out of allowed number of mutations, etc.) then how do we recover this the next time authenticator starts. Do we store the state somewhere locally or restart from step 0, etc. It might not be either this or that kind of approach and might need to be taken case by case.

Routing & Vault

Team leader: Andreas

We implemented a simple recovery mechanism to synchronise sections that lost consensus during heavy churn, which is currently in review: The nodes in a section will now exchange their routing tables a while after a churn event, and any node that doesn’t agree with the quorum will update its own routing table accordingly. (Before disjoint sections we had something similar—“bucket refresh”, which is used in the alpha network and the previous test networks—, but this wasn’t applicable to the new paradigm anymore.)

With safe_core updated to work with the current routing library, and resource proof nearing completion, we are now testing everything together on droplets, including disjoint sections and the recovery mechanism, to expose any remaining issues and to calibrate the resource proof parameters.


Gabriel Viganotti (@bochaco) is the newest member to join the MaidSafe team! He’ll be working remotely from Argentina. He’ll be part of Krishna’s team (SAFE Authenticator & API).

Gabriel has been very active in the SAFE Network community over the last few months. He developed a few applications such as SAFE Wallet and SAFE Faucet. He’s also the organizer of the SAFEdev Córdoba meetup.

He’s planning to continue working on his own apps in addition to the work he’ll be doing for MaidSafe :slight_smile:


thx for the Update and welcome to the team Gabriel! :slight_smile:


Very nice, welcome Gabriel! @bochaco :slight_smile:


We are planning to implement ways to even completely restart a network and republish the data it had, and once that is in place, we will be able to make the content survive such failures, and even persist it between different alpha networks.

Whoa! That’s a game changer. I thought this wouldn’t even be possible. How does this work exactly?


thanks for the update

really cool, can’t wait to test it out :+1:

Welcome @bochaco. I won’t have to say welcome to our forum isn’t it :wink: ?? Nice to hear you’ll be working for Maidsafe.


Congrats @bochaco! Great to hear, make things pretty for us :wink:

I have one major question regarding routing. Is it a goal to make data loss minimal to zero without the implementation of data chains?? I think that is a good goal but am just curious.

The ball should be really rolling soon. I’d like to see as much of this released all in one update as to keep developers and community members busy while showing the skeptics that this is nothing to sneeze at. That’s just my take anyways, otherwise I feel @maidsafe will keep getting that sense of impatience. We’re already waiting so I think we’re already in patience mode, when alpha 2 is ready, BAM! “Here is a good looking sturdy network and tools, get busy!” Great work guys. There is clearly a lot of pressure but we’re on your side


Can someone from Maidsafe please confirm if vaults from home in Test 12 will still be on droplets, or is this the actual decentralised storage of the future live network?



You answered your own question friend :slight_smile:


Congratulations @bochaco! :seedling::herb::four_leaf_clover::evergreen_tree:

Tserkt talar

In Armenian this means, may your hands be evergreen. More or less, may your efforts be productive and prosperous.

I say this to you and the rest of the MaidSafe team.


Thank You for the update!

1 Like

:ant: @bochaco congratz !


Looking very forward to it, well done on all the hard work guys!

1 Like

Great update! Keep up the good work!

1 Like

Thank you for update. One very basic question - when can we expect to have a working system/wallet to convert ICO tokens into actual maidsafe tokens? I mean a estimate for one month, 6 months, more than 1 year?

1 Like

Thanks for the great update. It sounds like many parts are starting to come together.

The upcoming tests will be very interesting, and the momentum should pick up as these new elements are rolled out :slight_smile:



Somewhere in that range most likely :laughing:

And congrats @bochaco, that’s great news!!!


Very awesome! Lots of great things

Is this something that devs can download and use? (new SAFE browser with Authenticator) or not yet?

Also saw in @Krishna_Kumar 's PR that safe:// protocols were removed (commented out). Why is that?


Amazing… so looking forward to the next Alpha :slight_smile:


Great update and congrats to @bochaco!!


Thanks Maidsafe team for another great update.

Can’t wait for lucky number 12 :stuck_out_tongue:

Congrats @bochaco tell other devs in Argentina about this project