In order to unblock an user blocked by mistake, go to Users section and access Blocked users page. Select users that you want to unblock and click Delete selected profiles. This way selected users will be unblocked and you can communicate with them again.
You cannot stop other users from seeing your profile, but you can make your profile to be invisible for all users. In order to do that, go to My Account and access Privacy / Notifications Settings page - in Visibility Settings section uncheck “Set my profile to be visible on site” box, and your profile will be invisible.
You cannot see who blocked you, but when will try to communicate with an user that blocked you will receive the following notification: "The settings of this user do not allow you to send messages.".