There is a comment table, a comment_user table with the comment-to-user associations, and a killfile table.
create table killfile ( kf_rule_id int unsigned not null auto_increment primary key, kf_owner_uid mediumint unsigned not null, kf_action enum('ignore', 'deny', 'dissuade', 'allow', 'promote') not null, kf_what enum('all', 'from', 'to', 'replied', 'cc', bcc') not null, kf_context enum('user', 'forum', 'thread', 'comment') not null, kf_context_id int unsigned not null, index owner (kf_owner_uid, kf_context, kf_context_id) );When a post is made, and the program is writing the comment-to-user table, it will consult the kf_rule table where kf_owner_uid = the target user, and kf_context will be, in turn, the current thread, the current forum, the current user, etc.
Mind you none of this lives as real code just yet. It's still on my scratch book for the most part.