Fresh safecoins from farmers

I’ve been having some thoughts around how to make use of the farming reward mechanism and economy, for not only rewarding real contributors as planned, but also for having it to play a role in the kick-start, adoption and growth of the SAFE Network.

I’ll try to not go into too much detail but just describe the overall idea and how I’m imagining this can impact some aspects of the network, in what I believe would be positive ways. I won’t be surprised if this proposal is somewhat controversial, but I see some potential in it, so I thought it could be good to run it by you here to find out flaws and downsides, or why not more upsides that those I (maybe biased) believe to see.

What are fresh-safecoins?

I’m thinking that safecoins which were acquired directly from farming, i.e. those safecoins which were sent to a wallet/keys by vaults as the result of a farming reward transfer, could have an additional value within the network as we can be sure they are owned by a real contributor of the network.

The idea is simple, the cost of a very specific set of operations can be paid only by these type of safecoins, the rest of operations can be paid by any type of safecoins.

Since these safecoins are a bit more precious or special, since they come directly from a sucessful farming event, I’m trying to make an analogy with fresh goods from farmers, which can be considered more special as some tastier food can be prepared with them, and this is why I thought that calling them fresh-safecoins would make some sense.

High level implementation details

The implementation wouldn’t be complicated either, I’m basing the proposal on the revised safecoin RFC #57.

A CoinBalance is the data type which can hold a safecoin balance, an special kind of CoinBalance can be added which is the one that vaults will be able to transfer the farmed coins to. This special kind of CoinBalance can be implemented either by adding a flag to its structure, which defines what type it is, or perhaps by just having a second struct. Regardless of such a detail, to this new type of struct I’ll be calling it FreshCoinBalance from now on.

Vaults will follow the exact same mechanism described in RFC #57 with the only additional restriction that they won’t transfer a farming reward if the destination is a CoinBalance, they would only do it if the destination is a FreshCoinBalance.

Transferring fresh-safecoins

Farming rewards are received in a FreshCoinBalance, once fresh-safecoins are transferred to a CoinBalance they become regular safecoins which can be used for any operation except for a few specific ones which are restricted to fresh-safecoins (I’m describing a couple of them in the next sections).

Transfers of safecoins from a CoinBalance to a FreshCoinBalance are not allowed.

Transferring fresh-safecoins to another FreshCoinBalance is not allowed either, this is to prevent the existence of a fresh-safecoins market which could be problematic, or at least add complexity to the economy of the network and safecoins. Thus I’m not including it in the proposal, but perhaps can be considered if all its implications are well studied.

Public Names (DNS names) owned by fresh-safecoins

One of the operations that can be restricted to be payable by only fresh-safecoins is the creation of Public Names (Note that updating/appending versions to a Public Name would still be possible with non fresh-safecoins). I’m thinking this can help to discourage users from doing public names squatting.

A Public Name can be a special type of AppendOnlyData which has the following characteristics:

  • The costs for its creation can be paid only with fresh-safecoins, i.e. a Public Name can only be created with a FreshCoinBalance
  • The owner of a Public Name is set to be the same owner of the fresh-safecoins used to pay for its creation, i.e. the source FreshCoinBalance's PublicKey becomes the owner of the Public Name being created. The user cannot choose any other owner for it, neither when creating it nor later on
  • Ownership is not transferable

By having Public Names to be a specific data type on the network with such characteristics, selling Public Names is simply not possible, ownership is not transferable, thus name squatting could start to not make sense unless the owner plans to really use them for their own content.

It could still be possible for users to rent Public Names though, i.e. allow others to publish content for a fee. It’s my belief that renting a Public Name from someone else won’t be something desirable by many/most/any users, renting it means that the owner will always have the secret key to decide what to do with the Public Name. As an example, a company decides to rent a Public Name, and after some time the owner decides to make use of the popularity of the Public Name and publish its own content ending the rental contract with the company. This can even happen without notifying the company.

So it sounds to me that no serious business would take the risk of renting a Public Name, well even regular users wouldn’t take such risk I believe. Note that buying the key pair of a FreshCoinBalance from its owner has the same problems/risks as renting a Public Name from someone, the owner already knows the secret keys (unless a neuralyzer is used in such transactions :smile: ).

There is a scenario which is worth mentioning explicitly to explain how it’s covered. Let’s imagine a user who owns a Public Name created with a FreshCoinBalance, but he/she doesn’t have enough funds in it for updating a website/app published at it, either because the user decided to not farm anymore, or if the farming rate is not enough for the amount of safecoins he/she needs to spend to update such website/app. In this case the user can always create a CoinBalance using the same PublicKey of the FreshCoinBalance, acquire safecoins by any other means to transfer them to this CoinBalance, and then use the CoinBalance to pay for the update costs (for this to work, the FreshCoinBalance and CoinBalance will need to possible to be at the same XOR name, since their PK is the same, and possibly restrict the creation of such a CoinBalance to be signed with the corresponding SecretKey).

SAFE Accounts creation

A second type of operation that can be restricted to only FreshCoinBalance is the creation of SAFE Accounts, this should encourage users to become farmers, while it still allows users to create accounts for others which didn’t try to farm safecoins.

Maidsafecoins conversion to fresh-safecoins

To make sure early investors are well rewarded, and to incentivise people to support the project by owning Maidsafecoins tokens, converting Maidsafecoins to safecoins at launch could be done as planned, on a 1:1 basis, but the safecoins redeemed will be fresh-safecoins

A more important aspect of this has to do with providing a way of smoothly kick-starting the network at launch.

When the SAFE Network is ready for launch, some farmers will start running the vaults, they won’t get any safecoins farmed because nobody has safecoins to spend, and this will be the case until Maidsafecoins start getting converted into fresh-safecoins, which is when they can be used to start creating accounts, creating public names, and uploading data onto the network, and therefore allowing farmers to get their first farming rewards. As farmers and owner of Maidsafecoins spend more safecoins the whole economy and network would grow smoothly, I believe.

11 Likes

I think the MaidSafe company must register all Public Names up to 5 letters minimum in advance and sell them… it is foolish to give this resource to someone else…

Edit: For the proposal itself: I like the extra game theory

Edit 2:

I promise to give 10000 accounts to people who do not want to be farmers. The condition is to make a video chat with me (preferably with a woman between 20-25 years, unmarried)

6 Likes

No way.

This would destroy the whole idea of people being able to gift others the 0.00001 (or whatever) safecoin to open their own account. It’d mean that ONLY farmers could have accounts. There is NO global SAFE network if you do this because you create another chicken and egg problem where there is no large amount of content on SAFE to attract farmers to then create accounts to create content on the network. It’d take years for it to grow if at all.

You need to allow people to buy safecoin, or be gifted safecoin to open accounts in order to create the variety of content that attracts more and more people.

Again this is similar.

People will create accounts in order to have their own mail account and this will require the name resolution so others can easily send them mail.

Now if you restrict this to only farmers then again why would ordinary people join to try out the network in the first place, they would not be able to create an account nor be able to have a name (from name resolution) to have easy mail.

The general public are going to try the safe network first then decide if they want to have a vault and farm and never (generally speaking) the other way around.

@bochaco, not trying to be negative here, but this idea sounds like a nerds perk idea thought up by nerds for nerds. Safe network is all about the general public, you know the non technical ones who just want to social media, email etc etc. They are the ones that will make the safe network explode in usage. Maybe some will later on do farming and content creating. But they all want their account and public name for email, commenting etc.

20 Likes

Actually the Maidsafe foundation (a charity) should do this so that it doesn’t present the wrong idea. Maidsafe and other devs will be sharing the core devs rewards and the developers rewards

You sly dog you. You forgot to mention they are not looking for a long term relationship.

6 Likes

They can look for what they want, it’s no problem for me :wink: Women are gatekeepers of sex, men are gatekeepers of relationships…

1 Like

This sounds absolutely horrendous and against the very ethos of the entire network. Safecoin is supposed to be FUNGIBLE… if anything is taken away from this conversation it’s that Safecoin should be designed so that you CAN’T TELL they were freshly farmed or came from somewhere else. This entire proposal makes me feel like this is some underhanded trick way of sneaking in a kind of network level KYC method for dystopian govenernments (read USA, UK, China…)

No F’n way.

10 Likes

I like some of how it encourages people to contribute back to the network, but realistically this network needs to work well for just avg computer users. Just the pure concept of they have a browser and this odd coin balance that lets them upload things to the “new web” is already pushing the limits of what an average person could become accustomed too. I think introduce more webs of complexity such as there isn’t just 1 type of coin balance but really two because these coins are more important/useful that those coins is added complexity. Not to mention additional code logic and work around safeguards and locking the functionalities down between the token types. And I want this thing to be realized as simply as possible and as soon as possible.

So for that reason I say keep the gears churning and think up good ideas and safeguards within the network we can do and ways to incentivise it. But do so while maintaining the SAFENetwork to be extremely easy for the average computer user to understand. I appreciate the post though, like seeing ideas flying about lately.

11 Likes

I agree with @jeremyjpj0916. I really like the idea of the extra incentive to farm and further decentralize and secure the network but it does end up being more restrictive in the end and I think adds complexity. I also like the extra perk for early maidsafecoin investors and to prevent domain name squatting but again I think it ends up being somewhat exclusionary against the “everyone” in “safe access for everyone”. The idea is clever as hell though and I love the analogy :smiley:

I’m glad such bright minds are looking to tackle the domain name squatting and also glad to see different proposals on the issue. Good thought experimentation Gabriel.

12 Likes

I stopped reading there. Sorry, but this idea kills fungibility. If you kill fungibility, you kill the main idea of the network. This should be crystal clear, no coin can have different value than other coin. If they have different value, they are trackable to some source and this is huge problem for many well known reasons. Try to search for fungibility term and you will find out that this is something blockchain crypto does not have and would love to have.

10 Likes

Specifically on domain name squatting what about an algo like this:

User buys safe://youtube or w/e cause he wants the mega millions companies will shell out to get their “domains” on safe network(if adaption occurs and things take off).

What about an algo that punishes domains not receiving unique puts/gets or unique user activity over time and come a yearly or w/e renewal basis we want for domain names(honestly haven’t looked into this, is it a 1 time purchase? If so I would strongly revise it to be a yearly basis thing). And domains not taking user activity aka squatting have to pay a much higher algo produced safecoin cost to continue their bad “squatting” behavior. This will encourage people to use or lose the domains they have. Say renewal of a highly user used site renews at 10 safecoin or something. But the user squatting on safe://google gets charged 1000 safecoin.

Just an idea if this is something SAFE team has not thought much around.

Nooooooo That is bad since low usage mail accounts will be penalised

3 Likes

Email accounts can be tied to like a maidsafe or 3rd party managed safe://mail app that everyone uses and has accounts on? Why does it have to be tied to a unique domain name per user email? jeremy@mail.com or w/e on safe makes sense to me.

Yea it is. And this is a great plus for the network because it introduces the idea of ​​ownership … Something that does not exist in the current Internet…

I like the idea of ownership of data, I disagree with doing so in domain ownership within a network because people die and things like domains should be able to “recycle” naturally(they are just pointers to data, a human readable gateway if you will). So without a renewal process I think very quickly we will find SAFE out of the box flawed due to squatters and domains picked up needlessly. I think the “data” should be owned, and maybe these XOR urls I hear of as direct “free” links, but not domain names.

Edit - I will stop this talk tho here because I know I am about to drive everyone off topic :laughing: .

1 Like

That does not make sense. Mail works by sending to a name, why would I or anyone want to reveal to a third party just to not be penalised.

The arguments against the pioritising safecoin is pretty the same against this. You are creating a tiered system of names and preferring high usage names over low usage ones

First it is a name, not a domain since safe does not have the concept of domains.

Second it is only a name and the XOR address can still be used and so a secondary naming platform can be built to allow personal names for an XOR address for say your address book.

So the name resolution system is just a backstop naming system that can provide a standard that cannot change.

4 Likes

yes, people die and if I want my money to disappear with me I’ll bury them somewhere …

if I want to leave them to someone I’ll make a smart contract to send my account password to my heirs…

1 Like

Well I have trouble not answering things I am thinking on so I will fire back one more go, feel free to move this split off elsewhere if you know a good spot to continue these discussions.

I disagree, maybe my understanding of how email on SAFE is vs how email works in clearnet is boggled.

Clear net: gmail.com , I register an account, jeremy@gmail.com , there is my email and I think many apps and ui’s should be able to offer email through safe in the same manner.

Sounds like your description of SAFE email is more closely tied to a base offering of the network? Like a safe://jeremyemail ? If so I don’t think designing email in this manner where emails are not at the app level but at the unique domain level is a bit much in terms of domain saturation needlessly, but if it is at the domain level I think my point stands even more stongly, an email address not getting things sent to it or sent from it should likely die off over time, not the data that was sent to it per say, should still be accessible via a private xor url or w/e but the domain tied to it should.

Agree on safecoin, no recycle there as its your funding and yours alone, it does not hurt the overall health of network for you to take that to the grave, if anything it causes scarcity to make safecoin go up in value I encourage that :slight_smile: .

I view domains in a different light though, its important domains can’t be sat on permanently imo. I think the view of a perma owned domain is ofc nice to the “own your stuff” mantra that SAFE has, but I think there is a balance that needs to be met between owning your data and the public urls that take you to the data. I think it should be the network that has good algo’s to regulate that as well.

My guess this likely will be seen as a non-issue for awhile and it truly won’t be a problem for a little bit, but mark my words it will become a hindrance to average peoples enjoyment of the network when domains they are used to on clearnet when they go to a safe equivalent are perma squatted on by some dude who got it at network launch and died in a car crash the next week #rekt . At least at that time I can gloat and say told yah so :laughing: .

Well yea, mail on SAFE is just you running an APP which runs on your computer and it sends the mail to the ID of the other person. The ID is either the actual ID or the Name which using the name resolution give the actual ID and the mail is sent.

No third parties and no letting google or microsoft or others have your mail.

7 Likes

Difference in design taste I suppose. For sake of cleanness I would rather have a uniform app that handles email(not everyone running the same app on their own domains). Then I would also want a verifiable way that the source running that app can’t see our emailed data and that the app itself is open source(in fact if someone wanted to launch a competitor 3rd party app for email or improve/make it better). Then we just have one domain for email people get used to (like clear net, what people are familiar with is a powerful way to drive adoption), while still getting privacy and data ownership benefits minus the domain name saturation around email addresses. I mean based on what I am understanding I can write some code now to use 100k safecoins or w/e I want to buy up all kinda good domains I like and squat on them or use each unique domain as my email address? Just seems a waste and inherent flaw to me. Maybe MaidSafe at least pre-buys prior to network launch the top traffic 10,000 website urls and offers them for the clear net domain owners to get free of charge(good way to help drive a little adoption too to get webmasters foot in the door). And if they don’t take up the offer then well MaidSafe sells them to whoever.

I would argue people run and maintain their own email app is similar to the nerd talk of its a cool idea but not something non-tech people wanna do.