Proof Of Storage (maidsafe part II)

Sorry folks, another too fast an furious post, forgive mistakes and I will again update with any comments and improvements.

Proof of Storage != Proof Of Resource 

Proof of storage is an important part of proof of resource, but only a part of it. I will explain the whole proof of resource as this series continues. This part of the MaidSafe network should in fact be rather simple and make people wonder, why did we not see this before? So lets get to the problem quickly. 

“I think you hold some data, but I need to be sure you have it” (are you telling lies?). 

There are many grand schemes about for trying to achieve this very thing. It is considered a very hard problem and it is, well until you can see a solution then its a nothing problem.First we need to understand what a hash is, it sounds hard, but it is pretty straightforward. 

What is a hash?

In simple terms a hash is a fingerprint of some information. It is (like a human fingerprint) a certain size, or fixed length. so a SHA256 hash is 256bits long, a SHA512 hash is 512 bits long. Thats all that fixed length means. No matter how large or small the data we want the hash of is, the answer is always 256 or 512 in the above example. We use 512 bit hashes, so lets say no matter what we have, the answer is a 512 bit long fingerprint. That’s it really. Very simple.  N,B. As a human fingerprint does not contain the human, a digital fingerprint does not contain the data (weird maths arguments can start here for data less then hash length etc. but lets ignore that). 

So a hash is the digital version of a human fingerprint, but for data! It does not contain data, you cannot reverse a hash to get data, you cannot reverse a fingerprint to get a human. They are always the same length for any given hash type. 

An irreversible data fingerprint.

What is a secure hash?

This is a statement that throws people, they think, oh secure, it encrypts my data. It does not (read previous paragraph).  All that the security means is:

The more secure the algorithm, the less chance two pieces of data will share the same fingerprint (hash). [This is called a hash collision] 

It also means (and we use this) that for given random inputs the hash result will be evenly distributed across the whole address range. This means even a tiny change to data, will produce a wildly different hash result

“I think you hold some data, but I need to be sure you have it”

Right OK, back to the question.

Now we see, hash is a pretty simple to understand thing (its actually pretty simple code, which shows its beauty). In MaidSafe we already know that data is stored in an unusual manner (again simplicity). Each data element uses the hash (fingerprint) of its contents as the name. This means 

When you construct that piece of data in code, you hash the content and check the name is the same as that result.

This helps a little, but is not proof you have the data (we can prove that many ways, the simplest is to ask you for it 🙂 ). What MaidSafe does for many reasons is NOT to ask for the data, but instead we want you to prove you have it, more than that we want to prove you have the data and not a virus (a good reason not to ask for it). To achieve this we use a very simple process, called Integrity Check (code is here).

Integrity Check


Do not panic, this is just a reminder that there are nodes on the network (Data Managers) who knows some nodes that should hold data (PmidNodes) and these PmidNodes are managed by the nodes closest to them. You can sum this all up, by just stating, the network knows what data you should be holding

This proof in MaidSafe uses a mechanism similar to a zero knowledge proof. In this case the check should not require to know the content of any data to be checked, but must know the data is in fact held and held in a manner that is accurate. This means zero corruption or viruses…etc… can have affected the data. This is achieved with the following steps:

  1. A checking group (Data Managers) creates a random string
  2. This random string is sent, encrypted to all holders of the data
  3. The data holder takes this string and appends to the original data and hashes the result
  4. The result is collected at the checking group and compared
  5. If any node returns a different result then it is believed compromised and de-ranked

This mechanism triggers on Get requests and during account transfers etc. It is non deterministic and randomised by use by users. It is considered to be secure and uses zero knowledge, not to conceal content (as anyone can ask for any data), but to ensure any data with a contamination is not required to be transferred.

It is really this simple. 

An observation

There are two really important points to make here, and I cannot emphasise them enough

1: Hard things are only hard till you solve them, difficult is not always smart maths or amazing crypto babble, difficult means we cannot imagine the solution, we are trained not to and defeating all those years of conditioning is very hard. 

2: If a solution is complex then its very likely to not be an optimal solution in itself. If there are lots of conditions and checks in the solution, then I tend to not like it, at best it is a sticking plaster solution and will not last. The optimum solution will be simple in its own right, anyone should be able to understand it without too much effort (or its not optimal enough, arguably). 

This is actually what makes MaidSafe hard and complex looking.  Most of the solutions are very simple and start by requiring us to go down the sticking plaster approach, this is the part where folks say, thats amazing and complex, you must be smart, actually the opposite is likely the case. Then we remove that for a more simple algorithm that improves the solution, this is very hard, but the result should look as though it was easy all along (quandary? you bet).

This boils down to a situation where, you can explain a little part (as I am supposed to be doing here) and people say, oh yea thats rubbish cause look at this other problem, bet you have not thought of that (bet highly we have, not 100% but bet highly).  So explain the little parts and making them simple is OK, the complexity in MaidSafe is that it is a network of many of these little parts and they compliment each other. So to understand it you need to understand the little parts in isolation, then stitch them together. This is a difficult thing for people who want the answer now!

Further considerations 

This short text has touched on the issues that require solving and hopefully presented a simple, easy to understand solution to proof of storage. It is the part folk talk and pontificate about with elaborate schemes to solve. This shows the solution is in fact simple. It masks the actual issue though (as do all the expert opinions on this). What about mutating data, i.e. directories change when a file changes, thats not held as a hash, safecoin and transactions need a key that cannot be a hash of the data, so … there is a taster of the actual issue, when you solve this one. This is all for later in the series though, I hope you will see it’s just as simple, but all this is required info to get to that position.

Part 1 of this series is here.

Posted in complex systems, MaidSafe, Uncategorized

Shortest distance between two points is not always a straight line

This post is probably very brief and disingenuous for any mathematician out there, it is aimed at as many people as possible and I hope it comes across in an easy to understand way. We will see I suppose 🙂

I find myself explaining MaidSafe many times to many people and try to do so in  a language and counting system they will understand. I ‘get it’ that people want this, so do I, but to understand MaidSafe it’s really not possible to think in our comfortable world of linear number lines and counting. The term used to describe what I am talking about is ‘non euclidean maths’. I dislike that a lot as its like calculus or similar, a term to scare people off. This is not necessary as it is way simpler than a confusing term.  It is also way more simple if you immerse yourself in this type of maths, many people will not and never understand you, but it leads to many hours of quiet solitude and relaxation as a whole new world of possibilities opens up in front of you. I find that you can lose yourself in such counting systems, a bit like the Gauss clock counting base number systems, it’s very unusual and interesting. Not at all clever, but very different.

Down to business 

MaidSafe is based on an XOR network at is root. This is not really the crux of what makes it different, but it seems to be what people focus on (“what if my computer goes off?”, “I can Sybil attack this easily!” etc.). I figured it was time to try and explain this as understanding issues like mutating data such as safecoin etc. are impossible without understanding this way of thinking.

So here is how we think.

0--1--2--3--4--5--6--7 (real number line)

And here is XOR


So what?

Immediately we will look and run our eyes along the bottom and think it’s our comfortable world again. It is far from it, we will see why soon.

XOR opens up huge possibilities and many unusual attributes (and I hope I do not sound like I am using a weird maths unintelligible language that makes people think this is clever, it is very easy, honestly).  Many smarty pants people will tell you this is all irrelevant, but just think for a minute and realise you have moved on a level, understood a little more than the real number system. So lets looks at some different properties of this system:

1: Distance is not based on the normal number system, i.e. the distance from 4->3 is 7, but the distance from 2->3 is 1 (get a scientific calculator with xor in it and try).

2: Each node has a unique distance from every other number bar 1. (i.e. the distance from you to another is symmetric, but you share no distance from you to any other specific node with that partner, plus every other node is such a partner).

3: There is no straight line distance from any node to any other node (like points on a sphere, but no calculus, don’t worry)

4: Every number on this line sees a different network from any other number, so to see the network from a numbers point of view you need to become that number (after all its distances are unique to it, remember!).

These additional comments can also be made, feel free to ignore these though as they are a bit more confusing (sorry, but some may find them useful)

a: Distance from any node to any other is almost the same as the height you need to climb the tree, you can verify by actually XORing the numbers if you wish (I do to check). Be aware though the last bit of the address is important, you are closer to the address ending in your last bit than the opposite of the last bit. I check the side of the tree in the last position, so if you are on the left you are closer to the node also on the left (if you look closely at the diagram you will see this) than the one on the right.

b: The other (maths) way to measure distance is to evaluate the most common leading bits of any number. (again you need to consider the last bit as if your address ends in a 0 you are closer to it than the address that ends in a 1)

 A bit more interesting

Another thing we do as humans is revert immediately to straight line thinking, but additionally we also assume a fully populated network or tree as we picture above. If you stay in dream world a little longer and think what a sparse tree would look like then its eye opening.

1 - - - - 6 - - -- -- 9-10-11-12-13------21----

So in the above tree we can see that its sparse, i.e. full of holes where nodes could be. This makes it more clear that if we know each node has a unique distance (to it) from every other node then it gets interesting. To make this clear, from any node all distances to every other node are unique, but the distance to any node is symmetrical, i.e. dist(A->B) == dist(B->A) but this distance will be unique to A and B, neither of them will share that distance with any other node on the network. There is a strange (sometimes called triangle property)  property as well so [N:B ⊕ means XOR]  ((AB)C)(A(BC)) which basically means that if you XOR something with something you will get an answer. If you XOR the answer with any of the two inputs you get the other input as a result.

so  4⊕5 == 1 so 1 is the answer. If we then do 5⊕1 we get 4, or if we do 4⊕1 we would get 5. So this is a handy thing we use to obfuscate information at times.  If the 5 is your info and 4 is a completely random number only you know and use once then you have a very powerful secrecy mechanism (if the 4 is the same length or larger than the 5 you have ‘perfect secrecy‘). On that note readers should take a look at self encryption for fun. Anyway I digress. 

So XOR has some pretty strange peculiarities when you first come across it. We have listed only a few here, to whet your appetite to know more, but its this tricky and somewhat hidden set of attributes that has people looking at an XOR network and saying, “oh that’s obvious” etc. I thought so too and especially when I first came across Kademlia. That paper is very tricky, I read it and thought, simple enough let’s do this, then it became clear there was much more to this than met the eye. After digging it was also clear there were deficiencies in kadmelia networks that would be very hard to overcome.  So on we go with our excursion into non linear counting methods and some really cool side effects.  There is more info on some of these kademlia deficiencies (well from our perspective, for public only data its way good enough)  here.

OK What about closeness

This concept takes the XOR thinking and expands on that a bit more, again with surprising side effects that do not seem to be noticed easily. In MaidSafe the notion of closeness is used to evaluate a nodes capability to make a decision on an action depending on the action type, data ID and some other parts (too much for this post, you can read about it here though). In other words closeness is important. So if we can assume a secured mechanism in place for address creation and maintenance (there is and its called PKI) then we can look further, normally you need to argue for days to get to this point if you are discussing MaidSafe so this is great progress.

If we imagine a close group is size 4 for now then look at this network

1 2 - 4 - - - 8 9 10 11

We can calculate the close groups, these are

for node 1 – 2, 4 & 8

for node 8 – 9,10,11

Hold on!

If we ask node 1 then node 8 is close to it, but if we ask node 8 then 1 is nowhere to be seen! We know that dist(1->8) == 9 and conversely the dist(8->1) is 9.

Wait! now look at what happens when a node appears.

1 2 - 4 - - 7 8 9 10 11

Now look again at the groups (and remember to stay away from linear thinking)

node 1 -2.4,7

node 8 -9,10,11 (not 7?)

now look at node 7 (4,2,1) its miles away from 8! (15 away actually), stay away from the dark side of linear counting at all times with this stuff, there be dragons 🙂

[Edit from our own Mark Hughes, a clean example (thanks Mark @markhughes)

 Here are binary representations of the digits 7 to 11:
     7        8       9      10     11
0111 1000 1001 1010 1011

To get the distance between 8 and each of the others, we XOR the number with 1000 (binary 8), remember we have to become 8 to see the distances form it.

0111 (binary 7) XORed with 1000 (binary 8) is 1111 (binary 15, quite a large distance).
1011 (binary 11) XORed with 1000 is 0011 (binary 3, which is smaller than 15, and so eleven is closer to eight in XOR space than seven.


So there is a simple example and description of closeness, it is uni-directional or asymmetric and distance is bi-directional or symmetric.

A network of networks

First thing in MaidSafe to realise is that the address space is huge (2^512) in fact its way larger than all the atoms in the visible universe.  The distances between nodes will be numbers so large they have no names. So these distances are vast, it makes little difference though. This ensures we do not run out of addresses and data locations to store (although in MaidSafe these are typed, i.e. we can have a node at position 001 and a data element of type 1 say at position 001, so not happy with this huge number we have gone a bit mad (or so it seems)) This basically means that we have multiple types in the same space, so message type1 has a 2^512 network, message type 2 has another 2^512 network etc. This can be thought of as each message / data type has its own network.

At this point it is easy to spot that every node sees a different distance from other nodes. We have kinda proved that above. Now this starts to hurt a wee bit, its like everyone sees their own rainbow, no two people ever see that same one (think, think). So from any node the network looks different. We also know that to measure distance from a node to another (especially closeness) we need to become that node. It’s not possible to do otherwise, in MaidSafe this means getting as many nodes around that point as we can (16) and then sort that list of nodes from the address we are interested in. Then we can tell which nodes are the closest. So we do not become that node per se, but we do look at the network from that nodes perspective, told you it was gonna hurt.

Right, so now we see we have a network of networks. Some still at this point will say “so what”, ignore them and continue.

 The large interconnected Venn diagram appears


In the above diagram imagine A B and C are nodes. They are looking after an address in common. C shares a small part of the responsibility for this common data, as does A and B. If we imagine another bit of data A is responsible for you can see from the diagram that C or B may not even see that data. This shows that you cannot look at a group and work out what they are responsible for.  You must become each data element and look at what group is responsible for that element. Again the take away is close groups are different close groups depending on the data element in consideration. The network of networks is not restricted to nodes, bit to every single data element within that network. It is very unlikely two data elements will share the same close group. This makes attacks in groups of data more difficult. If you also consider the network alters continually with nodes going on and off you will see why this is not a problem for MaidSafe, its a huge security feature. The target is moving now, so a piece of data has different protectors with each churn event.  So it is not how we handle machines going on an off, we welcome it as it provides a layer of security that is not obvious. We will make great use of this as this series moves on to show where the security of consensus chains becomes inordinately capable in such an environment.

I am not good at maths, or in a traditional sense anyway. I see shapes and sort of dream myself into the problem, in this case the network and poke around it in my head, even while sleeping. It’s hard to do (for me anyway) and you almost get into a trance to really focus your mind on this.  So I think Kademlia is like a semi organised collection of random nodes, this is indicated by the fact emule used to have 30% duplicate addresses and you cannot be sure you are close to data or addresses, you just search until you find stuff. It’s not good enough, we need more accuracy.

So we take our network of networks, our large Venn diagram and make a big change. We connect all nodes to the 16 closest nodes they know off, add in some more for uni directional interest and make the rest random across the address range (should be equally spaced in a perfect system, but it will not be). Now these nodes have great knowledge of each other and can spot when one changes, very quickly. The random part actually takes the shape of a kademlia routing table and each node monitors addresses to try to improve this table. This allows logarithmic search or in layman’s terms massively reduces the number of hops to a target.

When a node goes off or comes on the network it will affect its circle of closeness to it. It will also appear at a point in the network that means it should be doing something and looking after some small state (state is distributed evenly across all nodes). As no node has the same distances from any other node, then the state each node holds will be different from its peers. It will share some info, but its list will be unique. Each item will be on at least the number we have chosen as close groups (4 in our case).

So a node going off will affect the close part to it. The whole network is reconfigured without any other node far away knowing it is until they look. No node can look everywhere so the equilibrium of control establishes extremely fast. No need to transmit messages all over the place to let others know what’s happening, they do not need to know and can do nothing about it anyway.

I hope this very brief foray will be helpful, it’s a bit of a head dump, so may contain some info that could be better, it will be too simple for some. My intent is that anyone can read this and begin to understand the journey I hope to take this blog series down over the next few weeks. This will explain consensus chains and mechanisms and then on to how to think about decentralised control and applications in a way that I cannot see has been done before. I do hope it helps. I hope at least people can look at this fundamental part of project SAFE and realise there is nothing out there like it as far as I can see, it’s certainly wildly different from Tor/i2c/Freenet/Bittorrent etc., or at least I hope that’s becoming more obvious now. This will be a long journey, but at the end I hope readers will be pleased at the differences this approach offers.

Tagged with: , ,
Posted in complex systems, MaidSafe

What is a vision?

This is more of a quick note than a full post. I hope it helps others who are trying to change this pale blue dot for the better! [watch this, it explains a lot and is very enlightening]

Recently as MaidSafe has come out of the shadows it has been very interesting to watch from the sidelines. People seem to split into many camps

  • Don’t care
  • Not reading this
  • Not listening
  • Rubbish
  • Scammers
  • Canny happen
  • These folk are nuts
  • This is amazing
  • Wow cannot wait
  • Freedom at last

And so on. It’s an interesting thing to watch.

What vision

MaidSafe have had the same vision since day 1. Privacy Security and Freedom for all the worlds people. This is what is interesting. Practically nobody disputes this vision, many actually actively support it and see it as significant. Lets assume for the rest of this article this is true of most people. I cannot see anyone not wanting these foundations of a society anyway.

I believe I have noted three basic groups of people in the journey so far and more in number in the last few weeks. the ratio seems solid though. I shall try to describe what I have seen, not that I am trying to say that this is always the case or even a repeatable pattern. I do find it intriguing though. So I am noting it down.

The care later (maybe) group

Now lets look back at the list. It is actually very representative of what I have witnessed. So about 1/3 care about the vision, but cannot be bothered to hear about it or invest time looking at how it may be achieved. These people have different immediate goals and do not want bothered with more work to do.

I think these people have many reasons for this behaviour:

  • Too busy
  • Too tired
  • Too stressed
  • have very urgent issues to deal with
  • Do not see the problem

Who can blame these people for apparently not caring in your vision. Sounds like they have their own issues to work on and these issues at this time are more important.

You have a desire to change the world, give up everything and they do not care! Well they do care, but it’s not their time, that time is later on. These people are not your enemy, they are not opposed to your dream, they frankly do not care, but in the nicest way, they really do not care if you win or lose. Not yet anyway!

The no way team

The next 1/3 immediately shun the idea and to do that effectively. They simply state it has some fundamental flaw. This 1/3 are interesting. Some invest zero time and just throw out statements, often very hurtful and cutting. Some read headlines and presume total knowledge and some simply refuse to believe it. These people will inflict any pain they can to stop a change dead in its tracks. It becomes their duty and they will try very hard to do that.

These people also fall into various categories I think.

Lied to before

This group is understandably stand offish. Like a police officer who deals with crooks continually, they see every person as a threat. Every opportunity as a con. This group is actually OK and a few messages back and forth and they start to wonder, what if? As long as you are honest, true and really believe in your vision, these people can become supporters. It is not an easy thing to speak with these people, sort of like cuddling a porcupine really, but many times it will be worth it. They actually want this to be true, but have been bitten, possibly more than once.

They need to be persuaded you are honest and capable, that is all really and in all honesty it is not a big ask.

Protectors of the status quo

This is the group that will see a plane fly overhead and still deny flight is possible. This is a tough group. Many here may even revert to statements like, well even if the rest is true you have a silly name, how can we take that seriously. Occasionally they just shout scam or fraud and then put their fingers in their ears. This is the horse you take to water and it refuses to drink, it would prefer to die than admit to needing a drink.

All is not lost, I think this group just need to see they will not drown drinking from a pool. They need reassurance this will not be sore or somehow damage them. You need to guide them off the path, they will not go far so you need to show them quickly there are no dragons living in the bushes.

These people will take several hours to persuade that they should look further. It is a porcupine thing though, you will continually be jagged as they tense up and stick you repeatedly. So you need your Kevlar skin suite to deal with them.

Cannot leave the ego at the door

Well these people, I believe have given up on education, they have stopped learning and will take way too much time to persuade. They will not speak to you anyway, instead shout at you for their supporters to hear and applaud their genius (an immediate giveaway). These people will do everything to kill your project and idea off. In fact these people will show immense strength and tenacity to make you just go away and die. Yes they would like to see you disappear and never come back, no matter the price.

There is nothing you can do, these people will suck any energy from you and will give everything they have to fight change. The only way to win here is to be polite, fix obvious errors in any statement and move on, do not look back and never read the reply to your polite statements. It will honestly just suffocate you.

The kindred spirits

The last 1/3 are interesting though, many will not really know much detail, but want the change you have noticed so badly they jump right in. However, then something magical happens, they ask and they ask a lot. The more they find out the deeper they are involved and more convinced this is worthwhile. Many of these people, will just know this is special and become great friends. It is a humbling experience.

This is where your strength is actually challenged, not fighting the second group, but supporting this third group. You now not only have shared a vision, you have support and this support becomes the bedrock of your vision. Break this and it is all over.  This group though will amaze! After very polite hello’s and introductions this group will defend, not you, but the vision. They came here for this vision, not for you and that is great. The vision will be more important than you.

This third group now do something rather amazing, after a small amount of time, you are them and they are you. A transformation or metamorphosis occurs that changes everyone involved. The vision is still solid and arguably even more cemented in place. The legions of people who are willing it to happen, by moral support, encouragement, new ideas, questions and occasionally helping with the manufacturing process is now doing something you could not.  They are growing in all directions, new sites appear, people across the Internet start supporting and defending (dealing with the 2nd group) this vision. Everyone starts working out ways to me more involved  and turn a vision into a reality.

Who owns a vision?

This is a great question, it is like asking who owns a particular word, or who owned the wheel or even who owns your telephone or tv. The people who get involved believe in a vision, there may be people who pushed this vision and worked to make it happen, but they cannot own it. It is such a strange thing to ask when you think of it. So why then during the 90’s and on did companies all rush to come up with a vision statement, put it in a glass box and shove it on a wall? More importantly why did these companies not know what they were in business to achieve, or was their goal purely profit?

Herein lies the big difference. If you look at some of the successful large companies you will notice something particular about them. No matter what happens after they IPO as that’s another matter, they are then obliged to increase profit at all costs. Before that though, these large successful companies had a clear vision, to connect everyone, to index all the worlds data, to make computing available to all in a stunning package etc. The successful companies seemed to have a clear vision and the community wanted it to happen.

What is a vision?

This is pretty clear I think. A vision is noticing that we can advance a little as a society. People can imagine that if things were to be changed a little then we all would live better. The vision that is inclusive and fair gains momentum fastest. This is evolution, so a vision is merely a step in an evolutionary chain. Just as species will physically evolve to better work in its surroundings. A vision is important to allow us to evolve and make better use of our surroundings. That is all.

Why the 2nd group then?

This group is actually important in many ways. Any change that is dramatic, is likely not fully thought out and tested. This second group forces the vision to be tested and their opposition to it actually makes it stronger and more likely to succeed, if it is indeed an added value to society. Whether these people can see that or not, they are vital to big change, the tenacity and grim determination to kill something off, often makes it stronger. This is like a comprehensive set of tests on the network in our case.

The wild accusations etc. are just fluff and easily seen by many as just noise. The deeper probing of this community can be a very effective tool, the key here is to not take it personally, even when it’s delivered in an extremely personal way. Inwardly thank these people, but never to their face, that would drive them mental.

So this second group are vicious, dangerous and absolutely required. An interesting point.

Nature allows evolution, but does so very slowly. Many evolutionary steps in organisms is once every 20,000 generations, so not fast. The reason is that the surroundings need to also adapt to these change in a species. The surrounding species need to also evolve to become more efficient. Otherwise imbalance happens. This second group merely act as the brake and slow down change in many ways. This is perhaps why nature made us in this way, so we can all evolve together. Look at schools, they still teach primarily Newtonian physics and almost ignore quantum physics, even after 40 years. Change takes time, not matter how obvious it is.

What is the lesson?

The lesson is not one for the masses, it is one for you, the reader. Change is something we have inbuilt in our species, it drives many and we all take part in many ways. You need to embrace all the parties involved and realise that nobody owns a vision, nobody can. The more you share your vision and the quicker it becomes a vision of a movement who may not (if you are lucky) even know the name of the originator. If you have such a vision, then believe in that vision above all else, above profit, above ego and most of all above your own self. If anyone can help you achieve this then take that help, even if it is a competitor, after all did you not go after a vision!

An important point is that you can only hope to create the seed of change, it will take many iterations to get right. Look at anything, the first phone, bitcoin or the first car etc. many people will try to stop you by pointing out something that is not required now (like a fancy braking system for a Ford model T). Do not try to put ABS in your Model T, just make it drive first, remember evolution is a continual thing and you do not need to aim for perfection, although detractors will use lack of perfection as a reason your vision is flawed.

Who cares who cured smallpox, polio or who created the first wheel, we just care these got cured or discovered. All of your effort is to help the vision come true, if you believe it is yours or is personal you will lose immediately. If you truly believe  in the vision and what it will mean for everyone and remove yourself from ‘ownership’ then that vision will take on a strength that is just not possible to stop. You become part of a team to make this happen, you may even be thrown out the team, who knows. If you see the vision come to life and fulfill the promise, should you really care who did it? (I don’t)

Tagged with:
Posted in Personal Opinion, strategy

Surviving a crowd sale


From the outside, some people see, that lot just got $7Million for nothing. From the inside of the bubble life is very different. Lets go back a bit though. MaidSafe is an enormous proposition, replace all Internet services, redo the design from the network up to the person. Put individuals in complete control of their digital life. No small feat and extremely difficult to do correctly.  This took many years (8) and almost $5million on funding from mostly friends and family as well as local people who came to hear of us. This is a huge responsibility, if we fail it’s not just lost opportunity, it is lost friends and disappointed families, most importantly we believe the world loses an opportunity for freedom of it’s people.  A big difference from faceless money, this is support from people who care about us and the project. Of course some greed did slip in, not much, but enough to cause us delay and frustration at times.  Our investors though are amazing and have shown immense patience in a project we thought we could tackle in a year or two, eight years later we release it to the world. A huge step, some say brave, but entirely logical in any case.

Background to the sale

MaidSafe has a goal that is pretty huge, so large a select few investors we have would not talk of it. One of our largest investors told us repeatedly you cannot go and pick a fight with the big guys. I never said to much, but knew the whole time it was not about picking fights, we were just going to replace those services, every one of them. It was not about beating big guys, it is about privacy security and freedom for all, that’s it. A very small number of later investors would say, release some small utility and focus on that, i.e. wanting to jump off the bus and see where we were, perhaps even sell out to a large company for a few bucks and get a return. These things are very limited, but they exist and are a constant distraction for sure. It is understandable as many of our investors have been backing us for 8 years, interestingly those early investors, just support us, that all, they totally believe in us and watch us work non stop through the night.  MaidSafe need to prove to everyone that this was not a get rich quick buy for a £1 and sell for £2 scheme, this was a world changing event if we did it right. Returns follow value and this is my absolute belief, otherwise rob a bank, it’s faster and more likely to succeed.

So MaidSafe needed the masses to shout about change and demand we succeed. It demanded a following of early adopters who could see the goals and tell everyone that this could change their lives.  We needed smart backers and more importantly, much more importantly MaidSafe had to give up control of its digital assets to the world. Time to release the thing to the community and have legions of followers and supporters. The world was moving on and the need for project SAFE was overwhelming.

Go for it

In this brave new world where many have gathered we found great support. The Master Protocol seemed like the vehicle to issue a smart property, a bitcoin VC BitAngels also found us and were exceptional at offering advice and planning. So we set a date and moved towards that date with vigour. This allowed us to introduce the currency of the network that dated back to 2006 when the design was first envisaged. So this was not going to be a step forward, this was us leaping onto a world stage.

The conduit to the community for us was the developer mailing list and Google Hangouts. This list was full of supporters, ideas and exceptional honesty. A great place to work from. In the background we were finding out the Master Protocol was almost ready and they were working hard to meet our deadlines (software projects and deadlines, always include pressure).  The planning of the sale was unfolding in front of us as well.

Plan for it

We decided to set a price of 17,000 MaidSafeCoins per bitcoin. This was to say to everyone, we will take the risk of fluctuation and if BTC fell then we pay the price, if it increased during the sale we would benefit. Either way people could know exactly what they were getting. We spread the word, all our staff started to buy BTC for this sale, the excitement was growing. We knew MSC could be used directly and automatically issue MaidSafeCoins, this was how the protocol worked. This gave us cause for concern, but experts in the field reassured us the MSC part of sale would be minimal. This was comforting, but relied on us using advice and not setting a rule (this was our big mistake).  BTC purchasers would be handled manually in the back office with us actually doing the conversions and using the MSC loan account to make the actual MaidSafeCoin purchase, we got set up for night shifts during the sale to do this.

Days before the sale we found out the loan amount of MSC would not cover the bitcoin part of the sale, this floored us. A date was set, we had done loads of meetings, talks and interviews stating this. Was MaidSafe going to fail in such a huge step? No we were determined not to. It was suggested we could set the MSC -> BTC rate at 0.3 or 0.4 which we read and nearly collapsed. This was 3 or 4 times market value, how would this be possible. We were convinced to set a rate of 0.2 and the sale could be funded to make sure BTC holders were covered. Again it was stated that MSC would not be above 25% of the sale.

We were comfortable with this explanation. Just before the sale we set the price of MSC at 0.2, which was actually 2X the current market price, why do this? Well we had to cover the BTC and all information we got made it clear this was the only way. We were also convinced that as people seen the value of MSC as a vehicle for smart property then this price would be eclipsed very quickly.

We then found out about the reward scheme, a rolling discount that would incentivise early purchasers and kick the sale off. This had been previously done and was a success. We agreed it would be a good thing to do this and anyway it is how the protocol worked.

Press the button

09:38am April 22nd 2014, we pressed the button and the sale address became live. We had on a screeen in the office and used this to track the sale. It went mental almost immediately, in less than an hour there were hundreds of thousands of dollars worth of purchasers, mostly small. We were amazed. I had to rush home to make my BTC purchases for my friends. I rushed.

At home the was going even faster, excitement turned to worry, this was too fast. That sounds crazy, but it does make you nervous when this happens, I cannot explain why, but it does.

On returning to the office, myself and some of the team went outside for a sit down in the sun. Then people rushed out of the office to us saying, the MSC part of the sale had gone ballistic, numbers on the different MasterCoin sites were all different, one saying the sale was over.  This was bad, all BTC purchasers including us were now locked out and the coins were all purchased. Euphoria to the death of the project in seconds.

Staring into the Abyss

Ok it was over, we had screwed up and screwed all our supporters who were BTC holders. We had bet the business on this sale and spent months working towards it, sacrificing everything to make this happen.  Time for action!

We got on to the Master Protocol guys in the USA, to figure out where we were. They were convinced only 50% of the orders we had seen on an exchange were real.  What? we could still save the day. Stop the sale I said and then realised we could not as this would stop any more MSC including the MSC we need to convert for the BTC purchasers.

Stop MSC inputs from any more people then! This was also not possible, it was going mental.

OK, remove the MSC address from the site and put up a message this MSC part was finished. All our advice was down a toilet somewhere and we had taken it as fact, what a stupid move on my part.

We would halt everything and use the MSC loan to process the BTC purchasers, we owed them this and needed it to happen.

N.B. The Master protocol team are working out many of the issues we had to deal with, both technically and politically. This is a frank and open discussion and great to see.

Climb out of the fire

So we managed to figure out the amount of MSC that had been used so far was circa 50%.  We could still accept BTC. I then said, lets buy all remaining MaidSafeCoin with the loan fund and close this sale technically in the background. This meant the BTC people were protected and we could take our time processing the purchases. The manual process was excruciating to say the least and this amount of transactions was going to introduce error.

In steps the Master Protocol team and our devs, between them they created a set of tools to automate the process. The MSC guys created a test smart property and tested overnight. It was a success, so three days after the sale completed we were able to make all of the transfers. A few last minute purchase attempts got locked in the master blockchain and these were handled after protocol correctness discussions and debates.

The hard part

The end result was going to happen anyway. MaidSafe’s project became free and a movement is now underway.  We are still stunned in MaidSafe as the whole thing was surreal. Yes we ended up with way less actual liquid cash to allow us to achieve some early goals, but it was never about money. It was never about taking from people, this was all about giving. Many people could not understand that and a tiny amount of people made up some stories that were so incredible they seemed insane. These stories caught fire and had otherwise normal people perpetuating stomach wrenching stories about MaidSafe, it’s goals and supporters.

This was actually more difficult than I thought it would be, we are so used with open honest communications and try hard to make sure everyone sees us in a ‘warts and all’ manner. We even had a few on our mailing list that got banned, these people admitted trying to manipulate the market etc. they were also added as the ‘expert witness’ testimony to the weird and bizarre stories that were being manufactured. A person who started one story then bragged of ‘getting in’ and getting some MaidSafeCoins.

It is a strange world and shows again why a privacy enhancing, free and secure network is required. The education of people is so important.  The madness of these people is the same madness that causes many to harm many. These memes that are actually very false is where persecution starts, that can often end up in a situation where people end up taking up arms against each other. It really is amazing to watch, initially I thought it was funny, then when these stories grew it made me feel very sad that the connected world is not smarter just yet. This is something I will continue to try hard to remedy, we have to. We just have to!

The end result

One thing that struck us in house was the supporters on our mailing lists and forums. They hardly took any notice of the crazy stories and continued on, planning and working out ways to create remote development groups and meetups.  This was the opposite of the feelings earlier, this was immense pride and a wake up call. What we just did was unbelievable and a huge step to freedom. Project SAFE supporters were doing something important here. First they obviously thought, I hope, none of that nonsense is true and when they seen it was not gave it no thought. The other thing I hope was the case was that it did not matter. Project SAFE was not MaidSafe, it was not David Irvine and it was not bothered by dafties. Something very much more important had just happened, we achieved our goal. Project SAFE now was firmly community property, we were secondary as we wanted to be.

So the oodles of cash, the pile of loot, what happens to that? This part is easy, it is much more equivalent to $3M in todays cash if we were to convert it, so there is a long term position required.  It will keep the MaidSafe staff paid and housed for 3 years as stated. The rest, all of it will be used to get the community up and running, so we give it away. No we invest it in our future! We had hoped the foundation would have enough to buy the land it’s on and build a new building, that may still happen, but only after we can be sure the community is up and running first. A lot will depend on the liquidity of the crypto we took in.  I know we will make sure it is accounted for penny by penny (well it has to be anyway) and that it makes sure project SAFE is not only real, but that it accelerates onto the world at a significant pace. I know we will make people proud and I know we will at least start to make the world change for the best, it’s our duty and now we share that with many more like minded owners of project SAFE.

I was asked in an interview recently what it felt like, this crowd sale? I replied

If you want to feel 1mm tall, do a crowd sale for something you care about!

Yes I would do it all again, and I hope many do, we broke the water for others and found some holes along the way. We are working with the Master Protocol team to make sure no other project falls down them, but we did it! and man did we do it. It was and still is unbelievable and surreal. Another stage in the project SAFE story is now complete, the next steps are likely to be dramatic, I cannot wait.


Posted in MaidSafe, Personal Opinion, safecoin, strategy

In a MaidSafe state of mind

I have often been asked by people near me saying “how did you come up with all these parts and glue them together in your head” I then usually answer, “you need to think the maidsafe way”.  First though we need to recognise that I came up with seeds of ideas that others helped me develop over time. This is a very tough thing to describe and I suppose it is a few different parts that all come together in a weird idea soup. To try (and probably fail) to sum this up I think it may involve:

  • FInd a vision and go all out towards that
  • Look for the parts considered impossible and consider them solvable (always)
  • Figure out the logic at the very heart of the issue
  • As the parts solve themselves try and use those core algorithms to integrate with the next problem
  • As these structures build into a system, be prepared to start again (many times)
  • Know the whole time until all the parts do compliment each other you will never know what it looks like

Now if this sounds difficult, it is. If it sounds easy, it’s not. There are other significant parts you will need to do:

  • Find people to pay you enough to live on (no more) to achieve this
  • Provide a reward mechanism for supporters
  • Find criticism whilst avoiding negativity

The last part is significant and extremely difficult. The investor part is less difficult, but will cause you to be interrupted in your thoughts continuously. You learn to work with these interruptions (I do it by working through the night and knowing I will not be able to think complex systems during the day). The people who disturb you in this way will all tell you that you need to sleep and take a break, its strange, but true.

Learning to shun negativity whilst seeking critique is the extremely difficult part though.  The proportion of critiques to informed opinion is pretty imbalanced in some forums, particularly those that find themselves at the peak of voices wanting to be heard, such as many Internet sites. This is certainly an innovator’s dilemma and may be related to the commonly known version of that paradigm.

What is an Innovator or Inventor?

This is an unusual stance I think. It is a person who is looking sideways at things we all look at and consider impossible. It is also a person who wants to make something more efficient or simple, occasionally its just somebody who looks at something and sees something very different from the rest of us. An invention to me is a fix for something. Many people invent all the time and do not even consider it. I see inventors of the past and think that it’s great. I do think though an invention is a single thing, so perhaps the person who invents a new widget will only ever do that. This is where I see the difference between inventors and innovators. I think invention is the continued output of an innovator. A single invention may be stumbled upon by anyone, an innovator seeks the next problem immediately as that is what drives them.

I think this drive for finding better ways defines innovators and just like a Physicist or Engineer, they likely will not stop. The search for the next answer can be like a drug. It drives people to despair and ruin on occasion.  Innovators look for hard problems, so monetising in Invention seems to easy an issue and unfortunately innovators are forced to protect an invention by stopping finding the next problem and doing a relatively boring (to them) job of monetisation. This should not be misunderstood, monetisation is one way to get an invention to the masses sometimes. I strongly feel this should not always be the way though, look at Jonas Salk and his polio cure, he just gave it away, polio got cured, how much was that worth to a monetisation expert? how much was it worth to society? Which is the most important?

An important excerpt from Wikipedia

But as he was sitting in a park and watching children play, he realized how important his work was. He saw that there were thousands of children and adults who would never walk again and whose bodies would be paralyzed. He realized his awesome responsibility, and so he continued his task with renewed vigor

What if in our work we could see the people we could help, would the drive for monetisation really be so important in all cases?

In any case, we know now I see innovators as those who constantly invent.

Incremental or step change

Every innovator will be doing something that he or she is told by the educated in that field is impossible. This is great and food for the drive required.  This is even more pronounced though as the size of the invention is described.  I find myself finding people intellectually lazy, by this I mean we as a species seem to want soundbites and fast summaries of complex ideas. The more complex the idea the harder this becomes, until the Invention cannot be summarised to a sentence. So incremental improvements are easier to fund and understand and we humans love it. A fatter coffee jar that does not slip out of your hand so easy, a wheelchair with ratchets to allow users to go uphill easier, a battery that lasts longer etc. These are all soundbitable (another invention :-)) and easily sold to investors. This is because investors can understand it, and if you add a market size, selling price and some hockey shaped growth curve to a spreadsheet they are as happy as Larry. This is especially true as they can show their expertise of coffee jars and batteries and pontificate market opportunities etc. These investors are not the ones you want to work with, honestly. There are some real forward looking smart investors out there, it’s hard to get to them in todays wash of ‘theres an app for that’ pitches, but they are there, persevere and find the smart guys if you want to stand half a chance.

So back to the step change proposition, the invention that is so large it has few words anyone could understand to describe it and maybe has revenue potential so huge nobody would believe it. Here I think of aeroplanes (if nobody else had been trying), telephones, television etc. In many of these cases though there was a furor and race to get to the line, it seemed many thought these were possible. What though if a huge changing invention were to come about, what would we all feel then?  Imagine, what did we call a wheel before we seen one, or a telephone before it existed, it’s a tougher question than we realise as we are not good at thinking about these issues, they show our fallibility.

In today’s world of “explain it in two words or a short sentence” then the wheel would be hard, the telephone impossible to believe. I wonder if they would have actually succeeded?

Of course I am talking about innovators with no financial means to look after themselves here. For the wealthy these questions are less relevant. Edison and Tesla are great examples of both sides of this fence.

So a step change leads to an incredibly difficult place for an innovator. That innovator will find themselves asking why why why can nobody see this.  I think again its my old friend nature.  If we improve to quickly then we could be wiped out. If we back all the things we do not understand we may kill the planet around us. So I believe we are built with a defense against massive change and this defence is for the best.  So a large innovation is gonna be a fight, that innovator will need tenacity and the ability to make it happen, even with very limited resources. Nature made some of us very tough and this is one reason.  This is also a reason to not worry about revenue models of how to monetise, these innovators will be a different breed and will certainly know 1+1 = 2 and understand they want to have enough cash that nobody else suffers this pain. I think that is why so many set up foundations for education and research, its just to valuable to not let it happen. Added to that the revenue model may be one that does not exist or can be believed (charge people for talking into a bit of bakelite!), another problem.

Is it worth it

This is the whole point. The innovator cannot only see the advantage of an innovation, he or she can see the faces of the children who will die if this is not done! Oh yes it’s worth it and that motivation is more powerful than any soundbite or wondering how much cash you will get.  So worry not about monetisation, worry more about not doing it, this is what drives true change in our society and what makes humans different. We need to not be to far removed from that premise and this is one place capitalism fails dramatically. We must find ways to let people dream and that means removing stress. This is one thing maidsafe will meet with project SAFE, give people back control, give them cash and remove the stress. Then when they dream (as opposed to worry) they may see a solution and the childs face I mentioned and that is where the magic will happen.

Tagged with: ,
Posted in complex systems, nature, Personal Opinion, strategy

Safecoin, why it’s safe and what it means for us all

Secure Access For Everyone coin

Is a coin that is generated and protected by the SAFE network and stays on the SAFE network (It of course can be copied as it is data, but off-network copies are of no value as a coin). Wallets will actually ask the network what their balance is and allow transactions to happen. The network can confirm and exchange coin ownership via a digitally signed authority from the coins last owner. This operation is ‘network atomic’ which basically means the network will make sure all copies update to show the transaction. This is a different approach to the ‘blockchain’ mechanism employed by bitcoin. The SAFE network allows many millions of transactions per second and the larger the network the more transactions per second can be executed.

Safecoin only holds the last and current owner. It does this to make sure the current owner has signed authority from the last owner to take ownership. This allows coins to be transferred between people very easily and without delay.  Safecoins use a proof of resource to create coins and this is a system that is waste free, so the proof is that a node or application is providing immediate value to society.

Currency or resource payment?

The answer is both, it is a currency and payment! Safecoin will perform in society as cash,  whether people call it currency, store of wealth or all the associated pigeonholing that is happening with bitcoin, it does not matter. Consider safecoin as cash, instantly transferable, secure and anonymous, except between the parties in the exchange. In this way safecoin is a transfer of wealth. It will be used inside project SAFE to pay for resources and enable many more features over time such as cpu sharing, bandwidth sharing and much more. Safecoin will be used external to this network as a currency.

Within project SAFE there is another hidden currency that will not be enabled initially and hopefully will never be. This is a proof of resource token. This token will prove a node has provided a resource and can be sold to another entity to use that resource. This is not now considered a need as long as there are enough incentives to offer resources for everyone. This is a fallback method if a ‘crisis of commons’ situation were to occur. I feel that is unlikely and I will give you one reason why.

I spoke to a Skype and Kazaa senior person recently. This person had been through these very interesting projects and noted something. Both Kazaa (like Bittorrent in vision) and Skype required people provided resources to the network. In terms of Kazaa, people has to continually give access to public files and in Skype’s case the super nodes has to be kept up and running. In both cases people did this and with no financial incentive. A worry for Skype as why would people do this and incredibly it completely dispels the ‘crisis of commons’ theory, people loved the networks and services like free calls, so they happily provided resources. I really like this as it’s working proof that the crisis of commons in many cases is an interesting theory that in practice may prove incorrect. I believe there are only very small amounts of people really greedy and a lesser amount that wish to do damage.  You can see greed and vandalism, you cannot see the negative of these, perhaps we hypothesis too much about how bad people are, based on false measurements and the human yearning that our knowledge is best. We do create our own paradox sometimes. In any case bad behaviour will be detected and acted upon rather easily as time goes by.

This means the SAFE network will launch and allow everyone to become part of the system free of charge. The farmers will provide resources and the builders will provide the tools to manage our data.  If there was a need to force payment then the proof of resource token could be easily introduced or an access cost of a safecoin may be introduced in several ways. This is unlikely though as rapid network adoption will be faster if its free and more nodes joining will provide more resources very quickly.  If safecoin were required to join these would be recycled for farmers and builders to earn, in this case a wider adoption of the network would be better for everyone prior to that event.

safecoin launch fundamentals

  • finite amount of 2^32  (4.3 billion)
  • Each coin may be later subdivided into a further 2^32 parts if required
  • crowd sale of 10% of safecoin (429,496,729)
  • safecoin website explaining crowd sale
  • safecoin initial value set via this sale and in initial trading
  • funds raised will be used to create remote development teams (essentially MaidSafe competitors for core improvements), fund MaidSafe for 3 years and provide accommodation (office space etc.) via the MaidSafe Foundation
  • funds will also allow the network to be seeded via many very small nodes that will not farm much, but will provide valuable routing information. Initial farmers will benefit from a stronger network to begin with.

This may seem strange that as a company MaidSafe raise funds to create competitors, but it is incredibly important. Open Source does not mean shared knowledge as can be seen in many projects. The core protocols used in project SAFE should and must be developed by a great many teams who can all develop and understand the code base. In this way the proposition is stronger and the network should be more powerful. More eyes do make better systems, but complex projects need many minds working in unison and co-operating and debating continually.

Farming for coins

Imagine if we incentivise people to give resources and do so financially as well as ethically!

Every desktop PC user who downloads and runs a project SAFE application ‘should’ automatically be running a farmer. These farmers will offer unused resources to the network. The network will pay for this resource via safecoins. The user then has free applications, free access and receives a financial reward for doing so.

Many users will install farmers to simply help the system, others may install farmers to earn revenue. Both of these cases are good. Almost all users will install farmers automatically and may not even know they are providing services, until their wallet shows revenue. This is also terrific.

As the network improves efficiencies, then it is likely all devices will farm as well as use resources. This will become the ultimate mechanism in the future in terms of self sustaining the network. This is likely to be a few years in the future, possibly around a decade.

Building for coins

As I alluded to in a recent post this is perhaps one of the most exciting things about safecoin and project SAFE. As Application Developers (Builders) provide the resources to produce and consume data then they are also rewarded. The rate of reward is smaller than the farmers, but the fact it is there is amazing. There will be many millions, perhaps hundreds of millions of farmers, but there will be a lot less Builders. This is a simple matter of fact, however the network requires both, humanity requires both and therefore both are rewarded.

I intend to put up a public share with many open source programs for people to use and I hope this becomes very popular. Instead of me putting in my wallet address I will actually create a wallet for each software project. As these are used and rewards come in I will be contacting each project and let them know to create a wallet so I can transfer the funds to them and transfer the wallet I have set up for them.  Of course they will want me to replace this wallet address with one they create. I will be delighted when that happens. Then we will reward all the efforts of these projects and increase the popularity of this project SAFE by doing the right thing. Imagine Apache, Boost, OpenSSL etc. all receiving cash to help their project, whether to pay for test machines or pay developers and contributors.

Cash is dangerous though, isn’t it?

Prior to the 80’s a huge proportion of the workforce had no bank accounts. So how did they operate? Well cash is how they got paid and how they paid bills. Then along came the finance industry, driven by a human greed to get something for nothing. It was good for the normal person who could use automation to pay bills, so it seemed great. We all then were paid in numbers and the cash was centralised. This centralised cash created enormous institutions who using fractional reserve mechanisms made the numbers bigger and lent them back to us.  This was the start of the financial goliath we now have.

Then came regulators and regulations, to protect it all. As the industry created even more complex number manipulations (derivatives, futures, bonds, triple A securities etc.) the regulators played catch up. The system became parasitic and dangerous, with huge amounts of people earning a living manipulating numbers. Many numbers like the Libor rates were actually lies and people made fortunes from telling lies. This is indicative of a broken system.

This change in society is reminiscent of the server-based Internet, pre project SAFE. As we centralised our cash, the organisations were not only able to just manipulate numbers for wealth they actually started to manipulate society. With all the regulations and regulators and laws etc. these institutions have, lent money badly, funded terrorism, laundered money for drug cartels (all of this is public record and factual, it is not a story) on a scale unimaginable.

If we go back to cash and the pre intense greed era, then we did not have this corruption on such a massive scale. People earned their cash and lived on that cash. There was corruption, but local and limited. Sam from the corner could not crash the world economy and prevent innovation while funding terrorism on a global scale. We needed a whole new economy for that and that is the regulated financial industry.

So now imagine a new cash, simple, electronic and vastly distributed among us all. Cash with the ability to buy goods across the world instantly, or pay at the local shop with the same ease. Imagine this cash with zero transaction costs no matter what amount.

Corruption and crime

One of the most important elements about the Internet so far has been the chasing down and reporting of corruption. This is of course hampered by Internet spying etc. We know project SAFE will make sure everyone can be a whistleblower with complete safety now.

So safecoin is a digital asset on a network that ensures whistleblowing is completely safe and more importantly simple. This is a network of equals and these people can police themselves to a great extent. A person could report a crime be investigated without fear of being exposed. This is how natural systems work and how humanity must work. We can allow people worldwide to uncover corruption and harm to others on project SAFE.

So now we have very convenient digital cash and more than that, it is on a network that will find and expose corruption, stopping it dead in its tracks. This is how we regulate money and how money is used, not by creating complex financial instruments and playing a board game with humanity, but by fast, simple and effective rules on a system where all society is in control of themselves.

Is it only safecoin?

Safecoin is a cryptographically secured digital asset. This sounds like a small issue, but in fact it is far from a small thing. One thing bitcoin was able to do was to find ways around the Byzantine Generals problem. This same problem is solved in the SAFE network. Unlike bitcoin though this is not a ledger type single piece of information copied multiple times for safety. This is a fully decentralised approach. This has several advantages.

Many of the bitcoin technologies rely on adding to the blockchain and using it as proof of something or evidence of an event. These things in SAFE are non transferable digital assets. There can be billions of these systems at very little cost, certainly not bloat. This gets interesting now. We can have transferable assets and non transferable assets. So we can have auditable events locked in the network and transactions locked in the network with ‘network atomicity’. This means that with some clever work by app developers we can emulate almost every system imaginable, including contracts and laws etc. Add this to the capabilities of SAFE already and we can see what the future holds!

Creation of assets

Safecoin is farmed, this means farmers get safecoin for looking after data. In a similar way Builders get safecoin for supplying tools to manage and manipulate data (producer and consumer devices).  A coin type structure is a special type of digital asset. These require a mechanism to allow creation of the asset, otherwise anyone could create coins and become rich (well they would not become rich they would simply destroy the eco-system).  After creation then these coins are network types and can be handled with several very small and concise rules, all of which are cryptographically secured.

A safecoin is only able to be created under certain circumstances. It is a little complex and requires some knowledge of vaults basically though it happens like this:

A person Gets data from the network. This happens via the MaidManager group through the DataManager group and eventually to the PmidManager group.  The storing node (that is giving the data) takes the address of the data, the message ID and the address of it’s close nodes (the PmidManagers). It then hashes all of these into a mining request. The mining request is sent to the network to store a coin. If there is space in the safecoin address space (2^32) then the storing nodes there (Transaction Managers) can check the hash is correct. They can check the address of the requestors close group and the messageid of the Get request (this is intact and comes from the MaidManagers of the requesting node).  This means there is a lot of checking a request is valid and is still valid (if any nodes change the request is dropped as a failure).

mining request == Hash(messageid + Get Request message + coin owner (pmid Node) + pmid Managers + Data Managers of the requested chunk)

This happens every X Get attempts and this X is calculated by an algorithm that slows or speeds up mining requests based on network data stored and free space available. A hack attempt would be computationally infeasible and require an attack group possibly larger than the networks size (something like network_size*3 + 17%). So a safecoin mine attempt is a secure PUT of a transferable digital asset. These rules can be applied in similar systems, but is possibly only required here. A very similar approach allows Builders to receive rewards, but at a reduced rate of X.

Other assets merely need to be signed contracts and can be stored as such, either as digitally signed documents or in specialised systems similar to the types an Ethereum like script may create. The possibilities are very wide and varied.

Posted in bitcoin, MaidSafe, Personal Opinion, safecoin

Project SAFE – Is this the fair business model at last?

This post is a little more technical than many others. I apologise in advance, however the system described could prove very significant for us all.

Some people will know I am on the maidsafe developers mailing list a lot. There I try to help out, but occasionally ask questions and get great feedback on ideas, even crazy, mental half-baked nonsense, a speciality of mine. One recent spate of ideas and suggestions on the list have led me to ponder something and this thing could be as much a game changer as a fully decentralised and private Internet of the people for the people.

The free lunch

We all love the idea of a free lunch and many jump at the chance. We all know there is no such thing, even if it looks that way a lot. Natural systems always balance and overcome overindulgence for great reason, the constant search of equilibrium is one of natures key lessons.

This proposal has many features of a free lunch and further reading, I hope, shows the push towards equilibrium. If this is the case, then the chance of success is very high.

This proposal is that in terms of network resources, we give people free access at one end and incentivise others to provide resources at the other. This free access is a consumption and production mechanism. Consumption educates and production of data provides the education materials. This balance means consumers of the data and communications are better placed to improve our system (humanity) through education. A key notion. So the value production here is in many areas, providers of information, consumers of information and providers of resources to convey the information. As people can communication, learn and collaborate more efficiently, then trade improves. Goods and services can be exchanged via a mechanism of value transfer. The most common of those is money, we convert nearly everything into money, store value there and eventually trade that value for another good or service. This is a fairly efficient mechanism (when kept very simple) and allows seemingly unrelated goods and services to be exchanged for each other via the intermediary value store (money).

The value store mechanism, in this proposal is a cryptographically secure digital asset called a safecoin. These safecoins are actually created by use of the global data infrastructure that we think of as the Internet, but re-implemented as project SAFE. This is the MaidSafe codebase and inventions given to the world with many companies and people building service applications to allow this exchange of data and knowledge to happen.

Safecoins are created by providing network resources, this is important, these miners waste no resources, instead they provide immediately valuable and importantly validatable resources. The value of this is significant to the success of a global information network. These coins are earned by resource providers, called miners. These miners will actually allow the engine to run smoothly, the providers of information will fuel the system. As the miners exchange their safecoin for other goods and services the eco system starts to complete the circle. The system then extends from a global information mechanism to a global trading mechanism, still using the global information system to facilitate transactions and trade.

So we ask ourselves, is us getting access to input information to an information system really a free lunch, or is it an essential part of the system? This part is certainly as important as the miners who give resources.  The lunch is not free, but the benefits are possibly immense. The beauty here is that we all feel good being involved, the feeling of a free lunch makes us feel good, the knowledge we regain control ensures we feel empowered. An empowered society, as we know from history can achieve amazing things.

Is it something for nothing?

This is the part of the puzzle that is most confusing. So I propose we give everyone full access to the system free of charge. I say free here in terms of they need not give or buy physical resources to get access.  At the moment MaidSafe checks a user has provided a resource, or purchased a resource token from a user who has excess resources. I mean the network now should no longer demand a user provides resources, but can make full use of them, from the networks perspective. It is up to application developers if they wish to charge users for their applications etc. but that is another matter.

The issue though is maybe the answer to the question, where is the value? Is the value in providing resources or is the value in what the network holds? I believe the answer is is in the future thinking view. Resources in terms of disk space, bandwidth, CPU capability etc. are decreasing in cost exponentially. These resources will tend towards zero cost over time.  The data on the network, on the other hand is the wealth of our species knowledge. So where is the value? I think the value is in gathering, protecting and preserving the vast sum of all human knowledge, both private and public. The value in protecting this is vital and requires a very powerful incentive scheme. Most importantly it requires the ownership of such a scheme is absolutely in the hands of us all and equally so. Any centralised elements would prove to be detrimental. This is one of the parts of this proposal that is addressed head on. In this system we all decide to take part, where, when and as much or as little as we wish with zero control exerted by anyone over us.

It is worth noting, this proposal address two issues in one system, that is increasing value of a currency and decreasing cost of resources. This is an area not addressed by many systems today with any clarity.


Private data maybe seen as useless to the wider society, but it is generally the raw material for public data. The public data is extremely valuable. We absolutely must protect this resource. Of course farming this resource, or perhaps encouraging this resource to be available is a critical issue. If we remove all barriers to adding public data, then the flood gates open.

Application developers will use access to this data for good, the more value from this data the more valuable the application will be. Look at WikiPedia as an example of great value public data, or perhaps wikileaks or pretty much any web site out there, from rubbish to incredibly useful info, even maps, travel guides, consumer marketplaces, digital libraries, open research publications etc. There is little doubt public data is incredibly valuable.

But, as humans we will all say, you cannot give this to people, they will abuse it! I think differently though, we can have the network recognise bad unused data, it can recognise bad patterns in data streams etc. If people are storing good data that we can use, or private data that will convert eventually, then this proposal will make more sense to many.

Pay contributors directly

Physical resources are required, but from whom and why? Every desktop pc user who uses the MaidSafe network also runs a vault. This vault connects the computer to the network.  This computer then provides the resources the network requires. These are resources for everyone, including you! This is an area coined as the ‘crisis of commons’  and is subject to human greed. Initially people think , I will give nothing and take everything for myself, others can give resources from me. I win, I win!

Enter cryptocurrency, in particular safecoin! These vaults that install and run automatically are very small, use resources you are not using, but more importantly they start earning you safecoin. So you get paid for providing a resource that you were not using. That seem like a good idea, your computer starts paying you back! This is an unusual proposition. You are not supplying anything you were using, instead you supply what spare resources you had, but you are earning money!

How much do you earn?

Well this is another part of the circle. your machine will earn based on a double curve graph, most likely a sigmoid curve pattern. The lower curve is less steep and represents the mining speed, below the network average (resources) and the upper curve is steeper and represents mining speed above network average. The algorithm adjusts dynamically based on supply and demand of the network. You want as many people as possible storing data, you want these people to store data with no barriers. This earns you money!

You want people to store and store freely from all types of devices, even if they have no vault as this earns you more. So yes let people switch off vaults and not use them, these people will not earn, but increase your own earning rate. This seems to me like a very natural balance and very much like a natural system. Plants that do not grow higher get less sun, they are not as successful, ants the refuse to walk far for food, get less food and grow smaller and weaker. There is no ‘crisis of the commons’ in this story, only success of the strong and those strong are the providers. They will contribute and be rewarded, bringing balance and equilibrium to the system.

Pay developers on measured value

The seemingly eternal question of the business model particularly for Open Source developers in such a system. Is it build applications to support them? or perhaps provide consulting? None of these seem to have much to do with the core skill of the developer, that is coding.  What about commercial applications, how much to charge, what revenue model, how many users etc. these are all questions start-ups and existing projects must evaluate. What if the answer to both of these questions was, provide something people value and you will be automatically rewarded!

Let the network measure the value

In the MaidSafe network computers who provide resource are awarded an opportunity to request a safecoin. This mechanism can be considered in this following simplified form. (N.B. messageid is a random number on the network, it is not settable to a known mine attempt by client apps)

if (messageid % current_rank == 0)
Mine_Attempt (sign coin with vault key over to client that owns that vault)

Ignore how the mine attempt and proof works for now. This is done on data Get requests, so popular data, but mining frequency is based on stored data (current_rank). Client applications access the network through the Nfs layer. This is where the PUT GET DELETE mechanism happens. Here application developers will add a field to GET and that is a wallet address (or ID) of the client application provider. So developers build an app and insert their wallet address in the client software they build. This address will be inserted in every GET request the client makes on the network. So from the above example we multiply by a factor of 10 (devs always get 10% of safecoin). so it becomes

if (messageid % (current_rank  * 10) == 0)
Mine_Attempt (sign coin with vault key for client address contained in Get request, i.e. the developer).
else if (messageid % current_rank == 0)
Mine_Attempt (sign coin with vault key over to client that owns that vault)

Can this be gamed ?

There are several issues that will pop into many minds and it is a good idea to discuss each of these individually.

  1. What if somebody copies an application and changes the wallet address?
  2. What happens if a developer creates an application purely to issue Get requests?

The answers are not all that difficult to find. Some analysis could show that:

  1. Copying of code is an attribute anyone can do. In some cases copy is protected in law and in other cases the protection is handled by market forces. A good application will be the one people adopt, not the one they copy and alter. Applications that attain first mover advantage or simply network effect will outlast any cheap copies that are less well thought out. Applications that do not perform well or fall behind, may in fact be forked and improved. This is a good thing for consumers to. Later we will see this is not a model where people download applications anyway, they are already installed, making copies potentially impossible.
  2. This is a situation the network handles itself. Multiple Get request would mean data comes from cache, thereby no earning capability will come from this.  If apps randomly choose addresses to retrieve, the application will be sluggish for a start, also the network will not allow range based searches. Such activity can easily trigger a ‘no-mine‘ signal to the managers of the wallet in question. Thereby preventing any coin being created and a sluggish user experience. These applications would likely not be widely sought after.

Is this then, an automatic revenue model?

Yes, one of the shortest paragraphs I have written.

Additional advantages for application developers

As MaidSafe shares data at the file system level, applications can be shared just as easily as a web page.  This means that an application is pre-installed as users wish to use them. No installers are required any more. In addition as the applications would exist on a public share, then no virus attacks on the binary is possible. This reduces developers route to market and ensures a clean and tested user experience. Many applications disappoint with poor installers or installation mechanisms. In a decentralised Internet, these issues just are not there.

Additional advantages for the system

The advantages for the MaidSafe system internally are huge.  The conversion of a proof of resource token per account to a network wide proof of resource means the maintenance costs are dramatically minimised.  As clients or people access the system there is no need to check what they are allowed to store in relation to what they have provided. This allows the client access managers on the network to become truly stateless. This lack of state means these nodes can handle churn at routing speed, this is very fast and in many cases sub second.

The advantages are quiet extraordinary in terms of network performance and security.  Client connections can now be full routing connections. The extra personas in the vaults will still remain as full routing nodes, but the clients can take part in routing now. This will at least double the network size, making attack that much more difficult. As these managers are then numerous on the network, the concentration of clients around a close group of vaults is minimised.  These manager groups can now spend time on data analysis to spot rogue connections or misbehaving clients applications. This is a significant issue.

A problem we need to solve in any case

Archive of old data, potentially removal of stale data (debatable) is an issue the network will have to tackle as time goes by. The network wide proof of resource means no or vastly reduced delete of data.  This will mean data does accumulate and in some cases may be private or junk data, although we must keep in mind the real time de-duplication of even junk data (temporary data). There is no use the network spending resources looking after this data in the same manner as current valuable data. So we can look at archive personas.  These are simpler than we imagine. It works like this.

Archive locations are inserted into the network, initially these will be the leading 6 bits of the 512 bit address. These archive chunks will be akin to sparse files and may contain no data to begin with.

As data is deemed redundant, i.e. not accessed over a calculated set of events (MaidSafe does not use time across the network, this is vital) then it is transferred to an archive store. These archive stores will be held in high ranked large disk space machines just as normal immutable data is. The process is as follows:

  • data chunk ab764sdkl…(512) is marked for archive.
  • All data managers synchronise this judgement.
  • The data chunk move request is transferred to the data managers for ab764s0000…(512)
  • The PmidManagers  (vault managers for storing vaults) then are issued with a transfer request to archive
  • The PmidManagers then request the PmidNode sends the chunks to the archive address.
  • The PmidManagers are then instructed by the data managers for the archive to delete the record of the chunk.
  • The store node itself will have deleted the chunk on transfer to the archive data managers.

This process can replace the management on millions of chunks to a single chunk management cost. This mechanism is fairly straightforward and requires a double targeted attack at least. This size of attack is larger than the network population.

If data is requested from the network and not found then an archive retrieval request is carried out. The data is served and this process is reversed, putting the chunk back in the general network data store once more.  This process increases network efficiency and allows older data to be maintained for an extended period.

Fall back position

What if all of this did not work? Well this is unlikely, if the currency failed, then the safecoin simply becomes an internal market value token for network wide proof of resource. This will mean miners are paid in another currency for their resources. This will mean an internal market system similar to a bidding system be employed.

If resources could not keep up with demand then clients can be restricted in data storage and be forced to buy resources in a similar way as above. A simple mechanism is a safecoin == 2* network average., otherwise people can only store up to network average.  The management of this type of system is in pretty much in place today. This would be winding back some code to today’s code base for client managers.

Tagged with: ,
Posted in complex systems, MaidSafe, strategy

Member of The Internet Defense League

Follow Metaquestions on

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 1,673 other followers

BTC address