Hi All,
Recently, I came across two transactions in block 9668317 in which they are spending the same output from a previous transaction. Here are the transactions:
Transaction 1:
Hash: 920d1b137174bf9dc0c38a564d6fee2eb97fbfe4a7462e8cd0aec9b1e71bd893
in which Blockfrost API says it has two inputs with the following fields:
{
'tx_hash': '2ae671f088cc2ff5414e...2795e78a87',
'output_index': 3,
'collateral': False,
'reference': False
}
and
{
'tx_hash': '2ae671f088cc2ff5414e68ae0a43168cfff6b5d082777dd88b04a82795e78a87',
'output_index': 3,
'collateral': True,
'reference': False
}
Transaction 2:
Hash: 2ae671f088cc2ff5414e68ae0a43168cfff6b5d082777dd88b04a82795e78a87
in which Blockfrost API says it has an input with the following fields:
{
'tx_hash': '2ae671f088cc2ff5414e68ae0a43168cfff6b5d082777dd88b04a82795e78a87',
'output_index': 3,
'collateral': True,
'reference': False
}
However, Cardanoscan.io shows this input for transaction 2 and not transaction 1.
As I understand it, collateral is defined after scripts are introduced to Cardano. Therefore, in the second verification phase, if a transaction fails, the verifier gets paid for their efforts. Therefore, it should not add extra expectations since the transaction still spends the output regardless of whether it succeeds or fails.
Isn’t it impossible to put both on blockchain since they spend the same output if two inputs from transaction 1 and one input from transaction 2 conflict?