Earlier quoted context omitted.
It's worth repeating: This is a C++ codebase. It listens to open ports on the public Internet. One single remote exploit and you lose all your money. The author basically threw code over the wall and the open source community where contributors come and go all the time took over. And one single remote exploit is all it takes. (This causation is perhaps less true today when it is more common to use encrypted or even h…
I'm super curious why C++ was chosen when the risks are so high. Performance?
Bitcoin's Academic Pedigree
101–110 of 147 posts
Re: Bitcoin's Academic Pedigree
#102Earlier quoted context omitted.
I'm super curious why C++ was chosen when the risks are so high. Performance?
Likely experience. Most would write something so large in a language they are comfortable in.
Re: Bitcoin's Academic Pedigree
#103Earlier quoted context omitted.
I've spent a lot of time reviewing the original Bitcoin codebase. It's brilliant code. It's production-grade C++. There's nothing in it that hints at academic origins. Most people are either academics or professional coders -- to be both is a rare exception. The codebase seemed to materialize out of nowhere. One of the earliest commits in the SVN repo contains 36 thousand lines of code. "Satoshi" (or this group of pe…
It's worth repeating: This is a C++ codebase. It listens to open ports on the public Internet. One single remote exploit and you lose all your money. The author basically threw code over the wall and the open source community where contributors come and go all the time took over. And one single remote exploit is all it takes. (This causation is perhaps less true today when it is more common to use encrypted or even h…
That's not true. Few people use the wallet included in the Bitcoin node, most people use nodes indirectly to broadcast transactions and sync the blockchain.
Re: Bitcoin's Academic Pedigree
#104Earlier quoted context omitted.
I've spent a lot of time reviewing the original Bitcoin codebase. It's brilliant code. It's production-grade C++. There's nothing in it that hints at academic origins. Most people are either academics or professional coders -- to be both is a rare exception. The codebase seemed to materialize out of nowhere. One of the earliest commits in the SVN repo contains 36 thousand lines of code. "Satoshi" (or this group of pe…
Which is why I wouldn't be surprised if "Satoshi Nakamoto" turns out to be, not an individual, but a tightly-knit team of people , including BOTH professional coders who write software for a living AND computer scientists with strong academic backgrounds. Bitcoin is in my view too impressive an achievement to be the work of a single person working in isolation.
Re: Bitcoin's Academic Pedigree
#105Re: Bitcoin's Academic Pedigree
#106Re: Bitcoin's Academic Pedigree
#107Earlier quoted context omitted.
There was more than one critical protocol bug. But yes, it was an impressive effort. It used the STL well, was tightly written, and of the security bugs that did exist none were buffer overflows, stack smashes or double frees from what I recall. There were some issues in the interpreter opcodes but I think they may have been crashes (DoS). The code was clearly the work of one person though. There were not enough comm…
interesting points, thanks. also thanks for your contributions to the project. i wonder if stylometry could be (was?) applied to C++ code to have better evidence about authorship?
Most code produced is not open source.
But given he open sourced Bitcoin, he may have open sourced something else.
Code style does change over time, I know mine has. But I wonder if there are invariants as well. That would be a fascinating research project.
Re: Bitcoin's Academic Pedigree
#108This article correctly shows that virtually none of the ideas underpinning Bitcoin are new. They can all be traced to the academic literature going back decades. Cryptographic signatures and public-key cryptography, cryptographic hash functions, cryptographic proof-of-work, time-stamping, Merkle trees, chains of transactions blocks, Byzantine fault tolerance, smart contracts -- all of these ideas were old when Bitcoi…
If that counts as "not a new idea, but just a new combination of existing ideas" then it's hard for me to think of anything that does count as a "new idea."
Re: Bitcoin's Academic Pedigree
#109Earlier quoted context omitted.
interesting points, thanks. also thanks for your contributions to the project. i wonder if stylometry could be (was?) applied to C++ code to have better evidence about authorship?
Only if other open code exists? Most code produced is not open source. But given he open sourced Bitcoin, he may have open sourced something else. Code style does change over time, I know mine has. But I wonder if there are invariants as well. That would be a fascinating research project.
Re: Bitcoin's Academic Pedigree
#110Earlier quoted context omitted.
in a codebase of tens of thousands of non trivial C++ after 8 years there was found one critical protocol bug. one . if this doesn't blow your mind - i don't know what will.
There was more than one critical protocol bug. But yes, it was an impressive effort. It used the STL well, was tightly written, and of the security bugs that did exist none were buffer overflows, stack smashes or double frees from what I recall. There were some issues in the interpreter opcodes but I think they may have been crashes (DoS). The code was clearly the work of one person though. There were not enough comm…