Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: uminatsu on April 08, 2014, 06:02:14 AM



Title: More compact encoding for bitcoin QR codes?
Post by: uminatsu on April 08, 2014, 06:02:14 AM
More compact encoding for bitcoin QR codes?

Most bitcoin-related QR codes encode the base58check ASCII string in byte mode. For example the QR code for address 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T actually encodes the byte sequence "314a7753537562686d6736695074526a747971685559594837625a67334c66793154".

But this is rather wasteful. We could have just encoded the binary form of the address with checksum, "00c4c5d791fcb4654a1ef5e03fe0ad3d9c598f98274abb8f1a". It would allow a smaller QR code.


Title: Re: More compact encoding for bitcoin QR codes?
Post by: rme on April 09, 2014, 05:44:14 AM
For reference, this is the smallest size of a Bitcoin address qr code:
http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=bitcoin:1R2sWeVhFitB8zVbkrmdSoXzaQRsw6cfh&chld=M|0
http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=bitcoin:1R2sWeVhFitB8zVbkrmdSoXzaQRsw6cfh&chld=M|0


Title: Re: More compact encoding for bitcoin QR codes?
Post by: uminatsu on April 09, 2014, 11:20:16 PM
For reference, this is the smallest size of a Bitcoin address qr code:
http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=bitcoin:1R2sWeVhFitB8zVbkrmdSoXzaQRsw6cfh&chld=M|0
http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=bitcoin:1R2sWeVhFitB8zVbkrmdSoXzaQRsw6cfh&chld=M|0

Not really, you can make the QR code smaller if your Bitcoin address is made up of entirely numbers and upper-case letters.

Example: https://i.imgur.com/KSKIkwx.png (Tips welcome!)

It can be even smaller if the address is made up of only numbers, but it is probably not possible for anybody to find a corresponding private key:

Example: https://i.imgur.com/kMRnSoT.png (Don't send coins here!)


Title: Re: More compact encoding for bitcoin QR codes?
Post by: rme on April 10, 2014, 11:35:32 AM
I mean common ones


Title: Re: More compact encoding for bitcoin QR codes?
Post by: uminatsu on April 10, 2014, 10:21:04 PM
I mean common ones

Correct, in general we cannot make the QR code smaller if the QR scanner expects the address (or key) in base58-encoded ASCII format. However my question was why don't we just encode the binary address (or key) in QR code? It would allow smaller QR code, or cleaner/more robust QR code given the same footprint.