Re: [Bitcoin-development] Bitcoin at POS using BIP70, NFC and offline payments - implementer feedback

2015-02-26 Thread Andreas Schildbach
On 02/23/2015 04:09 PM, Jan Vornberger wrote:

 I'm still concerned that the fact, that Bluetooth is often disabled, is a
 problem for the UX. And it's not just a one-time thing as with NFC,
 which is - in my experience - also often disabled, but then people turn
 it on and leave it on.

It's the same with Bluetooth. More and more people use audio via
Bluetooth, mostly because they use a headset or stream their music to
their stereo at home.

Those that still switch off Bluetooth all the time can simply press a
button. It can't be any easier.

 Another idea could be to request the permission BLUETOOTH_ADMIN which,
 as far as I know, allows you to programmatically turn on Bluetooth
 without user interaction.

True, but those people who switch off Bluetooth will also simply not
install the app because of that permission.

If only Android had optional permissions... )-:



--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Providing Payment Request within URI

2015-02-26 Thread Andreas Schildbach
Yeah, you'd be limited to simple usecases. X509 signing or lots of
outputs will make the QR code hard to scan. However, if all you want to
do is send to a custom script (without using P2SH) I invite you to have
a look at

https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/ui/InputParser.java#L86

https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/util/Qr.java#L134

https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/util/Base43.java

Basically it's BITCOIN:- plus the payment request in Base43 encoded
form. I picked Base43, because that's optimized for QR codes.


On 02/24/2015 04:58 PM, Oleg Andreev wrote:
 Hi,
 
 I wonder if there is a standard way to put Payment Request data into bitcoin: 
 URI or directly into QR code. The goal is to allow device to generate a 
 multi-output payment request on its own, without relying on the server and 
 x509 certificates. When scanned via QR code from, say, POS, it's pretty 
 secure, so no additional authentication needed.
 
 I'd like something like this: 
 
 bitcoin:?r=data://base64url-encoded-payment-request
 
 If there's no standard for that, would it be a good idea to extend BIP72 this 
 way?
 --
 Dive into the World of Parallel Programming The Go Parallel Website, sponsored
 by Intel and developed in partnership with Slashdot Media, is your hub for all
 things parallel software development, from weekly thought leadership blogs to
 news, videos, case studies, tutorials and more. Take a look and join the 
 conversation now. http://goparallel.sourceforge.net/
 




--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Providing Payment Request within URI

2015-02-26 Thread Oleg Andreev
Thanks for references. Yeah, I don't need X509 signing (if I could use 
certificates, I wouldn't need to include PR in the URL in the first place).

I presume you used BITCOIN:-payment request instead of 
bitcoin:?r=somescheme://payment request to make it more compact. 

I also tried to look up Base43, but I could not find any info on how it is 
specifically optimized for QR codes. Could you enlighten me?


 On 26 Feb 2015, at 10:32, Andreas Schildbach andr...@schildbach.de wrote:
 
 Yeah, you'd be limited to simple usecases. X509 signing or lots of
 outputs will make the QR code hard to scan. However, if all you want to
 do is send to a custom script (without using P2SH) I invite you to have
 a look at
 
 https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/ui/InputParser.java#L86
 
 https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/util/Qr.java#L134
 
 https://github.com/schildbach/bitcoin-wallet/blob/master/wallet/src/de/schildbach/wallet/util/Base43.java
 
 Basically it's BITCOIN:- plus the payment request in Base43 encoded
 form. I picked Base43, because that's optimized for QR codes.
 
 
 On 02/24/2015 04:58 PM, Oleg Andreev wrote:
 Hi,
 
 I wonder if there is a standard way to put Payment Request data into 
 bitcoin: URI or directly into QR code. The goal is to allow device to 
 generate a multi-output payment request on its own, without relying on the 
 server and x509 certificates. When scanned via QR code from, say, POS, it's 
 pretty secure, so no additional authentication needed.
 
 I'd like something like this: 
 
 bitcoin:?r=data://base64url-encoded-payment-request
 
 If there's no standard for that, would it be a good idea to extend BIP72 
 this way?
 --
 Dive into the World of Parallel Programming The Go Parallel Website, 
 sponsored
 by Intel and developed in partnership with Slashdot Media, is your hub for 
 all
 things parallel software development, from weekly thought leadership blogs to
 news, videos, case studies, tutorials and more. Take a look and join the 
 conversation now. http://goparallel.sourceforge.net/
 
 
 


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Providing Payment Request within URI

2015-02-26 Thread Oleg Andreev

 Base43 is the same as any BaseX standard, but using a different alphabet
 (43 characters). It's meant to be used for efficiently storing binary
 data into QR codes. The alphabet is picked to match the 'Alphanumeric'
 input mode of QR codes as closely as possible, but at the same time be
 allowed in URIs.

Does it mean Base58 or Base64 take more space in QR code than Base43? Do you 
have an estimate of the gains? 




--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Providing Payment Request within URI

2015-02-26 Thread Andreas Schildbach
On 02/26/2015 12:14 PM, Oleg Andreev wrote:
 
 Base43 is the same as any BaseX standard, but using a different alphabet
 (43 characters). It's meant to be used for efficiently storing binary
 data into QR codes. The alphabet is picked to match the 'Alphanumeric'
 input mode of QR codes as closely as possible, but at the same time be
 allowed in URIs.
 
 Does it mean Base58 or Base64 take more space in QR code than Base43? Do you 
 have an estimate of the gains? 

Both Base58 and Base64 force QR codes into binary encoding. Base64 can
take 6 bits per char, binary of course has 8 bits per char. So you're
wasting 25% of space if you use Base64, a little bit more with Base58.

Base43 takes log2(43) = 5.43 bits per char, while each char uses up 5.5
bits in QR codes in 'Alphanumeric' encoding. So that's a waste of 1.3%.

Source for QR code standard: http://en.wikipedia.org/wiki/QR_code



--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin at POS using BIP70, NFC and offline payments - implementer feedback

2015-02-26 Thread Andreas Schildbach
On 02/24/2015 11:41 AM, Mike Hearn wrote:
 Does this not also require the BT publication of the script for a P2SH
 address?
 
 
 You mean if the URI you're serving is like this?
 
bitcoin:3aBcD?bt=
 
 Yes it would. I guess then, the server would indicate both the script,
 and the key within that script that it wanted to use. A bit more complex
 but would still work to save URI space.

What if the script doesn't use any key at all?

Somehow this re-using the fallback address idea feels less and less
appealing to me. I think we should add our own parameter and let go of
fallback addresses as soon as possible. If will waste space during the
transition period, but after that it should make no difference any more.



--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development