The addon is already using an invisible channel, and not using the game's chat UI.
- You log into the channel only to add your name, and get a list of other subscribers from the server, which you then add to your friends list so they can send whispers to you.
- You type in the game's edit box, because it's already there, and saves making a new one, but when you hit enter what you type is picked up by the addon instead of going to the game's chat system.
- The addon sends an addon-to-addon whisper containing what you typed to everyone on your friends list.
- If they've got you added as a friend, then their addon recieves this, and prints it out on the screen in a way that looks like normal chat, but didn't use it at all.
Sure, with this new addon channel support we might (I still haven't tested this with an f2p sending to a p2p who didn't already have them as a friend) have a way for people to join and communicate without having everyone add them as friend first, so we can skip the 1st part, and simplify the 3rd, but we've still got the problem of storing and managing a list of who we want to be 'subscribed'.
That list on the server is the best we've got, and we can't do any better. Without using a client-server system there's nowhere else to store lists of subscribers and people who should be kept out. You can't switch to peer-to-peer, and keep copies of the subscriber/ban lists on all of the clients, because then you'd have to make sure everyone's copy of the data was kept up to date, and more importantly, no-one was messing around with it while it's getting shared between everyone.
Doing that would require an ungodly amount of code dedicated to encrypting data with public/private key pairs specific to every single user of the channel, and maintaining those keys for everyone, so only certain parties have access to to the subscriber/ban list. The amount of data being stored in the addon's saved settings would skyrocket (and the game limits how much data an addon can store on a player's computer), along with the amount of data, rather than chat, being sent through the channel (and the game also limits how many messages you can send, and how big they can be).