BUIP070: (passed) Support BitPay's new Bitcoin Cash address format in BUCash

torusJKL

Active Member
Nov 30, 2016
497
1,156
BUIP070: Support BitPay's new Bitcoin Cash address format in BUCash
Submitted on 8th November 2017 by torusJKL


Motivation
Bitcoin and Bitcoin Cash share the same address format.
This had the effect that users have sent BTC or BCH to an address that was used on the other chain such that if the other party does not recognize that chain the coins are "lost".

In addition users have sent BCH to SegWit addresses making them unspendable on the BCH chain even if the owner had the private key.


Objectives
Implement a new address format that only needs minimal changes on the wallet side but would make the addresses distinguishable from each other such that users do not send funds to addresses from wallets that use the BTC chain.


Solution
Use the new address format which has been implemented by BitPay in their Copay wallet by changing the version byte of the address.
The version byte is set to 28 for p2pkh addresses and 40 for p2sh addresses.

Reference links:


Example p2pkh
Old format: 1422ciKobfkK2Zk3TpNSebmEBEtDHEP5nG
New format: CKUvBkfsUiiqvheU9ZhNE7PFoN6d99oMoo

Example p2sh
Old format: 36XTMVtgJqqNYymsSvRonpUsbZRGkm1jvX
New format: HBMZpJKmAA43B9euJc5xmD1QdDSHh9j6kR


Development task
BUCash should develop the following:
  • allow to use the new address format when sending a payment
  • allow to use the new address format when signing and verifying a message
  • allow to configure in the GUI if addresses should be displayed in the new or old format
  • provide a command line argument to convert the old format to the new and vice versa


References

BitPay's blog about the new address format
BitPay's address translator
Basic support in Bitcoin Classic 1.3.7

edit: added command line argument to convert address formats
 
Last edited:

torusJKL

Active Member
Nov 30, 2016
497
1,156
Hi everyone

I would like to get your input on implementing this new address format.
I know that BitcoinABC is thinking about implementing a bech32 address format.

But that one might take some time to get adopted by wallets while this solution is easy for them to implement but would still very effectively solve the need for distinguishable addresses.

The question is also if the new address format should be opt-in or opt-out.

@solex please assign the BUIP a number. Thanks.
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
@torusJKL
Certainly! I have updated the ref number.
 
  • Like
Reactions: torusJKL

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
@Mengerian, @freetrader
Yes, we should have a BUIP about CashAddress to get the settled opinion of the BU membership as this is a significant development from the UX perspective.
It does make sense to update BUIP037 for this purpose. I don't see a problem with either of you taking ownership of the BUIP for the purpose of readying for vote.
 

torusJKL

Active Member
Nov 30, 2016
497
1,156
@freetrader @Mengerian @solex
I did not see the already existing BUIP and had created BUIP076.

If you will revive the older BUIP please let me know and I will withdraw the new one. If not I can take BUIP076 out of the draft which I have not done yet because the ongoing discussion on the bitcoin-ml list.
 
Last edited:
  • Like
Reactions: Mengerian

Windowly

Active Member
Dec 10, 2015
157
385
Hi everyone

I would like to get your input on implementing this new address format.
I know that BitcoinABC is thinking about implementing a bech32 address format.

But that one might take some time to get adopted by wallets while this solution is easy for them to implement but would still very effectively solve the need for distinguishable addresses.


@solex please assign the BUIP a number. Thanks.
It seems that BitcoinABC wants to do it by January 14 (according to news reports). If that's the case would we be able to make the BU client compatible fast enough?

Edit: Oh, I see we have another BUIP regarding that.
 

torusJKL

Active Member
Nov 30, 2016
497
1,156
The address change would not result in a hard fork thus BU would not need to be ready on the same day.

But it would be preferable if the whole ecosystem switches at the same time.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
@torusJKL thank you for bringing the issue of the address format up to the membership. I have no suggestions, so both of these BUIPs are "released" into general discussion.

Also, I don't think that there will be much issue with providing support by Jan 14th for either address format. Most of the work will be in the GUI and RPC
 
  • Like
Reactions: torusJKL

Roy Badami

Active Member
Dec 27, 2015
140
203
[This comment cross-posted to both BUIP070 and BUIP076]

As you probably know, I'm not a huge fan of the underlying bech32 design on which cashaddr is based.

But the fact is cashaddr is good enough, and it has momentum. And Bitpay have expressed willingness to drop their proposal and adopt whatever address format the community selects.

So right now I support implementing cashaddr as the new address format for Bitcoin Cash. I'm against supporting additional alternatives in addition to cashaddr, as I think it will only add confusion. (Which is why I didn't submit a BUIP for my proposal.)
 
  • Like
Reactions: Mengerian

torusJKL

Active Member
Nov 30, 2016
497
1,156
And Bitpay have expressed willingness to drop their proposal and adopt whatever address format the community selects.
Interesting. Where did they communicate this?