In the case of layered solutions, you're no longer using blockchain. If we want to count uncomitted transactions on a second layer as "reversible", that comes with a host of its own issues, and points out another intrinsic flaw of blockchain: incapable of fulfilling its philosophical purpose, and requires secondary solutions that violate the very core philosophy of the data structure in hopes of overcoming just one of its many issues.
https://cryptowhale.medium.com/why-the-bitcoin-lightning-net...
You can have a smart contract that writes reversible transactions to the blockchain. This would mean that the smart contract imposes a delay for withdrawals, to allow time for any possible requests for reversals. There could optionally be an expedited wirhdrawal upon some set of authorities deeming the balance as finalized and not subject to any reversals.
>>requires secondary solutions that violate the very core philosophy of the data structure in hopes of overcoming just one of its many issues.
Even when you lose some of the benefits of blockchains, via secondary solutions like a reversible transaction smart contract, you retain some benefits, like:
* optionality, e.g. those who are fine with irreversible transactions are free to use them,
* permissionless market entry, e.g. any party is free to deploy their own 'reversible transaction' smart contract, giving payment consumers maximum choice
* stronger guarantees of the integrity of transaction processing, with transparency into any tampering, given the code that executes the transactions, along with the transaction itself, is publicly auditible
* debundling the provision of the different services that are required for transaction processing, by allowing transactions to be processed by immutably open smart contracts that no third party can later close off access to.
No you can't. Once a smart contract is included in a block, it has finished executing and is irreversible. The transaction is irreversible, again, by definition.
>>Even when you lose some of the benefits of blockchains
So you're no longer using a blockchain.
I'm not interested in endless goalpost shifting.
The transaction is irreversible, in the sense that it can't be removed from the blockchain, but the transfer from person A to person B can be made reversible, via a smart contract that doesn't allow person B to withdraw from the smart contract for a duration, during which time person A can effect a reversal transaction that would effectively undo the transfer.
>>So you're no longer using a blockchain.
In my example, you are using the blockchain in all cases. You are just using smart contracts in a way that reduces some of disadvantages of naive blockchain use (e.g. allowing a consumer to dispute a fraudulent charge) while giving up some of its advantages (e.g. reduced risk of charge backs for honest merchants).