Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-25 Thread sebastien requiem
On Wed, Jun 18, 2014 at 2:09 PM, Lawrence Nahum lawre...@greenaddress.it
wrote:

 [snip]

 Allow me to recap BIP changes in discussion:

 - making some changes to allow merchants to offer discounts in case of
 instant ?
 - allowing multiple signatures ?

 Did I miss anything? Thoughts on the above from others?


Jumping on this thread after reading it all. I am in favor of the
discount offered by the merchant.

Ideally the merchant could get the amount of the wallet *fee*
for instant payment (privacy leak?). That way, the merchant
could decide to support the instant payment at 100% (better
user experience after all) or at 50% only or at 0%.

This would encourage instant payment for merchants and buyers without
(re-)creating a non-transparent system.

regards,


-- 
sebastien requiem - bendingspoons.com
--
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-19 Thread Daniel Rice
 Supporting it in the protocol is easy. Building such a thing: that's
hard. Decentralised automated reputation systems are complex and subtle.

Bitcoin is valuable as a protocol because it is truly decentralized. The
complexity involved in building this system was expansive, but I think we
can all agree it was worth the trouble. With this particular topic of
instant transactions it seems we have to be very careful about pushing
Bitcoin in a centralized direction for the sake of a simple quick solution.
Building an automated system to solve the instant transaction problem will
be difficult, but also well worth the effort, and exactly like you're
saying Mike, I just want to make sure the door is left open protocol wise
for a robust solution in the future.


On Wed, Jun 18, 2014 at 9:09 AM, Mike Hearn m...@plan99.net wrote:

 I think that's true if you assume that the instant provider list is based
 on a by hand created list of accepted instant providers. That's how VISA
 works now and that's why I was asking for an approach where the
 trusted_instant_providers list is scalable because that seems very
 dangerous.


 Supporting it in the protocol is easy. Building such a thing: that's hard.
 Decentralised automated reputation systems are complex and subtle.

 I don't feel strongly about whether the field should be optional or
 repeated, 100% of implementations in the forseeable future would just
 look at the first item and ignore the rest. But if later someone did crack
 this problem it would lead to a simple upgrade path. So perhaps you're
 right and the protobuf should allow multiple signatures. It means a new
 sub-message to wrap the pki_type, pki_data and signature fields into one,
 and then making that repeated.

 Up to Lawrence.

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-18 Thread Mike Hearn
Please, let's talk about other anti-double spend things on a separate
thread.

On Tue, Jun 17, 2014 at 5:58 PM, Isidor Zeuner cryptocurrenc...@quidecco.de
 wrote:

 What prevents the following steps from happening:


I linked to Satoshi's post on this earlier, he explains why it works there,
assuming people follow the original protocol rules.

Your analysis holds as long as network abandons the original Bitcoin
design. Obviously, we hope people won't do that. If everyone decides not to
do things how Satoshi laid out then things will break, although whether we
have a failure of Bitcoin at that point is debatable.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-18 Thread Lawrence Nahum
Andreas Schildbach andreas at schildbach.de writes:

 
 What is the use of the Transactions message? Note the Payment message
 already contains a transactions field that could be signed. Can you
 briefly describe the whole flow of messages on an example, including the
 BIP70 messages?

Updated the BIP draft with an example and a few corrections (like the 
redundant parameter).

You can see the diff here 
https://github.com/greenaddress/bips/commit/636d5819c1be9cc099dca0a47a3148332
522a3d4


Allow me to recap BIP changes in discussion:

- making some changes to allow merchants to offer discounts in case of 
instant ?
- allowing multiple signatures ?

Did I miss anything? Thoughts on the above from others?


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-18 Thread Mike Hearn

 I think that's true if you assume that the instant provider list is based
 on a by hand created list of accepted instant providers. That's how VISA
 works now and that's why I was asking for an approach where the
 trusted_instant_providers list is scalable because that seems very
 dangerous.


Supporting it in the protocol is easy. Building such a thing: that's hard.
Decentralised automated reputation systems are complex and subtle.

I don't feel strongly about whether the field should be optional or
repeated, 100% of implementations in the forseeable future would just
look at the first item and ignore the rest. But if later someone did crack
this problem it would lead to a simple upgrade path. So perhaps you're
right and the protobuf should allow multiple signatures. It means a new
sub-message to wrap the pki_type, pki_data and signature fields into one,
and then making that repeated.

Up to Lawrence.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-18 Thread Natanael
Den 17 jun 2014 17:59 skrev Isidor Zeuner cryptocurrenc...@quidecco.de:

 quote:
  Mike Hearn, why don't we just have all nodes report attempted double
spends
  through the node network. No need to involve the miners at all really,
or
  do your suggestion but also report the double spend attempt. By waiting
  maybe 10-60 seconds (instead of 10 minutes for first conf), merchants
can
  be more sure that a double spend attack was not tried. Attacker would
have
  to hold back second tx by 10-60 seconds and hope that that second tx
(with
  higher fee) get's into a solved block before the first one. This forced
  delay time ought to make the attack less successful (but not
impossible).
 

 What prevents the following steps from happening:

 1. attacker sends first transaction, paying to the merchant

 2. merchant waits 10-60 seconds

 3. merchant confirms the payment as received

 4. attacker sees merchant's confirmation

 5. attacker sends double spend

 The security improvement seems to be pretty much exactly the chance
 that during the 10-60 seconds, a block is solved. Am I missing
 something?

 Regarding reporting double spends, this would only help if it comes
 with some kind of penalty for the double spend. Now what if the double
 spend was not done on malicious motives? Maybe someone posted a
 transaction which does not confirm for some reason, and wants to
 recover his funds? Should we regard transactions which do not confirm
 as forever lost, in order to get to an every double spend is a
 misbehaviour policy?

 Best regards,

 Isidor

With 2-of-2 multisignature notaries, the doublespend (the set of
conflicting transactions) would be published and propagated together as
evidence of the notary being malicious. This is trivial and self-evident
self-contained proof.

But there should be no direct penalty IMHO in the Bitcoin protocol itself.

If a transaction would have to be replaced honestly because of being wrong
or simply not confirming, then I think there should be some means of
showing the second transaction is legitimate. Don't ask me how exactly it
would work in practice, but one method could be through showing the
original recipients have signed off on it (showing they agree it should be
reversed).

If you can't get the original recipient to sign, then you're stuck with
either not replacing it or the notary trying to prove the replacing
transaction was legitimate.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-17 Thread Isidor Zeuner
quote:
 On 6/16/14, Mike Hearn m...@plan99.net wrote:
  If they decide to change to something like highest-fee-always-wins, then
  they (again) centralise things by forcing all instant transactions to pay
  GreenAddress and its competitors money - much though I like your product
  Lawrence, let's hope they don't collectively lemming us all off a cliff by
  doing that ;)

 Replace-by-fee doesn't imply the use of green addresses (there's other
 solutions to 0 conf transactions in that context, for example,
 scorched earth). And giving up the non-enforceable first-seen
 default mining policy doesn't mean giving up on the Bitcoin
 experiment either.


If something means giving up on the Bitcoin experiment, then for
sure it's not one mining policy or another, but the assumption
that we should have one uniform mining policy. If we had a community
where enough miners had their own opinion about the best mining
policy, and expressed it by choosing an appropriate mining pool, then
we would have better decentralized mining based on selfish motives of
the miners, rather than based on an abstract thought of
centralization is bad, so I will consider how much mining profit
from qualitatively interchangable mining pools I'm willing to
sacrifice in order to ease my centralization fears.

Best regards,

Isidor

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-17 Thread Isidor Zeuner
quote:
 Mike Hearn, why don't we just have all nodes report attempted double spends
 through the node network. No need to involve the miners at all really, or
 do your suggestion but also report the double spend attempt. By waiting
 maybe 10-60 seconds (instead of 10 minutes for first conf), merchants can
 be more sure that a double spend attack was not tried. Attacker would have
 to hold back second tx by 10-60 seconds and hope that that second tx (with
 higher fee) get's into a solved block before the first one. This forced
 delay time ought to make the attack less successful (but not impossible).


What prevents the following steps from happening:

1. attacker sends first transaction, paying to the merchant

2. merchant waits 10-60 seconds

3. merchant confirms the payment as received

4. attacker sees merchant's confirmation

5. attacker sends double spend

The security improvement seems to be pretty much exactly the chance
that during the 10-60 seconds, a block is solved. Am I missing
something?

Regarding reporting double spends, this would only help if it comes
with some kind of penalty for the double spend. Now what if the double
spend was not done on malicious motives? Maybe someone posted a
transaction which does not confirm for some reason, and wants to
recover his funds? Should we regard transactions which do not confirm
as forever lost, in order to get to an every double spend is a
misbehaviour policy?

Best regards,

Isidor

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-17 Thread Tom Harding
On 6/16/2014 8:09 AM, Daniel Rice wrote:
 What if we solved doublespends like this: If a node receives 2 
 transactions that use the same input, they can put both of them into 
 the new block as a proof of double spend, but the bitcoins are not 
 sent to the outputs of either transactions. They are instead treated 
 like a fee and given to the block solver node. This gives miners the 
 needed incentive and tools to end doublespends instead of being forced 
 to favor one transaction over the other.

Before considering a hard fork with unpredictable effects on the 
uncertainty window, it would be interesting to look at a soft fork that 
would directly target the goal of reducing the uncertainty window, like 
treating locally-detected double-spends aged  T as invalid (see earlier 
message A statistical consensus rule for reducing 0-conf double-spend 
risk).

If anything is worth a soft fork, wouldn't reducing the double-spend 
uncertainty window by an order of magnitude be in the running?

Reducing the reasons that transactions don't get relayed, which actually 
seems to have a shot of happening pretty soon, would also make this kind 
of thing work better.


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-17 Thread Tom Harding
On 6/16/2014 8:48 AM, Mike Hearn wrote:
 In practice of course this is something payment processors like Bitpay 
 and Coinbase will think about. Individual cafes etc who are just using 
 mobile wallets won't be able to deal with this complexity: if we can't 
 make native Bitcoin work well enough there, we're most likely to just 
 lose that market or watch it become entirely centralised around a 
 handful of payment processing companies.

I have trouble seeing how could the real-time anonymous payments market 
can be cleanly separated from everything else.  If trusted third parties 
become the norm for that market, there will inevitably be a huge overlap 
effect on other markets that bitcoin can serve best, even today.  I 
don't see how any currency, any cash, can concede this market.


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
Jumping in on this conversation because I've been doing research in this
area. Using a list of trusted providers in the payment details will be very
limiting and not scalable. I understand the reason for wanting the
supports_instant field, but I think that's a bad idea because the list
could literally be a million providers. Secondly, some merchants already
support instant transactions without any trust signature, so they should
also be able to advertise that as well.

I also don't believe that trusted or not trusted is a valid on and off
switch. For example, I might trust an instant provider for a 1 btc
transaction, but not 1,000,000 btc. Trust is all about the risk involved.
We can definitely learn from the current financial system in this realm.

I 100% agree with the In Payment Message portion of the BIP extension.
Here's how I think this will practically shake out in an automated way:
Anyone can become an instant provider, but nobody will trust them at first.
As that particular instant provider processes more and more transactions
without any double spends, they essentially build up trust. Based on the
past history of a particular instant provider a risk factor could be
calculated for a given transaction. This would also factor in the size of
the transaction. It would be very similar to a credit file showing the past
history of that particular instant provider based on all the transactions
they signed.

Andreas Schildbach andreas at schildbach.de writes:

 Just a quick comment:

 The supports_instant field seems redundant to me. First, as per your
 spec, you can derive it from trusted_instant_providers. And second, why
 do you need it at all? Protobuf is designed so it will simply ignore
 fields you don't know. So you can just send the instant_* fields in the
 Payment message without harm.



Agreed, supports_instant is redundant and can/should/will go.

trusted_instant_providers on the other hand I think is needed.

Sometimes the providers will charge fees for instant.

While the software can ignore the fields,
users may not want to pay for instant when the merchant may not accept it or
care (even if it would not break the protocol it would still be a waste of
fees)

Does it make sense?

Not all transactions from GreenAddress provide double spend protection, there
are additional checks on prevout that are normally not done when spending
normally, etc
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn
Looking good! I think this is much better than the original draft. Agree
with Andreas that supports_instant is simply equal to
(supported_instant_providers.size()  1) which makes it redundant.

Daniel is right that putting every possible provider in the Payment message
might not scale in a world where there are huge numbers of
instant-confirmation providers, but I'm hoping that we never have to scale
to that size, because if we did that'd rather imply that Bitcoin has become
useless for in-person payments without trusted third parties and avoiding
that is rather the whole point of the project :) So I'm OK with some
theoretical lack of scalability for now.

A more scalable approach would be for the user to send the name and
signature of their instant provider every time and the merchant just
chooses whether to ignore it or not, but as Lawrence points out, this is
incompatible with the provider charging extra fees for instantness. But
should we care? I'm trying to imagine what the purchasing experience is
like with optional paid-for third party anti-double-spend protection.
Ultimately it's the merchant who cares about this, not me, so why would I
ever pay? It makes no sense for me to pay for double spend protection for
the merchant: after all, I'm honest. This is why it doesn't make sense for
me to pay miners fees either, it's the *receiver* who cares about
confirmations, not the sender.

So I wonder if a smarter design is that the user always submits the details
of their instantness provider and we just don't allow for optional
selection of instantness. I'm not sure that works, UX wise, so is having a
less scalable design to support it worthwhile?
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
If you're hoping the instant providers list won't need to scale then you're
essentially saying that we need a solution to the double spend problem.
That is a good point. Double spends are one of the biggest issues remaining
in the protocol. I've seen so many people talk about bad experiences trying
to spend Bitcoin at a restaurant and waiting an hour for confirmations.
This entire BIP extension is a band aid for double spends. If double spends
are not resolved, there will be a million instant providers in the long run
and if double spends are resolved then this BIP extension is completely
unnecessary. Is solving doublespends off the table?

What if we solved doublespends like this: If a node receives 2 transactions
that use the same input, they can put both of them into the new block as a
proof of double spend, but the bitcoins are not sent to the outputs of
either transactions. They are instead treated like a fee and given to the
block solver node. This gives miners the needed incentive and tools to end
doublespends instead of being forced to favor one transaction over the
other.

I will write up a BIP if this seems like a practical approach.


On Mon, Jun 16, 2014 at 5:19 AM, Mike Hearn m...@plan99.net wrote:

 Looking good! I think this is much better than the original draft. Agree
 with Andreas that supports_instant is simply equal to
 (supported_instant_providers.size()  1) which makes it redundant.

 Daniel is right that putting every possible provider in the Payment
 message might not scale in a world where there are huge numbers of
 instant-confirmation providers, but I'm hoping that we never have to scale
 to that size, because if we did that'd rather imply that Bitcoin has become
 useless for in-person payments without trusted third parties and avoiding
 that is rather the whole point of the project :) So I'm OK with some
 theoretical lack of scalability for now.

 A more scalable approach would be for the user to send the name and
 signature of their instant provider every time and the merchant just
 chooses whether to ignore it or not, but as Lawrence points out, this is
 incompatible with the provider charging extra fees for instantness. But
 should we care? I'm trying to imagine what the purchasing experience is
 like with optional paid-for third party anti-double-spend protection.
 Ultimately it's the merchant who cares about this, not me, so why would I
 ever pay? It makes no sense for me to pay for double spend protection for
 the merchant: after all, I'm honest. This is why it doesn't make sense for
 me to pay miners fees either, it's the *receiver* who cares about
 confirmations, not the sender.

 So I wonder if a smarter design is that the user always submits the
 details of their instantness provider and we just don't allow for optional
 selection of instantness. I'm not sure that works, UX wise, so is having a
 less scalable design to support it worthwhile?


 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Lawrence Nahum
Daniel Rice drice at greenmangosystems.com writes:

  If double spends are not resolved, there will be a million instant 
providers in the long run and if double spends are resolved then this BIP 
extension is completely unnecessary.

I am not sure if double spends can be resolved, at the moment they are not 
and I highly doubt you will see millions instant providers just like I don't 
see millions Certificate Authorities and I don't see Million Credit Card 
networks.

Any reason you think people will spread trust instead of consolidating of a 
bunch of instant transaction providers when time is critical?



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Lawrence Nahum
Mike Hearn mike at plan99.net writes:
[snip]
 Daniel is right that putting every possible provider in the Payment 
message might not scale in a world where there are huge numbers of instant-
confirmation providers, but I'm hoping that we never have to scale to that 
size, because if we did that'd rather imply that Bitcoin has become useless 
for in-person payments without trusted third parties and avoiding that is 
rather the whole point of the project :) So I'm OK with some theoretical 
lack of scalability for now. 

Hard to say for now. I like the current simplicity but if someone can come 
up with some use case for other options we should discuss and investigate 
them. I don't see more than a bunch of accepted payment methods anywhere I 
ever been in my life, I don't see merchants trusting more than a handful of 
third parties.

 A more scalable approach would be for the user to send the name and 
signature of their instant provider every time and the merchant just 
chooses whether to ignore it or not, but as Lawrence points out, this is 
incompatible with the provider charging extra fees for instantness. But 
should we care? I'm trying to imagine what the purchasing experience is like 
with optional paid-for third party anti-double-spend protection. Ultimately 
it's the merchant who cares about this, not me, so why would I ever pay?

I think you are wrong here.
Just because up to date credit cards charged the merchant which in turn 
charged you and the ordinary cash payer doesn't mean a newer and better 
system can't be transparent from day one.

Ultimately you care because the alternative is to wait.

 It makes no sense for me to pay for double spend protection for the 
merchant: after all, I'm honest.

It's quite simple, in a low amounts world people will probably accept zero 
confs, just like occasionally people can walk out with a bag of crisps 
without paying from a Pret in London. Guards would cost more than what 
they'd save from thefts.

With higher amounts they will either not accept bitcoin unless instant 
confirmed or they will make you wait if that's even feasible (unlikely in a 
supermarket or petrol station but perfectly fine at the restaurant maybe).

 This is why it doesn't make sense for me to pay miners fees either, it's 
the receiver who cares about confirmations, not the sender.

You care too: time and money, or just money if you want to use the old 
simplification.

 So I wonder if a smarter design is that the user always submits the 
details of their instantness provider and we just don't allow for optional 
selection of instantness. I'm not sure that works, UX wise, so is having a 
less scalable design to support it worthwhile?

We would not support that I think. Explicit is better than implicit.

We will charge for instant confirmation and wouldn't want the user charged 
unless pre-agreed, especially if then they also have to wait because the 
instant tx was not recognized as such.

Yeah we can charge the merchant that can then in turn charge you, we may as 
well charge you and be transparent about it but also have deals with 
merchant where they pay fixed amounts per month for unlimited tx and make it 
free for their users.

Perhaps just like today people ask you which card you are going to use and 
they may not accept Amex or Diners the same will go for instant and they, 
the merchants, will just pick the instant provider from a touch screen 
before allowing the payment in. 



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn

 I don't see more than a bunch of accepted payment methods anywhere I
 ever been in my life, I don't see merchants trusting more than a handful of
 third parties.


Sure. I buy this. Although the credit card market is a great example of
what we *don't* want: a stagnant duopoly of trusted third parties who
rampantly abuse their position. So I'd hope we see either (a) nobody really
caring about this BIP because Bitcoin gives good enough double spend
protection or (b) lots of anti-double-spend providers (hundreds seems fine).


 Ultimately you care because the alternative is to wait.


No, I will never wait. Neither me nor the merchant wants to me to be
pointlessly hanging around for an hour. The alternative is to pay by credit
card or cash. Outside of experiments there is no such thing as a shop that
only accepts only Bitcoin and will require me to wait for a block because I
didn't use a TTP to guarantee anti-double spends.

So this seems like a fundamental problem to me: having the ability to say,
here is a proof I won't double spend is fine, but it doesn't achieve
anything if the merchant would have sold me the goods in return for a
normal Bitcoin tx anyway, which in practice they always will because this
system starts out from zero users and would have to work upwards. I
*especially* will never use this system if I have to pay for it - I'd much
rather just put my money into a wallet that can't generate these proofs and
pay the sticker price.

Maybe what this BIP needs is an extra field that lets the merchant say, I
will give you a discount of X satoshis if you give me a no-double-spends
proof. In other words invert it: the sticker price is what normal Bitcoin
transactions cost, and then your wallet shows you the regular BIP70 price
minus the discount plus the third parties fee as what you finally pay. I
compare it to the sticker price the merchant is asking and if it's lower
I'm happy, and if it's higher my wallet would automatically avoid using the
TTP because I don't want to ever pay more, only less.

The market would then figure out if the fees the TTP charges are worth the
lower losses due to double spending fraud.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn

 Mike Hearn, why don't we just have all nodes report attempted double
 spends through the node network.


Please see https://github.com/bitcoin/bitcoin/pull/3883 which implements
this exact scheme. It can solve some kinds of double spends (probably), but
others - like ones done by corrupt miners (see bitundo) - can't be solved
this way.

Lawrence's motivation for this BIP is essentially to act as a backup in
case the Bitcoin native double spending protections end up being too weak
to be useful. It reintroduces a notion of centralised trust as a layer on
top of the Bitcoin protocol, but only for cases where the seller/recipient
feels it'd be useful. In this way it gives us slack: if someone is able to
reliably double spend and the merchants losses due to payment fraud go up,
we can fall back to TTPs for a while until someone finds a solution for
Bitcoin, or we just give up on the Bitcoin experiment, but hey - at least
we now have a better intermediary protocol than SWIFT :-)

In practice of course this is something payment processors like Bitpay and
Coinbase will think about. Individual cafes etc who are just using mobile
wallets won't be able to deal with this complexity: if we can't make native
Bitcoin work well enough there, we're most likely to just lose that market
or watch it become entirely centralised around a handful of payment
processing companies.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
 Any reason you think people will spread trust instead of consolidating of
a
bunch of instant transaction providers when time is critical?

Maybe you're right, but if you are, that's a huge reason not to implement
this. We should encourage proliferation of instant providers otherwise we
start becoming VISA all over again. That's a future for Bitcoin I'm not
excited about: Use one of these 4 companies, or you need to wait an
impractical amount of time before your transaction will go through.

Come to think of it, is the payment protocol really the place to put this
instant provider signature or should it be in the actual Bitcoin
transaction? If we don't believe there is a valid practical solution to
doublespends (some people have already emailed me critical feedback on my
proposal) then we absolutely need a trust network, but we would also want
it to be part of the public ledger for everyone to see.


On Mon, Jun 16, 2014 at 8:26 AM, Lawrence Nahum lawre...@greenaddress.it
wrote:

 Daniel Rice drice at greenmangosystems.com writes:

   If double spends are not resolved, there will be a million instant
 providers in the long run and if double spends are resolved then this BIP
 extension is completely unnecessary.

 I am not sure if double spends can be resolved, at the moment they are not
 and I highly doubt you will see millions instant providers just like I
 don't
 see millions Certificate Authorities and I don't see Million Credit Card
 networks.

 Any reason you think people will spread trust instead of consolidating of a
 bunch of instant transaction providers when time is critical?




 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn

 Come to think of it, is the payment protocol really the place to put this
 instant provider signature


Yes it's the right place. The original attempt at this concept was in fact
called *green addresses* and the idea was you could identify a spend from a
trusted wallet by checking which keys were being used to sign. But the
problem is, lack of privacy. Everyone can see what wallet provider you use.

Also it'd be inefficient to have in the chain. There's no reason for the
extra signatures to be there: double spend risk is something only the
recipient cares about.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn

 I read the comments on the PR. I mean no disrespect but this patch can't
 prevent double spends minutes apart and a solution is as good as it's
 weakest link.


Actually Tom is running a page where he shows double spends detected by his
node or relayed by mine (there are only two nodes in this little detection
network currently), and it does show double spends that occur seconds,
minutes or even days apart.

Regardless, whether that approach helps or not is off topic for this
thread. Let's all hope it does and discuss the details in some other
thread, or on the pull request.


 instant confirmation between exchanges can create huge arbitrage
 opportunities and as such
 liquidity.


Yes indeed, if you want to do high frequency trading then every millisecond
counts and you probably don't want to rely on watching transactions
propagate across the block chain. For inter-exchange traffic this BIP would
probably be useful. I've been talking about the consumer case.


 What do you expect for e-commerce and escrow to happen? Don't you think the
 market will naturally converge to a handful of hubs that will helps with
 refunds and things like that?


No, I expect there to be many kinds of trades where dispute mediation is
unnecessary, e.g. when I buy a drink at Starbucks or a burger at McDonalds
the chances of me wanting to charge it back is basically zero. Same for
sending between people who know each other, large corporate transactions
where the threat of a lawsuit is more useful than mediation, etc.

But for transactions where third parties are needed for dispute mediation,
yes, I'd expect there to be a handful of well known trusted names for the
majority of such transactions, and then a long tail of specialists who only
mediate e.g. purchases of rare Aztec artifacts or other things where a
generic company might be easily fooled.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Lawrence Nahum
Mike Hearn mike at plan99.net writes:

 Sure. I buy this. Although the credit card market is a great example of 
what we don't want: a stagnant duopoly of trusted third parties who 
rampantly abuse their position. So I'd hope we see either (a) nobody really 
caring about this BIP because Bitcoin gives good enough double spend 
protection or (b) lots of anti-double-spend providers (hundreds seems fine).

Maybe hundreds, maybe less. I can imagine there would/could be local ones.
It's not the same as credit cards though: it's an open protocol with 
explicit intent from all parties and no forced fees for normal transactions 
- just for instant ones.

 No, I will never wait. Neither me nor the merchant wants to me to be 
pointlessly hanging around for an hour. The alternative is to pay by credit 
card or cash. Outside of experiments there is no such thing as a shop that 
only accepts only Bitcoin and will require me to wait for a block because I 
didn't use a TTP to guarantee anti-double spends.

I tend to agree but _today_ people are trying to use bitcoin and are waiting 
and waiting ..


 So this seems like a fundamental problem to me: having the ability to say, 
here is a proof I won't double spend is fine, but it doesn't achieve 
anything if the merchant would have sold me the goods in return for a normal 
Bitcoin tx anyway, which in practice they always will because this system 
starts out from zero users and would have to work upwards. I especially will 
never use this system if I have to pay for it - I'd much rather just put my 
money into a wallet that can't generate these proofs and pay the sticker 
price.

This is a cultural thing. In some places if you pay by cards you pay extra.
I think it may be good to support both models but I like better the 
transparent one even if I'm going to admit that the least transparent one 
may be more attractive as it fools consumers.

 Maybe what this BIP needs is an extra field that lets the merchant say, I 
will give you a discount of X satoshis if you give me a no-double-spends 
proof. In other words invert it: the sticker price is what normal Bitcoin 
transactions cost, and then your wallet shows you the regular BIP70 price 
minus the discount plus the third parties fee as what you finally pay. I 
compare it to the sticker price the merchant is asking and if it's lower I'm 
happy, and if it's higher my wallet would automatically avoid using the TTP 
because I don't want to ever pay more, only less.
 The market would then figure out if the fees the TTP charges are worth the 
lower losses due to double spending fraud.

I think this is worth discussing further. Would love also more input from 
other people on this.





--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Lawrence Nahum
Mike Hearn mike at plan99.net writes:

 As long as miners stick to Satoshi's first seen rule, which is the 
default, it's useful:
 
 
 https://bitcointalk.org/index.php?topic=423.msg3819#msg3819
 
 
 
 
 (this is the famous snack machine thread from 2010)
 
 If they decide to change to something like highest-fee-always-wins, then 
they (again) centralise things by forcing all instant transactions to pay 
GreenAddress and its competitors money - much though I like your product 
Lawrence, let's hope they don't collectively lemming us all off a cliff by 
doing that ;)


I assume we can't enforce to miners rules about which tx will go in and 
which won't and therefore whether this will cause more or less double 
spends.


I mean, you can try but I would rather have to option to pick an third party 
instant provider explicitly than  enforce bigger rules on mining which would 
IMHO lead to implicit centralization.






--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Alex Kotenko
Hi Lawrence/All


I'm afraid with this BIP for TTP of instant transactions we will end up in
VISA world again. As I see it - it's not about if the TTPs will centralize,
it's only when. Simply because if economy of scales makes growth profitable
and coming into this market is at least a little expensive - this
(centralization, VISA world) will happen, sooner rather than later.
And while some may argue that coming to market in Bitcoin world is cheap so
the crowd will always have a chance to come in and beat the monopolists -
think of one thing. Right now Bitcoin is not seen as money and not
regulated accordingly anywhere in the world, thanks God, but how many years
away we are from the point when it will start to be regulated that way? And
once it is - the monopolies will make sure that rules are restrictive
enough to prevent competition, especially in conjunction with economy of
scales playing against the small newcomers.
The instant providers list is susceptible to regulatory influence, and
once in place and widespread - it will be a timebomb under Bitcoin. We need
to solve the doublespend issue without TTP involvement, or at least without
even a slight chance of making this involvement regulateable. Otherwise I
think the Bitcoin experiment will fail.


Best regards,
Alex Kotenko


2014-06-16 18:16 GMT+01:00 Lawrence Nahum lawre...@greenaddress.it:

 Mike Hearn mike at plan99.net writes:

  As long as miners stick to Satoshi's first seen rule, which is the
 default, it's useful:
 
 
  https://bitcointalk.org/index.php?topic=423.msg3819#msg3819
 
 
 
 
  (this is the famous snack machine thread from 2010)
 
  If they decide to change to something like highest-fee-always-wins, then
 they (again) centralise things by forcing all instant transactions to pay
 GreenAddress and its competitors money - much though I like your product
 Lawrence, let's hope they don't collectively lemming us all off a cliff by
 doing that ;)


 I assume we can't enforce to miners rules about which tx will go in and
 which won't and therefore whether this will cause more or less double
 spends.


 I mean, you can try but I would rather have to option to pick an third
 party
 instant provider explicitly than  enforce bigger rules on mining which
 would
 IMHO lead to implicit centralization.







 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Jorge Timón
On 6/16/14, Mike Hearn m...@plan99.net wrote:
 If they decide to change to something like highest-fee-always-wins, then
 they (again) centralise things by forcing all instant transactions to pay
 GreenAddress and its competitors money - much though I like your product
 Lawrence, let's hope they don't collectively lemming us all off a cliff by
 doing that ;)

Replace-by-fee doesn't imply the use of green addresses (there's other
solutions to 0 conf transactions in that context, for example,
scorched earth). And giving up the non-enforceable first-seen
default mining policy doesn't mean giving up on the Bitcoin
experiment either.

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn
I think many of us feel it'd be better if this kind of thing were not
needed at all, however, the best way to ensure it doesn't end up being used
is to write code, not to try and block alternative approaches. If Bitcoin
is robust the market should sort it out. If it's robust for some
transactions and not others, that makes for a fun project for a future
generation of hackers to sort out.

OK, enough philosophy - let's try and keep this thread just for discussion
of the BIP itself from now on. If you'd like to continue debating the
Future of Bitcoin please change the subject line and break it out into a
new thread.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
I'm trying to think through how to encourage the maximum number of instant
signature providers and avoid the VISA monopoly. Ideal case would be that
people can even be their own instant provider.

What if the protocol allowed multiple instant signatures on a transaction?
Would it encourage more instant providers? For example, a new instant
provider could bootstrap their own trust by paying an already trusted
instant provider to co-sign the same transaction. This would be useful in
the case that a new company tries to release a new wallet once the trust
ring is already established. Nobody will use that wallet because it does
not have the trusted history to do instant transactions, but if they can
pay a small amount per transaction to a third party to cosign, they can
build trust in their own signature till they can eventually have enough
trust on their own. This could be how an individual user could grow trust
in their own instant signature as well.


On Mon, Jun 16, 2014 at 11:09 AM, Mike Hearn m...@plan99.net wrote:

 I think many of us feel it'd be better if this kind of thing were not
 needed at all, however, the best way to ensure it doesn't end up being used
 is to write code, not to try and block alternative approaches. If Bitcoin
 is robust the market should sort it out. If it's robust for some
 transactions and not others, that makes for a fun project for a future
 generation of hackers to sort out.

 OK, enough philosophy - let's try and keep this thread just for discussion
 of the BIP itself from now on. If you'd like to continue debating the
 Future of Bitcoin please change the subject line and break it out into a
 new thread.


 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
True, that would work, but still how are you going to bootstrap the trust?
TREZOR is well known, but in a future where there could be 100 different
companies trying to release a similar product to TREZOR it seems like one
company could corner the market by being the only one that is an accepted
instant provider at most vendors. It seems to encourage monopoly unless
there is a standard way to bootstrap trust in your signature.


On Mon, Jun 16, 2014 at 1:32 PM, Mike Hearn m...@plan99.net wrote:

 On Mon, Jun 16, 2014 at 10:29 PM, Daniel Rice dr...@greenmangosystems.com
  wrote:

 I'm trying to think through how to encourage the maximum number of
 instant signature providers and avoid the VISA monopoly. Ideal case would
 be that people can even be their own instant provider.


 A provider does not have to be an interactive third party. One reason I
 suggested using X.509 is so secure hardware devices like the TREZOR could
 also be instant providers. The hardware would be tamperproof and assert
 using a secret key embedded in it that the tx came from a genuine,
 unflashed TREZOR. The the server can know the device won't double spend.

 In this way you have decentralised anti-double spending. Of course, it's
 an old solution. MintChip sort of worked a bit like this.

--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn
On Mon, Jun 16, 2014 at 10:37 PM, Daniel Rice dr...@greenmangosystems.com
wrote:

 True, that would work, but still how are you going to bootstrap the trust?
 TREZOR is well known, but in a future where there could be 100 different
 companies trying to release a similar product to TREZOR it seems like one
 company could corner the market by being the only one that is an accepted
 instant provider at most vendors


It's no different to the CA problem. People can only mentally handle a few
trust anchors, so for SSL it goes:

   1 User - 2-3 browser makers - 100's of CAs - millions of websites

The trust starts out narrowly funnelled and grows outwards as things get
outsourced.

For this it'd go

   1 merchant - 4-5 payment processing engines - dozens of hardware
manufacturers - hundreds of thousands of devices
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Mike Hearn
Yes that's true. Though it's off topic, check out
http://www.certificate-transparency.org/   it's a project to force CA's
to publish all certs they make publicly.
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-16 Thread Daniel Rice
Mike Hearn m...@plan99.net wrote:
 A more scalable approach would be for the user to send the name and
 signature of their instant provider every time and the merchant just
 chooses whether to ignore it or not, but as Lawrence points out, this is
 incompatible with the provider charging extra fees for instantness. But
 should we care? I'm trying to imagine what the purchasing experience is
like
 with optional paid-for third party anti-double-spend protection.
Ultimately
 it's the merchant who cares about this, not me, so why would I ever pay?

Lawrence Nahum lawre...@greenaddress.it wrote:
 I think you are wrong here.
 Just because up to date credit cards charged the merchant which in turn
 charged you and the ordinary cash payer doesn't mean a newer and better
 system can't be transparent from day one.

I don't think a whitelist of trust is a practical approach because you are
going to want to have varying levels of trust in different instant
providers. This would be based on how large their past transaction volume
has been. For that reason maybe another approach is an additional
negotiation message between the merchant and wallet. Merchant sends payment
details - wallet responds with their instant information requesting if an
instant transaction will be accepted for this transaction. Merchant weighs
the risk based on historical data about this particular instant provider
and the amount of the requested transaction - Merchant responds yes or no.

That approach avoids the scaling issue, but also allows for Lawrence's use
case of charging the user a fee only in the case where the instant
transaction is supported.


On Mon, Jun 16, 2014 at 1:29 PM, Daniel Rice dr...@greenmangosystems.com
wrote:

 I'm trying to think through how to encourage the maximum number of instant
 signature providers and avoid the VISA monopoly. Ideal case would be that
 people can even be their own instant provider.

 What if the protocol allowed multiple instant signatures on a transaction?
 Would it encourage more instant providers? For example, a new instant
 provider could bootstrap their own trust by paying an already trusted
 instant provider to co-sign the same transaction. This would be useful in
 the case that a new company tries to release a new wallet once the trust
 ring is already established. Nobody will use that wallet because it does
 not have the trusted history to do instant transactions, but if they can
 pay a small amount per transaction to a third party to cosign, they can
 build trust in their own signature till they can eventually have enough
 trust on their own. This could be how an individual user could grow trust
 in their own instant signature as well.


 On Mon, Jun 16, 2014 at 11:09 AM, Mike Hearn m...@plan99.net wrote:

 I think many of us feel it'd be better if this kind of thing were not
 needed at all, however, the best way to ensure it doesn't end up being used
 is to write code, not to try and block alternative approaches. If Bitcoin
 is robust the market should sort it out. If it's robust for some
 transactions and not others, that makes for a fun project for a future
 generation of hackers to sort out.

 OK, enough philosophy - let's try and keep this thread just for
 discussion of the BIP itself from now on. If you'd like to continue
 debating the Future of Bitcoin please change the subject line and break it
 out into a new thread.


 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-15 Thread Lawrence Nahum
Andreas Schildbach andreas at schildbach.de writes:
 
 Just a quick comment:
 
 The supports_instant field seems redundant to me. First, as per your
 spec, you can derive it from trusted_instant_providers. And second, why
 do you need it at all? Protobuf is designed so it will simply ignore
 fields you don't know. So you can just send the instant_* fields in the
 Payment message without harm.



Agreed, supports_instant is redundant and can/should/will go.

trusted_instant_providers on the other hand I think is needed.

Sometimes the providers will charge fees for instant.

While the software can ignore the fields, 
users may not want to pay for instant when the merchant may not accept it or 
care (even if it would not break the protocol it would still be a waste of 
fees)

Does it make sense? 

Not all transactions from GreenAddress provide double spend protection, there 
are additional checks on prevout that are normally not done when spending 
normally, etc


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-15 Thread Andreas Schildbach
Yes I meant only the supports_instant is not needed.
trusted_instant_providers makes sense to me.

Generally I like the simplicity of this BIP. Still, I have more questions:

What is the use of the Transactions message? Note the Payment message
already contains a transactions field that could be signed. Can you
briefly describe the whole flow of messages on an example, including the
BIP70 messages?

Should we allow adding multiple signatures (from different instant
providers or maybe while transitioning to another PKI)?


On 06/15/2014 11:22 AM, Lawrence Nahum wrote:
 Andreas Schildbach andreas at schildbach.de writes:
  
 Just a quick comment:

 The supports_instant field seems redundant to me. First, as per your
 spec, you can derive it from trusted_instant_providers. And second, why
 do you need it at all? Protobuf is designed so it will simply ignore
 fields you don't know. So you can just send the instant_* fields in the
 Payment message without harm.
 
 
 
 Agreed, supports_instant is redundant and can/should/will go.
 
 trusted_instant_providers on the other hand I think is needed.
 
 Sometimes the providers will charge fees for instant.
 
 While the software can ignore the fields, 
 users may not want to pay for instant when the merchant may not accept it or 
 care (even if it would not break the protocol it would still be a waste of 
 fees)
 
 Does it make sense? 
 
 Not all transactions from GreenAddress provide double spend protection, there 
 are additional checks on prevout that are normally not done when spending 
 normally, etc
 
 
 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-15 Thread Lawrence Nahum
Andreas Schildbach andreas at schildbach.de writes:

 Generally I like the simplicity of this BIP. Still, I have more questions:
 
 What is the use of the Transactions message? Note the Payment message
 already contains a transactions field that could be signed.

 

Transactions message sole purpose is to allow easy signing of all 
transactions
i don't think you can serialise a single field
maybe i missed something, not sure

 Can you
 briefly describe the whole flow of messages on an example, including the
 BIP70 messages?

I'll get back to the list with something tomorrow, 
can be useful in the BIP as an example anyway I guess.

 Should we allow adding multiple signatures (from different instant
 providers


maybe in some different scheme of instantness that could be useful, 
although i wonder if it's possible to keep the BIP simple with 
such non immediately obvious use cases.


 or maybe while transitioning to another PKI)?

another PKI, not sure, I understand there are already somewhat weak industry 
schemes to revoke.
I do wonder if there's any better and more future proof way.
I'll think about it but for now I hope someone with more experience can 
share some insight. 



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


[Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-14 Thread Lawrence Nahum
Hello,

I had the pleasure to meet some of you in Amsterdam and/or to speak on
#bitcoin-dev but this is actually my first message to the mailing list - I
feel a bit clumsy so apologies in advance if I make any mistake :)

Quick introduction/background: my name is Lawrence Nahum and I'm the
founder of GreenAddress, a BIP32 multisignature service and instant
confirmation platform available in form of web socket APIs and Wallet for
mobile, desktop and web. My background is in CS with distributed systems
and I've worked most of my career in the City on OTC financial services
like confirmation and clearing platforms.

This post is to gather feedback, comments and reviews about a BIP70 payment
protocol proto buffer extension proposal.

https://github.com/greenaddress/bips/blob/bip-payment-request-instant-confirmations/bip-payment-request-instant-confirmations.mediawiki

If you are interested in GreenAddress design or for more information on
GreenAddress you can find the white paper here
http://ghgreenaddress.files.wordpress.com/2014/04/greenaddressp2sh2of2hd-61.pdf
and our homepage on https://greenaddress.it

Cheers,
Lawrence
--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

2014-06-14 Thread Andreas Schildbach
Just a quick comment:

The supports_instant field seems redundant to me. First, as per your
spec, you can derive it from trusted_instant_providers. And second, why
do you need it at all? Protobuf is designed so it will simply ignore
fields you don't know. So you can just send the instant_* fields in the
Payment message without harm.


On 06/14/2014 02:00 PM, Lawrence Nahum wrote:
 Hello,
 
 I had the pleasure to meet some of you in Amsterdam and/or to speak on
 #bitcoin-dev but this is actually my first message to the mailing list -
 I feel a bit clumsy so apologies in advance if I make any mistake :)
 
 Quick introduction/background: my name is Lawrence Nahum and I'm the
 founder of GreenAddress, a BIP32 multisignature service and instant
 confirmation platform available in form of web socket APIs and Wallet
 for mobile, desktop and web. My background is in CS with distributed
 systems and I've worked most of my career in the City on OTC financial
 services like confirmation and clearing platforms.
 
 This post is to gather feedback, comments and reviews about a BIP70
 payment protocol proto buffer extension proposal.
 
 https://github.com/greenaddress/bips/blob/bip-payment-request-instant-confirmations/bip-payment-request-instant-confirmations.mediawiki
 
 If you are interested in GreenAddress design or for more information on
 GreenAddress you can find the white paper
 here 
 http://ghgreenaddress.files.wordpress.com/2014/04/greenaddressp2sh2of2hd-61.pdf
 and our homepage on https://greenaddress.it
 
 Cheers,
 Lawrence
 
 
 --
 HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
 Find What Matters Most in Your Big Data with HPCC Systems
 Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
 Leverages Graph Analysis for Fast Processing  Easy Data Exploration
 http://p.sf.net/sfu/hpccsystems
 
 
 
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 



--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing  Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development