How does MaidSafe solve double-spending?


#1

Look, I am certainly no where near as smart as the developers of this system, so I may be wrong, but this is what I see:

Satoshi’s genius was solving the double spend problem via the central authority (the blockchain) and made that central authority distributed.

Maidsafe then have a way of making the very ledge distributed, there is no central record.

The trouble with this solution is that a double spend seems like a possibility, and a double spend in a crypto-currency is death.

If my merchant cannot know for sure that this coin has not been spent elsewhere then it’s unsafe.

Can someone explain how the puzzle prevents this. I can explain the fundamentals of Bitcoin in 10 minutes to someone at a party, if I asked someone at a party about Maidsafe and they said what you said, I would not be impressed.

I don’t want to sound rude but this is not a good explanation, it almost sounds like “sorry pal, it’s too complex to describe”

I understand how Ethereum works, I understand how Nxt works, I very much understand how Bitcoin works, but I cannot understand how Safecoin works.

Please help me understand.


Getting to market first
Getting to market first
#2

I think you need to slow down just a little bit there tigger.

You’ve had 4 years to learn the ins and outs of bitcoin. Ehtereum is built on bitcoin, so of course you can explain it. Nxt is built on peercoin - that’s a bitcoin knockoff. Of course you can explain that. Safecoin hasn’t even been released yet. So far none of the developers have chimed in because they’ve already said they’re spending this weekend deep in code. If you want to have this discussion 4 years from now we can compare apples to apples. However, right now all you’re saying is “I can explain something I’ve been studying for 4 years in 10 minutes at a party. why can’t you do the same to something that isn’t release yet and built on a totally different technology?”

Give it time man.


#3

@interested_in_2 your questions are valid and very welcome. I can’t answer you immediately because although I have ingested and am convinced about how the system works, I don’t carry enough of it around in my head to explain it.

You will though find that double spend and other aspects of the SafeCoin cryptocurrency have been discussed, though on the earlier maidsafe-development forum (N.B. most discussions have moved here now). So if you have time to search you’ll probably start to get some understanding from those (e.g. search for “double spend”, “blockchain”, “safecoin” etc. and you’ll probably find the threads.) I don’t have time to look for you just now.

If you would like to take it on, a summary post of how it works would be most welcome too, but that maybe asking a lot for the time being! :slight_smile:

Mark


#4

@interested_in_2

I’ve been wondering the same thing. Maidsafe claims to have a brand new solution to the double spending problem yet they have not been able to clearly describe it anywhere. If they really have solved it in a fundamentally new way this is a huge deal.

The only person I’ve found who actually comes close to trying to describe their solution is dirvine but his answers are always wishy washy or handwavy. It’s usually things like we’ll post a paper soon or this is very complicated or we need to do some tests first or something about “consensus chains”. To be honest his whole attitude seems to be that of “we’ll figure it out as we go” which is fine for a lot of things but I really doubt you’re going to make any breakthroughs that way.

I understood what Bitcoin’s fundamental breakthrough was basically immediately after finishing the Bitcoin paper. After reading maidsafe stuff for weeks I still have no idea and I’m extremely skeptical that there is any actual solution. I also think no one else here really has any idea either and most people are either taking it on blind faith and/or hype or believe that the solution is over their heads so they don’t even try to understand (which is understandable as many people also do this in the Bitcoin community).


#5

I read the whitepaper and knew right away what he was talking about. Most people in the community who paraphrased Satoshi also got it mostly correct.

All those other coins, Ethereum, Nxt, all build on the blockchain for a reason, because there is no alternative.

I have read the whitepaper (safecoin) and still don’t have a good idea how the transactions work, it seems to be double spend easy, with double spending is being glossed over.

I haven’t been into Bitcoin for 4 years, I have learned a lot of stuff in the last year or so. Satoshi’s big thing was the blockchain and it’s considered genius. I am now looking through Safecoin code and the whitepaper to see their genius, the replacement to Satoshi’s blockchain.

I assumed that this hurdle was solved as it’s far beyond any of the other hurdles you will face. Creating a blockchain replacement that requires no central ledger and has no central record, this accomplishment on it’s own actually would be a hundred times more noteworthy than proof of resource.

If the development team has not solved the blockchain replacement I advise this: Please adopt a blockchain technology and begin to implement your Safecoin proof of resource and proof of computation on top.

If I am reading this right, the team have not yet solved the Byzantine Generals Problem and also have to solve some other major problems: Proof of Resource being one.

I know there are thousands of alternative CryptoCurrencies so it might seem the blockchain is no longer a wonder but in fact simple commodity, but please remember it’s one of the few practical working solutions to the Byzantine Generals Problem on this Earth, and here the Maidsafe team claim to have a better solution.

I am not impressed.

I would prefer the team work within their domain, getting Proof of Resource working and adopt tried and tested technology for the other stuff, such as the ledger of accounting.

If I am out of order, please explain why.


#6

The team have solved this problem, without a ledger or blockchain. This is one of the reasons MaidSafe is such an outstanding project, and why I expect it to be as big an innovation as the www was for the internet, and bigger than bitcoin is for currency and trustless transactions.

I refer you to my earlier post, and suggest you might also look at David Irvine’s metaquestions blog, though I think you’ll find much of what you are looking for in the earlier developers forum that I linked to.

As @wes pointed out, this project is not as well understood by many people, and lacks the history of discussion and documentation, as the bitcoin project. You will though I think find answers to your questions where I’ve suggested if you take the time to search. If not, then please come back.

You need to do more research before coming back with the same assumptions again.

Mark


#7

Great example of the standard non answers I see everywhere regarding maidsafe. If you guys are fine with spewing these non answers everywhere then ok. But any intelligent technical or engineering minded person is going to see this as a huge red flag and be turned off to the project.

I think what both @interested_in_2 and I are looking for is a ELI5 style answer for how double spending is prevented in maidsafe. It doesn’t have to be for a 5 year old, it can be for a 40 year old who understands all the details of the cryptocurrency space, but it needs to have the conciseness of an ELI5 answer. If no one can provide that then I’d bet big money there isn’t actually any solution there.


#8

Well I am one, so we are not in agreement on that. Have you bothered to search the old developer forum? I would think an intelligent person could follow a link and search when the reasons your spoonfeeding is not possible has been explained, rather than potentially miss out on one of the biggest things since TCP/IP.

Its up to you mate.

Mark


#9

Happy, can you make that link work? I cannot access it no matter what I do.


#10

I’ve read everything there is to read on maidsafe. I’m asking for an ELI5 style answer not because I want to be spoonfed but because I haven’t found any style of answer at all that makes any sense. If there is an answer to be had it should be easy to put simply in a relatively small amount of text and then link to that. So I think it’s in everyone’s interest to create that piece of text. I personally don’t think it exists anywhere because there is no actual answer.


#11

Oops! Now fixed and here it is again: maidsafe-development forum (before this one)


#12

Troll?

PS @David these topic name and post character minima are unnecessary I think. I really don’t like padding either out with rubbish.


#13

No troll. Serious. And you’ve avoided pointing me to or giving me an answer. Read this whole blog or this whole mailing list isn’t an answer. (And I have read both of them already).


#14

Yep, if people start padding then it’s obviously counterproductive. I reduced the minimum post and topic title character counts to 5, let’s see how that works out. I don’t want to remove the post length requirement entirely cause I think that it’s good to encourage clicking the heart rather than posting “+1”.


#15

Below is an explanation from David Irvine:

Q; Are there any examples and code regarding the Byzantine generals and double spending solutions that are being used in SAFE? How does SAFE solve this problem?

A It’s a very big picture view. The network cryptographically secures identities (see routing). These identities (see passport) must perform certain actions that are monitored by nearby nodes (see vaults). With this in place (if we ignore mutating and signed data, as that’s easier). Then you can take an action on the network and know it is controlled. So store data is one action. Store data under certain rules is another, the rules are (it’s defined by the types (see common))
1: Immutable data (self validating)
2: Mutable Data (i.e. directories), signed to validate actions
3: Mutable transferrable data (mutable signed by old owner for new owner)
4: Mutable non transferrable data (record an action)

These solve the 2 generals problem as the villagers have to behave properly with these messages, if that makes sense. The network routes around bad nodes or misbehaving nodes.

In terms of double spend then if you imagine type 3 above. The network atomically transfers ownership and this happens on the network (away from the people, I know that sounds weird) and this transfer can be queried to the network to confirm who owns that data element. This is the requirement for atomicity and ensures a double spend cannot happen. We are debating whether double spends events (they are very detectable and ignored) should actually invalidate a coin (for instance) so hack attempts actually end up losing money.

Hope that helps, it’s a large area to discuss for sure and I cannot do it justice here, we do need technical authors for sure. The vault docs with routing will help a lot in seeing how this is implemented.


#16

@AlKafir Thank you for actually attempting to address my concern.

Yes I have read that already. Does it make any sense to you? It makes very little to me as do most of the other responses from David that I’ve read. But, let me extract the parts that seem to relate to the double spending issue and ask a follow up question.

Ok, that is definitely the “what” of the double spending problem solution: atomic transfer of ownership. But nowhere in there does he address the “how”. How does the network atomically transfer the 1 safecoin that I own to now be under your ownership? Nothing in the above post from David addresses the how. The how is what I’m looking for.


#17

Ok, how about this:

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.


Why safecoin instead of Bitcoin?
#18

Ok I I’m pretty sure I’ve read that too but still thank you for posting and moving the discussion forward.

Let me be clear that I totally understand how digital signatures work and I understand that if you have some record that says you own one coin you can sign it to say you want that coin to now be owned by someone else. That’s easy.

The hard part is this “atomic network update” so that everyone agrees who the new owner is and there is no way that agreement can be changed in the future to show that the coin actually got sent to someone else instead (a double spend). Bitcoin uses the blockchain to solve this. So again I look in that text for how maidsafe accomplishes this and all I see is the “what” again:

I’m looking for the “how”. How does that “network atomicity” work?


#19

Think of it as like bitcoin, only the “ledger” is distributed over many hard drives in “chunks” rather than on a blockxhain. The "ledger also only records the present and last owner of a particular coin, not a whole historical record. This also has the advantage of not having a bloated blockchain to download as well as making it more like cash than bitcoins accounting ledger (which has further advantages. The site metaquestions.me is an interesting read to give more info too


#20

Maybe this helps:

Safecoin 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.