bobrath raised the question of how expensive this would be on the servers. After some short cosideration I suggest this calculation:
The cost of calculating of the distributed web of trust is dependent on how many steps one wish to remove trust from the person influenced by it.
My original suggestion was:
Steps Contribution
1 ------ 100%
2 ------ 50%
3 ------ 25%
4 ------ 12.5%
5 ------ 6.25%
etc.
Let the number of steps removed a considered trust link is be P.
Let the number of players with registered accounts be N.
In the worst case scenario every person have rated every other person in the game to "fully trusted". This gives us the computational complexity (being linear to the number of contacts reached) of:
O(N^(P))
(Brute force, there might be better algorithms

)
However, this is a highly unlikely case - It is more likely that every player has a select number of fully trusted contacts, averaging at say 20. Also, a reasonable number of steps to propagate trust is 4. In this case, the number of reached contacts in the general case would be somewhere in the range of 20^4 = 160 000.
Hmmm, 160 000. That is a sizeable portion of the player base (certainly several percent) and that is good, but it also presents a very real problem - How does calculating such a large web of trust compare to the complexity of running the game itself? That is to say, how many percent of ANets sever park will be busy with these calculations?
I would suggest putting up a few computers that handle all trust calculations as fast as possible. That might mean the calculations are not updated for a few days, but this will detract very little from the utility of the system in itself. The system as such is realistic, the question is only how often the trust information will be updated.
There are a few mitigating circumstances - Agglomeration of trust groups and that there is no need to calculate trust webs for inactive players. But essentially, this brings up the question of decaying trust. Might one prune the tree at inactive players? I think this is a reasonable thing to do, and it would certainly reduce the processing power needed to calculate the trust webs.
Mmmm. Long winded, but interesting for me to write
------------------------------------
Edit a few minutes later. And yes, there
is a better way to do it. Since the system is distributed by nature, it is only natural to solve it in a distributed manner:
Let each client ask the "fully trusted" contacts for their local trust lists and propagation will be between clients, with the server only ever seeing (or rather caring about) the first step trust relations.
This seems so simple I'm astounded at myself for not thinking of it in the first place
The only backside of this scheme is that you will only get fresh trust information when you are logged on at the same time as your "fully trusted" contacts, but this is a light trade off, not worse than pruning the calculation tree at inactive players, as in my original suggestion.