The Bitcoin mempool, otherwise known as the network’s transaction backlog, is still clogged with over 390,000 transactions waiting to be processed by miners. To clear the mempool, more than 190 blocks need to be mined. As the scaling issues continue to plague the network, a conversation between former Bitcoin developer Gavin Andresen and the network’s creator Satoshi Nakamoto has been making rounds. Andresen expressed his concern about the software’s scripting language, which made him “nervous.” He also pointed out that there could be ways to “abuse” the scripts-in-a-transaction scheme.
Nakamoto and Andresen’s Bitcoin Scripting Language Conversation From 2010
On June 17, 2010, almost 13 years ago, Satoshi Nakamoto discussed the inventor’s brainchild with former Bitcoin developer Gavin Andresen. Andresen had expressed a strong interest in the project and was working on a tool to analyze wallet data to “understand better exactly how Bitcoin works.” During their conversation, Andresen also expressed his concern about Bitcoin’s scripting language, which made him uneasy.
Andresen conveyed his apprehension about Bitcoin’s scripting language, stating, “First: it make me a little nervous that bitcoin has a scripting language in it, even though it is a really simple scripting language (no loops, no pointers, nothing but math and crypto). It makes me nervous because it is more complicated, and complication is the enemy of security.” Additionally, he noted that the language’s intricacy could make it challenging to create a second, compatible implementation.
Nakamoto’s reply to Andresen’s concerns is frequently cited, as the inventor emphasized that Bitcoin’s core design was established for the entirety of its lifespan. “The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime,” Nakamoto replied in the forum post. “Because of that, I wanted to design it to support every possible transaction type I could think of.”
Nakamoto continued:
The problem was, each thing required special support code and data fields whether it was used or not, and only covered one special case at a time. It would have been an explosion of special cases. The solution was script, which generalizes the problem so transacting parties can describe their transaction as a predicate that the node network evaluates. The nodes only need to understand the transaction to the…
Click Here to Read the Full Original Article at Bitcoin News…