taptweak

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Una transazione che vincola dei dati arbitrari viene definita commitment.

Una volta che la transazione è stata inserita in un blocco on-chain, abbiamo un commitment su questi dati e non possiamo più cambiarli o modificarli.

Per effettuare il commitment ai dati, modifichiamo la chiave pubblica della nostra chiave di spesa Taproot utilizzando un trucco noto come Taptweak. Questo ci permette di rivelare selettivamente i dati senza rivelare la chiave privata, o di spendere l'output senza rivelare il commitment.

Questa tecnica viene utilizzata nelle transazioni Taproot per impegnarsi (commit) nell'albero degli script Taproot e può essere utilizzata per impegnarsi in qualsiasi dato arbitrario.

Q= P+H(P|c)G

Dove:

  • Q è la chiave pubblica finale di Taproot
  • P è la chiave pubblica interna
  • H(P|c) è l'hash della chiave pubblica interna e del commitment.

Per firmare una transazione con la nostra chiave privata, la chiave privata deve essere modificata con lo stesso hash della chiave pubblica e del commitment, H(P|c).


aggiornato il 2022-11-19