the future of hardware wallets D419 C410 1E24 5B09 0D2C 46BF 8C3D - - PowerPoint PPT Presentation

the future of hardware wallets
SMART_READER_LITE
LIVE PREVIEW

the future of hardware wallets D419 C410 1E24 5B09 0D2C 46BF 8C3D - - PowerPoint PPT Presentation

the future of hardware wallets D419 C410 1E24 5B09 0D2C 46BF 8C3D 2C48 560E 81AC @StepanSnigirev stepan@cryptoadvance.io hardware wallets can : spend funds user input spending output user input user output receive funds multisig do


slide-1
SLIDE 1

the future of hardware wallets

stepan@cryptoadvance.io @StepanSnigirev

D419 C410 1E24 5B09 0D2C 46BF 8C3D 2C48 560E 81AC

slide-2
SLIDE 2

hardware wallets can :

spend funds receive funds multisig user input spending output user input user output 💪 do shitcoins

slide-3
SLIDE 3

hardware wallets could do :

CoinJoin Lightning sidechains custom scripts user input external output external input user output external output external input user input channel channel unilateral moneyback

slide-4
SLIDE 4

Coin Join

register inputs with CoinJoin server sign CoinJoin transaction retry if someone fails

slide-5
SLIDE 5

attack with Coin Join

user input attacker output user input user output external output external input

slide-6
SLIDE 6

proof of (not) ownership

input

https://github.com/satoshilabs/slips/blob/slips-19-20-coinjoin-proofs/slip-0019.md

signature ( proof body ) sign( UTI || proof_body, input_key ) hmac( id_key, txid || vout ) can be wallet-specific host may collect them for utxos prevents DoS on CoinJoin server

  • nly wallet can sign

not replayable

slide-7
SLIDE 7

beyond P2WPKH

input witness ( proof body ) hmac( id_key2, txid || vout ) hmac( id_key1, txid || vout )||

https://github.com/satoshilabs/slips/blob/slips-19-20-coinjoin-proofs/slip-0019.md

0 signature1 signature2 witness_script

slide-8
SLIDE 8

challenges

https://github.com/satoshilabs/slips/blob/slips-19-20-coinjoin-proofs/slip-0019.md

requires script verification on HW needs full previous transactions for signature verification Schnorr and Taproot — fix-size proofs?

slide-9
SLIDE 9

Lightning

some keys need to be online timelocks everywhere monitor blockchain

slide-10
SLIDE 10

secrets in Lightning

  • n-chain keys

channel keys revocation secrets funding commitment + mutual close channel updates +

  • r

+

  • r

+

  • r

+

  • r
slide-11
SLIDE 11

just storing secrets is not enough

Manual:

  • Open channel
  • Pay invoice

Automatic:

  • Remote open
  • Route payments
  • Close channel

Checks:

  • First commitment tx
  • HTLC propagation

Extensions:

  • Custom derivation path
  • Revocation calculation
  • Storage / encrypted DB

Operations: Extra functionality:

  • Backup channel
  • Blocks parsing
  • Real time clock
  • Channel lock
slide-12
SLIDE 12

initial hardware wallet support

  • n-chain keys

channel keys revocation secrets funding commitment + mutual close channel updates +

  • r

+

  • r

+

  • r

+

  • r

hardware wallet

no changes in hardware wallets can steal funds with lightning payments

slide-13
SLIDE 13

initial hardware wallet support

Funding Commitment + Mutual close Channel updates +

  • r

+

  • r

+

  • r

+

  • r

trusted node

  • ur node

hardware wallet

slide-14
SLIDE 14

thanks ,,,^_^,,,

stepan@cryptoadvance.io @StepanSnigirev

D419 C410 1E24 5B09 0D2C 46BF 8C3D 2C48 560E 81AC

slide-15
SLIDE 15

Additional attack surface

MCU-based:

  • Side channels with automatic

signing

SE-based:

  • Parsing transactions on the

secure element

Manual:

  • Open channel
  • Pay invoice

Automatic:

  • Remote open
  • Route payments
  • Close channel

Checks:

  • First commitment tx
  • HTLC propagation
  • Channel lock

Extensions:

  • Custom derivation path
  • Revocation calculation
  • Storage / encrypted DB
  • Blocks parsing
  • Real time clock
  • Backup channel

Operations: Extra functionality: Increased attack surface: