Can this effectively be used to break/hide a Bitcoin transaction chain?
No, the block explorers you've mentioned simply do not include code that is capable of decyphering the nonstandard transaction you've linked to.
Importantly: Bitcoin transactions do not include a 'from address', instead they reference a valid unspent transaction output (UTXO) that they are spending. That said, the majority of transactions throughout history can be decoded to present the user with a 'from address', so this is simply a user-friendly abstraction that block explorers make. The 'from address' is not inherent to the Bitcoin protocol.
So in a simplified sense, rather than trace the transaction history via "this address, and then this address, etc", you would say "this UTXO, and then this UTXO, etc".
Thus, using bitcoin-cli
you can easily trace the transaction history. Here is the output when using the getrawtransaction
RPC for the transaction you mentioned, with verbosity=1
:
user$ bitcoin-cli getrawtransaction 54fabd73f1d20c980a0686bf0035078e07f69c58437e4d586fb29aa0bee9814f 1
{
"txid": "54fabd73f1d20c980a0686bf0035078e07f69c58437e4d586fb29aa0bee9814f",
"hash": "54fabd73f1d20c980a0686bf0035078e07f69c58437e4d586fb29aa0bee9814f",
"version": 1,
"size": 159,
"vsize": 159,
"weight": 636,
"locktime": 0,
"vin": [
{
"txid":
"a60143eb3f8d3cd1f42cca874f35736186d67c488efd3c1b7214bbd74b310e0c",
"vout": 0,
"scriptSig": {
"asm":"3045022100d92e4b61452d91a473a43cde4b469a472467c0ba0cbd5ebba0834e4f4762810402204802b76b7783db57ac1f61d2992799810e173e91055938750815b6d8a675902e[ALL] -1",
"hex":"483045022100d92e4b61452d91a473a43cde4b469a472467c0ba0cbd5ebba0834e4f4762810402204802b76b7783db57ac1f61d2992799810e173e91055938750815b6d8a675902e014f"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.09000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a86e8ee2a05a44613904e18132e49b2448adc4e6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a86e8ee2a05a44613904e18132e49b2448adc4e688ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"1GMaxweLLbo8mdXvnnC19Wt2wigiYUKgEB"
]
}
}
],
"hex":"01000000010c0e314bd7bb14721b3cfd8e487cd6866173354f87ca2cf4d13c8d3feb4301a6000000004a483045022100d92e4b61452d91a473a43cde4b469a472467c0ba0cbd5ebba0834e4f4762810402204802b76b7783db57ac1f61d2992799810e173e91055938750815b6d8a675902e014fffffffff0140548900000000001976a914a86e8ee2a05a44613904e18132e49b2448adc4e688ac00000000",
"blockhash":
"000000000000000c15dfb68cc1abead192f718cf8b772977d79938f3a4259afa",
"confirmations": 299789,
"time": 1378742541,
"blocktime": 1378742541
}
So we can see that the input is the first output created by the transaction with id:a60143eb3f8d3cd1f42cca874f35736186d67c488efd3c1b7214bbd74b310e0c
. Using the same method as above, we can look up that transaction:
user$ bitcoin-cli getrawtransaction a60143eb3f8d3cd1f42cca874f35736186d67c488efd3c1b7214bbd74b310e0c 1
{
"txid": "a60143eb3f8d3cd1f42cca874f35736186d67c488efd3c1b7214bbd74b310e0c",
"hash": "a60143eb3f8d3cd1f42cca874f35736186d67c488efd3c1b7214bbd74b310e0c",
"version": 1,
"size": 212,
"vsize": 212,
"weight": 848,
"locktime": 0,
"vin": [
{
"txid":
"c079314b17b7a2c3fbe879e6fc610291c685f6f7819d70bef785295c774b1e04",
"vout": 1,
"scriptSig": {
"asm":"3045022100d4f73a357e323a3f0666264bd018f25296682bd7db12979890b3952b159337d7022039ebfd0d3deeb6236545e6d05d65e9fa395544f69e5275fab2e4f73cc7c20286[ALL] 0223a6fbf80fe06efa9a8707620a1215cf6a5834e6f81ca6592b0e7195fe92eae7",
"hex":"483045022100d4f73a357e323a3f0666264bd018f25296682bd7db12979890b3952b159337d7022039ebfd0d3deeb6236545e6d05d65e9fa395544f69e5275fab2e4f73cc7c2028601210223a6fbf80fe06efa9a8707620a1215cf6a5834e6f81ca6592b0e7195fe92eae7"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.09000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP 0 OP_LESSTHAN OP_VERIFY OP_ABS 1 16 OP_WITHIN OP_TOALTSTACK 0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 OP_CHECKSIGVERIFY OP_FROMALTSTACK",
"hex":"76009f69905160a56b210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71ad6c",
"type": "nonstandard"
}
}
],
"hex":"0100000001041e4b775c2985f7be709d81f7f685c6910261fce679e8fbc3a2b7174b3179c0010000006b483045022100d4f73a357e323a3f0666264bd018f25296682bd7db12979890b3952b159337d7022039ebfd0d3deeb6236545e6d05d65e9fa395544f69e5275fab2e4f73cc7c2028601210223a6fbf80fe06efa9a8707620a1215cf6a5834e6f81ca6592b0e7195fe92eae7ffffffff0140548900000000002d76009f69905160a56b210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71ad6c00000000",
"blockhash":
"0000000000000026c3b45ad70e4622dcdaffc8cad2b202d1d5a4254625166ec9",
"confirmations": 306793,
"time": 1375519263,
"blocktime": 1375519263
}
And we could continue following the transaction history in this way, so you can see that this type of nonstandard transaction does not break the transaction history. Keep in mind that a bitcoin is fungible, so while we can trace a general transaction history, we cannot trace an 'exact coin' through time, as such a thing does not exist. This allows for privacy and fungibility enhancing techniques such as 'CoinJoins' to function.