Return-Path: <elombrozo@gmail.com> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id BC6A049B for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 29 Jul 2015 12:03:51 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f49.google.com (mail-pa0-f49.google.com [209.85.220.49]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id EE09B12F for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 29 Jul 2015 12:03:49 +0000 (UTC) Received: by pacan13 with SMTP id an13so4903950pac.1 for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 29 Jul 2015 05:03:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :message-id:references:to; bh=XcLKEGzp4Rfnq9MoojNJlX32UcizdnSqkcxhCkmjnc0=; b=nMctb/E4QCNpGjbttXvHuj1I7dLAfZ9is9wLMtQx9bQI80R6Ak2dyUUJf/oo6cd/zK aiJI/RFQrKUcpDss3cUjLt3N6wOHPhFE5rqwmvGDt/9/gDD8n9HjpZIWj32YQemi+CVW G1FEo4BD5sksRJ5EbR7J0t4Wy3Sa8bq8QRdr1k7eY3Brg8dJQx00fA+AXZ9Ff7zB8bX+ 6J5ZhEVXlCT+S2MQyjpUBIM2Vqax5qwjmr4tVsb4BjPXd5jL9uIpQ1y76ZY40+D4J4Ff YsJuT29AN5RdlZcwJGv6YX2KYBgMZdj7KNdm981lM7KqGrOaGFCutKiDXYoHtmb8MCf9 AHlg== X-Received: by 10.66.161.232 with SMTP id xv8mr92980372pab.137.1438171429601; Wed, 29 Jul 2015 05:03:49 -0700 (PDT) Received: from [192.168.1.107] (cpe-76-167-237-202.san.res.rr.com. [76.167.237.202]) by smtp.gmail.com with ESMTPSA id xp10sm40720785pac.34.2015.07.29.05.03.47 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 29 Jul 2015 05:03:48 -0700 (PDT) Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7EFA5E39-B4BA-4A27-A140-41790D94A0A0"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5 From: Eric Lombrozo <elombrozo@gmail.com> In-Reply-To: <CA+w+GKTZV5sgXNU_xoBby1_X6eae=5_vhENmyKY0yxWHcBiU5g@mail.gmail.com> Date: Wed, 29 Jul 2015 05:03:45 -0700 Message-Id: <59FC8BA8-C61F-4340-887F-CE2DD57ADD49@gmail.com> References: <1B7F00D3-41AE-44BF-818D-EC4EF279DC11@gmail.com> <CA+w+GKTfPXkVPaCC+3ZsQv=_DPMHoRwbigS40Testpyq4rZxsw@mail.gmail.com> <D25BD175-7099-4A6B-89BB-A35E94F555A9@gmail.com> <CA+w+GKTZV5sgXNU_xoBby1_X6eae=5_vhENmyKY0yxWHcBiU5g@mail.gmail.com> To: Mike Hearn <hearn@vinumeris.com> X-Mailer: Apple Mail (2.2098) X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, MIME_QP_LONG_LINE, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org> Subject: Re: [bitcoin-dev] Why Satoshi's temporary anti-spam measure isn't temporary X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Wed, 29 Jul 2015 12:03:51 -0000 --Apple-Mail=_7EFA5E39-B4BA-4A27-A140-41790D94A0A0 Content-Type: multipart/alternative; boundary="Apple-Mail=_C58B19EA-3EC9-4A5C-BD9B-7D2F67AABE54" --Apple-Mail=_C58B19EA-3EC9-4A5C-BD9B-7D2F67AABE54 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jul 29, 2015, at 4:15 AM, Mike Hearn <hearn@vinumeris.com> wrote: >=20 > Irrelevant what term was used - and as brilliant as Satoshi might have = been at some things, he obviously got this one wrong. >=20 > I don't think it's obvious. You may disagree, but don't pretend any of = this stuff is obvious. >=20 > Consider this: the highest Bitcoin tx fees can possibly go is perhaps = a little higher than what our competition charges. Too much higher than = that, and people will just say, you know what .... I'll make a bank = transfer. It's cheaper and not much slower, sometimes no slower at all. >=20 > And now consider that in many parts of the world bank transfers are = free. >=20 > They aren't actually free, of course, but they appear to be free = because the infrastructure for doing them is cross subsidised by the = fees on other products and services, or hidden in the prices of goods = sold. >=20 > So that's a market reality Bitcoin has to handle. It's already more = expensive than the competition sometimes, but luckily not much more, and = anyway Bitcoin has some features those other systems lack (and vice = versa). So it can still be competitive. >=20 > But your extremely vague notion of a "fee market" neglects to consider = that it already exists, and it's not a market of "Bitcoin users buying = space in Bitcoin blocks". It's "users paying to move money". >=20 > You can argue with this sort of economic logic if you like, but don't = claim this stuff is obvious. 100% granted - it was not obvious=E2=80=A6and we speak today with the = benefit of hindsight. I=E2=80=99ll clarify my argument, for the sake of anyone who thinks = I=E2=80=99m looking to play word games rather than trying to figure out = a good way forward. Point is=E2=80=A6processing blocks requires computational resources that = someone needs to put up. Unless the people who are putting up these = resources are properly incentivized to continue doing it, the network = will fail. Unfortunately, it was unforeseen that most nodes on the network would = turn out to not be miners=E2=80=A6and that most miners wouldn=E2=80=99t = even run full nodes. Yes, I speak with the benefit of hindsight, had I = been discussing this in 2008 I very well could have made the same = mistake or worse. But it isn=E2=80=99t 2008, it=E2=80=99s 2015=E2=80=A6and= we=E2=80=99ve learned a thing or two since. Given that things are what they are, it is clear that larger blocks = externalize costs onto the rest of the network. Waiting until we can no longer count on the altruistic goodwill of = volunteers because they suddenly decide that they have better uses for = their computers is probably not such a wonderful idea. But even worse is = further burdening the network with externalized costs before we=E2=80=99ve= solved these important issues=E2=80=A6especially given the evidence = that larger blocks tend to lead to network forks. No, I=E2=80=99m not = talking about regular run-of-the-mill reorgs=E2=80=A6I=E2=80=99m talking = consensus forks - a network partition that cannot be reconciled without = manual intervention, so please don=E2=80=99t distract the issue. Yes, = each incident occurred for a very different reason=E2=80=A6but you=E2=80=99= d have to be blind to miss the correlation between bigger blocks and the = propensity for forks. What Satoshi might have thought in 2008-2009 is fascinating from a = historical perspective, but his early pioneering insights don=E2=80=99t = appear to be of much help in addressing these particular issues. > Nobody threatened to start mining huge blocks given how relatively = inexpensive it was to mine back then? >=20 > Not that I recall. It wasn't a response to any actual event, I think, = but rather a growing realisation that the code was full of DoS attacks. >=20 >=20 > Guess what? SPV wallets are still not particularly widespread=E2=80=A6an= d those that are out there are notoriously terrible at detecting network = forks and making sure they are on the right one. >=20 > The most popular mobile wallet (measured by installs) on Android is = SPV. It has between 500,000 and 1 million installs, whilst Coinbase has = not yet crossed the 500,000 mark. One of the most popular wallets on iOS = is SPV. If we had SPV wallets with better user interfaces on desktops, = they'd be more popular there too (perhaps MultiBit HD can recapture some = lost ground). >=20 > So I would argue that they are in fact very widespread. >=20 > Likewise, they are not "notoriously terrible" at detecting chain = forks. That's a spurious idea that you and Patrick have been pushing = lately, but they detect them and follow reorgs across them according to = the SPV algorithm, which is based on most work done. This is exactly = what they are designed to do. >=20 > Contrast this with other lightweight wallets which either don't = examine the block chain or implement the algorithm incorrectly, and I = fail to see how this can be described as "notoriously terrible". >=20 >=20 > I understand that initially it was desirable that transactions be = free=E2=80=A6but surely even Satoshi understood this couldn=E2=80=99t be = perpetually self-sustaining=E2=80=A6and that the ability to bid for = inclusion in blocks would eventually become a crucial component of the = network. Or were fees just added for decoration? >=20 > Fees were added as a way to get money to miners in a fair and = decentralised way. >=20 > Attaching fees directly to all transactions is certainly one way to = use that, but it's not the only way. As noted above, our competitors = prefer a combination of price-hiding and cross subsidisation. Both of = these can be implemented with tx fees, but not necessarily by trying to = artificially limit supply, which is economically nonsensical. >=20 >=20 > We=E2=80=99re already more than six years into this. When were these = mechanisms going to be developed and tested? After 10 years? 20? Perhaps = after 1024 = years?(https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki = <https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki>) >=20 > Maybe when there is a need? I already discussed this topic of need = here: >=20 > https://medium.com/@octskyward/hashing-7d04a887acc8 = <https://medium.com/@octskyward/hashing-7d04a887acc8> >=20 > Right. Turns out the ledger structure is terrible for constructing the = kinds of proofs that are most important to validators - i.e. whether an = output exists, what its script and amounts are, whether it=E2=80=99s = been spent, etc=E2=80=A6 >=20 > Validators don't require proofs. That's why they are validators. >=20 > I think you're trying to say the block chain doesn't provide the kinds = of proofs that are most important to lightweight wallets. But I would = disagree. Even with UTXO commitments, there can still be double spends = out there in the networks memory pools you are unaware of. Merely being = presented with a correctly signed transaction doesn't tell you a whole = lot ..... if you wait for a block, you get the same level of proof = regardless of whether there are UTXO commitments or not. If you don't = then you still have to have some trust in your peers that you are seeing = an accurate and full view of network traffic. >=20 > So whilst there are ways to make the protocol incrementally better, = when you work through the use cases for these sorts of data structures = and ask "how will this impact the user experience", the primary = candidates so far don't seem to make much difference. >=20 > Remote attestation from secure hardware would make a big difference = though. Then you could get rid of the waiting times entirely because you = know the sending wallet won't double spend. >=20 >=20 > Yes, let=E2=80=99s wait until things are about to break before even = beginning to address the issue=E2=80=A6because we can =E2=80=9Ceasily = create=E2=80=9D anything we haven=E2=80=99t invented yet at the last = minute. >=20 > bitcoinj already has a micropayment channel implementation in it. = There's a bit of work required to glue everything together, but it's not = a massive project to start using this to pay nodes for their services. >=20 > But it's not needed right now: serving these clients is so darn = cheap. And there is plenty of room for optimising things still further! >=20 >=20 > I=E2=80=99m one of the very few developers in this space that has = actually tried *hard* to make your BIP37 work. Amongst the desktop = wallets listed on bitcoin.org <http://bitcoin.org/>, there are only two = that have always supported SPV (or at least I think MultiBit has always = supported it, perhaps I=E2=80=99m wrong). One is MultiBit, the other one = is mine. I give you credit for your work=E2=80=A6perhaps you could be = generous enough to extend me some credit too? >=20 > MultiBit has always supported it. I apologise for implying you have = not built a wallet. I think yours is mSIGNA, right? Did it used to be = called something else? I recognise the website design but must admit, I = have not heard of mSIGNA before. >=20 > Regardless, as a fellow implementor, I would appreciate it more if you = designed and implemented upgrades, rather than just trashing the work = done so far as "notoriously terrible", Satoshi as "not a systems = architect" and so on. >=20 --Apple-Mail=_C58B19EA-3EC9-4A5C-BD9B-7D2F67AABE54 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" = class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div = class=3D"">On Jul 29, 2015, at 4:15 AM, Mike Hearn <<a = href=3D"mailto:hearn@vinumeris.com" class=3D"">hearn@vinumeris.com</a>>= wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div = dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div = class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 = 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div = style=3D"word-wrap:break-word" class=3D""><div class=3D"">Irrelevant = what term was used - and as brilliant as Satoshi might have been at some = things, he obviously got this one wrong.</div></div></blockquote><div = class=3D""><br class=3D""></div><div class=3D"">I don't think it's = obvious. You may disagree, but don't pretend any of this stuff is = obvious.</div><div class=3D""><br class=3D""></div><div = class=3D"">Consider this: the highest Bitcoin tx fees can possibly = go is perhaps a little higher than what our competition charges. Too = much higher than that, and people will just say, you know what .... I'll = make a bank transfer. It's cheaper and not much slower, sometimes no = slower at all.</div><div class=3D""> </div><div class=3D"">And now = consider that in many parts of the world bank transfers are = free.</div><div class=3D""><br class=3D""></div><div class=3D"">They = aren't actually free, of course, but they <i class=3D"">appear</i> to= be free because the infrastructure for doing them is cross subsidised = by the fees on other products and services, or hidden in the prices of = goods sold.</div><div class=3D""><br class=3D""></div><div class=3D"">So = that's a market reality Bitcoin has to handle. It's already more = expensive than the competition sometimes, but luckily not much more, and = anyway Bitcoin has some features those other systems lack (and vice = versa). So it can still be competitive. </div><div class=3D""><br = class=3D""></div><div class=3D"">But your extremely vague notion of a = "fee market" neglects to consider that it already exists, and it's not a = market of "Bitcoin users buying space in Bitcoin blocks". It's "users = paying to move money".</div><div class=3D""><br class=3D""></div><div = class=3D"">You can argue with this sort of economic logic if you like, = but don't claim this stuff is = obvious.</div></div></div></div></div></blockquote><div><br = class=3D""></div>100% granted - it was not obvious=E2=80=A6and we speak = today with the benefit of hindsight.</div><div><br = class=3D""></div><div>I=E2=80=99ll clarify my argument, for the sake of = anyone who thinks I=E2=80=99m looking to play word games rather than = trying to figure out a good way forward.</div><div><br = class=3D""></div><div>Point is=E2=80=A6processing blocks requires = computational resources that someone needs to put up. Unless the people = who are putting up these resources are properly incentivized to continue = doing it, the network will fail. </div><div><br = class=3D""></div><div>Unfortunately, it was unforeseen that most nodes = on the network would turn out to not be miners=E2=80=A6and that most = miners wouldn=E2=80=99t even run full nodes. Yes, I speak with the = benefit of hindsight, had I been discussing this in 2008 I very well = could have made the same mistake or worse. But it isn=E2=80=99t 2008, = it=E2=80=99s 2015=E2=80=A6and we=E2=80=99ve learned a thing or two = since.</div><div><br class=3D""></div><div>Given that things are what = they are, it is clear that larger blocks externalize costs onto the rest = of the network.</div><div><br class=3D""></div><div>Waiting until we can = no longer count on the altruistic goodwill of volunteers because they = suddenly decide that they have better uses for their computers is = probably not such a wonderful idea. But even worse is further burdening = the network with externalized costs before we=E2=80=99ve solved these = important issues=E2=80=A6especially given the evidence that larger = blocks tend to lead to network forks. No, I=E2=80=99m not talking about = regular run-of-the-mill reorgs=E2=80=A6I=E2=80=99m talking consensus = forks - a network partition that cannot be reconciled without manual = intervention, so please don=E2=80=99t distract the issue. Yes, each = incident occurred for a very different reason=E2=80=A6but you=E2=80=99d = have to be blind to miss the correlation between bigger blocks and the = propensity for forks.<br class=3D""><div><br class=3D""></div><div>What = Satoshi might have thought in 2008-2009 is fascinating from a historical = perspective, but his early pioneering insights don=E2=80=99t appear to = be of much help in addressing these particular issues.</div><br = class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div = dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div = class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 = 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div = style=3D"word-wrap:break-word" class=3D""><div class=3D""><span = class=3D""><div class=3D"">Nobody threatened to start mining huge blocks = given how relatively inexpensive it was to mine back then?<br = class=3D""></div></span></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">Not that I recall. It wasn't a response = to any actual event, I think, but rather a growing realisation that the = code was full of DoS attacks.</div><div class=3D""><br = class=3D""></div><div class=3D""> </div><blockquote = class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><div style=3D"word-wrap:break-word" = class=3D""><div class=3D""><div class=3D"">Guess what? SPV wallets are = still not particularly widespread=E2=80=A6and those that are out there = are notoriously terrible at detecting network forks and making sure they = are on the right one.</div></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">The most popular mobile wallet = (measured by installs) on Android is SPV. It has between 500,000 and 1 = million installs, whilst Coinbase has not yet crossed the 500,000 mark. = One of the most popular wallets on iOS is SPV. If we had SPV wallets = with better user interfaces on desktops, they'd be more popular there = too (perhaps MultiBit HD can recapture some lost ground).</div><div = class=3D""><br class=3D""></div><div class=3D"">So I would argue that = they are in fact very widespread.</div><div class=3D""><br = class=3D""></div><div class=3D"">Likewise, they are not "notoriously = terrible" at detecting chain forks. That's a spurious idea that you and = Patrick have been pushing lately, but they detect them and follow reorgs = across them according to the SPV algorithm, which is based on most work = done. This is exactly what they are designed to do. </div><div = class=3D""><br class=3D""></div><div class=3D"">Contrast this with other = lightweight wallets which either don't examine the block chain or = implement the algorithm incorrectly, and I fail to see how this can be = described as "notoriously terrible".</div><div class=3D""><br = class=3D""></div><div class=3D""> <br class=3D""></div><blockquote = class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><div style=3D"word-wrap:break-word" = class=3D""><div class=3D""><div class=3D"">I understand that initially = it was desirable that transactions be free=E2=80=A6but surely even = Satoshi understood this couldn=E2=80=99t be perpetually = self-sustaining=E2=80=A6and that the ability to bid for inclusion in = blocks would eventually become a crucial component of the network. Or = were fees just added for decoration?<br = class=3D""></div></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">Fees were added as a way to get money = to miners in a fair and decentralised way.</div><div class=3D""><br = class=3D""></div><div class=3D"">Attaching fees directly to all = transactions is certainly one way to use that, but it's not the only = way. As noted above, our competitors prefer a combination of = price-hiding and cross subsidisation. Both of these can be implemented = with tx fees, but not necessarily by trying to artificially limit = supply, which is economically nonsensical.</div><div class=3D""><br = class=3D""></div><div class=3D""> </div><blockquote = class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><div style=3D"word-wrap:break-word" = class=3D""><div class=3D""><div class=3D""></div><div class=3D"">We=E2=80=99= re already more than six years into this. When were these mechanisms = going to be developed and tested? After 10 years? 20? Perhaps after 1024 = years?(<a = href=3D"https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki" = target=3D"_blank" = class=3D"">https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki<= /a>)<br class=3D""></div></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">Maybe when there is a need? I already = discussed this topic of need here:</div><div class=3D""><br = class=3D""></div><div class=3D""><a = href=3D"https://medium.com/@octskyward/hashing-7d04a887acc8" = class=3D"">https://medium.com/@octskyward/hashing-7d04a887acc8</a><br = class=3D""></div><div class=3D""><br class=3D""></div><blockquote = class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><div style=3D"word-wrap:break-word" = class=3D""><div class=3D""><span class=3D""><div class=3D"">Right. Turns = out the ledger structure is terrible for constructing the kinds of = proofs that are most important to validators - i.e. whether an output = exists, what its script and amounts are, whether it=E2=80=99s been = spent, etc=E2=80=A6<br = class=3D""></div></span></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">Validators don't require proofs. That's = why they are validators.</div><div class=3D""><br class=3D""></div><div = class=3D"">I think you're trying to say the block chain doesn't provide = the kinds of proofs that are most important to lightweight wallets. But = I would disagree. Even with UTXO commitments, there can still be double = spends out there in the networks memory pools you are unaware of. Merely = being presented with a correctly signed transaction doesn't tell you a = whole lot ..... if you wait for a block, you get the same level of proof = regardless of whether there are UTXO commitments or not. If you don't = then you still have to have some trust in your peers that you are seeing = an accurate and full view of network traffic.</div><div class=3D""><br = class=3D""></div><div class=3D"">So whilst there are ways to make the = protocol incrementally better, when you work through the use cases for = these sorts of data structures and ask "how will this impact the user = experience", the primary candidates so far don't seem to make much = difference.</div><div class=3D""><br class=3D""></div><div = class=3D"">Remote attestation from secure hardware would make a big = difference though. Then you could get rid of the waiting times entirely = because you know the sending wallet won't double spend.</div><div = class=3D""><br class=3D""></div><div class=3D""><br = class=3D""></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 = .8ex;border-left:1px #ccc solid;padding-left:1ex"><div = style=3D"word-wrap:break-word" class=3D""><div class=3D""><span = class=3D""><div class=3D""></div></span><div class=3D"">Yes, let=E2=80=99s= wait until things are about to break before even beginning to address = the issue=E2=80=A6because we can =E2=80=9Ceasily create=E2=80=9D = anything we haven=E2=80=99t invented yet at the last minute.<br = class=3D""></div></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">bitcoinj already has a micropayment = channel implementation in it. There's a bit of work required to glue = everything together, but it's not a massive project to start using this = to pay nodes for their services.</div><div class=3D""><br = class=3D""></div><div class=3D"">But it's not needed right now: = serving these clients is so darn cheap. And there is plenty of = room for optimising things still further!</div><div class=3D""><br = class=3D""></div><div class=3D""> </div><blockquote = class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><div style=3D"word-wrap:break-word" = class=3D""><div class=3D""><div class=3D""></div></div><div = class=3D"">I=E2=80=99m one of the very few developers in this space that = has actually tried *hard* to make your BIP37 work. Amongst the desktop = wallets listed on <a href=3D"http://bitcoin.org/" target=3D"_blank" = class=3D"">bitcoin.org</a>, there are only two that have always = supported SPV (or at least I think MultiBit has always supported it, = perhaps I=E2=80=99m wrong). One is MultiBit, the other one is mine. I = give you credit for your work=E2=80=A6perhaps you could be generous = enough to extend me some credit too?</div></div></blockquote></div><br = class=3D""></div><div class=3D"gmail_extra">MultiBit has always = supported it. I apologise for implying you have not built a wallet. I = think yours is mSIGNA, right? Did it used to be called something else? I = recognise the website design but must admit, I have not heard of mSIGNA = before.</div><div class=3D"gmail_extra"><br class=3D""></div><div = class=3D"gmail_extra">Regardless, as a fellow implementor, I would = appreciate it more if you designed and implemented upgrades, rather than = just trashing the work done so far as "notoriously terrible", Satoshi as = "not a systems architect" and so on.</div><div class=3D"gmail_extra"><br = class=3D""></div></div> </div></blockquote></div><br class=3D""></body></html>= --Apple-Mail=_C58B19EA-3EC9-4A5C-BD9B-7D2F67AABE54-- --Apple-Mail=_7EFA5E39-B4BA-4A27-A140-41790D94A0A0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJVuMEhAAoJEJNAI64YFENUGdMQAJYQ1fISOkSIdZ4FmliDTRkt gmNmwMn4mWdHCA8SZFOSqIlvGUsCJVh+S7GusHFp6UUi/WRNw4XYLdf/0oX6kGgr W/9dzW16w86isMbWRJqNwv8gzIOjK0IDFLc0XYfAH4QOMCSpWnX6XTTr6AOjZboX KgYHpRkJQcm2a2GCCdfjbo12NGUYz1UN+wu4R5WRj2IieQtepv6k5RJ6B6IdNtAL zy4Q3niTE7dkMT0uH5UmgT58S5rZeOjPKMdM/BH0+cpX6Nri75kYcGXy8EhAwJhf BLz2nn4jsFsTbf/dNE7Z9RX9JyeiGs4G231op354LkjMXsmomRdqN8TD9Ih0Ynn7 LghnKoc3rjqobzRbhH9TntTlAbpQlKo6KZHzPSCPuG16d+93UZPUNA7KcnJgyoNt TGfEXI7fjBABj869OCXomYnIBvWi+mtPUJdUfbLxAyZCXoizOtRL9FMFyQxnAp0i UqRsDCbgHw7I6o4MbV1tnRWcdz6ApdkBp3z+RIvKQ9t+WtT2DhnJOsSv1NL+LRzJ AYiN/YEPNR5sDw8bWrh+QkuPvuh2+YuZCIz4u29NbNF/Ela/Wya88uhM2BmJIKpJ W69GJgIo7/MgVtCDTkC6TUGyYD34U0gxc9kWKd79blqBukMjh5yMeJtugCCeApbq 8njKBaCdo8BYmxkYCqLj =Ubx5 -----END PGP SIGNATURE----- --Apple-Mail=_7EFA5E39-B4BA-4A27-A140-41790D94A0A0--