I'm not sure if the author is a programmer as such, but there are a few inferences which seem unjustified to me.
For example,
> However, it is possible to reveal a very important detail about Satoshi Nakamoto’s personality. The fact that Satoshi chose the genesis block with a certain timestamp (which included the sentence in the UK Times article) makes one realize how much preparation and meticulousness was behind Satoshi’s identity.
This is immediately following a code snippet in which it is clear that some value must be hard-coded; it would be the work of seconds to think up a value that was funny or meaningful. I don't see why this indicates any preparation or meticulousness.
Another example:
> The other comment that arouses curiosity is this one: //// is this all we want to do if there's a file error like this?
> Who was Satoshi referring to when speaking in the plural?
Isn't this completely normal in programming? I only ever use the plural first person in code unless I'm specifically referring to myself as a human (in the same way that academic writing uses the plural).
It's common in academic writing too. And many of those academics end up writing code too.
From Knut's course [1] on mathematical writing:
> But this use of “we” should be used in contexts where it means “you and me together”, not a formal equivalent of “I”. Think of a dialog between author and reader. In most technical writing, “I” should be avoided, unless the author’s persona is relevant.
My impression is that it's simply from the fact that most papers have multiple authors - so it's a bit incorrect to use the singular even if only one person writes the text (you're speaking on behalf of your "collective"). This carries over to other forms like textbooks
It also functions like the passive voice and makes it sound a bit like the author is less individually responsible for the words he says
My personally impression is that using "I" sounds more honest/direct and less evasive than "we". I've never seen it used outside of blogs though :/
"We" not only might include multiple author's, but can also imply an inclusion of the reader following along as the logic of some argument is made.
In that sense "we" comes across as very inclusive, whereas "I" is maximally exclusive, lowering a subconscious attention and persuasion barrier for the reader.
Example: "Given those facts, we verify our conclusion as follows ..."
I tend to believe that if Satoshi was an academic (well, at very least a computer scientist) the white paper would have been written in LaTeX rather than in the style of a LaTeX article but actually in OpenOffice (at least according to the PDF metadata.)
I tend to believe that someone with the internet notoriety of Satoshi who preserved thier privacy for over a decade faked every single bit of metadata.
I like Knuth's take. Personally I do it to signal, "I'm looking to work with people on this". Some of my hobby projects consequently have notes from my perspective which read as more journalesque.
I agree with OP, this interpretation is reading a bit much into code comments without asking a single programmer the norms of programming.
FWIW, the linguistic notion corresponding to this is called “clusivity”, and apparently distinguishing between inclusive and exclusive we (obligatorily, not via paraphrase) is fairly common outside Europe.
yeah I do it in comments because the present me is not the only one that'l be reading them. Future me is basically a totally different person as far as my commenting is concerned
Hi! OP here, thanks for your comment. Please note that I'm not a native English speaker so probably during translation I might have miswritten concepts as I intended. Let me explain.
The fact that he released the first genesis block on 3rd January 2009 with the sentence of UK Times article is not casual. We can see from the first version of the source code that his network was ready many days before that date. Was he waiting for "fixing issues"? No, he ended up clearly with a release that contained many errors (e.g. amount created in genesis block can not be spent).
> Isn't this completely normal in programming? I only ever use the plural first person in code unless I'm specifically referring to myself as a human (in the same way that academic writing uses the plural).
Yeah, I do agree. However if you notice there are some comments written in a particular style ( with double slashes //) and there are some others written with four slashes. It's really weird to have both styles on codes, unless there are more people (>= 1) that work on the code or that reviews the code.
In addition to this, please understand that none of my content must be taken as the only truth in this world, so I'm open to any discussions about those weird things I noticed :)
Having been a longtime coder in a language that doesn't support Todo tasks (tooling doesn't find them) I've seen double commenting a line as a trick to make them easily findable (it's the fastest thing to type).
It's a personal hack for being able to quickly find them. Ctrl+F //// is a reasonable "Todo" And one which on a single person project I can get away with. Because they are also valid comments persisting past release occasionally happens as (in my case) the second reviewer doesn't know this convention.
Working on a project for the past several months I've left many todos in my code to be reviewed. In most cases by myself when I better understand the problem. I am after all the first person to review my own code.
> The fact that he released the first genesis block on 3rd January 2009 with the sentence of UK Times article is not casual. We can see from the first version of the source code that his network was ready many days before that date. Was he waiting for "fixing issues"? No, he ended up clearly with a release that contained many errors (e.g. amount created in genesis block can not be spent).
Sounds almost more like fair instead of a bug, but nommatter what, time going by between "finishing" and releasing is also more than normal on various levels for many reasons?!
> It's really weird to have both styles on codes, unless there are more people (>= 1) that work on the code or that reviews the code.
Hmm, no definitely no.. either just slacking, or even intentional to mark something?! Maybe you area very clean coder, I do this all the time if not polishing for work..
Could have been so, but deducting like those are proofs is very far fetched
.
> Sounds almost more like fair instead of a bug, but nommatter what, time going by between "finishing" and releasing is also more than normal on various levels for many reasons?!
I'm missing something: who says is not normal? Anyway regarding comments and that, the source code is clearly heavily edited and redacted, so I do agree that we can't extract much from comments. I did not understand why HN triggered so much about two/three/four slashes.
If one selects code and comments (with //) in most editors, then uses the "comment this block" action, the result is code commented with // and comments with ////. It's more likely this is a result of using a code editor or IDE than a particular style choice.
I think in Visual Studio, if you start a comment block with 4 or more slashes and hut return, it will automatically start the sentences after that with 2 slashes so you can write more comment lines. Close with 4 slashes or more to end the block.
As a funny aside, the author of one of the early works on wavelets [1] employed the first person plural pronoun with a footnote on the first page defining it as the “Royal we”
If this "we" was meticulously used it might also be that Satoshi was very conscious that this code would have to be ran by someone else who reviewed it before an actual consensus-driven network would arise.
So effectively "we" in this context could be anyone who thought that this code would become law for that network.
I don't even know if I'd go that far. I use "we" a lot in my comments if I need to refer to a person. "We" or "us" unless I know for a fact only I will look at the code. If I am working on an Open Source project, code I know I will share/open source or code at work, I always use the plural. Bitcoin is open source, so very likely "we" just means anyone who wants to take an active role in the code for the project.
I think of the use of we as the team of programmer and computer. I can see people not doing this but I don't think you could infer anything either way.
> I think of the use of we as the team of programmer and computer.
I don't agree because the computer is a tool with no agency like a hammer or a chisel.
I use "we" in program because it's a consideration for the project / team, even if odds are low anyone else will ever use or contribute to it. It's a reminder to avoid factoring in ego too much.
As someone who does this but has never analyzed WHY somehow this description you just provided of the mental model really resonates with me... thanks!!!
Personally I use "we" because I'm including the author (myself) and the reader (someone else or at least my future self, who may hold a very different opinion from me now). I.e. "we" may want something to happen in this function but "I" don't know why this test case is randomly failing.
The academic we isn't even mandated style I don't think. You always think of yourself as explaining to a student who is working with you to do the things
Yeah, that's a ridiculous generalisation but so is yours. Neither of your examples strikes me as something I'd expect a "competent programmer" (read: seasoned developer) to write. In fact, I find the former more suspicious because it assumes the code is correct (which, if I have to read the comments, it probably isn't) rather than clarifying the intent of the code.
Maybe we shouldn't draw extreme conclusions based on arbitrary details that are neither here nor there. Nothing about the code in the article strikes me as evidence that the author must have been a solo dev or can't have been a solo dev. However my experience tells me it's more likely that it was a solo dev because I've seen solo devs write far more interesting and far more complicated programs than the original Bitcoin stuff and it's harder to keep a secret the more people are involved.
> The transaction in the first block is a coinbase transaction ― consisting of an input and an output. We recognize that it is a coinbase transaction (i.e. coin creation) from one key element: The number of inputs is equal to 1 (this condition is explicit in Satoshi’s code).
That's not what's characteristic for a coinbase transaction, many transactions might have only one input. What's characteristic is that the input comes out of no-where, so to speak, and has no predecessor. In other words, it's the second part of the condition below, not the first one, that characterises CoinBase:
> That's not what's characteristic for a coinbase transaction, many transactions might have only one input.
Yes, you're correct. Thank you for the clarification, however I wanted to mark the check found on the source code. By the way, "bad article": I think you're a little bit over exaggerating.
If you mean a different hash from the actual genesis block of Bitcoin, released on 3rd January 2009, of course it's different. We're talking about two different networks.
> Why would someone who obiviously likes the beauty of code and writing in general not fix those?
Because that code is heavily edited, prepared for a review. For sure there are some missing comments (e.g. see "debug print" on line 112 compared to line 1042).
Who knows? The person or people behind Satoshi identity. I believe that the person who posted that source code on BitcoinTalk forum has already stated that he merely copied&pasted the code (so he did not introduce any weird formatting).
> Unfortunately, due to a problem also present in the first public version of Bitcoin, Satoshi could never spend the money from that transaction.
What evidence suggests that this was unintentional? It offers a sense of fairness and objectivity from the originator, without generalizing the concept of a transactionless block or requiring any special logic to enforce it.
Great question. I can't say this was intentional or not. To people interested, it was only one line of code missing: he ""forgot"" to include the first transaction to the mapTransactions.
What if the identity of Satoshi Nakimoto is just some guy who almost no-one has ever heard of, not a famous cryptographer?
Perhaps he's a software developer working a modest job in some company somewhere, chuckling to himself as he reads all these outlandish conspiracy theories about his identity.
Maybe he retired to make cheese as a hobby. Maybe he's now an old man with a pipe and a walking stick who regularly enjoys the company of his grandkids. Maybe he died and took the secret with him to the grave. Not as fun to think about, but if so, it'll happen some day, and the mystery will remain forever.
The most accurate and serious articles about the analysis of Satoshi Nakamoto early days is from our co-founder Sergio Lerner [1]. For example [2]. He is an authority in the field (you can easily check that) so in any case I recommend OP to review the data with him.
Nick Szabo[0] is the more likely candidate in my opinion, but I doubt that it's either of them. Adam Back was quite late to the game and initially dismissed Bitcoin.
Every time people mention Szabo, and every time someone needs to debunk this rumour. I'm on the phone, so it won't be me this time.
One of the many argument against this theory is that Szabo is not much of a computer programmer, and Satoshi was very fluent with C++ among other skills.
There's Hal Finney, the creator of PGP, which was a good programmer, a cypherpunk, and died a few years ago. The fact that Satoshi has shown inhuman restraint in showing up or saying a single world since 201x would be neatly explained if they were dead.
I already talked at length about this, but no human would be able to keep their mouth shut and assets frozen if they were alive today and held a few billion dollars and spiritual reigns of the most controversial economic invention of the century. Not a single one.
Let alone with the best opsec ever seen not to be nabbed, identified or killed by any of the major intelligence agencies in the world.
I think it is very unlikely to be Hal Finney either. Andy Greenberg's interview with Finney a few months prior to his death, with Finney's wife and son also being present convinced me of that at least. https://www.forbes.com/sites/andygreenberg/2014/03/25/satosh...
I specifically said I didn't think it was Szabo... I agree that Satoshi is probably dead, but I don't think it's Hal Finney either. It's most probably someone who isn't on anyone's radar.
No, not Adam. I remember reading Adam's Hashcash paper back in 2003 or so, excited for how it might lead to cryptocurrency, but he was completely uninterested in the topic. Apparently Satoshi tried to get him involved early on, and Adam ignored him. My understanding is that he was pretty rude to anyone who tried talking to him about Bitcoin.
It wasn't until Bitcoin went over 1000 dollars that Adam finally realized he could cash in on the reference to his paper. That was when he finally got involved, founding Blockstream, hinting towards people that he was more involved with the early project. He hired up a bunch of Bitcoin devs, and basically ruined the network for everyone, trying to pivot everyone heavily towards Lightning so they could extract fees to pay back investors.
Kleiman seems like an obvious top contender in my opinion.
Maybe I am reaching here, but by “ruining the network” I assume you mean that you are blaming him Adam for the small blockers winning, in which case the network is better off for it.
I'd not heard that theory, but I remember when Dan Kaminsky put the BitLen tribute into the blockchain, and it was definitely more about Dan screwing with weird tech, and realizing that anything he put there would be there forever right around the time that a good friend of his passed away. Dan was super skeptical about cryptocurrencies, and most of what he did around the space was finding weird ways to fuck with it.
despite he's mentioned in this article he is barely mentioned - paul le roux. he had skills, money and the timing of his capture and satoshi's disappearance are right.
The NSA has a poor track record with cryptography, often being audacious enough to believe that their backdoors in common encryption standards wouldn't be found by anyone. So much so that the idea of them being behind Bitcoin at the same time that they were gutting modern encryption is... Well, laughable, really.
Well, I know Adam Back personally, but this is an anon account so I won’t say more.
He has also made numerous flubs when describing bitcoin that betray a lack of understanding of the incentives underlying bitcoin which satoshi would have known.
The type of ecash he wrote about prior to bitcoin was fundamentally very different. Bitcoin is not an evolution of hashcash like systems. It is fundamentally different by embracing an eventually consistent model which was antithetical to the approaches taken by Back, Szabo, etc.
For example,
> However, it is possible to reveal a very important detail about Satoshi Nakamoto’s personality. The fact that Satoshi chose the genesis block with a certain timestamp (which included the sentence in the UK Times article) makes one realize how much preparation and meticulousness was behind Satoshi’s identity.
This is immediately following a code snippet in which it is clear that some value must be hard-coded; it would be the work of seconds to think up a value that was funny or meaningful. I don't see why this indicates any preparation or meticulousness.
Another example:
> The other comment that arouses curiosity is this one: //// is this all we want to do if there's a file error like this?
> Who was Satoshi referring to when speaking in the plural?
Isn't this completely normal in programming? I only ever use the plural first person in code unless I'm specifically referring to myself as a human (in the same way that academic writing uses the plural).