<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial'; COLOR: #000000">
<DIV>Eric, any plans to correct your article at <A 
title=https://bitcoinmagazine.com/21377/settling-block-size-debate/ 
href="https://bitcoinmagazine.com/21377/settling-block-size-debate/">https://bitcoinmagazine.com/21377/settling-block-size-debate/</A>?</DIV>
<DIV>&nbsp;</DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV style="FONT: 10pt tahoma">
<DIV>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A 
title=bitcoin-dev@lists.linuxfoundation.org 
href="mailto:bitcoin-dev@lists.linuxfoundation.org">Mike Hearn via 
bitcoin-dev</A> </DIV>
<DIV><B>Sent:</B> Wednesday, July 29, 2015 4:15 AM</DIV>
<DIV><B>To:</B> <A title=elombrozo@gmail.com 
href="mailto:elombrozo@gmail.com">Eric Lombrozo</A> </DIV>
<DIV><B>Cc:</B> <A title=bitcoin-dev@lists.linuxfoundation.org 
href="mailto:bitcoin-dev@lists.linuxfoundation.org">Bitcoin Dev</A> </DIV>
<DIV><B>Subject:</B> Re: [bitcoin-dev] Why Satoshi's temporary anti-spam measure 
isn'ttemporary</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV dir=ltr>
<DIV class=gmail_extra>
<DIV class=gmail_quote>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV>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>&nbsp;</DIV>
<DIV>I don't think it's obvious. You may disagree, but don't pretend any of this 
stuff is obvious.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Consider this:&nbsp; 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>&nbsp;</DIV>
<DIV>And now consider that in many parts of the world bank transfers are 
free.</DIV>
<DIV>&nbsp;</DIV>
<DIV>They aren't actually free, of course, but they <I>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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>You can argue with this sort of economic logic if you like, but don't claim 
this stuff is obvious.</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV><SPAN>
  <DIV>Nobody threatened to start mining huge blocks given how relatively 
  inexpensive it was to mine back then?<BR></DIV></SPAN></DIV></DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV>
  <DIV>Guess what? SPV wallets are still not particularly widespread…and 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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>So I would argue that they are in fact very widespread.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV><BR>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV>
  <DIV>I understand that initially it was desirable that transactions be 
  free…but surely even Satoshi understood this couldn’t be perpetually 
  self-sustaining…and 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></DIV></DIV></DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>Fees were added as a way to get money to miners in a fair and decentralised 
way.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV>
  <DIV></DIV>
  <DIV>We’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="https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki" 
  target=_blank>https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki</A>)<BR></DIV></DIV></DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>Maybe when there is a need? I already discussed this topic of need 
here:</DIV>
<DIV>&nbsp;</DIV>
<DIV><A 
href="https://medium.com/@octskyward/hashing-7d04a887acc8">https://medium.com/@octskyward/hashing-7d04a887acc8</A><BR></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV><SPAN>
  <DIV>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’s been spent, 
  etc…<BR></DIV></SPAN></DIV></DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>Validators don't require proofs. That's why they are validators.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV><SPAN>
  <DIV></DIV></SPAN>
  <DIV>Yes, let’s wait until things are about to break before even beginning to 
  address the issue…because we can “easily create” anything we haven’t invented 
  yet at the last minute.<BR></DIV></DIV></DIV></BLOCKQUOTE>
<DIV>&nbsp;</DIV>
<DIV>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>&nbsp;</DIV>
<DIV>But it's not needed right now:&nbsp; serving these clients is so darn 
cheap. And there is plenty of room for optimising things still further!</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  <DIV style="WORD-WRAP: break-word">
  <DIV>
  <DIV></DIV></DIV>
  <DIV>I’m 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="http://bitcoin.org" target=_blank>bitcoin.org</A>, there are only two 
  that have always supported SPV (or at least I think MultiBit has always 
  supported it, perhaps I’m wrong). One is MultiBit, the other one is mine. I 
  give you credit for your work…perhaps you could be generous enough to extend 
  me some credit too?</DIV></DIV></BLOCKQUOTE></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV class=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=gmail_extra>&nbsp;</DIV>
<DIV class=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=gmail_extra>&nbsp;</DIV></DIV>
<P>
<HR>
_______________________________________________<BR>bitcoin-dev mailing 
list<BR>bitcoin-dev@lists.linuxfoundation.org<BR>https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev<BR></DIV></DIV></DIV></BODY></HTML>