I'm sure I'm violating the TOS in some horrible ways, but here is the source code:
http://www48.zippyshare.com/v/sw2oSI6B/file.htmlSome observations reading the paper:
The initial prose is marketing jumbo, but later it does attempt some formalization. It is a bit overselling (the algorithm is semantically as secure as Tendermint is in PoS case).
The key takeaway is the usual DAG stuff - removing the need for transactions/blocks/swirdldoodads to be atomicized into sequentially serialized blocks, it's possible to "bury" each transaction smoothly and by more verifiers who don't need to act fully serialized - the more so the longer you go into the past. The price you pay is that you must establish total order to serialize events later on your own via a graph rule (the "virtual voting") - to resolve post-facto conflicting DAG nodes. Swirdl sadly doesn't improve on this bound in any way.
This is all talked about in much deeper detail in
SPECTRE. You can also find far better formalization as well as a nice intuition of what goes on in Aviv's paper.