MONET Development Update (9/18)

On September 5th, 2018, we released a new version of Babble (v0.3.0) and ChatterBox, with some important improvements working towards the roadmap. The updates include the introduction of FastSync and some major refactoring of the core consensus methods, as well as improvements to the usability of the mobile demo application. The former (FastSync) represented one of the biggest challenges, which we’ve been working on and off for over a year. The latter (ChatterBox improvements) we’ve worked on over the last month.
Babble
Lamport Timestamps
We replaced the original “fair” ordering described in Leemon Baird’s whitepaper with an ordering based on Lamport Timestamps as described in “Time, Clocks, and the Ordering of Events in a Distributed System”, where ties are broken by comparing Event hashes. The main reason is that the “fair” ordering is not topological, i.e. it is possible for an Event to appear before its parents.
Frames and Roots
We introduced the new concept of Frames, which are standalone sections of the Hashgraph. They are vaguely analogous to IFrames in video encoding, which enable fast-forwarding to any point in the video without processing images before that point. Indeed, our Frames are the keystone for the FastSync protocol.
FastSync
FastSync enables nodes to catch up with other nodes without downloading the entire history of gossip. Check out this article for a detailed explanation of FastSync. There are still some grey zones in the protocol and we invite you to share thoughts and remarks on github or Babble Slack.
ChatterBox
Version 0.5.0 of ChatterBox has been released. We’ve made a number of basic changes to improve the apps usability:
- Sharing group and contact details is now much easier.
- Group members are displayed in the list of groups on the homescreen and can also be accessed from chats.
- The process of creating new groups has been streamlined.
- Contacts and groups can be deleted without needing to delete the entire database!
Check it out on the Play Store HERE!
There is still lots to do! In particular we need to enable mobile Babble to use a database rather than in memory storage, this will allow chats to persist across conversations. There is also work to be done to enhance ChatterBox’s P2P networking capabilities, currently ChatterBox only works between devices on the same wi-fi network.
These improvements will be passed into the mobile SDK once ChatterBox is dismantled into separate components which will then form part of the SDK.
To get a better understanding on how Babble works under the hood, check out the documentation here: docs.babble.io
We look forward to your thoughts / comments / suggestions, and we are open to collaboration! Just ping us on Telegram (https://t.me/MonetNetwork) or email at ping@monet.network

