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 <bpcamac@gmail.com>) 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 <bitcoin-development@lists.sourceforge.net>;
	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 <multiple recipients>
	(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 <bpcamac@gmail.com>
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: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=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

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dwindows-1252"><meta http-equiv=3D"Content-Type" =
content=3D"text/html charset=3Dwindows-1252"></head><body =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">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.<div><br></div><div>Such an approach has many benefits. =
&nbsp;</div><div><br></div><div>First, it promotes diversity of =
implementations. &nbsp;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 =
-</div><div><br></div><div>1. increases the available pool of =
developers</div><div>2. reduces the impact any one implementation defect =
can have on the overall Bitcoin infrastructure</div><div>3. allows =
enhancement/optimization work of modules to proceed more easily as =
coupling with external modules is =
reduced</div><div><br></div><div>Second, and just as important, =
it&nbsp;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. &nbsp;Such scrutiny is important to being able =
to effectively manage the evolution of a system's =
architecture.</div><div><br></div><div>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. &nbsp;Indeed, its considered a best practice =
when developing enterprise-grade software.</div><div><br></div><div>I =
would be happy to collaborate with others in such an =
undertaking.</div><div><br></div><div>- =
Brenton</div><div><br></div><div><div><br></div><div><br><div><div>On =
May 16, 2013, at 3:02 AM, <a =
href=3D"mailto:bitcoingrant@gmx.com">bitcoingrant@gmx.com</a> =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><span style=3D"font-family:Verdana"><span =
style=3D"font-size:12px"><span style=3D"background-color: rgb(255, 255, =
255); font-family: 'Lucida Grande', Verdana, Arial, Helvetica, =
sans-serif; font-size: 11px; line-height: 16px;">One of the primary =
upcoming priorities for bitcoin=92s infrastructure, beyond the bloom =
filter, will be the continued modularization of the system.</span><p =
style=3D"margin:0px; padding:0px; margin-top: 5px; margin-bottom: 5px; =
padding-top: 3px; padding-bottom: 3px; border: 0px; outline: 0px; =
font-size: 11px; vertical-align: baseline; background-image: none; =
background-color: rgb(255, 255, 255); min-width: 100%; min-height: 15px; =
font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; =
line-height: 16px;">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.</p><p =
style=3D"margin:0px; padding:0px; margin-top: 5px; margin-bottom: 5px; =
padding-top: 3px; padding-bottom: 3px; border: 0px; outline: 0px; =
font-size: 11px; vertical-align: baseline; background-image: none; =
background-color: rgb(255, 255, 255); min-width: 100%; min-height: 15px; =
font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; =
line-height: 16px;"><span style=3D"margin: 0px; padding: 0px; border: =
0px; outline: 0px; vertical-align: baseline; background-image: none;">Up =
for grabs: 500 bitcoins or $500,000;&nbsp;whichever is =
greater.</span></p><p style=3D"margin:0px; padding:0px; margin-top: 5px; =
margin-bottom: 5px; padding-top: 3px; padding-bottom: 3px; border: 0px; =
outline: 0px; font-size: 11px; vertical-align: baseline; =
background-image: none; background-color: rgb(255, 255, 255); min-width: =
100%; min-height: 15px; font-family: 'Lucida Grande', Verdana, Arial, =
Helvetica, sans-serif; line-height: 16px;"><span style=3D"margin: 0px; =
padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; =
background-image: none;">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.</span></p><p style=3D"margin:0px; padding:0px; margin-top: =
5px; margin-bottom: 5px; padding-top: 3px; padding-bottom: 3px; border: =
0px; outline: 0px; font-size: 11px; vertical-align: baseline; =
background-image: none; background-color: rgb(255, 255, 255); min-width: =
100%; min-height: 15px; font-family: 'Lucida Grande', Verdana, Arial, =
Helvetica, sans-serif; line-height: 16px;"><span style=3D"margin: 0px; =
padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; =
background-image: none;">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.</span></p><p style=3D"margin:0px; padding:0px; =
margin-top: 5px; margin-bottom: 5px; padding-top: 3px; padding-bottom: =
3px; border: 0px; outline: 0px; font-size: 11px; vertical-align: =
baseline; background-image: none; background-color: rgb(255, 255, 255); =
min-width: 100%; min-height: 15px; font-family: 'Lucida Grande', =
Verdana, Arial, Helvetica, sans-serif; line-height: 16px;"><span =
style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px; =
vertical-align: baseline; background-image: none;">Such developments =
would significantly strengthen the system. Modularization would make =
cancer attacks less likely and increase the node count, which, =
currently, is fairly low.</span></p><p style=3D"margin:0px; padding:0px; =
margin-top: 5px; margin-bottom: 5px; padding-top: 3px; padding-bottom: =
3px; border: 0px; outline: 0px; font-size: 11px; vertical-align: =
baseline; background-image: none; background-color: rgb(255, 255, 255); =
min-width: 100%; min-height: 15px; font-family: 'Lucida Grande', =
Verdana, Arial, Helvetica, sans-serif; line-height: 16px;"><span =
style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px; =
vertical-align: baseline; background-image: none;">This is by no means =
is a feature request, merely ideas as to initiate a discussion. We =
welcome any feedback or suggestions.&nbsp;</span>And of course, let us =
know if you would like to contribute to this project by submiting a =
grant proposal.</p><p style=3D"margin:0px; padding:0px; margin-top: 5px; =
margin-bottom: 5px; padding-top: 3px; padding-bottom: 3px; border: 0px; =
outline: 0px; font-size: 11px; vertical-align: baseline; =
background-image: none; background-color: rgb(255, 255, 255); min-width: =
100%; min-height: 15px; font-family: 'Lucida Grande', Verdana, Arial, =
Helvetica, sans-serif; line-height: 16px;"><a =
href=3D"http://bitcoingrant.org/&amp;lang=3Den" target=3D"_blank" =
style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px; =
vertical-align: baseline; background-image: none; text-decoration: none; =
cursor: pointer; color: rgb(149, 0, =
0);">http://bitcoingrant.org</a></p><p style=3D"margin:0px; =
padding:0px;">&nbsp;</p><br><span id=3D"editor_signature"><span =
style=3D"font-family:Verdana; =
font-size:12px">&nbsp;</span></span></span></span>
=
--------------------------------------------------------------------------=
----<br>AlienVault Unified Security Management (USM) platform delivers =
complete<br>security visibility with the essential security =
capabilities. Easily and<br>efficiently configure, manage, and operate =
all of your security controls<br>from a single console and one unified =
framework. Download a free trial.<br><a =
href=3D"http://p.sf.net/sfu/alienvault_d2d________________________________=
_______________">http://p.sf.net/sfu/alienvault_d2d_______________________=
________________________</a><br>Bitcoin-development mailing list<br><a =
href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-developm=
ent@lists.sourceforge.net</a><br>https://lists.sourceforge.net/lists/listi=
nfo/bitcoin-development<br></blockquote></div><br></div></div></body></htm=
l>=

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