Walletwasabi: BIP179 - renaming "bitcoin address" to "bitcoin invoice address"

Created on 13 Nov 2019  路  6Comments  路  Source: zkSNACKs/WalletWasabi

Hello everyone,

What do you all think of the new BIP179? It proposes that "bitcoin address" be renamed to "bitcoin invoice address".
The aim is to include the word "invoice" so that it becomes more obvious that address reuse should be avoided, thus improving privacy.

questioresearch

Most helpful comment

I very much agree with the sentiment - address is a horrible term, with all the wrong assosiations that lead to privacy mistakes. So I ACK the concept, and I think Wasabi should be a pioneer of industry best practices - especially regarding privacy.

So now it is a question of strategy, and as BIP 179 says, weather or not to include address in the term at all, or if it should be straight forward invoice [Bitcoin is not needed, as Wasabi doesn't have shitcoins].

Arguments AGAINST the change [and my thoughts on that]:

  • It breaks user flow, as they are used to address [that is a bad argument, as this is a bad user flow, and will be broken by a superior one, thus it's an upgrade]
  • The term is not widely used [then it is up to Wasabi to pioneer it's usage]
  • It is not backwards compatible, if it is only Invoice, and that will confuse users what it is [this can be solved with using invoice address, but I think this is more clutter, and I would prefer invoice with a tool tip that it is an invoice address used to receive bitcoin]

Arguments IN FAVOR of the change [and my thoughts on that]:

  • it indicates the one time usage of the data, and thus discourages "address reuse", which is a horrible privacy mistake (aka common ownership certainty). [Wasabi already heavily discourages address reuse, by removing used addresses from the gui, and this is another step in the right direction]
  • with time, this should be an industry best practice and standard [Wasabi should pioneer in this regard too]
  • Wasabi doesn't really use address in the GUI already, as it is based on a coin model, and the address is only shown in the Receive tab, as well as in the drop down of the coin details [so it would not drastically break incumbent UX]

So in summary, I ACK the discontinue of address, and am in favor of going to invoice directly in the GUI, with a tooltip that defines it as Bitcoin invoice address used to receive coins, for example Generate Receiving Invoice in the Receive Tab

All 6 comments

Hello everyone,

What do you all think of the new BIP179? It proposes that "bitcoin address" be renamed to "bitcoin invoice address".
The aim is to include the word "invoice" so that it becomes more obvious that address reuse should be avoided, thus improving privacy.

Great idea, "invoice address" makes me think its final and I would not use that address again.

I very much agree with the sentiment - address is a horrible term, with all the wrong assosiations that lead to privacy mistakes. So I ACK the concept, and I think Wasabi should be a pioneer of industry best practices - especially regarding privacy.

So now it is a question of strategy, and as BIP 179 says, weather or not to include address in the term at all, or if it should be straight forward invoice [Bitcoin is not needed, as Wasabi doesn't have shitcoins].

Arguments AGAINST the change [and my thoughts on that]:

  • It breaks user flow, as they are used to address [that is a bad argument, as this is a bad user flow, and will be broken by a superior one, thus it's an upgrade]
  • The term is not widely used [then it is up to Wasabi to pioneer it's usage]
  • It is not backwards compatible, if it is only Invoice, and that will confuse users what it is [this can be solved with using invoice address, but I think this is more clutter, and I would prefer invoice with a tool tip that it is an invoice address used to receive bitcoin]

Arguments IN FAVOR of the change [and my thoughts on that]:

  • it indicates the one time usage of the data, and thus discourages "address reuse", which is a horrible privacy mistake (aka common ownership certainty). [Wasabi already heavily discourages address reuse, by removing used addresses from the gui, and this is another step in the right direction]
  • with time, this should be an industry best practice and standard [Wasabi should pioneer in this regard too]
  • Wasabi doesn't really use address in the GUI already, as it is based on a coin model, and the address is only shown in the Receive tab, as well as in the drop down of the coin details [so it would not drastically break incumbent UX]

So in summary, I ACK the discontinue of address, and am in favor of going to invoice directly in the GUI, with a tooltip that defines it as Bitcoin invoice address used to receive coins, for example Generate Receiving Invoice in the Receive Tab

I very much agree with the sentiment - address is a horrible term

Yes, I agree.

It is minor change in wasabi and I personally would go with Generate Invoice Address instead of the current Generate Receive Address and would replace the word Address by Invoice Address in the coin list control.

IMO changing existing terms is almost always a hopeless fight.

I've talked to a couple of other projects and have change my mind, BIP179 is actually bad. Luckily I think there is a better solution, namely BIP21.

BIP179 says it has an advantage that LN wallets also use the word "invoice", so the UX of wallets which implement LN and on-chain could be combined. However this is wrong, because "bitcoin invoice addresses" wouldn't contain an amount like LN invoices do so users still might have to type in an amount and behave differently depending on whether they pay with on-chain or LN.

BIP21 is a URI scheme that looks a bit like bitcoin:ONCHAIN_ADDRESS?amount=AMOUNT&lightning=BOLT11_INVOICE

All the good things abou BIP179 that @MaxHillebrand should also exist in BIP21. It helps discourage address reuse by not being called "an address", possibly "invoice" possibly "payment code" possibly something else.

BIP21 also has these other advantages:

  • Helps unify on-chain and LN payment to improve the UX. As the LN ecosystem steadily grows we should have the standard ready for devs to implement.
  • Moves towards payjoin/p2ep getting adopted one day, because the endpoint can also be encoded in the URI scheme in a backward-compatible way, if the sending wallet supports payjoin/p2ep then it will connect to the endpoint, otherwise it will send to the given on-chain address.
  • Helps ECDH addresses get adopted, because that could be included in the URI scheme too, same reasoning as above ith payjoin/p2ep. Also an issue not considered by BIP179 is what people should call ECDH addresses, as they CAN be reused safely. This would be solved with BIP21 by having wallet UX move away from users dealing with addresses on their own.

FYI @chris-belcher , Wasabi already supports BIP21, the address, amount and label are imported as the uri is pasted.
Good points to have a unified onchain + offchain terminology here.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

trading2835 picture trading2835  路  3Comments

RiccardoMasutti picture RiccardoMasutti  路  3Comments

nopara73 picture nopara73  路  3Comments

davterra picture davterra  路  3Comments

UkolovaOlga picture UkolovaOlga  路  3Comments