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. = </div><div><br></div><div>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 = -</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 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.</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. 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; 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. </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/&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;"> </p><br><span id=3D"editor_signature"><span = style=3D"font-family:Verdana; = font-size:12px"> </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--