This is a rather general question and I can’t cover everything in this answer, so I strongly recommend having a look on the pinned post in the Ethereum subreddit and searching for other questions on StackExchange.
But as legal smart contracts are concerned, how are they signed by its
parties?
It depends, on many occasions, the signature is only needed from the transaction sender. It doesn't have to be interactive all the time. Smart contracts aren't really contracts in the canonical sense and they definitely cannot resemble natural language because computer science is binary.
As of a recent Twitter discussion, a better terminology for smart contracts could be "persistent scripts". Or, another way to think of them is "automated escrow": a bunch of code capable of managing funds for humans in trustless fashion.
To deepen this argument, traditional law can encompass a wide array of possible future scenarios which computers simply cannot comprehend. Of course, that has both pros and cons, but that's how the world is currently built and traditional law and smart contracts will probably evolve side by side for a long time.
There are situations when contracts do need signatures from multiple parties. When that happens, Ethereum uses elliptic curve cryptography to validate involved parties in a contract. For instance, a multisignature wallet is a secure way to store cryptocurrency because it requires $m
signatures from a total of $n
participants in order to move money around.