In my ideal version of maidsafe

In my ideal version of maidsafe, all puts that publicize information are tied to a users public identity. In other words, each piece of public data is credited as having been uploaded by a particular public user. In addition, users are able to revoke previously putted data.

Me too. It has been discussed a lot in this forum, and always has the same answer: it can’t because anonymity it’s important to keep the net safe.
That is why I started a few months ago an alternative implementation of the safe network, with these into account, and other "improvements"
In a short time I expect finish a first version (mvp)…


This would seem to take away a huge level of anonymity of users…if a whistleblower or a political activist has their public data linked directly back to them, it would kind of crush one of the key features of SAFE …privacy.

There can always be third party apps on top of SAFE that allow this, but having the network do this seems to be a step back.

SAFE is like a blank slate protocol…it gives you features (security, privacy, etc) and you can use them or not use them, build apps that add to them or take features away, but having a dozen forks of SAFE seems like a worse way to go than having one version of the protocol with a dozen apps that provide the different services…


Wow, I didn’t think anyone was working on a SAFE fork yet. I don’t know how useful it will be though with a user ID on all public data. People can create multiple accounts. And anonymity is crucial. It’s better imo to have anonymity as default and people can then add public user IDs if they want to.

I would like to have a SAFE fork that is free to use. Perhaps not practically possible but anyway. Farmers will earn coins even though all PUTs and GETs are free. Alternatively, cryptocurrencies can be added on top of the network, and the clients made responsible for storing data, like BitTorrent. And if the network is designed to handle massive amounts of churn, then millions of smartphones users can store and deliver data too. That will probably make the bandwidth overhead much larger but could perhaps be worth it.

It’s not a fork I don’t use any safenet code. It’s written in Javascript from scratch. It’s a new implementation based on the SafeNetwork main idea, but with some crucial changes, as No perpetual storage, and other things I exposed a few months ago in a RFC.

I wouldn’t. I think it’s necessary some kind of payment to avoid spamming.

In my project (I don’t have a name yet) you can select upload data into the net as Private or Public but both are tied to a user(To be able to delete, rename, etc… later) Private data is encrypted with your own key, but you choose with algorithm use, as self encryption or whatever…

Oh, ok that sounds interesting. But have you solved for example NAT hole punching?

Yep, it’s relative easy if you use UDP. And I use it as the default (and unique) protocol.
I started using uTP but it didn’t work very well. Then, I implemented a custom Transfer Protocol, yes it seems crazy but it works.

Very interesting. Looking forward to seeing your alternative. I think humans will make mistakes and need the ability to “undo” things.

1 Like

I want this too! Some networks “require” users to provide resources, instead of paying. I proposed zero vault with the launcher to address “Free GET’s aren’t going to fly”.

However, we still have to manage limited PUT storage, but maybe @bcndanos “no perpetual storage” addresses that part.

Ultimately, it doesn’t have to be perfect, just more useful than the alternative.

1 Like

I can’t think of any reason right off hand that a user would not be able to provide X amount of storage locally for Y amount of storage on the network.

I provide say, 1TB of my local drive and receive some ratio of network storage. Many networks and torrent programs “require” participation like this already…hmmm…interesting…

I guess the issue would be what happens to my data stored on the network if I go offline…

The problem is that you pay once to store forever…

Once your upload is allowed, the network does not know that it belongs to you… It also doesn’t know how many other people have uploaded the same file . So the mechanism for deleting a ordinary file doesn’t exist.

So if you offer up storage, upload your file, then go offline the network cannot do anything about it…

1 Like

That was the original plan, using POR tokens, meant as Quid Pro Quo. The vault “promises” X storage available, thus giving you credit in the form of POR tokens. However, vaults are able to spend POR (upload data) then take back their promise by turning off before it fills up.

The solution was to pay “after storage was proven”… from a GET request. Also, Safecoin replaced POR. This is where we are today. The one barrier is people need to acquire Safecoin first, before they can PUT. This is the same as farming before you can PUT.

I suspect the big cost to the network is bandwith. IMO storage is less critical because we can always add more. @dirvine, originally suggested free PUTS, which many objected.

I proposed a bootstrap solution which allows free PUTS, depending on storage availability.

ZERO Vault sounds like an interesting concept that could help any issue of bandwidth issues caused by more people taking than giving.

Excuse the probably daft question, but how would people be able to offer bandwidth to the network that reduces strain on the bandwidth of farmers without storing files themselves, at least temporarily?

Edit: would ZERO Vault help by offering caching while it’s online, thus reducing strain on farmers bandwidth?

Yes, exactly. Every user running the SAFE Launcher will be running a ZERO vault. If they want to commit more resources, they simply upgrade to a STORAGE vault, which earns them Safecoin.


To me, privacy, whistleblowing, and political activism are each uniquely distinct topics.

-To me, privacy is me safely and securely storing data that I own or that is personal to me in such a way that only I can access it or such that I can control who can access it. Only I am authorized to publicize or not publicize any of my private data.

-Whistleblowing is the act of publicizing private information that indicates corruption. Whistleblowing can be done anonymously through something like wikileaks or publically.

-Political activism is essentially just free speech. Speaking one’s mind, engaging in civil, public debate, participating in public demonstrations for a cause.

Anyways, point is that by linking public puts to public identities, maidsafe would disincentivize spam and the indiscriminate publication of private information.

So what exactly stops me from creating a new account for every piece of “private information” I want to publicize, nullifying any chance of figuring out who made it public?
And why would we want to disincentivize whistleblowing?

1 Like

I’m glad you asked. I imagine maidsafe as being a huge top/down social network where permission to do public puts flows from the top down. In this mold, the network can guarantee that each real world person can only have one active/“sponsored” account on the network. The way to do this involves having newly created accounts gain activation by attaining sponsorships from older, already activated accounts. In this way, an account’s public identity is established and defined according to the public relationships it has formed with other accounts on the network.

I envision maidsafe as being a new, clean type of internet. A place that features quality autonomous applications that enable sharing of and interaction with rich media content in the form of text, videos, photos, and games. So that’s just the vision that I focus on when I consider the overall optimal design of the network.

You’re going in the exact opposite direction of where we need to be going as a species.
Nobody can speak their mind when they’re identified. Let’s say I want to advocate for the removal of the great firewall or trying to shine light on the government’s corruption in China. If the government finds me doing these activities, I will find myself disappeared very soon. If I’m anonymous, the government can’t disappear me or hold my family’s well-being hostage.

That said, there IS a place for identified networks for a large part of open source software/hardware development where a web of trust is useful to make sure there aren’t any backdoors or intentional hobbling of the product.
Another place where identified networks might be useful is in making a social network with a reputation system. But that might be gamed and abused.
I really don’t think the network needs to enforce one or the other. The SAFE network will support both types of organization, anonymity and privacy through the core as a default and identified networks through apps.

You’ll have a hard time convincing anybody to join a network that only does one or the other when there is already a network that does both.

Ahh, but, you see, crediting each public put to a public identity does not eliminate anonymity. It simple creates avenues for anonymity in ways that preserve the ability to moderate content. This is anonymity done responsibly.

Here’s how it works: someone creates a public forum/website such that all posts on the website are credited to their public identity. I can go to this website, create an anonymous username with password, and post whatever content I want in the name of the owner of the website. The website owner thus acts as a proxy for all users who post on his/her website. The website owner does not know who posts what, yet the website owner is able to moderate content.

An excellent real world example is reddit. Reddit takes responsibility for the anonymously posted material on its website. In other words, Reddit moderates anonymously posted material for the benefit of the community as a whole.

Bottom line: the ability to moderate anonymously published material protects privacy.

So now you want to enable censorship too? Wow.
I’d like to post something incredibly insulting but that’s not in the theme of this forum.