To create new transactions, we include the details of the transactions we're spending, which can easily be checked against the hashes in the blockchain.
It won't work. You would need at least rollups to get there:
https://bitcoinrollups.org/And even then, it will work only in a LN-like way or sidechain-like way: you will be able to compress only things from the second layer. If there is no upper layer, then you cannot delete it permanently.
This is a very interesting topic. If a solution was found, a much better, easier, more convenient implementation of Bitcoin would be possible.
Originally, a coin can be just a chain of signatures. With a timestamp service, the old ones could be dropped eventually before there's too much backtrace fan-out, or coins could be kept individually or in denominations. It's the need to check for the absence of double-spends that requires global knowledge of all transactions.
The challenge is, how do you prove that no other spends exist? It seems a node must know about all transactions to be able to verify that. If it only knows the hash of the in/outpoints, it can't check the signatures to see if an outpoint has been spent before. Do you have any ideas on this?
It's hard to think of how to apply zero-knowledge-proofs in this case.
We're trying to prove the absence of something, which seems to require knowing about all and checking that the something isn't included.
Here, Satoshi pointed out some very important thing: you need to prove that no other spends exist. You can use the hash of the previous transaction to create a spending transaction, but then, you still need the content of the previous transaction to prove it. And then, it goes recursively: to know if the previous transaction is valid, you need the "previous previous" transaction. And even if you will reach the coinbase transaction, then still, you need to check all transactions in a given block to check if the coinbase amount is valid. And if you want to verify everything from scratch, then nothing can be permanently deleted, so in the network there is a need to have enough nodes, where you can ask about that data, up to the Genesis Block.