Eh. I've spent almost a cumulative six years of my career writing code signing code. Both times I had only a couple of coworkers who understood everything, so most growth was self started. The larger project involved counter signing (signatures over signatures) and HSMs and was mostly my code, and I ran into a lot of people who knew words but didn't know what the hell they were talking about. I had to get very good at telling people "No, but..." because they always wanted to make decisions based on unverified data.
At the end I knew a lot about a narrow slice of security. I did not feel like an expert although I do feel like I got the job done (which in this field is very hard to say with a straight face).
I haven't touched that kind of code in 5 years and I'm not confident how much of it I could regurgitate under duress. But I'd like to think I'd know how to produce a signed document that's verifiable. If the key were stored someplace exotic (I don't recall how Bitcoin stores it's keys) that might be harder.
I would not be surprised if the real Slim Shady had trouble with it too, but it would cause me to wonder about exploits in the code.
I'm not so sure the bitcoin required a cryptography genius. I would say it has more to do with the elegant way of dealing with the Byzantine Generals problem, applied to evolving a distributed ledger from purely untrusted parties.
I would argue it represents a key development in the history of computing & networks, and possibly a new subdomain of Computer Science, with its main influences and precursors dating back no earlier than the mid-90s (very new in the CS research sense). Open to other people's thoughts.
> I'm not so sure the bitcoin required a cryptography genius.
> I would argue it represents a key development in the history of computing & networks, and possibly a new subdomain of Computer Science
Those two statements are in conflict. Anyone who's changed the history of computing and created a new subdomain of computer science by doing something no other modern cryptographer thought to do is a fucking genius.
But is it a development in the crypto field, requiring someone super talented in crypto?
From my understanding (though no deeper than what's in the Bitcoin whitepaper), the central new idea (and it is indeed a significant contribution to CS in general) is laying out of how to build a distributed timestamp server, and then distributed ledger from only untrusted peers by using existing technologies circa 2009 such as p2p, hashing data blocks, priv/public key for verify/sign, etc.
Like the other commenter said, we've been doing stuff like this for a long time. Satoshi combined some existing ideas with an uncommon area of application, currency instead of mere transactions, to create Bitcoin. It's clever and a lot of activity happened but its components aren't original and similar things were promoted before.
For instance, people in auditing and anti-subversion fields promoted schemes that allowed multiple, untrusted parties to accept a result by one party doing something whose logs were checked by others, partly (esp randomly) or totally. The scheme required nothing but a database or filesystem on inexpensive hardware for most of it. Only crypto was hash of some set of transactions or big file with a signature on it. Soooo efficient. Also builds on stuff we have decades of work on securing with full, battle-tested stacks for internal components.
And then there was Bitcoin with its long transaction times and insane work in mining. And use of begging to avoid a key risk at one point. That's innovative as it's the first time I've seen it in decentralized security.
> Satoshi combined some existing ideas with an uncommon area of application, currency instead of mere transactions, to create Bitcoin. It's clever and a lot of activity happened but its components aren't original and similar things were promoted before.
That's pretty much how genius works much of the time, seeing possibilities that exist with existing stuff that haven't been done yet.
I agree. It's what I did in high-assurance security. Almost everything I built was composed of premade parts and ideas. Usually in a way that was straight-forward with some really clever. Really just recycling ideas, though, into hopefully better ones.
Doesn't make me feel dumber when I realize how few programmers or systems people are re-using or recombining the best stuff from CompSci or past commercial activities. Versus how many ignore it to repeat same crap and failures. :)
You are drawing conclusions from insufficient information. How do you know that he is incompetent and not feigning incompetence? In the former case, you would be right. In the latter case, not only would you be wrong, but you would have been manipulated by Craig Wright into being wrong.
> And what would be the point of claiming to be Satoshi and then turning around and feigning incompetence? Why make the claim in the first place?
The guy who invented Bitcoin clearly wants to be anonymous, but there is a paparazzi that wants to deanonymize him. If he were identified by them, admitting to be the guy they wanted to find in an obviously fradulent way would make them think he is not the guy. That is exactly what we saw here.
If he is the guy, he is willing to sacrifice his reputation to maintain his anonymity. Perhaps the idea that the guy who created Bitcoin remain anonymous is so important to him that maintaining that perception is worth more to him than his reputation. He would not be the first guy who did something good in security that wanted to remain anonymous. See TrueCrypt.
That said, I think this obsession with who invented Bitcoin needs to end. The guy clearly does not want to be found. People should respect that.
That's really stretching it given your analysis only focuses on what a Bitcoin founder might do while ignoring what Wright did do in terms of fraud. It changes the matchup between the two's M.O.'s quite a bit.