[Bitcoin-development] Modularizing Bitcoin

Ron rdwnj at yahoo.com
Sun May 26 21:46:32 UTC 2013

From: <bitcoingrant at gm...> - 2013-05-16 10:02

            One of the primary upcoming priorities for bitcoin’s infrastructure, beyond the bloom filter, will be the continued modularization of the system.
Here at the Bitcoin Grant, we would like to jump start this development with a financial incentive and initiate an ongoing conversation on how we can work together towards developing a smarter, more efficient system of tomorrow, today.
Up for grabs: 500 bitcoins or $500,000; whichever is greater.
Taking on a project of this scope is a highly intensive, technical undertaking and we believe excellent developers should be compensated as such, especially when it comes to open source projects.
One of the main goals will be to separate the wallet from the node, as we have already done with mining. This way, the wallet, which will only hold private keys and create transactions, would pass transactions directly to a relay node, based on the bloom filter. Meanwhile, the block node will maintain the block chain and validate and relay new blocks.
Such developments would significantly strengthen the system. Modularization would make cancer attacks less likely and increase the node count, which, currently, is fairly low.
This is by no means is a feature request, merely ideas as to initiate a discussion. We welcome any feedback or suggestions. And of course, let us know if you would like to contribute to this project by submiting a grant proposal.
http://bitcoingrant.org http://bitcoingrant.org/&lang=en


I don't know if this is the proper method of replying or even if 
I am allowed to reply!

Modularization can have many meanings, depending upon one's past! 
The code is somewhat compartmentalized/modularized now. But if one 
forces complete separation of the parts, with a 'loose coupling', 
etc., I find that the performance tends to suffer and the size 

In the Java world there is the notion of refactoring one's code. 
This would be too much, I think, in this case. When I developed 
with a team and alone, I would make what used to be called 
'step-wise refinements' on existing working code. To me, one of 
things this meant was doing a one to one transformation of the 
source code, in such a way as to have the identical, byte for 
byte, executable file, but a 'better' set of source files. A 
similar process would seem appropriate here. Especially since 
there is much in the code that I don't understand :) 

As to 'separating the wallet from the node', do you mean allowing 
the wallet.dat file to be anywhere, and not restricted to the 'OS default' 
or 'datadir' directory? If so, I have done that with no change to the 
current behavior, and also the wallet.dat now can have any legal 
filename too! I haven't tested it yet on bitcoin-qt, but it runs 
on bitcoind. I am still 'ramping up' on github to get the code into 
view. After testing on bitcoin-qt of course.

What may I ask, is a cancer attack?

If any of this inappropriate, forgive me.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20130526/e04fd700/attachment.html>

More information about the bitcoin-dev mailing list