Author

Topic: Taproot with scriptTree only (Read 86 times)

copper member
Activity: 906
Merit: 2258
February 16, 2024, 04:26:43 PM
#4
Quote
was expecting to find something like '0101010101010101010101010101010101010101010101010101010101010101'
This public key is also valid: 0401010101010101010101010101010101010101010101010101010101010101014D1FD6A5F1A2C BD8536CF702611B753557B0841CA6B327F33C531903CA1A9428. And by hashing it, you will get another valid key, which is 02bab95d0a0de48828c93401baaf87e8fcd777c08bd972051abbe61ab4a49530cb.

However, it is recommended to use N-of-N multisig instead. So, if you have any TapScript, and for example five people put their coins in, then 5-of-5 multisig is better than some unspendable key, because then, there is a small chance, that all of them will be online, and all of them will be honest, so they will join their signatures, to spend those coins in a cheaper way (because spending by key is usually cheaper). And if any of those parties will be offline, then the outcome will be the same, as in case of some unspendable key. However: if the TapScript will turn out to be unspendable for any reason (for example mistake in endianness in the code), then it may be possible to spend it by key, and it may be useful, to experiment with TapScript, without burning coins.
newbie
Activity: 2
Merit: 6
February 16, 2024, 04:02:52 PM
#3
this is helpful thx! I missed that while going through the docs earlier, was expecting to find something like '0101010101010101010101010101010101010101010101010101010101010101'

staff
Activity: 3458
Merit: 6793
Just writing some code
February 16, 2024, 03:53:56 PM
#2
BIP 341 recommends using the following provably unspendable pubkey: 50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0

Otherwise, just pick your own provably unspendable pubkey to use as the internal key.
newbie
Activity: 2
Merit: 6
February 16, 2024, 03:10:32 PM
#1
Hi there

I'm currently playing around with Taproot and from what I understood a taproot address will always be spendable by either the set internal_pubkey or the script_tree. Now what is the best practice if I don't want it to be spendable by an internal_pubkey? I was thinking of using provably unspendable internal_pubkeys (i.e. "null pubkey"), but thought I ask before going down a wrong path.
Jump to: