User:Which Linden/Office Hours/2007 Oct 11

From Second Life Wiki
< User:Which Linden/Office Hours
Revision as of 12:07, 11 October 2007 by Which Linden (talk | contribs) (Office hours, oct 11)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Transcript of Which Linden's office hours:

[11:12] Which Linden: As usual, I'll be posting this transcript on the public wiki
[11:13] JayR Cela: ok i am ready
[11:13] Which Linden: What's new this week is that diagram over my head
[11:13] Which Linden: It illustrates how I'm imagining the escrow to work
[11:13] Morgaine Dinova: Good afternoon everyone
[11:13] Which Linden: however, the resolution probably sucks
[11:13] Which Linden: Hi Morgaine
[11:14] Which Linden: is it readable for you?
[11:14] Ciaran Laval: Yes
[11:14] Which Linden: It's readable for me -- I know what all the text says already though
[11:14] Morgaine Dinova: Yes, think I can make out the text
[11:15] Morgaine Dinova: Yes, perfect, texture hadn't ressed yet before
[11:15] Which Linden: So, the idea here is that the escrow (middle thing) mediates a transaction between two parties
[11:16] JayR Cela: ok look.......
[11:16] Which Linden looks
[11:16] JayR Cela: a mode of finacial transaction need to be established / ASAP / and secure
[11:17] Which Linden: what do you mean by that?
[11:17] Which Linden: I'm not sure what a mode is
[11:17] Which Linden: model?
[11:18] JayR Cela: if you are going to work here for / peanuts on the dollar / and people refuse to pay you / what financial security do you have / nothing
[11:18] Morgaine Dinova: That's exactly what escrow is part of JayR. It's part of an implementation of atomicity for transactions.
[11:19] Which Linden: yeah, unfortunately it's going to be impossible to solve social problems like people not paying wages or whatever, in a general way
[11:19] Which Linden: But one thing that we can hopefully do is make it so that it's easier to implement vendors
[11:20] Morgaine Dinova: Cool Which. Run us thro' the protocol please :-)
[11:21] JayR Cela: ok it needs to be a no brainer / unfortunately that may require RL info
[11:21] Which Linden: The notional vendor protocol? Hmm.... I'll be honest -- I don't have anything concrete on that
[11:21] Morgaine Dinova: No no, escrow protocol
[11:21] Which Linden: oh, ok
[11:21] Tree Kyomoon: is this where the serious discussions are?
[11:21] Which Linden: We're running through the escrow protocol, Tree
[11:21] Which Linden: I'm about to
[11:21] Which Linden: The beginning is some sort of action by some human being
[11:22] Which Linden: I.e. you right-clicking on an object and selecting "buy"
[11:22] Which Linden: This then talks to your agent store, which is a reliable machine that holds you inventory, L$ balance, etc
[11:23] Don Misfit: Hi all :)
[11:23] Which Linden: and the agent store starts a transaction with the escrow
[11:23] Which Linden: hi don
[11:23] Ciaran Laval: Ah got it now
[11:23] Which Linden: we're up to the first arrow I think
[11:24] Rex Cronon: hi everybody
[11:24] Which Linden: when the escrow persists the data, it writes it to the hard disk, makes copies, whatever it can do to make sure it doesn't forget that it started this transaction
[11:24] Ciaran Laval: Hi Rex
[11:24] Which Linden: even if it crashes, its local hard drive gets corrupted, whatever failure you can imagine
[11:25] Morgaine Dinova: Idempotent on that initial state storage?
[11:25] Which Linden: yeah
[11:25] Morgaine Dinova: Cool
[11:25] Which Linden: so that's what chttp gets us -- you'll note that all the arrows have little "certified" background text
[11:26] Which Linden: that's what that means
[11:26] Morgaine Dinova: Oh yes, haha ... very faint shades of green :-))
[11:26] JayR Cela: ok i have a stament I would like to make ......................
[11:26] JayR Cela: this is the new econemy
[11:26] Which Linden: once it has started the transaction, the escrow goes and talks to the various parties, getting the resources that they're going to exchange
[11:27] JayR Cela: we have to take this as serious business
[11:27] Which Linden: well, we're trying to replicate the current economy but make it work better, JayR
[11:27] Which Linden: and we are totally serious here
[11:28] JayR Cela: the old model does not work here
[11:28] Ciaran Laval: Ok so it certifies that A has received the object before processing the money?
[11:28] JayR Cela: this is the Meta_Verse
[11:28] Which Linden: actually not quite Ciaran, the idea is that B gives the object to the Escrow first
[11:28] Which Linden: (effectively)
[11:28] Morgaine Dinova: Ciaran: not yet. It's just a statement of intent at this point in the protocol.
[11:28] Ciaran Laval: Sorry WHich I'm further down the page sorry, I'll be quiet for a bit
[11:28] Which Linden: then if A doesn't give the money to the escrow, the escrow can give the object back
[11:29] Which Linden: (assuming that makes sense, obviously if you were buying a copy of an object it would just discard the unbought copy)
[11:29] Rex Cronon: the escrow gets a copy of the object. right?
[11:29] Which Linden: yeah, I guess so
[11:29] Which Linden: or it could have a reference to an asset on the asset server
[11:30] Which Linden: not sure yet what the best thing to do is
[11:30] Which Linden: so, if it works out, at some point the escrow has both the object and the money
[11:30] Which Linden: that is the horizontal line in the middle labeled "Distribute Phase Begins"
[11:31] Which Linden: at that point neither party can cancel the transaction, it's a fait accompli
[11:31] Which Linden: and then all the escrow has to do is give the resources to the proper parties
[11:32] Ciaran Laval: Ok could you build in a cancel option at that stage?
[11:32] Which Linden: so it gives the money to B and the object to A
[11:32] Which Linden: It's not clear why you'd want to Ciaran
[11:32] Morgaine Dinova: Which: this seems to require Agent B to change ownership of the object to Agent A, which appears to make middlemen impossible unless they become owners. Is that right?
[11:32] Ciaran Laval: Land sales Which
[11:32] Ciaran Laval: People claim they make a mistake and a bot snaps it up
[11:32] Ciaran Laval: with a cancel option at the point there, they can avoid that
[11:33] Which Linden: The proper point to cancel is when the escrow contacts your agent store
[11:33] Which Linden: It will be able to say "hey, A wants to buy land from you for this amount of money"
[11:33] Which Linden: And if you say no, then it doesn't transfer the land to the escrow
[11:33] Which Linden: and the transaction fails
[11:34] Which Linden: That's a UI thing, though, the escrow only enables that sort of behavior to happen
[11:34] Ciaran Laval: Ok that makes sense. People have suggested escrow for land sales.
[11:35] Which Linden: yeah, it's important to note that this escrow isn't really the same thing as an escrow for, say, buying a house
[11:35] Which Linden: It can sort of do the same things, but at the end of the day it's just a transaction coordinator
[11:36] Morgaine Dinova: I'm curious why Agent B is responsible for changing the ownership to Escrow, since Escrow isn't an actual agent. Is there a reason why Escrow doesn't do all the ownership changes?
[11:36] Which Linden: Though the important property is that it allows you to see the entire transaction and agree to be a party to it
[11:36] Which Linden: Morgaine: yeah, that's a good point
[11:36] Which Linden: as far as I'm concerned that's an implementation detail
[11:37] Morgaine Dinova: kk
[11:37] Which Linden: if we're doing this cross-domain, the escrow might not have the ability to make those sorts of changes on its own
[11:37] JayR Cela: ok i can just be a whore here / make / tons ove money
[11:37] Ciaran Laval: ??
[11:38] Morgaine Dinova: Oh, Escrow might sit on the gateway and map inter-domain Agent identities. Interesting
[11:38] Ciaran Laval: Ok the only other observation is that I'm assuming the change of ownership is assumed when the object moves to A's inventory
[11:38] Rex Cronon: what if it never goes to the buyer's inventory?
[11:39] Which Linden: You're talking about what if the distribute phase fails
[11:39] Rex Cronon: yes
[11:39] Which Linden: Ciaran, actually the ownership should cahnge when the object gets to the escrow
[11:40] Which Linden: At this point we've decided that if the distribute phase fails, a human has to be involved
[11:40] Which Linden: ... but we'll do everything in our power to make that not happen
[11:40] Rex Cronon: can the buyer get a receipt to be used in case it never gets what it paid for?
[11:40] Which Linden: yeah, that's what the token represent
[11:40] Morgaine Dinova: Although another valid policy is "if anything breaks anywhere, no transaction"
[11:41] Rex Cronon: oh, ok
[11:41] Which Linden: And you can do clever stuff like distribute the object first, and if that fails, then refund the money
[11:42] Ciaran Laval: I see that Which but it changes ownership to Escrow but doesn't change it to A at the distribution phase. I'm assuming it's assumed ownership changes once it's transferred to the inventory, just my lecturer would whinge at me for leaving that out!
[11:42] Rex Cronon: so, with a token it sholdn't very hard to check buyer's invetory to see if indeed it has that object or not?
[11:42] Which Linden: Oh, Ciaran, good point, I'll make that more clear
[11:42] Which Linden: Hopefully, Rex. We don't really have any idea what these tokens will look like though
[11:43] Which Linden: We can give them whatever magical properties we want though!
[11:43] Morgaine Dinova: Which, will it be possible for us to get the texture later? I'd like to pin it up on the wall to think about :-)
[11:44] Which Linden: Sure, I'll put it up on the wiki Morgaine
[11:44] Ciaran Laval: Cool, it looks good Which.
[11:44] Morgaine Dinova: Fantastic, thanks :P
[11:44] Which Linden: I can just make this billboard copyable though
[11:44] Rex Cronon: that would be good too
[11:45] Which Linden changes the name from "object"
[11:45] Morgaine Dinova: Aye, but don;t want to just view it in world
[11:46] Which Linden: Yeah, I'll still put it up on teh wiki
[11:46] Morgaine Dinova: tnx :-)
[11:46] Which Linden: power-of-2 textures are not great for data like this
[11:47] Which Linden: So, yeah! That's the battle plan as it stands
[11:47] Morgaine Dinova: Perfectly readable, good image. :-) But I like pinning things up, go around the house thinking about them
[11:47] Rex Cronon: it is going to be a while untils is live?
[11:48] Which Linden: The major holes in it are: WTF these tokens are actually going to be
[11:48] Ciaran Laval: lol
[11:48] Which Linden: Yeah, it's going to be a while, Rex
[11:48] Which Linden: We're planning on finishing chttp this quarter, and that's just the basis for the escrow
[11:48] Rex Cronon: those tokens don't seem that hard to generate which:)
[11:49] Morgaine Dinova: We need the chttp for idempotency in the AWG services too, so important.
[11:49] Which Linden: Yeah, the tokens could be as much as a response that says "yeah"
[11:50] Which Linden: On the chttp front, I made a commit earlier this week that has the bare bones of an implementation
[11:50] Rex Cronon: or, it could be only one token that has the current state of the transaction?
[11:50] Which Linden: we're also in the process of moving our JIRA tasks to the PJIRA
[11:51] Which Linden: Rex: we considered that, but then it seemed that there was too much risk of a party maliciously modifying the token
[11:51] Which Linden: At least this way the escrow is the only trusted party, not every party has to be fully trustworthy
[11:52] Morgaine Dinova: Yeah, that's what Zero said too. I preferred the token passing method as it's more stateless, but there is an issue with remote agent trust.
[11:52] Rex Cronon: so the escrow can be the only one that knows how to encrypt/decrypt the token?
[11:53] Which Linden: Not necessarily, Rex, actually I wasn't even considering these things to be encrypted at any level other than link level
[11:53] Which Linden: Yeah I prefer stateless stuff too, but we kinda need crap-tons of state, logs, copies of data, etc.
[11:54] Ciaran Laval: Surely one day you'll need an encrypted version for cross world transactions?
[11:54] Which Linden: Yeah, I think so, but then all you do is just use SSL to wrap the chttp sessions
[11:55] Which Linden: All you have to do is hide the data from an eavesdropper
[11:55] Morgaine Dinova: Ciaran's right. These transactions might not even be end to end circuits, but travelling contracts. Not now, but eventually :-)
[11:55] Ciaran Laval: Yup cool sticking to standards to make people secure, that makes sense
[11:56] Which Linden: travelling contracts?
[11:56] Which Linden: What are those?
[11:56] Morgaine Dinova: Just try this kind of virtual circuit approach on a transaction with an agent on Mars. :-)))
[11:57] Which Linden: Oh, uh, hmmm....
[11:57] Morgaine Dinova: It's going to have to be a sent transaction eventually :-)
[11:57] Which Linden: I'mm pretty sure that interplanetary communication counts as "scope creep"
[11:57] Morgaine Dinova: Sorry, thinking ahead a bit there :-)
[11:57] Ciaran Laval: haha
[11:57] Morgaine Dinova: Hahahaha
[11:57] Which Linden: Ha ha ha, I love it though
[11:58] Which Linden: "Mars sim hella laggin'. Takes 4 minutes for my avatar to move!"
[11:58] Morgaine Dinova: Blame Ciaran ... I just extrapolate the principle :-)
[11:58] Ciaran Laval: Hey I just came to observe :P
[11:59] Saijanai Kuhn thinks people should look at the link patterns that were originally used by OpenDoc to handle live updating of objecgts between compound documents
[11:59] Which Linden: Well, we're almost out of time, but I think that I have a clear idea of what to talk about nextt time
[11:59] Rex Cronon: observation can interfere with the results of an experiment:)
[11:59] Morgaine Dinova: Sai: link?
[11:59] Ciaran Laval: lol
[12:00] Which Linden: Yeah, I'm interested in that Saijanai
[12:00] Morgaine Dinova: Lot to think about in this, thanks Which.
[12:00] Saijanai Kuhn: http://www.mactech.com/articles/mactech/Vol.13/13.06/LinksinOpenDocParts/index.html
[12:00] Morgaine Dinova: Thanks Sai
[12:01] Which Linden: I'll check that out
[12:01] Saijanai Kuhn: theyassumed that all sources and destinations were "trusted" but otherwise they covered just about every conceivable kind of link issue, I think
[12:01] Which Linden: OK everyone, I gotta go see a lawyer about some code, so I'll catch you all next week!
[12:01] Which Linden: Ride 'em up!
[12:01] Saijanai Kuhn: take care
[12:02] Rex Cronon: bye witch
[12:02] Which Linden: Appreciate you all coming, BTW, thanks for being a great group
[12:02] Morgaine Dinova: Bye Which :-)