Published on: 2016-05-26T00:00:37+00:00
On May 19, 2016, Kristov Atlas introduced a Bitcoin Improvement Proposal (BIP) known as BIP 126. This proposal suggests the implementation of Heterogenous Input Script Transactions (HITs), which allow for transactions to have multiple inputs with different scripts. It is important to note that transactions are not associated with specific Bitcoin addresses, but rather with inputs that spend from Unspent Transaction Outputs (UTXOs). Furthermore, it is uncommon for inputs to have identical scripts.The draft proposal titled "Best Practices for Heterogeneous Input Script Transactions (HITs)" aims to mitigate the negative impact on privacy and user protection protocols when transactions involve inputs with different scripts. The document outlines a set of guidelines to address the privacy concerns associated with HITs, while maximizing the effectiveness of user protection protocols. To achieve this, the specification proposes two forms of HITs: Standard form and alternate form.Standard form HIT transactions must adhere to specific rules. These rules include having an equal number of unique input/output scripts, ensuring all output scripts are unique, requiring at least one pair of outputs with equal value, and making sure the largest output in the transaction belongs to a set containing at least two identically-sized outputs. These requirements serve various purposes such as preventing address reuse, limiting the growth of the UTXO set, and optimizing behavior to make intentional HITs resemble unavoidable HITs.In cases where standard form HITs are not feasible, such as when HITs are unavoidable or the user does not possess sets of UTXOs with identical scripts, alternate form HITs can be employed. A compliant implementation can construct a transaction by finding the smallest combination of inputs whose value is equal to or greater than the desired spend. These inputs are then added to the transaction along with a spend output and change output. The process is repeated to create a second spend output and change output, with the change outputs adjusted as necessary to cover the transaction fee. The aim of this approach is to maximize the effectiveness of user-protecting protocols, minimize the adverse consequences of unavoidable HITs, and limit the impact on UTXO set growth.Non-compliant heterogenous input script transactions may be created if a user wishes to create an output larger than half the total size of their spendable outputs or if their inputs are not distributed in a manner that allows for the completion of the alternate form procedure.In conclusion, this document proposes a set of best practice guidelines to minimize the adverse privacy consequences of creating transactions with inputs composed of different scripts. The guidelines aim to maximize the effectiveness of protection protocols, minimize the negative consequences of unavoidable HITs, and limit the effect on the UTXO set growth. It defines terms related to HITs and provides rules for both standard form and alternate form HITs. The recommendations aim to enhance privacy and optimize the usage of HITs while ensuring compliance with the proposed guidelines.
Updated on: 2023-08-01T17:49:34.520202+00:00