Taking a couple of steps again, it is useful to do not forget that a taproot “tackle” is only a bech32m encoding of a public key. Nearly all of wallets in the present day generate these public keys utilizing BIP32, the place baby keys are derived from a grasp key. That is possible the place you are getting the quantity “4 billion addresses.” It is essential to level out, nonetheless, all it is advisable create a taproot output is a legitimate public key.
BIP352 (Silent funds) is totally different in that there isn’t any derivation or pre-generation of addresses by the recipient. The sender creates a public key for the recipient and encodes it as a taproot output. For particulars on how the sender creates this public key for the recipient, I might advocate studying the overview part of BIP352. At a excessive stage, nonetheless, the essential particulars are:
- The sender first creates a shared secret between them and the recipient by multiplying the sum of their non-public keys with the recipient’s scan public key (i.e., Elliptic Curve Diffie-Hellman key trade)
- This shared secret is became a public key and added to the sender’s spend public key, making certain the ensuing output is simply spendable by the recipient
- The ensuing public key (shared secret + recipient’s spend public key) is encoded as a taproot output within the transaction
The ensuing public secret is distinctive to this transaction. If the sender sends once more to the identical recipient silent fee tackle, they are going to essentially have to make use of totally different UTXOs, which in flip ensures every silent fee output is exclusive to the transaction it’s in.
Taking a couple of steps again, it is useful to do not forget that a taproot “tackle” is only a bech32m encoding of a public key. Nearly all of wallets in the present day generate these public keys utilizing BIP32, the place baby keys are derived from a grasp key. That is possible the place you are getting the quantity “4 billion addresses.” It is essential to level out, nonetheless, all it is advisable create a taproot output is a legitimate public key.
BIP352 (Silent funds) is totally different in that there isn’t any derivation or pre-generation of addresses by the recipient. The sender creates a public key for the recipient and encodes it as a taproot output. For particulars on how the sender creates this public key for the recipient, I might advocate studying the overview part of BIP352. At a excessive stage, nonetheless, the essential particulars are:
- The sender first creates a shared secret between them and the recipient by multiplying the sum of their non-public keys with the recipient’s scan public key (i.e., Elliptic Curve Diffie-Hellman key trade)
- This shared secret is became a public key and added to the sender’s spend public key, making certain the ensuing output is simply spendable by the recipient
- The ensuing public key (shared secret + recipient’s spend public key) is encoded as a taproot output within the transaction
The ensuing public secret is distinctive to this transaction. If the sender sends once more to the identical recipient silent fee tackle, they are going to essentially have to make use of totally different UTXOs, which in flip ensures every silent fee output is exclusive to the transaction it’s in.