TrustNet Talk Log

I just did a presentation of the TrustNet system at the SL Scripters Trade Show. This is the log of the event.

Various junk such as login/logout notifications have been removed, and the log has been colorized a bit to make it nicer (although this could use some improvement still).

You: Well, I’ll be starting then 🙂
You: hi 🙂 I will be now beginning an introduction to TrustNet, the reputation system I’m working on
You: My idea was to provide an useful alternative to the SL ratings system, as it’s pretty much useless now, and even back when it worked it wasn’t all that good
You: This is a serious project I’m trying to start, and I’ll definitely be supporting it. I’m making sure I can support a large amounts of users, so that the system can be useful
You: I’ll be trying to synchronize my downtime with SL updates, so that the interruption is minimal
You: Now, one of the main ideas here is transparency. The way scores are calculated is completely open, so that everybody can see I’m not doing anything strange.
You: You can request any score returned by the system to be explained. The server will tell you exactly where that score came from.
You: Unlike the SL system, my ratings aren’t global. That is, nobody has a number attached to them that everybody can see
You: instead, everybody gets their own score for each person. People sometimes ask me how they can see their own score, and there’s really no such thing. What score you have depends on who’s looking at you
Picture Viewer (trustnet): Image 2 of 16
You: The downside though, is that when you start using it, you’re not connected to anything
You: Here the example user Alice just started using the system. The HUD will not even try to retrieve any scores, because all would return 0 anyway
Picture Viewer (trustnet): Image 3 of 16
You: In order to start getting scores you have to rate people
Picture Viewer (trustnet): Soluna Sassoon, you aren’t the owner
You: if you rate somebody directly, their score for you will always be 10, or -10
You: the current system considers that once you made a judgement, it’s absolute. This way once you have an opinion of your own, nobody can override it
Picture Viewer (trustnet): Image 4 of 16
You: If you rate somebody positively, their own ratings start getting used to calculate scores for you
You: here for instance, Bob rated Carol and Dave, and this results in Alice having a score for them, even though they never met before
Picture Viewer (trustnet): Image 5 of 16
You: Negative ratings also exist
You: With one difference: If you rate somebody negatively, their opinion of other people will be ignored
Picture Viewer (trustnet): Image 6 of 16
You: multiple paths leading to the same person result in the scores getting added up
You: for example, here both Carol and Dave don’t like Eve, and that results in her having a score of -0.2
Picture Viewer (trustnet): Image 7 of 16
You: Notice how each level is worth 1/10 of the previous one. If your friends don’t like somebody, that results in a bigger score change than if it’s a friend of a friend
Picture Viewer (trustnet): Image 8 of 16
You: This one shows how if you don’t like somebody, their own opinion isn’t taken into account. Mallory liking Eve doesn’t improve her score any
Picture Viewer (trustnet): Image 9 of 16
You: this is a more realistic image of what the database actually looks like. People rate each other, so ratings don’t just go in one direction
Picture Viewer (trustnet): Image 10 of 16
You: Now here we can see how Mallory sees it
You: This is exactly the same database as before, and one of the major features of the system: It can represent different points of view
You: that you’re liked in one place doesn’t mean you’ll be liked in another
You: From Mallory’s point of view, Eve is good, and Carol and Dave are evil
You: the rest of the people previously seen don’t even show up on the graph, because there’s no ratings leading to them
Picture Viewer (trustnet): Image 11 of 16
You: now, people sometimes ask me if I will restrict usage to people with verified accounts
You: This seems to be because they think that with unverified accounts it’ll be quickly abused and made useless, but so far I haven’t seen any realistic ways to attack it
You: For instance, here’s Eve, with 10 alts of her own
You: She decided to try to make Dave’s life interesting by giving him lots of negative ratings by using alts
You: now, the problem with this is that it simply doesn’t work. You can try anybody as much as you like, and nobody will even notice until somebody rates you positively
You: if nobody thinks you’re worth paying attention to, your opinion simply doesn’t matter. Trudy here could certainly use the scores for her own purposes, such as access control to land
You: but since nobody trust Trudy, her ratings have no effect on anything else
Picture Viewer (trustnet): Image 12 of 16
You: here’s a more successful attempt to attack
You: Trudy somehow convinces Alice to rate her positively, and as a result now can influence the score by +1 or -1
You: this is still not much, and it requires actual work. You have to convince somebody to make them rate you
You: and even then, well known people will have multiple ratings. I already see people with scores of +5 or more. A single person doesn’t really have much of an effect
Picture Viewer (trustnet): Image 13 of 16
You: Now here’s another attempt by Trudy
You: she now adds her 10 alts, to try to skew the score
You: First, as her alts end up on the lowest level on the system, lots of them are needed to get anywhere
You: First, as her alts end up on the lowest level on the system, lots of them are needed to get anywhere
Timeless Prototype: lol
You: second, ratings are visible. You could ask the system “Where did that rating for Dave come from?”
You: the server would return pretty much this picture
You: this looks so incredibly obvious that it can’t really be hidden
You: it only takes removing the positive rating from Trudy to make her whole scheme collapse
You: Also, Trudy has to introduce herself right under Alice, because any lower, and her alts won’t get to have any effect at all
You: The system goes only as far as evaluating friends of friends’ opinions
Picture Viewer (trustnet): Image 14 of 16
You: This is the website that’s currently in development
You: here it will be possible to see all the ratings you gave, and add comments to them
You: comments aren’t yet visible to other people, but soon will be
You: this is intended as an aid to help other people make decisions
You: you don’t have to blindly trust the server, you can ask where each score came from, and decide based on who are the people involved, and what are their reasons
Picture Viewer (trustnet): Image 15 of 16
You: also, there is a history screen, where you can see the last change you made to your ratings
Picture Viewer (trustnet): Image 16 of 16
You: As a bonus, and since I have the data, I also decided to offer the list of the last locations you visited
Soluna Sassoon: nice
You: since SL sends me this data anyway, I thought I could as well present it. This seems to come pretty handy with the current grid trouble
You: now, the system isn’t yet done and more things are coming
Picture Viewer (trustnet): Unquotable Raven, you aren’t the owner
You: First, here’s what you can already do with it:
You: you can use it as the normal SL ratings, to determine whether somebody is likely to be a jerk or not. A nice feature is that since you know who the ratings came from, you can just IM and ask
You: so if somebody griefs your friend on one sim, and the attacker then moves to your, you’ll see a negative score when they appear
Picture Viewer (trustnet): Mario Horwitz, you aren’t the owner
You: Another thing that is already possible (but not yet released) is using a security orb that connects to the system
You: it will retrieve scores for everybody around, and act on them
You: you could make it allow access to people with good ratings, or eject/ban people with bad ones
You: This can be used for instance to instantly ban somebody from all the land you have all over the grid
Groove Market: act based on whose perception? do you seed the orb with a person’s key?.
You: orb owner’s perception
Timeless Prototype: so don’t rent land from where you will be kicked from 😀
You: Also, since your ratings are on the server, that means that the amount of people you can ban or allow is effectively unlimited
Groove Market: lol
Ripartist Smirnov: lol
Soluna Sassoon: hee hee
You: If you want to have a 5000 person ban list, that’s perfectly doable
You: Another benefit is shared moderation: Set up an orb, then use the scanner to rate trusted people
Groove Market: Are you doing a Q&A at the end, or do you want questions now? 😉
You: you could make it so that several people need to agree to allow or ban somebody
You: yes, I will do Q&A of course 🙂
You: Something that is already done but not completely packaged yet is the LSL API
You: by using scripts I made you could query the database directly
You: this could be used to integrate it into your own security system, or make a scanner of your own, or whatever you like
You: people have expressed interest in developing third party applications, and I plain to support that if possible
You: basically, if you want to make and sell something that can use the trustnet system, I will arrange something to make it possible. Details aren’t completely decided yet at this point
You: But the current plan is to give people an identifier to send to the API scripts. Then they’d have to register an account on my website, and could sell objects with them
You: In order to provide free subscription time to buyers, the amount set by the third party creator would be deducted from their account
You: Longer term, I may make it possible to access the database outside of SL, but this will take some time still to finalize
You: Features that are coming: Website (not done yet) with extended functions that can’t be fully implemented in LSL due to the memory limit
You: it will also be possible to query the system to find a person by rating
You: for instance, you could ask it to find you a scripter
You: In fact, the button is already on the scanner, but the current implementation isn’t working correctly yet. I will fix this as soon as possible.
You: Probably more rating types will be coming as well
You: I aim to provide as much useful data as possible. Then of course, you decide what to do with it
You: hmm, one sec.
You: right.
You: The LSL API is documented on the LSL wiki
You: it should be easy enough
You: basically, it has an event model similar to LSL itself
You: you send a command with llMessageLinked, and get an answer in the same way
You: requests are queued and aggregated to save resources. That can be bypassed if needed
Picture Viewer (trustnet): Soluna Sassoon, you aren’t the owner
You: I will of course be open to questions and make improvements if needed, but this is already well tested as it really forms the base of the scanner itself
You: Ok, any questions?
You: Ok, any questions?
Soluna Sassoon: can you rate someone if you arent in the trustnet subscription base?
You: yes, anybody can be rated
Timeless Prototype: is there a way to override a person’s rating, say you don’t want the orb to kick them, or is that the job of the scripter who makes the orb to have allow lists?
You: yes, rate them yourself. Your own opinion is final. Even if all your friends hate somebody all you have to do is to rate that person yourself, and the server won’t even check your friends’ opinions
Groove Market: What are your thoughts on the privacy angle. For example someone you dont like using the system to find your contacts and try to turn them against you, or for social engineering etc.
Timeless Prototype: cool
Soluna Sassoon: how much does the subcription cost, and how long is it for?
Timeless Prototype: can you change your rating of someone?
You: Well, I think privacy problems won’t be very big. It’s easy enough to know who somebody’s friends are if you’re determined enough. You only have to hang out somewhere nearby
You: Ratings have to be made public so that it can be clearly seen that there’s nothing fishy going on underneath, and that the server is working correctly
Timeless Prototype: can I rate people that I can’t see? For example I might like someone via IMs 🙂
You: And yes, ratings can be changed. You can use the website, or you can use the scanner
You: with the scanner they have to be nearby, of course
You: The website will list all the ratings you gave, and you can change them as much as you want
You: People you can’t see can’t be rated with the scanner yet, but it’s possible using the API or the website
Soluna Sassoon: what does Lusk gohom mean?
Unquotable Raven: so wait, is this a rating system, or a friend system? I can think of a few people who I would rate for having awesome stuff but I don’t really know them enough to consider them friends
Groove Market: different categories of ratings I would guess.
You: Soluna, that’s something I didn’t have time to properly finish before I got here. One of my ideas is to make the scanner interoperate with other systems
You: for instance, work together with existing moderation tools by doing the task of passing it the name (they can be complicated), and submitting a negative rating at the same time
You: Yes, there are multiple rating types already
You: the default category is “behavior”, but scripting and building exist as well
You: in fact, part of the idea is that you could ask the system to find you a builder or a scripter
You: the result would be from people who are near you in the network
Groove Market: next thing you know it’ll be writing the scripts for us! lol…
Bad Maladay: I am sure you went over this before I got here, but what do the f & u, or lack of them, next to a persons name mean?
Picture Viewer (trustnet): StarJunky Fermi, you aren’t the owner
You: Scanner display: distance, age in days, payment data (Filled, Used), score
Bad Maladay: ok, thanks
You: user friendliness needs some improvement. I will be working on making it deliver an explanation on first use
Timeless Prototype: or a help button and a web link button
You: there is a help button, but ATM you have to click the title bar for that
You: I will be working on a website and will make the scanner link to it when it’s done
Groove Market: I have done some ratings using the HUD, do I have a password to TrustNet or do I need a separate item?
You: a password would be required only to access the website. I will be adding a password-less login system to the HUD
You: but there will still be a password in case you want to access it without having SL available
Soluna Sassoon: how do you get a password? 🙂
Groove Market: and scanner. 🙂
You: not in the current scanner yet, as it’s not yet ready. You’d just press a button in the dialog and the server would send you one
You: here, for a scanner, click the spinning orb 🙂
You: Invite anybody who’d also like one to come and get one 🙂
You: Specifically, invite friends, as that makes it more useful for you
Bad Maladay: I know there is a lot if info on the hud already, but a direction (NW, E, etc.) to each AV would be a nice feature
Picture Viewer (trustnet): Soluna Sassoon, you aren’t the owner
Free TrustNet HUD whispers: Ripartist Smirnov, you already have one.
Free TrustNet HUD whispers: Ripartist Smirnov, you already have one.
You: yes, I will be working on enhacing it. The critical features come first 🙂
You: after that I will work on more objects
You: perhaps I will also make a more lightweight scanner, as this one has some trouble in very loaded sims
Unquotable Raven: argh this interface buttons too many
You: Riparist, you rejected the copy that was offered?
Bad Maladay: I just mentioned it because I am running a scanner that could be dispensed with if your hud had that info
Timeless Prototype: well it does have a pointer
You: oh yeah, pointer object is customizable. Full perms
You: so tweak it to your liking 🙂
You: so tweak it to your liking 🙂
Bad Maladay: ok, that helps
You: any other questions?
Bad Maladay: One last question
Bad Maladay: what does the Lusk gohom mean?
Unquotable Raven: yes, can you make the tracking thing opt-out or opt-in or something to fulfill the tinfoil hats
Visitor Scanner: New avatars: Shania Wildcat
You: yes, that’s the integration with moderation systems I was talking about
You: that option only works in Luskwood if you have privileges and will be redone soon
You: it was left there because I was running out of time preparing things for the show, so I didn’t have time to finish a few details
You: what tracking?
TrustNet HUD 0.47N: gohome Dale Glass
Bad Maladay: ok
Unquotable Raven: the slide from a while back, where the page was like “Check it out, I know where you’ve been, I am santa”
You: if you mean the last visited places, that’s out of my control
You: check the llHTTPRequest documentation. SL automatically sends to the HTTP server headers with your name, position, etc
You: the information is sent whether I want it to be there or not
Unquotable Raven: ya but you could at least make it possible to not log it 😮
Timeless Prototype: yeah, it’s a privacy issue
Timeless Prototype: we own our own data
You: Fair enough, I will consider it. This won’t be immediate, but certainly can be arranged
Unquotable Raven: even if you could theoretically be logging it regardless of what the option says, the fact that it’s there does much to remove fear from the tinfoil hat types
You: But I have no problems with doing it, so it probably will be done soon
Ripartist Smirnov: I know this was asked already, and if it was answered already please forgive me but what will the subscription fee be and how long will that subscription last?
Timeless Prototype: although it could be useful – say if you get orbitted from somewhere and you need to go back
You: Oh, sorry
You: default subscription when you get the scanner is 30 days. The cost is L$50 per 30 days, but you can pay for any amount you want
You: you can pay L$1 to the renewal object if you want, that’ll give you an extra 16 hours
Timeless Prototype: so potentially I could activate it only when I expect to use it?
You: subscription is expiration time based, it bumps the date when it expires
You: so it’ll expire whether you use it or not, but you can let it expire and renew later without problemms
You: you’ll still get updates while you have no subscription, and the scanner will still work (but no scores)
Soluna Sassoon: can you pay for another avatar’s subscription? like a gift?
Timeless Prototype: cool
You: currently there’s no system set up for this, but yes, I can arrange it for you
You: just IM me for that
Soluna Sassoon: great
Soluna Sassoon: first i have to get them to come online and get a hud 🙂
Timeless Prototype: are we allowed to independently distribute copies of these?
Groove Market: Well good talk Dale, thanks for that. Got the old braincells ticking….
You: btw, API and orb are technically not released yet, but you can ask me for a copy as well
You: not yet
Timeless Prototype: ah no transfer
You: For the time being, it’s no trans
You: This is because my infrastructure isn’t yet completely done
Timeless Prototype: yeah thanks Dale
Ripartist Smirnov: Thank you very much it was very informative
You: If this gets popular enough and it gets to the point where I’m sure enough that everybody online can use this and not bring my server down, I might remove that restriction
Soluna Sassoon: nice
You: So far I’m trying to make sure that nothing goes wrong. Don’t want to have problems like LL with their asset server 🙂
Unquotable Raven: what’s the limitation on that presently? bandwidth? CPU? mysterious factor X?
Timeless Prototype: 🙂
Timeless Prototype: fear of griefers
You: both CPU and bandwidth. At the time, usage of both is very low
Timeless Prototype: clicking 🙂
You: But if I made it transferrable, I’m not so sure I could handle 10K concurrent users at the moment
You: still, the system is thought for scalability, and I’m pretty sure I can handle a high amount of people with the current hardware
Unquotable Raven: have you tested for the maximum simultaneous connections it can support 😮
You: Well, this isn’t just that, it also depends on the amount of ratings in the system
Bad Maladay: I hope you are able to change it to tranfer soon because this is the perfect product for, “Hey look what I got, check it out!”
You: so far the server has no trouble with that, I’ll be monitoring and seeing how that goes
Groove Market: Russian web browser? 😉
You: yep 🙂
Timeless Prototype: yeah it needs to go viral asap
You: well, tell people about it 🙂
Ripartist Smirnov: agreed
Ripartist Smirnov: How long has this been in development?
Groove Market: agree
Unquotable Raven: seems like the connections would be more of an issue, since it sounds like ratings wouldn’t really increase much on a per-person basis
You: I’ll be moving the giver object back to my platform after I leave
You: been in development for several months. Could be done faster, but it wouldn’t have been good
Soluna Sassoon: what happens when those 21 copies are gone?
You: I take this VERY seriously. I have hourly backups, backups to tape, RAID-1, ECC RAM, a test database and unit testing
Ripartist Smirnov: very nice
You: When they’re gone I’ll just add more
Soluna Sassoon: ahh ok 🙂
Groove Market: Have you discussed the project with the lindens?
You: this is just a script I had at hand
Timeless Prototype: when you are ready for 3rd party distribution I can offer you my service for no charge, it seems a worthy cause
You: I had never went to this show before, so I decided to put a limit just in case. Wanted to be sure I wouldn’t be messing with the server in the middle of it
You: so far it’s holding up very well, so no problem, I’ll be adding more 🙂
You: haven’t had contact with lindens yet
Timeless Prototype: does the database scale up / out well? using GUIDs for keys etc?
You: database scales up well, it’s been designed to minimize connection latency (to allow separating webserver and DB), and it should work nicely with replication
You: there is caching server side, and I have more plans for improvement should it be needed
Visitor Scanner: New avatars: Morph Wollongong
Bad Maladay: I am not seeing anyone with a rating, is that because I haven’t been rated yet?
Timeless Prototype: so the logs will potentially get huge, can you partition that data across more than one database?
You: logs are pretty small actually. The HUD does a lot of caching as well
You: If you see somebody, chances are it won’t re-request their score for hours
You: this is the scanner, the orb will have a different behavior
Bad Maladay: ok
Timeless Prototype: (location logs)
You: log table is normalized. Requests are aggregated, so if you now teleport here it’ll request scores for all the 11 avatars at once, with one unique row in the log table
You: the HUD buffers requests of the same type, to avoid excessive overhead for establishing the connections, all the headers SL sends, etc
Bad Maladay: seems like a very well thought out system, good work
You: I don’t consider disk space a problem anyway. I have plenty of it free ATM, and I will add disks if it becomes necessary
Timeless Prototype: cool
You: I’m already planning a RAM upgrade, just to make sure I have plenty room for growth (not currently needed), and don’t have to upgrade when the userbase becomes large enough for it to annoy people
You: I will do everything possible to synchronize my downtime with the SL downtime
Picture Viewer (trustnet): lilly Margetts, you aren’t the owner
You: meaning, my upgrades will be if possible during the grid updates the wednesdays. So 100% uptime on the testing grid during those times isn’t guaranteed
You: Should it go down during some other time, I’ll bump everybody’s subscriptions to compensate
Timeless Prototype: now that’s service 🙂
Ripartist Smirnov: =D
You: I aim to do a good job =^_^=
Ripartist Smirnov: You mentioned that the APi and the orb haven’t been released as of yet is it because they are not finished?
You: they’re pretty much done, what’s left is the usage decisions
You: this means things like arrangements with large users
You: basically, how much do I charge, and what limits do I use?
You: For instance, what if somebody decides to use the API to make their own orb for 50 sims? I have to put limits somewhere and charge that sort of users more
Ripartist Smirnov: Understandable
You: But, some products will use the same subscription
You: You can assume to be able to use say, 2 copies of the orb for “free” (same L$50/month as the scanner)
You: Mind, this isn’t 100% set in stone, and terms might change
You: but since subscriptions are based on expiration time, if you pay for months in advance you won’t have to deal with the new terms until what you paid for runs out 🙂
Ripartist Smirnov: So the subscription depends on the usage and you can change what your using it for if you pay ahead and it doesnt change the subsscriiption price? is this right?
You: What I mean is:
You: scanner subscription is currently L$50 month
You: if you pay L$500, that gives you 10 months of time. Even if I decide to charge for it L$100/months later, you still have the 10 months you paid for already, that won’t change
Ripartist Smirnov: Oh ok i see what i was thinking , 😉
You: The L$50/month is unlikely to go down, btw. It might go up if it becomes really necessary, but I’ll avoid it if at all possible
You: my current estimations indicate that this amount should be profitable
Picture Viewer (trustnet): Harleen Gretzky, you aren’t the owner
Ripartist Smirnov: The monthly schedule is SL time or Rl time?
You: RL time
Ripartist Smirnov: When you are ready I would like to do as Timeless, and offer my services to distribute
You: thanks 🙂
You: any other questions?
Unquotable Raven: this is unrelated, but what is this trade show about
You: SL Scripters Trade Show, basically people showing various cool things they made 🙂
Ripartist Smirnov: a tradeshow is usually where vendors come to show thier products
Unquotable Raven: ya but it’s kinda empty 😮
You: Well, I suppose we’re done then 🙂
You: Thanks a lot for coming 🙂
Ripartist Smirnov: Thank you very much Dale
You: You can of course IM me if you have any other questions
Bad Maladay: Yes Dale, thanks
Timeless Prototype: thanks Dale
You: I will leave the scanner dispenser on my platform
You: so tell anybody who’d like one to come and get it 🙂
You: the coordinates will be New Caledonia 18,40
Groove Market: great… bye for now..
You: bye!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: