remember NON-segwit clients do not change. so all your fluffing around saying things will change means that you are assuming that old clients will some how understand things differently.. please think about that..
again. let this settle in
non upgraded clients do not change. they treat the transaction the same now as they would in a month. and so if you are saying that old clients can spend segwits now then you are saying that they can spend them later too... but they dont change..
Okay, maybe I should stop use anyonecanspend outputs. Maybe this will help you understand it:
A p2wpkh (a type of segwit output) is as follows
OP_0 <20 byte hash>
The corresponding input scriptsig is then just
00
For a non upgraded node, it validates this by first pushing 0 bytes to the stack, then pushing OP_0, then pushing the 20 byte hash of the witness script. The stack will look like this:
0
<20 byte hash>
Because the stack is not zero, it is true and thus validates. Anyone can produce a transaction which has a scriptsig of 00 and with a segwit output, it is considered anyonecanspend by old nodes because anyone can create that scriptsig.
However, segwit nodes will recognize that he OP_0 means it is a version 0 witness program and validates it as such.
please do not confuse the issue of block confirmed transactions with the relay of unconfirmed transactions.
so one more time
A POOL (not a user) a POOL adds a segwit transaction to its block, but because segwit is not activated by other POOLS the malicious pool can grab any input and pretend it is theirs becasue it knows the network wont be checking signatures yet. so it doesnt need to sign the input... and then give the the destination as a real privkey owned by them..
The pool cannot grab any input and spend it as their because the way to spend the currently used output types are not going to change.