I seems that an issue posted on the bitcoin git is not the correct way to do this.
Seriously, quit trolling. It doesn't matter where.
I'll firstly look at it from a technical point of view:
The getmemorypool command is an interface to allow anyone to create any type of block they like that bitcoin will validate with very generic rules.
It's a mechanism to export part of bitcoind's functionality as an API so that external software can use bitcoind's implementation of transaction acceptance rules.
This allows someone to bypass the limited set of approved transactions that are within bitcoin and create non-standard and possibly non-functional transactions and put them permanently in the block-chain.
This mindset is extremely dictatorish. There is no organization/person to "approve" transactions allowed. The current status quo of the bitcoind developers controlling things in practice is a bad thing
which needs to be solved by more implementations and miners/users stepping up to customize their own rules.
Is this where bitcoin is now heading?
No desire to attempt to enforce the types of transaction and only add new types with general consensus?
It better be. Replacing the Fed with Gavin isn't exactly a good thing (no offense, Gavin).
However, for the actual reason why it has been created:
It was created to allow merged mining with namecoin, so the namecoin devs did not have to modify the bitcoin code each release.
It is also an issue in my opinion that the reason was not part of the pull request and clearly avoided.
No, it was created for p2pool, which had previously been making blocks without any transactions at all, thus harming the Bitcoin network. getmemorypool gives p2pool access to transactions it knows are safe to put in blocks.
The side effect namecoin merged mining has for the block-chain is to add around 46 extra bytes to each bitcoin block created with merged mining.
The namecoin web site also hides this fact by denying that any extra data is put into the bitcoin block-chain on their main page about merged mining http://dot-bit.org/Merged_Mining
I have requested around 2 weeks ago for that error to be corrected and no one has done so.
It's a wiki
: correct it yourself. The point (I presume) is that it isn't extra
data. It's just part of the standard
Bitcoin protocol being used. On the other hand, there is quite a bit of actually extra
data required in the Namecoin blocks.
Not only does this sanction putting non-bitcoin, namecoin data in the bitcoin block chain, but it effectively says that any other alternate chain can do the same thing also.
Actually, the data put in the coinbase isn't even namecoin-specific. That same 29 bytes is designed to support up to 32 different aux chains, and could reasonably be extended to more in the future.
I'd say that disallowing this commit would put out the word that bitcoin does not want any extra non-bitcoin data thrown in the bitcoin block-chain and that clearly seems to be an issue of note to some around.
"Bitcoin" is not an entity, and Satoshi himself was the original innovator behind (and explicitly endorsed) merged mining.
The problem with going for a middle ground is that what amount of extra non-bitcoin data is considered OK?
If 46 bytes is OK, then why not 56 bytes or 106 bytes or ...
Clearly a line needs to be drawn, but I can't see any line making a statement other than to set the boundary at zero.
The line has been drawn in the Bitcoin protocol since the first block: there are 100 bytes for miners to put whatever arbitrary data they want into blocks. The original uses were (block 0) political propaganda and (bitcoind code) extranonce, but it was intentionally designed to be arbitrary for future extensions.