It’s an exciting time in the decentralised space. New projects, tackling fresh challenges are popping up daily. But there is a trembling beneath our feet, where ground breaking technology is about to surface. Welcome, the return of Maidsafe and their Safe Network.
Cast your mind back to 2014. Bitcoin was still a young pup and any altcoins that existed were largely tweaked clones. The potential of Bitcoin was already obvious to anyone who had a degree of vision or foresight. There was much work to do, but using QR codes to buy stuff online seemed like the future. A future without fiat money, without banks and without payment processors. It was exciting. It was infectious. It felt like new frontiers were being breached and a new financial freedom was being unleashed, whether the world was ready or not.
Fast forward to 2021. Things look rather different now. The frontier spirit of the Bitcoin innovators has given way to form an acceptance of progress by those in the financial sector. However, innovation in the application of the technology is thriving. Blockchains are appearing in various guises, along with projects to link them together to form a greater whole. The space has moved on from childhood to somewhere between adolescence and adulthood, bringing investment with it.
But there is change afoot. Immutable transactions are now old hat. They are accepted as not only possible, but commonplace. The question is — are transactions enough? Is irreversibly storing small bits of data enough to satiate the appetite to decentralise everything? In a word, no. If we want digital freedom, we need more.
Awaken The Beast
2014 feels like a long time ago. In many ways it is. Sometimes, good things come to those who wait. With Maidsafe, their ambitions were clearly beyond their initial estimates. The world’s first ICO — before the term had even been coined — had its troubles too. It didn’t stop MAID being propelled into the top 10 of the crypto charts and hanging in there until the 2017 boom times.
Those of us watching them have seen many ups and downs, twists and turns, and highs and lows. There have been false starts, implementation cul-de-sacs, company restructures, and fundamental design changes. David Irvine has reflected on this somewhat forlornly with the Safe Network community. But getting things wrong is sometimes the only way we can learn what is right. It removes an approach from the table, allowing us to focus on those that remain.
Reflecting on what went badly usually happens when either ultimate success or failure has been achieved. Luckily for us, it appears to be the former. Rejoice, for feature rich test nets are materialising, with feverish development taking place between them. This is a good place to be and the years of hard work looks to be paying off. The so-called impossible network is about to become possible.
What Does It Mean?
Given the scope of the Safe Network, it is hard to summarise succinctly. Given you’re probably expecting me to do so, I’ll give it a try. Be gentle!
Think of what Bittorrent and IPFS have brought to decentralised storage. Then mix it with what Bitcoin has done to immutable transactions. Add in a dose of what Tor does for anonymity. Stir in a dash of non-fungible token (NFT) sauce. Top with layers of distributed Domain Name System (DNS) and Content Delivery Network (CDN), then blend in encrypted data routing and immutable data storage. Finally, liberally sprinkle security, anonymity and usability to taste.
How did I do? None the wiser? Like I said, it is hard to explain! There is a reason why this project has been baking for so long, but the proof will be in the pudding. Let me drill down a little, to give a better taste of what is to come.
Decentralised Immutable Data Storage
Core to the platform — yes, it’s a decentralised platform — is the goal of storing data in perpetuity. For public, published, data it becomes accessible to all, without censorship. You can choose to link the data to your pseudo identity, real identity or remain anonymous. This can be provable using cryptography.
Much like Bitcoin, transactions cannot be reversed. Safe Network does the same for non-transactional data too. This data can be any size, given there is network capacity to store it. It can also do transactional data too, including its built in token (more below).
Given the hype around NFTs at the moment, this is big news. Firstly, the ownership details of the NFT can be stored immutably. They won’t go missing when someone stops paying to store them or if the hosting company pulls the plug on a server. Secondly, the NFT data itself can be stored immutably too. Whether this is PDF containing property deeds, a piece of art, some music, game assets, code… it can all be stored in perpetuity. You don’t care about NFTs? Neither does Safe Network — you can just store the data and share it with others regardless.
When data is uploaded, it is given an XORURL, which is essentially a unique URL for the data (from hashing). These can be read by anyone with a Safe Network client and will never disappear. No more 404s for these links! Additionally, Name Resolution Service (NRS) can be used to give the target a friendly URL, much like DNS, but without the drawbacks. NRS names can be created by any user, can only be modified by that user, they don’t expire and they cannot be blocked.
Then think about your medical records, your family photos and videos, your emails. Immutable does not necessarily mean public. Safe Network also allows the storage of private immutable data. You do not need to trust Google, Amazon or whoever with your data. You don’t need to worry about your computer or mobile device failing and taking the data with it.
Safe Network Token
When the ICO kicked off in 2014, the focus of the casual observer was on the token. Bitcoin was big, fresh, news and users and investors alike were assimilating knowledge about anything similar. So, it was a big deal when Maidsafe announced that the token would be anonymous, free to transfer and would happen near instantly, at network speed. This was at a time when Bitcoin was still cheap (pennies!) to transact and waiting less than an hour was groundbreaking.
The good news is, the token still holds these properties on the latest test nets. Network speed is still being optimised, but transactions are already measured in seconds, not tens of minutes. This is with a non-caching, non-optimised, network designed to shake the bugs out. Given sharding is fine grained and baked into the design, this should remain the case as the network grows. Cryptocurrency fans, let that sink in for a moment.
The Truth Is There Is No Blockchain
How is all this possible? The blockchain woke the world up to the power of decentralised transactions and what it can mean for money. As good as this innovation is, blockchains aren’t the only way to do this. Maidsafe started dreaming of Safe Network long before Bitcoin even existed. David Irvine was pitching his ideas and building prototypes from 2007. There was no such thing as a blockchain back then. There was just a blank canvass and ideas of how to achieve Byzantine fault tolerance and it led in a completely different direction.
The requirements for storing bulk data is rather different from storing transactional data. With the latter, it is possible for everyone to replicate the same data. While storing all transactions will inevitable become more burdensome over time, the impact is containable. While debates have raged about big blocks vs small blocks, the need for layer 2 solutions and so forth, the common blockchain design is to clone the chain across all mining nodes.
For bulk data, this isn’t feasible. That isn’t to say that some projects aren’t attempting this, but it won’t scale. A blockchain will reach petabytes in no time and machines capable of hosting such chains will dwindle, causing centralisation, spiralling costs and ultimately resource exhaustion. This is the antithesis of a distributed system. So no, a blockchain will not be up to the job, so Maidsafe never considered it. Safe Network is not a blockchain. So what is it?
Here is where I’m going to get a bit more vague. I’m also going to take the cowards way out and link the Safe Network Primer¹. Yes, it’s a big and detailed document, but it has been written by the Safe Network community in conjunction with the Maidsafe team and is the best, most detailed, description yet.
In short, data is chopped up, encrypted, then distributed between nodes who become responsible for it. A minimum number of copies is maintained for redundancy and fault tolerance. The nodes are divided into groups which look after a section of data. Nodes cannot choose which groups they join. They also can’t read the encrypted data.
A node starts its journey with few responsibilities, but accumulates more as it ages. When it becomes an elder node, it attempts to reach consensus with other elders in its group to complete network events. Misbehaving nodes are booted out and replaced with new nodes, who have to prove themselves once again.
Too vague? Probably, but hopefully it is a good taster! The primer¹ has so much more to give, as does the source code (the Safe Network is open source, naturally). The community forum² is also a fantastic resource, with many minds to pick and previous debates to review.
Secure Access For Everyone (SAFE)
What good would it be if all of the above was pushed through a gateway? Given gateways can be logged, shut down, or have their users traced or blocked, they provide an easy target for disruption. This isn’t what decentralisation should look like.
Safe Network does not use any hosted gateways. Users can connect directly to the network via any of the groups mentioned above. When users request data, their IP address is scrubbed, then their request is routed to the group holding the requested data. Even public data is self-encrypted and the nodes holding the associated chunk cannot recognise what file it is part of.
The user client manages this process and applications talk through the client to access the network. These applications can be anything from browsers, through chat apps, wallets, file managers, to blogging apps. The client provides an API, which the bundled CLI (command line interface) works with for core functionality.
Fleming Test Networks
So, what is the current state of the Safe Network? At the time of writing, Fleming Test Network 3³ has just been launched (literally!). This network is slow, unstable and is warts and all. It is to shake out bugs and give people a chance to return feedback and the developers to make rapid progress.
You can upload files, give them friendly URLs, share them with others, make some payments, etc. Experiencing this for the first time, understanding how easy it is, is mind blowing and the inspiration behind this article!
I’ll be documenting my experiences with the test nets in future articles. Why not give it a try too?
 The Safe Network Primer (2020)
 Safe Network Community Forum
 Fleming Test Network 3 forum thread