Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: bitcoinexpert23 on May 12, 2023, 06:34:03 PM



Title: Taproot burn address generation
Post by: bitcoinexpert23 on May 12, 2023, 06:34:03 PM
Just wondering if there're taproot burn addresses? (addresses that no one has private keys)

If so how can I generate them and is it possible to generate vanity ones?


Title: Re: Taproot burn address generation
Post by: _act_ on May 12, 2023, 06:39:22 PM
Why need a burn address?

I only know about legacy and bc1q vanity address generator.

If you want a burn address for taproot, you can generate a taproot wallet, copy only the address and delete the wallet.


Title: Re: Taproot burn address generation
Post by: SquirrelJulietGarden on May 13, 2023, 03:24:38 AM
If you want a burn address for taproot, you can generate a taproot wallet, copy only the address and delete the wallet.
You must create that wallet offline, copy and save the public address for receiving to burn. Delete the wallet file, uninstall the wallet software application.

If you create your wallet when your computer is online, maybe someone can get the private key. It is not commonly but might happen when your device is infected.

Create Taproot address for your Bitcoin (https://bitcointalk.org/index.php?topic=5405946.0)


Title: Re: Taproot burn address generation
Post by: vjudeu on May 13, 2023, 07:38:31 AM
Quote
Just wondering if there're taproot burn addresses? (addresses that no one has private keys)
Of course there are. However, if you want to burn coins, you can just use OP_RETURN, then it will be dropped by pruning nodes.

Some examples:

bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqenm - address with "zero" key, always unspendable, even before Taproot activation, because of zero on top of the stack
bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqs5pgpxg - address with "x=1" key, trap address that is extremely hard to reach, but in theory it could be possible, if you can spend coins from 020000000000000000000000000000000000000000000000000000000000000001 public key
bc1ppppppppppppppppppppppppppppppppppppppppppppppppppppqrpj4rw - address with many "p" letters, "x=0842108421084210842108421084210842108421084210842108421084210842", invalid public key
bc1pvjudeuvjudeuvjudeuvjudeuvjudeuvjudeuvjudeuvjudeuvjuqn5x0sv - burn address with my nickname, also invalid public key, because 0264b8dcf192e373c64b8dcf192e373c64b8dcf192e373c64b8dcf192e373c64b8 is invalid

Edit:
Quote
If so how can I generate them and is it possible to generate vanity ones?
Each Taproot address has the same Script: "5120", and then you can put any 32 bytes you want. If it will be some correctly encoded x-value of your public key, then those coins could be unlocked. If not, then it will be some trap address (hard to reach public key) or burn address (unspendable, invalid public key).

To decode those addresses, just use Bitcoin Core, even offline without any chain, if you want. Then, put "decodescript 5120" in the console window, and add hex-encoded 32 bytes you want to decode. It could be anything, for example 0xbadc0ded, repeated eight times:
Code:
decodescript 5120badc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0ded
{
  "asm": "1 badc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0ded",
  "desc": "addr(bc1phtwqmmd6msx7mwkuphkm4hqdakadcr0dhtwqmmd6msx7mwkuphksrqz6ct)#dy9h0w9z",
  "address": "bc1phtwqmmd6msx7mwkuphkm4hqdakadcr0dhtwqmmd6msx7mwkuphksrqz6ct",
  "type": "witness_v1_taproot"
}
And then, you can check if your public key is reachable or not:
Code:
importpubkey "02badc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0dedbadc0ded" "badc0ded"
Pubkey is not a valid public key (code -5)
Then you know that such address is unspendable. But for example you can see that x=1 address is potentially spendable, but hard to break:
Code:
importpubkey "020000000000000000000000000000000000000000000000000000000000000001" "one"
null


Title: Re: Taproot burn address generation
Post by: odolvlobo on May 13, 2023, 08:30:29 AM
Quote
Just wondering if there're taproot burn addresses? (addresses that no one has private keys)
Of course there are. However, if you want to burn coins, you can just use OP_RETURN, then it will be dropped by pruning nodes.

That is the best answer.


Title: Re: Taproot burn address generation
Post by: franky1 on May 13, 2023, 02:21:27 PM
why burn coins...
taproot is not a new coin. its the same coin but just the transaction format form of proof of its transfer is changed.
by burning coins in taproot format of the transaction you are not breaking taproot. you are just burning normal coins

your better off moving coins to legacy thus removing them from taproot utxo
but the stupid thing is if you are asking to receive coins in taproot where you dont want taproot. why ask for funds in taproot in the first place. just ask for people to pay you in a legacy address and avoid taproot altogether

its like asking to burn mastercard money. not realising the money is still dollars whether its on paypal, visa or mastercard. if you dont like mastercard. just dont use it

all you end up doing is making alot of dead utxo of taproot stay in the utxo set. they dont get burned. they just get embalmed and necro'd (immortalised) and thrown in a casket with no opening


Title: Re: Taproot burn address generation
Post by: garlonicon on May 13, 2023, 06:43:06 PM
Quote
all you end up doing is making alot of dead utxo of taproot stay in the utxo set. they dont get burned. they just get embalmed and necro'd (immortalised) and thrown in a casket with no opening
True, for that reason I think the best way of burning coins is just claiming less reward in the coinbase transaction. Then, no additional UTXO is ever created, no additional output with OP_RETURN is made, instead just some 64-bit number is lower than it could be, so it is the cleanest way of burning coins (but of course, only miners can do so in such a clean way).