trezor / trezord-go

:smiling_imp: Trezor Communication Daemon (written in Go)
GNU Lesser General Public License v3.0
245 stars 146 forks source link

Cash Account Integration #131

Closed monsterbitar closed 5 years ago

monsterbitar commented 5 years ago

I am currently working on a specification for on-chain aliases that look like this: James#577821; to help convey payment information in a more convenient manner, particulary in verbal contexts.

The specification has undergone reasonable peer-review so far (by wallet developers, token developers, coinbase engineeers) but more feedback is always welcome.

Here's a link to the draft spec: https://gitlab.com/cash-accounts/specification/blob/master/SPECIFICATION.md

prusnak commented 5 years ago

Totally irellevant for this repo

monsterbitar commented 5 years ago

I'm sorry. Could you help me with which repo it would be relevant to in order to allow trezor users to send to account names?

prusnak commented 5 years ago

Standardize this as a BIP first: https://github.com/bitcoin/bips

Then we might consider it.

molecular commented 5 years ago

I have to agree this is not relevant in this repo. It would most likely also not be relevant in trezor firmware repo, either. Maybe wallet.trezor.io could offer some support for cash-id, though

@monsterbitar have you thought about how integration of cash-id could / should work regarding hardware wallets at all? Obviously the hw wallet display cannot simply display the cash-id before signing a tx. That would be insecure... it has to display the recipient address it is actually signing a tx for and it can't know wether any given id matches an address. Or can it? I didn't actually look how cash-id works, but if there is some proof (signed tx) that a specific address matches a specific id, then it might be possible to do this (needs implementation in hw wallet firmware and of course host wallet software). That proof would have to be given to the hw wallet.

molecular commented 5 years ago

@prusnak why would a Bitcoin Improvement Proposal be a prerequisite for you to even consider implementing something. Trezor does support other coins, no? This regards Bitcoin Cash.

also: sorry for spamming cash-id discussion here.

prusnak commented 5 years ago

I read just the Motivation part and it mentions Bitcoin, so I thought this was about Bitcoin. If this is about some altcoin, I recommend standardizing this using their Improvement Proposal process instead of BIPs.

monsterbitar commented 5 years ago

@molecular you're right in that it's not possible to proof that a specific address translates to a specific cash account, but the other direction is provable: with the cash account you can validate that the payment information stored within is in fact not tampered with and that there is only one possible match for the account.

I haven't spent much time thinking about hardware wallet implications or how small-screen restrictions etc play into this - I just wanted to make all wallets aware of this in good time.

If it isn't the hardware wallet that does the translation (or if it cannot do the translation, rather) then I guess it would be better if the actual UI's that uses the hardware builds the support instead.

prusnak commented 5 years ago

For Trezor we don't show any information on display unless it can be directly computed/derived on the device. In other words, we don't trust and show any external info.

karelbilek commented 5 years ago

This is a repo for a communication daemon. Technically, the relevant repos are trezor/trezor-mcu for t1 and trezor/trezor-core for tt, BUT what @prusnak said