Hello list, Someone reviewing my taproot privacy BIP proposal suggested clarification on the spec, so I've written some python-like pseudocode. It implements the suggestion of choosing a random input instead of the first one.
Some wallet teams are already working on implementing taproot for their on-chain app. I urge wallet developers to include this BIP as well, so that their user's spends will improve the privacy and fungibility of off-chain protocols. Also, and admittedly a less urgently, anti-fee-sniping will improve the incentives for miners in the low-inflation future of bitcoin. As before find the latest version of this BIP here: https://gist.github.com/chris-belcher/903feab321bf41055c91eaec46581e89 def apply_anti_fee_sniping_fields(transaction): # bip68 requires v=2 transaction.version = 2 # always set nlocktime if any of the transaction inputs have more # confirmations than 65535 or are taproot inputs # otherwise choose either nlocktime or nsequence with 50% odds if any(map(lambda input: input.confirmations() > 65535 || input.is_taproot(), transaction.inputs))\ || randint(2) == 0: transaction.nlocktime = blockchain.height() if randint(10) == 0: transaction.nlocktime = max(0, transaction.nlocktime - randint(0, 99)) else: input_index = randint(len(transaction.inputs)) transaction.inputs[input_index].nsequence = transaction.inputs\ [input_index].confirmations() if randint(10) == 0: transaction.inputs[input_index].nsequence = max(0, transaction.inputs[input_index].nsequence - randint(0, 99)) _______________________________________________ bitcoin-dev mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
