Published on: 2023-02-06T10:48:09+00:00
In an email thread, Olaoluwa Osuntokun discusses the "free call option" problem in transferring fungible assets via asset-aware LN endpoints. The issue arises when the final hop withholds the HTLC, risking payment cancellation if it is not accepted by the recipient due to timing or insufficient funds. A possible solution is suggested where Alice sends $100 to Bob who forwards 0.004 BTC to Carol and then Elizabeth; before accepting the payment, Elizabeth extends the path with a BTC/USD exchange with Dave via a short loop. If Dave doesn't immediately forward the USD to Elizabeth, she can cancel the transaction, refunding Carol all the way back to Alice, even while waiting for Dave. This approach also means Alice doesn't need to know Elizabeth's currency preference.In another email conversation between Johan and Olaoluwa Osuntokun, they discuss the technical details of the "utxo teleport" scheme. Johan believes the scheme is sound as long as clients adhere to the rule of not sending to a spent UTXO, but it may not be compatible with Lightning Network (LN) channels. Olaoluwa raises concerns about the lack of necessary total ordering to ensure safety in the scheme, which could result in assets being burned or lost if a channel closes before a pending deposit confirms. Olaoluwa contrasts this with Taro's state transition model, which binds everything to a single synchronization point: a normal Bitcoin transaction with inputs consumed and outputs created. He explains that Taro transfers inherit the same re-org safety traits as regular Bitcoin transactions. Olaoluwa highlights a drawback of the teleport model, which either requires an OP_RETURN or additional out-of-band synchronization to complete the transfer, whereas Taro does not require these. Overall, Olaoluwa concludes that the "utxo teleport" scheme lacks the serialization of events/actions that the blockchain provides and that Taro's state transition model offers a safer and more compatible alternative for anchoring assets in channels.The "utxo teleport" scheme attempts to transmit ownership to a UTXO, but concerns arise about its soundness when the UTXO no longer exists on the chain. Taro's state transition model binds everything to a single synchronization point: a normal Bitcoin transaction with inputs consumed and outputs created, ensuring re-org safety traits similar to regular Bitcoin transactions. Taro transfers also inherit all the capabilities of Bitcoin/LN transactions. A drawback of the teleport model is the need for an OP_RETURN or additional out-of-band synchronization to complete the transfer, while Taro does not require these. The send process in Taro is fully asynchronous, with the blockchain serving as a synchronization point like a normal Bitcoin wallet. However, the efficacy of the teleport model for anchoring assets in channels, where serialization of events/actions is critical, is questioned.Johan suggests that the "teleport" feature used by RGB protocol could be useful in an LN setting for Taro. With the teleport feature, users can spend a UTXO but only need to provide proof that some transaction output has committed tokens to their UTXO. This allows for adding tokens to already open channels or topping up multiple channels at once. The feature also allows for blinding the UTXO, useful when wanting to withdraw tokens from an exchange directly into an LN channel without revealing the channel UTXO. Ruben raises concerns about the abundance of documentation but a lack of clear mapping of the fundamental design with regards to the RGB protocol. However, he believes that the RGB protocol should be credited in the Taro documentation as its design precedes and seems to have inspired Taro. Ruben also discusses the potential for an asset issuer to do a "re-genesis" under certain circumstances. He notes that this won't help for tokens that aim to have a publicly audited supply, and the idea requires the issuer to be active.Hiroki Gondo expresses concerns about the verification of the provenance of the asset UTXOs in Taro's specs. He explains that it is necessary to verify the state transitions of all transaction graphs without gaps from the genesis transaction of the asset to the current location to ensure that a UTXO has not changed at any point in the transaction. The absence of this validation implies that asset inflation (double spending) is possible. Laoluwa had shared a new protocol called Taro, which allows the issuance of assets on the main Bitcoin chain. Taro uses the Taproot script tree to commit extra asset structured metadata based on a hybrid merkle tree called Merkle Sum Sparse Merkle Tree (MS-SMT). Taro asset transfers are embedded in a virtual/overlay transaction graph that uses a chain of asset witnesses to track the transfer of assets across taproot outputs.Ruben Somsen argues against building scripting support into Taro due to limitations that prevent anything interesting from being built. However, he suggests exceptions such as self-encumbrance and on-chain validation.
Updated on: 2023-08-01T00:13:19.377345+00:00