trezor / trezor-firmware

:lock: Trezor Firmware Monorepo
https://trezor.io
Other
1.29k stars 639 forks source link

add support for PSBT (BIP-174) #49

Open prusnak opened 5 years ago

tsusanka commented 5 years ago

Since our freezing date is in two weeks, there is no chance we can do this in time. Also, SLIP-39 has higher priority. I'm moving this to backlog.

willcl-ark commented 5 years ago

If implemented, would this support Multisig PSBTs?

prusnak commented 5 years ago

Yes

prusnak commented 4 years ago

Let's refactor the signing code first: https://github.com/trezor/trezor-firmware/issues/617

urza commented 3 years ago

Hello, may I ask what is current status of PSBT support in Trezor?

I would appreciate if someone could provide overview, something like:

:pray:

prusnak commented 3 years ago

Which devices support PSBT (T / One)

Right now, you can sign PSBT via HWI with both Trezor One and Model T. We will add PSBT signing via SD-card, but there are things with more priority (like native hardware Coinjoin, etc.) on our list first.

matejcik commented 3 years ago

what is current status of PSBT support in Trezor?

There is no direct support of the PSBT encoding in hardware.

(I believe this issue was originally motivated by storing PSBT files on the SD card for model T, which is not done at the moment.)

Client software that can decode the PSBT format can translate it to Trezor calls, so any transaction that Trezor can sign, it can in theory do so via PSBT.

That is, you can generate a PSBT for offline signing, transfer it to an offline host on a flash drive or something, use Electrum or HWI with connected Trezor to sign it, and then transfer it back for broadcast.

There's limited support for multisig, because ... well (vague gestures). There are no good standards around multisig UX. BIP-174 allows encoding (most of?) the necessary raw data, but that doesn't translate to good support.

Multi-party signing is now possible on Trezor T via EXTERNAL script type, with either a pre-signed input (supported in BIP-174) or SLIP-19 ownership proofs (not supported, could be added via a vendor extension). AFAIK neither Electrum nor HWI supports that yet.

Arbitrary scripts are not supported on Trezor, only the standard ones.

  • How can PSBT be handled from developer's perspective

HWI, which can be used in Python as hwilib

  • How can PSBT be handled from user's perspective

HWI or Electrum

jimmysong commented 3 years ago

So is there an ETA for PSBT support via SD card? I would really like this for my multisig setup.

fooedge2 commented 3 years ago

Any update on BIP174 with sd card?

prusnak commented 3 years ago

PSBTs via SD card are not on the immediate roadmap. You can sign PSBTs via HWI with no issues.