What approaches are practicable to enhance anonymity in smart contracts?
P.S.2 : Address clustering: A common approach to analyze the anonymity is to extract information of the transactions in the blockchain, meaning that from which addresses the coins comes and to which addresses it goes. Address clustering is one of the approaches to de-anonymize users. Different techniques are employed for such clustering [1, 2, 3, 4]. So, relying only on pseudonymity seems cannot be enough to preserve anonymity of users.
P.S.3: Mixing: Another approach to anonymize transactions is Mixing. One of mixing approaches is CoinJoin  in which several users create together a transaction with multiple input and output addresses. One of the problems of this method is transaction validation such that a valid transaction must be signed by all participated users and so anonymous participants can prevent transaction validation when they does not sign mixing transaction in which they take part. So, Mixing approach is vulnerable.
- Reid, Fergal, and Martin Harrigan. "An analysis of anonymity in the bitcoin system." Security and privacy in social networks. Springer, New York, NY, 2013. 197-223.
- Androulaki, Elli, et al. "Evaluating user privacy in bitcoin." International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2013.
- Ron, Dorit, and Adi Shamir. "Quantitative analysis of the full bitcoin transaction graph." International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2013.
- Meiklejohn, Sarah, et al. "A fistful of bitcoins: characterizing payments among men with no names." Proceedings of the 2013 conference on Internet measurement conference. ACM, 2013.
- Maxwell, Greg. "CoinJoin: Bitcoin privacy for the real world." Post on Bitcoin forum. 2013.