Back to blogs
Abhinav
Jun 29, 2024
Our app is built upon the principle of implicit consent. When you send someone a Port, you implicitly consent to connecting with them. The same happens when you use a Port someone has sent you. This, however, gets a little messy with Superports. If you publish a Superport, you open yourself up to the possibility that someone connects with you repeatedly. To avoid this, we support blocking.
Blocking is a fully client-side feature. We at Port have no visibility into who you have or have not blocked. This was initially tricky to implement because we do not share any public, unique identifiers with peers over Port whereas other apps usually have something, like a phone number or username that they can easily flag.
The foundation of this feature is built upon what we call “pair hashes”. It is something generated and transmitted by the back end at the time of connecting two individuals using their identifiers used to communicate with the server. When we connect users U1 and U2, we compute a pair hash using the function pair_hash = sha256_hash(sort(U1, U2)).
A pair hash is something that is only meaningful to the two users who are a part of the connection. Every pair of peers have a unique pair hash, but get no visibility into the others’ ids, maintaining our guarantee on secrecy of any unique identifiers.
Clients now track these pair hashes, and to block a user, they simply store mark this pair hash as dirty. When a new connection forms, the pair hash generated is checked against the list of dirty pair hashes. If the pair hash has been blocked, the connection is immediately disconnected.
Other articles:
Oct 8, 2024
How Port is using design thinking to address diverse user needs
Ruthvik V
Read more
Sep 9, 2024
Building a new avatar set for Port
Amudhasurabhi Aravindan
Read more
Aug 29, 2024
Sharing A Contact: The Numberless Way
Shantanav Saurav
Read more
Aug 29, 2024
Tame the Chaos: How Chat Folders Can Simplify Your Life
Harshitha Chawla
Read more
Aug 7, 2024
How does Port make secure, identifier-less, end-to-end encrypted chats?
Shantanav Saurav
Read more
Aug 2, 2024
How Port puts you in control
Abhay Shenoy
Read more
Jun 20, 2024
What is a Port?
Abhinav
Read more
Jun 16, 2024
Why is Port a better way to connect?
Janice Coutinho
Read more
Jun 14, 2024
Superports - the smart way to network
Aniruddh Balasubramaniam
Read more
Jun 12, 2024
How "Ports" work (vs phone numbers)
Aniruddh Balasubramaniam
Read more
Jun 10, 2024
Connect on your terms … starting now
Janice Coutinho
Read more
Jun 8, 2024
Going Numberless
Aniruddh Balasubramaniam
Read more