Re: [Bitcoin-development] Version bytes 2.0

2011-12-13 Thread Mike Hearn
Why does anyone care what an address looks like?

If the user is seeing an address, that's a usability fail right there. It's
common today because AFAIK nobody finished off the  URL handling support in
the main client for browser integration. It'd be a much better use of time
to finish off that integration and make it easy for people to create links
containing a bitcoin: URL (like with copy/paste of text/html content).
--
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Version bytes 2.0

2011-12-13 Thread Wladimir
All,

I fully agree with Mike Hearn on this. Like email addresses, bank numbers,
phone numbers, IPv4/v6 addresses and such the bitcoin address is just an
opaque identifier for machines to be able to send each other messages.

Base58 was chosen not for human readability but to make it easy to
copy/paste.

Of course, sometimes for security reasons you may want to check the
addresses manually, but it is not the prime usage scenario. Although fun as
a nerd pasttime, I don't think we should encourage addresses with meaning
to normal users.

Indeed better to focus on alternative ways that don't involve typing or
even seeing the addresses.

Copy/paste of HTML content is currently not possible. You *can* already
dragdrop the bitcoin: link to the client. Bluematt has a pull request to
automatically handle bitcoin: URLs when clicked in the browser.

Wladimir

On Tue, Dec 13, 2011 at 11:38 AM, Mike Hearn m...@plan99.net wrote:

 Why does anyone care what an address looks like?

 If the user is seeing an address, that's a usability fail right there.
 It's common today because AFAIK nobody finished off the  URL handling
 support in the main client for browser integration. It'd be a much better
 use of time to finish off that integration and make it easy for people to
 create links containing a bitcoin: URL (like with copy/paste of text/html
 content).

 --
 Systems Optimization Self Assessment
 Improve efficiency and utilization of IT resources. Drive out cost and
 improve service delivery. Take 5 minutes to use this Systems Optimization
 Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Version bytes 2.0

2011-12-13 Thread Mike Hearn

 Base58 was chosen not for human readability but to make it easy to
 copy/paste.


It was also chosen for hand-writeability, weirdly enough. That's why it
excludes some confusible characters. But Satoshi didn't really understand
how people would end up using Bitcoin, he originally imagined most
transactions being done directly between pairs of IP addresses.


 Copy/paste of HTML content is currently not possible. You *can* already
 dragdrop the bitcoin: link to the client. Bluematt has a pull request to
 automatically handle bitcoin: URLs when clicked in the browser.


That's cool. I hope Matts change gets merged soon. Then the issue becomes
how do people find out about this capability? Expecting people to learn how
to hand-craft Bitcoin links won't work. But all modern operating systems
support copy/paste and drag/drop of rich content. Qt probably makes it easy
to expose an UI like this:

   *Pay me*[Copy to clipboard]

Clicking the link in the UI would pop up an alert saying something like

   You can drag this link to an email, chat window or editing program.

Dragging it/pushing the copy button would just set the drag/clipboard data
as a bit of text/html content. So then you can just copy/paste into an
email or HTML editor. It wouldn't work for forums that use bbCode, though I
guess there's no particular reason the forum software can't turn a href
into [url=] automatically.
--
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Version bytes 2.0

2011-12-12 Thread Pieter Wuille
It seems base58 is actually quite terrible for producing nice human-recognizable
addresses, even though base58 is specially intended for human usage. We'll just
have to deal with it, or completely overhaul it and move to a saner encoding.


Luke's proposal is somewhat more drastic than my original one, since it removes
the actual version notion from the version bytes, and changes testnet 
addresses.
However, I think it may be worth it. More data classes have been necessary
before, and new versions haven't. Furthermore, they are far more recognizable to
users, which is something that in particular for OP_EVAL addresses (script 
hashes)
will be a plus.

Therefore, I'm in favor of the proposal; the new versions would become:

0:   mainnet pubkey hashes ('1', as before)
192: testnet pubnet hashes ('2', instead of 111, 'm' and 'n')
5:   mainnet script hashes ('3'; for OP_EVAL)
196: testnet script hashes ('2', same as normal testnet addresses)
12:  mainnet private keys  ('Q', 'R' or 'S', instead of 128, '5')
204: testnet private keys  ('7', instead of 239, '8' and '9')

Comments?

--
Pieter

--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Version bytes 2.0

2011-12-12 Thread Luke-Jr
On Monday, December 12, 2011 3:56:01 PM Pieter Wuille wrote:
 It seems base58 is actually quite terrible for producing nice
 human-recognizable addresses, even though base58 is specially intended for
 human usage. We'll just have to deal with it, or completely overhaul it
 and move to a saner encoding.

Or both: use this proposal for 20-byte base58 for now, and overhaul it in the 
future (maybe when the block chain forks?).

 0:   mainnet pubkey hashes ('1', as before)
 192: testnet pubnet hashes ('2', instead of 111, 'm' and 'n')
 5:   mainnet script hashes ('3'; for OP_EVAL)
 196: testnet script hashes ('2', same as normal testnet addresses)

Looks good here.

 12:  mainnet private keys  ('Q', 'R' or 'S', instead of 128, '5')
 204: testnet private keys  ('7', instead of 239, '8' and '9')

These are 32-byte, so have no reason IMO to follow the 20-byte proposal.
Since a lot of services are already using version 128 ('5') for bitcoin 
private keys, and 128 is reserved in the 20-byte proposal, I think it's fair 
to leave it alone (for now).

--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development