Safe Network - The Journey To Digital Freedom

I put together a new blog post about Safe Network. It’s more of an introduction and a re-introduction, but I intend to follow it with some test net fun and some dev related posts too. Thanks for reading!

Safe Network — The Journey To Digital Freedom

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.

Photo by Andy Holmes on Unsplash

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.

Photo by Samuel Scrimshaw on Unsplash

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.

Image by Miguelo — Safe Network Community Member

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?

Photo by Mihály Köles on Unsplash

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.

Image by author — Test Network 3 Node Running

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?

[1] The Safe Network Primer (2020)
https://primer.safenetwork.org/

[2] Safe Network Community Forum
https://forum.autonomi.community/

[3] Fleming Test Network 3 forum thread

54 Likes

Looks great from a quick scan. I’m still at work but I look forward to having a good read in a bit.

10 Likes

Great article, should be shared in as much places as possible.

7 Likes

Amazing work @Traktion
It really explains the journey so far perfectly. Thank you.

Let’s get the word out there.

16 Likes

Great article. Thanks

9 Likes

Really enjoyed reading the article! You made my day. Making me feel proud to be part of this community. Definitely will spread this, good for both tech and non-tech savvy friends…

17 Likes

Happens a lot in these parts, great in so many ways and most of all honest.

15 Likes

Very nicely written narrative @Traktion.

6 Likes

Here is a small meme to support the message.

20210416_162736

5 Likes

Super article Paul. I spotted some typos and noted some suggestions as I read. Hope you find something useful in them.

Top with a layers of distributed Domain Name System (DNS), build in Content Delivery Network (CDN), encrypted data routing, and immutable data storage.

Also, in the section containing the above quote which is aiming to create curiosity I wonder if it’s worth dropping in a couple of teaser attributes, such as “all this, but scalable and energy efficient too” since these are well know problems even for people not closely involved with this area.

Shortly after you say it’s a “distributed platform” where I would say decentralised. (And now having read it I think you say decentralised everywhere else). Distributed includes that, but is not as specific and I would be specific since this is the first truly decentralised platform. I tend to use “truly decentralised” and “truly autonomous” when using those terms, often prefixed with “first” because I’m willing to argue this distinction with anyone who says, “but bitcoin” etc :sunglasses:

I may be getting too picky here, but in no way want to sound critical, because you’ve done such a good job with making this easy to read, and very clear for people to understand even if they’ve never heard of Safe Network. So take any suggestions or leave them, of course!

Network speed is still being optimised, but transactions are already measured in seconds, not tens of minutes.

Maybe add: “… and the design which only involves a few nodes in any network function should ensure this performance and corresponding energy efficiency will continue even at massive scale.”

Where you cop out over explaining why is not a Blockchain, feel free to borrow my Reddit answer to this which seems to have hit the spot, no credit needed. I think it’s good to have an answer as well as link to the Primer. See: Reddit - Dive into anything

Actually I see you don’t really cop out (I should have read a bit more first!). But feel free to borrow it you think it’s useful.

Did you consider a screenshot from vdash. I think it’s quite nice to see something graphical rather than a terminal.

One thing I’d suggest mentioning is that:

… nodes are all simple (like ants) which is very deliberate, and have no onerous processing requirements which is key to ensuring a truly decentralised network.

Even low power devices from commodity PCs to credit card sized computers like a Raspberry Pi or Odroid can operate as full nodes in Safe Network. This keeps it energy efficient and open to full participation by far more people than a Blockchain project. Blockchain are inefficient and don’t scale because they use large amounts of energy to secure data, rather than using useful computation like the Safe Network: principally storage and retrieval of data, and routing of messages. Any computer that can do this reliably is accepted by the network and will earn rewards, making this very much the people’s network. Secure Access For Everyone!

I’m sure you can do better than the above if you think it’s worth covering. I really like your succinct and accessible style, whereas mine tends to be wordy and not so accessible.

I don’t share medium links, but would love to link to your article and would appreciate it if you were to reproduce it on the forum (or a self hosted blog). I think it’s very good indeed and I hope you will write more. :clap:

3 Likes

Blog Topic Suggestion (for anyone)

A topic for a future article might be how MaidSafe are going the extra mile to achieve true decentralisation. David hinted at it in a post in the last 24 hours: from how it has been funded, to not wanting himself or MaidSafe to be the arbiters, not have control etc, and how the community are a part of this, how the BGF came about and is being managed, it’s forerunner (which gave us Safe Browser), how several core developers have been drawn from the community, and a look to how this will go forward (maybe developer pods will come back).

I’m not in blog mode atm so happy for you or anyone else to pick that up.

2 Likes

I would love to see that.

3 Likes

Thanks for the feedback - really appreciated! I can’t reply in full just now, but will later. Nearly went with vdash, but my log wasn’t doing much when I ran it, so it didn’t do it much justice. I’ll definitely get one in a follow up article though!

2 Likes

Happy to provide an image if you want. See the vdash topic for three examples, starting at this reply, then scroll up.

2 Likes

it would be great if you could publish this on another website, because some of the biggest subreddits don’t allow medium links. I’ve been trying to post it on r/technology which has over 10 million subscribers, but no joy.

3 Likes

Was looking into this a bit recently and found this which seems pretty cool and maybe could sort out the reddit problem? You go there, write whatever you want, then copy and paste the URL and that’s your article https://telegra.ph/ haven’t tried it yet but will post here just in case it helps.

Anyway, great read, marvellous stuff!

2 Likes

I’m going to post it in full in OP. Just need to get some quality time near my computer! :sweat_smile:

5 Likes

Copied, pasted and tidied up a bit in OP. I hope that helps!

Thanks @Dimitar for the embedded logo in cover image too!

2 Likes

Two typos here:

1 Like

Fixed/reworded.

I’ve changed it to decentralised. I actually had this originally, but I wanted to emphasise the nature of each node solving a part of the problem, rather than all doing the same thing. Maybe this is more precise though.

I didn’t really want the article to be too technical, so I took a few liberties to make it nice to read. I wanted to keep it as an introduction, then drill into further details in subsequent articles when appropriate. I figured the primer is the best source for the nitty gritty anyway!

I’ll use a vdash image in a test net article. I think that will really suit it well!

Thanks for the text. I’ll see if I can weave some of that into a future article. I don’t really want to add any more detail to this one, as it’s already pretty long. It’s definitely a challenge to keep the message on target. Maybe an article about the test net should touch on all the different devices being used to test with, etc?

2 Likes