Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Ud1H2-0004DY-KW for bitcoin-development@lists.sourceforge.net; Thu, 16 May 2013 16:43:24 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.160.44 as permitted sender) client-ip=209.85.160.44; envelope-from=bpcamac@gmail.com; helo=mail-pb0-f44.google.com; Received: from mail-pb0-f44.google.com ([209.85.160.44]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1Ud1H1-0002fi-Fs for bitcoin-development@lists.sourceforge.net; Thu, 16 May 2013 16:43:24 +0000 Received: by mail-pb0-f44.google.com with SMTP id wz17so2482670pbc.31 for ; Thu, 16 May 2013 09:43:17 -0700 (PDT) X-Received: by 10.68.1.34 with SMTP id 2mr11687046pbj.3.1368722597615; Thu, 16 May 2013 09:43:17 -0700 (PDT) Received: from [192.168.1.176] ([208.186.200.18]) by mx.google.com with ESMTPSA id lq4sm8181917pab.19.2013.05.16.09.43.15 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 16 May 2013 09:43:16 -0700 (PDT) Content-Type: multipart/alternative; boundary="Apple-Mail=_497B0A84-10F3-49E2-87EA-58228AA1FBD2" Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\)) From: Brenton Camac In-Reply-To: <20130516100206.82680@gmx.com> Date: Thu, 16 May 2013 09:43:14 -0700 Message-Id: <6645EE84-9A7E-41E3-A592-4EBC9A56DFD6@gmail.com> References: <20130516100206.82680@gmx.com> To: bitcoingrant@gmx.com X-Mailer: Apple Mail (2.1503) X-Spam-Score: -0.6 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (bpcamac[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.0 LOTS_OF_MONEY Huge... sums of money X-Headers-End: 1Ud1H1-0002fi-Fs Cc: bitcoin-development@lists.sourceforge.net Subject: Re: [Bitcoin-development] Modularizing Bitcoin X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 May 2013 16:43:24 -0000 --Apple-Mail=_497B0A84-10F3-49E2-87EA-58228AA1FBD2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 It would be nice if that modularization effort would first and foremost = focus on defining the protocols and APIs of the various modules (their = responsibilities and patterns of interaction), rather than merely = refactoring existing code. Such an approach has many benefits. =20 First, it promotes diversity of implementations. Diverse = implementations are now possible because the correctness of an = implementation is now determined entirely by the compliance of its = external behavior with the stated protocols and not its internal design. = Thus this approach allows for equivalent but alternate implementations. = Consequently, this approach - 1. increases the available pool of developers 2. reduces the impact any one implementation defect can have on the = overall Bitcoin infrastructure 3. allows enhancement/optimization work of modules to proceed more = easily as coupling with external modules is reduced Second, and just as important, it allows analysis and critiquing of = Bitcoin's infrastructure to be undertaken at a higher level than source = code: i.e. abstract entities of the protocols and APIs. Such scrutiny = is important to being able to effectively manage the evolution of a = system's architecture. Its been my first-hand experience across many projects that this = strategy contributes directly to significant improvements to quality = when developing large, distributed, complex software systems. Indeed, = its considered a best practice when developing enterprise-grade = software. I would be happy to collaborate with others in such an undertaking. - Brenton On May 16, 2013, at 3:02 AM, bitcoingrant@gmx.com wrote: > One of the primary upcoming priorities for bitcoin=92s 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 > =20 >=20 > = --------------------------------------------------------------------------= ---- > AlienVault Unified Security Management (USM) platform delivers = complete > security visibility with the essential security capabilities. Easily = and > efficiently configure, manage, and operate all of your security = controls > from a single console and one unified framework. Download a free = trial. > = http://p.sf.net/sfu/alienvault_d2d________________________________________= _______ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development --Apple-Mail=_497B0A84-10F3-49E2-87EA-58228AA1FBD2 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=windows-1252 It would be nice if that = modularization effort would first and foremost focus on defining the = protocols and APIs of the various modules (their responsibilities and = patterns of interaction), rather than merely refactoring existing = code.

Such an approach has many benefits. =  

First, it promotes diversity of = implementations.  Diverse implementations are now possible because = the correctness of an implementation is now determined entirely by the = compliance of its external behavior with the stated protocols and not = its internal design. Thus this approach allows for equivalent but = alternate implementations. Consequently, this approach = -

1. increases the available pool of = developers
2. reduces the impact any one implementation defect = can have on the overall Bitcoin infrastructure
3. allows = enhancement/optimization work of modules to proceed more easily as = coupling with external modules is = reduced

Second, and just as important, = it allows analysis and critiquing of Bitcoin's infrastructure to be = undertaken at a higher level than source code: i.e. abstract entities of = the protocols and APIs.  Such scrutiny is important to being able = to effectively manage the evolution of a system's = architecture.

Its been my first-hand experience = across many projects that this strategy contributes directly to = significant improvements to quality when developing large, distributed, = complex software systems.  Indeed, its considered a best practice = when developing enterprise-grade software.

I = would be happy to collaborate with others in such an = undertaking.

- = Brenton



On = May 16, 2013, at 3:02 AM, bitcoingrant@gmx.com = wrote:

One of the primary = upcoming priorities for bitcoin=92s 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

 


 
= --------------------------------------------------------------------------= ----
AlienVault Unified Security Management (USM) platform delivers = complete
security visibility with the essential security = capabilities. Easily and
efficiently configure, manage, and operate = all of your security controls
from a single console and one unified = framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d_______________________= ________________________
Bitcoin-development mailing list
Bitcoin-developm= ent@lists.sourceforge.net
https://lists.sourceforge.net/lists/listi= nfo/bitcoin-development

= --Apple-Mail=_497B0A84-10F3-49E2-87EA-58228AA1FBD2--