This allows only parts of the block branches to be sent/stored while every client doing verification.
What you mean is that only particular transactions are looked at, such as maybe validating along the chain for particular outputs? You can't spread validation work for each bitcoin address as the bitcoin protocol allows for many transaction types and you cannot miss out non-standard transactions which do not use bitcoin addresses.
Any transaction or script will ultimately affect two or more addresses (out/in). The swarm client would save any transaction data affecting an address it was watching including scripts.
Hence scripts might be saved by clients watching the sending address at first and at completion (escrow/mult sig style?) also the clients watching the receiving address.
Am I missing something even more exotic than that?
I was trying to figure out how clients could validate particular movements of bitcoin myself at one point, but there are so many issues with it, to create a reliable, efficient and secure solution may be extremely difficult, and may not be a simple as you think it would be. It may have issues, when you begin to think about it more closely, that make it impractical and perhaps worse than other scaling solutions.
I am usually pretty good at coming up with algorithms.
I had a vague yet decently defined idea 6+ months ago and now everything is as envisioned in my bachelors project. That was pretty advanced too.
BTC is moved if a block containing the movement is accepted by most clients. This means that as long as the swarm clients can tell by ONE fraudulent tx that a block is false they can all reject the block.
The data proving a block is invalid can be propagated by the swarm client that watched the (empty) sending address by just sending the txs/block branches pertaining to that movement.
The
only way to trick a swarm client would be to keep it isolated from the reports from all the other clients that already know it's a fake block.
However this can only be achieved by cutting said clients internet connection - which would also prevent any benefit from the "attack".
Since signed TXs and block hashes cannot be faked the swarm client could operate in a SEA of attackers just fine without double spend attacks occurring as long as just ONE attacker doesn't know what txs the other attackers don't want sent.
Once the swarm client has information about a tx you can't force it to forget it or "unsend" it. Specifically I am here talking about the tx that says you already spent your money.
I don't know. For now I'll continue working on what I am working on and possibly come back to this at a later time. It requires a significant investment in brain power.
Same here. Electrum and medium nodes should be just fine for the BTC economy for now.