Who or what prevents me from ring-signing your input and send your money to my address(output).
You can't send the money without the private key corresponding to that output. Nothing about including an output in a ring signature gives you access to the private key. The whole point of ring signatures is that you can construct a ring signature using only the
public, not private keys of the other possible signers.
You have only your own private key, so you can only spend your own outputs.
What this ring signature guarantees. (may I spend all inputs ? is this agreement of this group ? If it guarantees nothing (because anybody can create signature) then why is there (just "smoke screen" for propaganda we are untraceable?)) ... or I'm too stupid.
It guarantees that someone in the group has the private key that enabled him to sign a transaction spending the output. This allows an observer to verify that the output has been spent by the authorized party (someone with the private key) but does not allow the observer to determine which of the group is the authorized party.
Thank you.
Example:
I have(I know private keys) 2 unspent "addresses" a1=5 XMR and a2=5 XMR, I want pay for goods 2 XMR (address g1.) and send the rest to a3. To confuse observer I'll use both input addresses.
Transaction
input ( a1=5 XMR, a2=5XMR ) output( g1=2 XMR, a3= 8 XMR )
I'll ring-sign with a1 private key, Is this correct ?
Almost. You will will sign with both a1 and a2 private keys, allowing you to spend both outputs.
If you want to ring sign (it is optional) you can also include in the ring sig additional
keys from other outputs that you don't control (you just pull them from the blockchain). The observer can't tell which of the outputs was the actual source (where you hold the private key) but can verify that there is a valid private key being used for each input.