Perfect.

On Thu, Jun 20, 2013, at 03:57 AM, Michael MacFadden wrote:
> Upayavira,
> 
> 
> We will put a wiki page together.  We will also have the discussion here.
> That said, I would like to select at least three people who sign up to
> shepherd the discussion.  Everyone is welcome and the committee members
> won't have any specific authority.  I am just looking for people to form
> a
> working group and commit to making sure we can define and meet some
> objectives.
> 
> ~Michael
> 
> On 6/19/13 6:25 PM, "Upayavira" <u...@odoko.co.uk> wrote:
> 
> >I'd encourage you to fire up a wiki page and start the discussion here.
> >I suspect due to te nature of the topic, participants will quickly be
> >self selecting. 
> >
> >Upayavira
> >
> >On Wed, Jun 19, 2013, at 10:11 PM, Joseph Gentle wrote:
> >> On Wed, Jun 19, 2013 at 1:26 PM, Michael MacFadden
> >> <michael.macfad...@gmail.com> wrote:
> >> >>To start, I want to build a generic P2P OT container. This is a simple
> >> >>wrapper that contains a set of OT documents and defines a network
> >> >>protocol for keeping them in sync. The container needs to be able to
> >> >>talk to another instance of itself running somewhere else and
> >> >>syncronize documents between the two instances.
> >> >>
> >> >>Thats all I want this container to do - it should be as lightweight as
> >> >>possible, so we can port it to lots of different languages and
> >> >>environments. I want that code running in websites, in giant server
> >> >>farms, in vim, and everywhere in between. It won't have any database
> >> >>code, network code, users or a user interface (though it'll need APIs
> >> >>to support all of that stuff). At its core it just does OT + protocol
> >> >>work to syncronize documents.
> >> >
> >> > I strongly suggest we separate the OT Algorithms, the application
> >>level
> >> > protocol, and the network transport layer.
> >> 
> >> The network transport layer should definitely be separated out. I'd
> >> also like to separate out the OT functions themselves (a la
> >> share/ottypes).
> >> 
> >> I'm imagining coupling the concurrency control system and the
> >> application level protocol. This coupling might not be needed - I
> >> don't know enough yet to be able to tell. I think we should focus on
> >> figuring out what OT system(s) to use first.
> >> 
> >> >>The OT itself I imagine building along the lines of Torben Weis's P2P
> >> >>OT theory that he made in Lightwave:
> >> >>https://code.google.com/p/lightwave/ . Briefly, every operation gets a
> >> >>hash (like git). We add tombstones to wave's OT type and remove
> >> >>invertability, so the transform function supports TP2. We also add a
> >> >>prune function (inverse transform) which allows the history list to be
> >> >>reordered (so you don't have to transform out on every site). The hard
> >> >>part is figuring out which operations to sync, and which operations
> >> >>need to be reordered. I'd like to go over the details with Michael
> >> >>MacFadden and anyone else who's interested - there may well be a
> >> >>better system that we should use instead. If there is, I'd like to
> >> >>know about it now.
> >> >
> >> > I think this is another interesting area.  One thing to consider is
> >>that I
> >> > am not sure if the linear model that wave used is even the right
> >>option.
> >> > If we start manipulating things like JSON Objects, Java Object, XML,
> >>or
> >> > nested documents, a hierarchical path mechanism may be best.
> >> 
> >> Yes. For ShareJS's JSON OT type, operations are defined by a path (a
> >> list) and an operation at that path. I'm not convinced by this design
> >> anymore - we should definitely discuss it.
> >> 
> >> > My other
> >> > instinct here is, we should make sure that we base the OT on something
> >> > that has been proven to be correct.  There has been some work to
> >>evaluate
> >> > OT systems and prove that they are correct and solve the proper OT
> >>Puzzles
> >> > and support the required properties.
> >> >
> >> > Two other things that we need to consider.  Beyond TP1 and TP2, there
> >>are
> >> > also IP1, IP2, and IP3 that you need to think about if you are going
> >>to
> >> > support group undo, which in my opinion wave needs to support.  If you
> >> > can't undo things in collaboration, then you have problems.
> >> 
> >> Using tombstones, I don't know how you can implement IP3. I've a mind
> >> to abandon formal invertibility, and simply rely on undo stacks for
> >> user level actions. But if we can find an architecture which meets our
> >> needs and can support invertibility, then that would be even better.
> >> 
> >> > Basically, I am not confident that we know that wave's OT or what is
> >>in
> >> > lightwave is really what we want.  I am not saying that they are not,
> >>I am
> >> > just saying that I don't think we really have stated what we NEED
> >>from the
> >> > OT and then proved that a particular approach salsifies those needs.
> >> > Simply having a demo of something that works in a toy environment is
> >> > likely to have holes that we don't see until much, much later in the
> >> > development cycle.
> >> >
> >> > My recommendation here would be for us to form a small committee to
> >>do a
> >> > literature review on the topic and to foster some technical
> >>discussion.
> >> > The result should be something in the wiki that lays out a plan that
> >>the
> >> > community can comment on.
> >> 
> >> I completely agree. I don't know enough about what our other choices
> >> are. You're much better read than I am and you're better connected to
> >> the academic OT community. Would you be interested in organising /
> >> chairing this committee?
> >> 
> >> >>I'm also thinking about full end-to-end encryption. Especially in the
> >> >>wake of the PRISM stuff, I'd quite like to make something secure.
> >> >>Snowden: "Encryption works. Properly implemented strong crypto systems
> >> >>are one of the few things that you can rely on. Unfortunately,
> >> >>endpoint security is so terrifically weak that NSA can frequently find
> >> >>ways around it." --
> >> 
> >>>>http://www.guardian.co.uk/world/2013/jun/17/edward-snowden-nsa-files-wh
> >>>>ist
> >> >>leblower
> >> >>.
> >> > I like this idea.  There is a paper from France that talks about
> >>nested
> >> > hashing, digital signing, etc that proves the authenticity of
> >>operations
> >> > that might also be worth looking at.  I will try to dig up the
> >>reference.
> >> 
> >> Great!
> >> 
> >> -Joseph
> 
> 

Reply via email to