Author: Christian Decker 2018-04-30 16:29:53
Published on: 2018-04-30T16:29:53+00:00
Christian Decker, a Bitcoin developer has proposed a new sighash flag called "SIGHASH_NOINPUT" that removes the commitment to the previous output. The proposal was previously mentioned by Joseph Poon but was never formally proposed. It is believed that this proposal will be useful for Lightning as it enables simple watch-towers and allows users to outsource the need to watch the blockchain for channel closures, reacting appropriately if the counterparty misbehaves. Christian Decker also released the eltoo paper which describes a simplified update mechanism that can be used in Lightning and other off-chain contracts with any number of participants.With the SIGHASH_NOINPUT flag, an input can be rebound to point to any outpoint with a matching output script and value. The binding is no longer explicit through a reference, but through script compatibility. The transaction ID reference in the input is a hint to validators. The sighash flag is meant to enable some off-chain use-cases and should not be used unless the tradeoffs are well-known. In particular, using contract specific key-pairs is suggested in order to avoid any unwanted rebinding opportunities.The proposal is minimalistic and simple. However, the wider community input is required with regards to the implementation details such as whether to use a separate opcode or a sighash flag. Meanwhile, it is believed that the sighash flag could lead to some confusion with existing wallets. Therefore, the proposal still commits to the amount of the outpoint being spent. The rationale behind this is that while rebinding to outpoints with the same value maintains the value relationship between input and output, one may not want to bind to something with a different value and suddenly pay a gigantic fee.The deployment part of the proposal is left vague on purpose so as not to collide with any other proposals. It should be possible to introduce it by bumping the segwit script version and adding the new behavior. The proposal is well received, and the applications proposed so far are quite interesting. There are many more applications that can be enabled with this change.
Updated on: 2023-06-13T01:51:34.991876+00:00