Clarisse Oliveira Cunha
-
Sinalizar
como inapropriado
-
Mostrar
Show review history
There is a topic about tweaking keys: In general, external keys is what exist on-chain. This is what is visible in UTXOs, this is what is used to make signatures, and so on. And then, internal key is just an abstraction, similar to HD wallets: you can start from a private key, calculate a matching public key, and use it directly, or you can go further, and add some value to that public key, like HD wallets do, and generate a different key out of it. The external key is always used, if you spend Taproot address by key. The internal key is needed mainly for TapScript, because then, you reveal your internal key, without signing it, and you use TapScript, to actually move the coins. By default, wallets use tweaked keys, because they are safer (in a similar way, as HD wallets are safer, than using random keys). However, from the consensus point of view, you only have coins spent by key, where the external key is used, or coins spent by TapScript, where the internal key is revealed, without being signed at all, and then the TapScript decides, where coins should go. In general, the internal key is what is needed to go from spending by key, into spending by TapScript. Which means, that if you can get the private key to the external key, then you can always move coins by key, even if you don't know the internal key. Which is why if secp256k1 will be broken, then all attackers could simply spend all P2TR outputs by key, and not care about the underlying TapScript at all. The only exception to that, is if some public key is invalid, but then, nobody can move it.
There is a topic about tweaking keys: In general, external keys is what exist on-chain. This is what is visible in UTXOs, this is what is used to make signatures, and so on. And then, internal key is just an abstraction, similar to HD wallets: you can start from a private key, calculate a matching public key, and use it directly, or you can go further, and add some value to that public key, like HD wallets do, and generate a different key out of it. The external key is always used, if you spend Taproot address by key. The internal key is needed mainly for TapScript, because then, you reveal your internal key, without signing it, and you use TapScript, to actually move the coins. By default, wallets use tweaked keys, because they are safer (in a similar way, as HD wallets are safer, than using random keys). However, from the consensus point of view, you only have coins spent by key, where the external key is used, or coins spent by TapScript, where the internal key is revealed, without being signed at all, and then the TapScript decides, where coins should go. In general, the internal key is what is needed to go from spending by key, into spending by TapScript. Which means, that if you can get the private key to the external key, then you can always move coins by key, even if you don't know the internal key. Which is why if secp256k1 will be broken, then all attackers could simply spend all P2TR outputs by key, and not care about the underlying TapScript at all. The only exception to that, is if some public key is invalid, but then, nobody can move it.
This review was marked as helpful by
5 people
Vinicius Mendes
-
Sinalizar
como inapropriado
There is a topic about tweaking keys: In general, external keys is what exist on-chain. This is what is visible in UTXOs, this is what is used to make signatures, and so on. And then, internal key is just an abstraction, similar to HD wallets: you can start from a private key, calculate a matching public key, and use it directly, or you can go further, and add some value to that public key, like HD wallets do, and generate a different key out of it. The external key is always used, if you spend Taproot address by key. The internal key is needed mainly for TapScript, because then, you reveal your internal key, without signing it, and you use TapScript, to actually move the coins. By default, wallets use tweaked keys, because they are safer (in a similar way, as HD wallets are safer, than using random keys). However, from the consensus point of view, you only have coins spent by key, where the external key is used, or coins spent by TapScript, where the internal key is revealed, without being signed at all, and then the TapScript decides, where coins should go. In general, the internal key is what is needed to go from spending by key, into spending by TapScript. Which means, that if you can get the private key to the external key, then you can always move coins by key, even if you don't know the internal key. Which is why if secp256k1 will be broken, then all attackers could simply spend all P2TR outputs by key, and not care about the underlying TapScript at all. The only exception to that, is if some public key is invalid, but then, nobody can move it.
This review was marked as helpful by
81 people
Zara
-
Sinalizar
como inapropriado
-
Show history of
There is a topic about tweaking keys: In general, external keys is what exist on-chain. This is what is visible in UTXOs, this is what is used to make signatures, and so on. And then, internal key is just an abstraction, similar to HD wallets: you can start from a private key, calculate a matching public key, and use it directly, or you can go further, and add some value to that public key, like HD wallets do, and generate a different key out of it. The external key is always used, if you spend Taproot address by key. The internal key is needed mainly for TapScript, because then, you reveal your internal key, without signing it, and you use TapScript, to actually move the coins. By default, wallets use tweaked keys, because they are safer (in a similar way, as HD wallets are safer, than using random keys). However, from the consensus point of view, you only have coins spent by key, where the external key is used, or coins spent by TapScript, where the internal key is revealed, without being signed at all, and then the TapScript decides, where coins should go. In general, the internal key is what is needed to go from spending by key, into spending by TapScript. Which means, that if you can get the private key to the external key, then you can always move coins by key, even if you don't know the internal key. Which is why if secp256k1 will be broken, then all attackers could simply spend all P2TR outputs by key, and not care about the underlying TapScript at all. The only exception to that, is if some public key is invalid, but then, nobody can move it.
This review was marked as helpful
by 735 people