Regarding backwards compatibility with SW, is the thinking below right or am I misunderstanding how it works?



My understanding is SW essentially moves "prunable data" for a transaction from the main block to a side block connected by a hash. Which means this is simply an intelligent form of pruning.



But it also means that to receive a SW transaction, the receiver needs to be upgraded to a SW enabled client or else they can not use or receive the output, since the transaction's data is in the side block which is not viewable or verifiable to old clients.



The bigger part I am trying to understand is can a SW transaction be moved back to the main block chain? A SW transaction requires a client to understand the SW side block. So it is logical to assume that to spend or validate a new transaction originating from an output on a SW side block requires clients to be updated. Since the main block is validated by old clients, this means that SW transactions can not be moved back to the main chain, but are locked into SW-only side blocks forever.



Is this right? If so I can see this being a deal breaker for SW. Imagine the reaction by people who upgrade, receive a SW transaction and then try to send it to someone else, only to find out they can't because that person either did not upgrade or only accepts transactions on the main chain. Now imagine that counter party is Coinbase, Bitstamp or any number of merchants.



It also means that SW is a hard fork being hidden as a soft fork. Everyone has to upgrade for it to work, that is a hard fork even if you haven't changed the main chain.



Worse it also is a pathway to make people comfortable with off chain solutions. With SW your BTC are not stored in the main chain but in something else. If that something else is a SW side block or LN or SC what's the difference, they're all off chain. SW is looking to be a poison pill or gateway drug IMHO.