Author: ZmnSCPxj 2021-01-15 00:28:21
Published on: 2021-01-15T00:28:21+00:00
The risk of poisoned inputs to hardware wallets and pre-signed transactions protocols is a major concern. Once any input of a (pre-signed) transaction is spent, the transaction becomes invalid. Pre-signed transactions protocols are primarily used as a form of defense mechanism and spending any input would mean incapacitating the entire defense mechanism. A proposed improvement is to keep track of inputs that have already been signed once. Most of these protocols require following a specific signing order, so adding a way to check that a "clawback" has been signed first with the same input would be very helpful. However, maintaining state for the hardware device requires a Merklized persistent data structure to store the majority of storage on the trust-minimized software. The primary issue here is that we have a base assumption that the hardware wallet cannot have internet access because most clawback transactions are time-based and must be broadcast at a particular block height. If the hardware wallet cannot be an online device, it cannot know the current block height when the clawback transaction must be broadcast. In protocols where clawbacks are necessary, if the clawback is not broadcast in a timely manner, the counterparty can have an advantage and steal. Ultimately, going online increases our attack surface to the blockchain, which is considered a proof of time passing, and thus the only way to get that proof is to go online and actively search for the block tip.
Updated on: 2023-06-14T17:09:39.721090+00:00