Assign people a number (or numbers) and reference them by their number (or numbers).
There's nothing special about contacts. They have a first name and a last name and belong to a phone.
Of note, though, they can have multiple phone numbers associated with them. These phone numbers are internally referred to as a Contact Phone Number.

What happens if a contact is blocked?

If a contact is blocked, all messages from all phone numbers associated to the contact are automatically put into the Trash folder of your messages. They are not marked as read, and no integrations will run.

What happens if an individual phone number is blocked, but not the contact?

Only the phone calls from the individual phone number are treated as blocked. Admittedly, we do not know why we made this behave this way, but it does.

Can I upload my current contact list?

Not at this time. Let us know if you want this feature though.