Crytpograph-Hash-Algorithm-Secured Mirroring


CHASM now officially has a mailing list! The lists are posted at We have the traditional low-volume chasm-announce and the always exciting, and my personal favorite, chasm-dev lists. We encourage all people interested in changing Linux mirroring, even those working on competing products, to join.


A Look Into the Mirror: CHASM

The CHASM protocol is still a work-in-progress; however, the part of the protocol that pertains to peer-to-peer communication is fairly complete. All communication between nodes will be application level messages as described in the technical design document. Any feedback about the design is more than welcome; my email address can be found in my git tree and we do have an irc channel #chasmd, so feel free to stop in and start up a conversation.

For the implementation of the protocol, I will be using Boost.Asio and all communication will be done using asynchronous calls -- at least for this initial version. The upstream (server) node will be responsible for receiving and servicing connections. The downstream (client) node will be on a timer that periodically checks with the Pool-Manifest Oracle for manifest modifications, and, when necessary, will connect to one or more upstream nodes to update the collection. Both nodes will communicate with the Pool Manager (handles active blobs) to read and write blobs.

In closing, my git tree is here and soon more of my actual code will be pushed there. Again, for feedback on anything I mentioned or on coding issues that you find, please contact me.


Reflections on a Mirroring Solution

Hello Fedora Community! Thank you all for making the Fedora Summer of Code possible. I am excited to announce that I will be working on CHASM this summer with my two mentors Ben and Robert. They have developed a great solution to a well-known problem, and I am grateful for the opportunity to work with them.

In short, CHASM is a Cryptographic-Hash-Algorithm-Secured Mirroring solution, it provides a true peer-to-peer network for keeping mirrors in sync. rsync, the canonical tool used for mirroring, has many deficiencies as it pertains to mirroring large repositories. Existing solutions that solve problems inherent to rsnyc, have used a top-down approach, hence, continuing their reliance on rsync for low-level functions. CHASM has been designed specifically for mirroring from the bottom-up. It will provide a stand-alone solution as well as a modern foundation for other high-level tools to run on.

Here is my FSoC proposal which provides a brief insight into who I am, along with my responsibilities and projected timeline for the project. The CHASM site contains more information and has an Atom feed for those interested in following all developer posts.


Copyright © 2010 Robert Escriva ¦ Powered by Firmant