As a lead developer that has worked on Bitcoin for many years, Gavin Andresen has seen his share of mishaps and debates. In the early days of 2011, one faulty transaction created some billion bitcoins out of thin air—“which was bad,” he said at DevCore Boston. The developer-minded talk dove into the early days of Bitcoin, including the thornier coding problems that they encountered. Andresen also shared some opinions about Bitcoin's mysterious creator Satoshi Nakamoto.
“Satoshi is often called a cryptographer,” the Chief Scientist for the Bitcoin Foundation said. “But I don't think he was.”
Bitcoin uses very little cryptography, Andresen argued. It uses elliptic curve keys, ECDSA signatures, and cryptographic hashes, but that's it. Even the use of the security protocol Open SSL was “kind of naive,” he said. There was no mention of Schnorr or Lamport signatures, which Andresen argued would likely be annotated somewhere in the code even if not used.
One quote from Nakamoto convinced Andresen that he, she, or the group, was not a cryptographer:
“Crypto may offer 'key blinding.' I did some research and it was obscure, but there may be something there. 'Group signatures' may be related.”
But key blinding and group signatures are concepts from Crypto 101.
That's not to say that Bitcoin was any less ingenious. “Satoshi was a brilliant programmer,” Andresen said. “But he didn't have a deep understanding of all the cutting edge crypto research that's going on.”
After this introduction, Andresen took a deeper dive into the nitty gritty of bitcoin transactions (from a developer's point of view) and discussed some other ideas that Nakamoto didn't fully understand, like the difference between transaction validity and transaction meaning.
He concluded the lecture with a change in tone. Andresen listed many of the bitcoin problems that he doesn't know the answers to. For example: Will there be a practical solution to the privacy problem? Can streaming algorithms be applied to Bitcoin problems?
On March 8, Andresen delivered a keynote on Bitcoin at the MIT Bitcoin Expo 2015, where he outlined more immediate scalability problems. Bitcoin block size has been the meat of many arguments. Advocates for a larger block size say that scalability is an issue that should be resolved sooner rather than later. Critics argue that this could lead to a centralized system of miners.
The core developer supports a larger block size. While there are many kinks that are being worked out, he shrugged it off in a sense: “Is scaling a big deal? I actually think it's not.”
Anyway, it's safe to say that any one Bitcoin developer can't know it all.
Did you enjoy this article? You may also be interested in reading these ones: