Nice work. Glad to hear this isn't dead. Anyone looking at deploying this should give a serious look at CONAME ( https://github.com/yahoo/coname.) as well, which was developed at yahoo/google as part of end-to-end and is in large part based on CONIKS. It's also written in go, was aimed at deployment on real cloud infrastructure with a distributed database backend, and offered different scalability trade offs that are far better suited to deployment at scale. I think there is also a javascript client *somewhere*.
As I recall the rough difference was : Unlike CONIKS, where users had to check every version of the tree for consistency, dename/coname allowed users to merely check a counter attached to their key entry in the latest tree and see that it had not been incremented. Other dedicated verifiers were responsible for checking that counter values were correct over multiple version of the tree. This greatly reduced the load on both the server and the bandwidth requirements for clients. At any reasonable scale, having every user download log(n) elements in a tree every epoch seemed prohibitive, hence the design tweak. The cost of this was it was much harder to completely hide the number of users added to the tree in a given epoch. Surprisingly, completely hiding such information was not a particularly pressing concern during development. There was a thread on it with far mere details here https://moderncrypto.org/mail-archive/messaging/2015/001771.html. I didn't work on this project, I was just around during its development, so my description may be a bit off. Thanks, Ian On Mon, Dec 5, 2016 at 2:17 PM Marcela Melara <mel...@cs.princeton.edu> wrote: Hi everyone, We are happy to announce our first release of coniks-go, a re-implementation of CONIKS [1] in Golang: https://github.com/coniks-sys/coniks-go/releases/tag/0.1.0 This project started as a Google Summer of Code project in 2016 as a collaboration between the TorMessenger Project, Princeton University, and the EPFL with the goal of integrating CONIKS into Tor Messenger [1]. Coding-wise most heavy lifting was done by Huy [2] with the mentorship of Marcela [3], Arlo [3], and Ismail [3]. Although, coniks-go certainly still has some open issues and rough edges [4] we feel that now is a good time for a first release to get some early feedback from the community and potential collaborators on board. Find the project’s code and further pointers to the (API) documentation [5] here: https://github.com/coniks-sys/coniks-go Feedback on the implementation is much appreciated. Feel free to comment and to ask questions here on the mailing list or directly open issues on Github [6]. For usage instructions please have a look at the project’s Readme [7]. To get an idea of the next steps for this project, we invite you to look at the project’s Github milestones [8] as well as our past developer meeting notes [9]. We also plan to continue working on a Tor Messenger integration. Looking forward to your feedback, The CONIKS team [10] [1] https://blog.torproject.org/blog/tor-messenger-020b2-released [2] https://twitter.com/Celeron633 [3] https://twitter.com/mas0mel, https://twitter.com/arlolra, https://twitter.com/KreuzUQuer [4] http://github.com/coniks-sys/coniks-go/issues [5] https://godoc.org/github.com/coniks-sys/coniks-go [6] https://github.com/coniks-sys/coniks-go/issues/new [7] https://github.com/coniks-sys/coniks-go/blob/master/README.md [8] https://github.com/coniks-sys/coniks-go/milestones [9] https://github.com/coniks-sys/coniks-go/wiki/Developer-Meeting-Notes [10] https://coniks.cs.princeton.edu/team.html _______________________________________________ Messaging mailing list Messaging@moderncrypto.org https://moderncrypto.org/mailman/listinfo/messaging
_______________________________________________ Messaging mailing list Messaging@moderncrypto.org https://moderncrypto.org/mailman/listinfo/messaging