//----- Sagattarius A -----//

And the new precedent of government sanctioned computer code

Demo Site

Pax Somnius
Tech Stack: HTML, CSS, JavaScript, Bootstrap, React + Django(front-end), Python, pandas, numpy, Django REST API, Redis, PostgreSQL, APScheduler, Route 53, Heroku, Git, GitHub.

Logic V1

Users can send 1a or 25 algo to the mixer using a generated qr code. The QR code must be generated with a destination address and the amount to send 1 or 25, the qr code contains instructions for the Pera mobile app on where to send the algo and what to put inside of the note field, the note within the note field is a UUID generated by the backend used to identify the transaction and its destination address, once the mixer has received at least 3 transactions it will begin to mix the transactions and randomly send the mixed transactions to their respective destination addresses. If 3 transactions of the same denomination are not received within 12 hours the funds will be returned to the original sender.

App Architecture

The app is using a Django REST API backend with a React front-end being served through Django, all of this is hosted on Heroku.

Front End

React and Django?!!? Yes, this allows for the use of React components within the security of a Django deployment. The front-end is being served through Django and is using the Django templating language to render the React components. The front-end is using React Bootstrap for styling and algorandQRcode for generating the QR codes.

Back End

The backend was mostly coded by tinyleafgreens and is using a Django REST API, initially the backend was a standard Django REST API deployment and we quickly realised we would need async workers to scale the amount of concurrent requests we could handle. After some trail and error We decided to use Redis and APScheduler to handle the async workers and the scheduling of the mixing, the current architecture has been tested to 10~ concurrent users at 50rps while delivering sub 600ms response time to 100% of requests with 0 failures.


The story of Sagattarius A

This project began under the umbrella of Algoneer, about a year ago during the 2021 crypto bull run I found myself a year out of university, with a Law degree and no intentions whatsoever on becoming a Lawyer. The initial motivation to go to law school was borne out of the realization that many people around me at the time,ages ago back in 2010, had no idea how the system that governed us worked, okay the raw truth is I had found a little known legal fact a few years earlier and created a very small business around it that did quite well.

This success/reflection became the drive to go to law school, learn more and combine my love of technology with my new found knowledge of the law. I had a few ideas for lawtech projects that I wanted to work on, but all of these required some modernization of my coding skills, at this point early 2021 I hadn't coded anything beyond a static site in 7 years!

So I embarked on a journey to learn how to code again at the current meta, which after some research I concluded was Python for AI, React/JavaScript for web and Algorand's pyTeal for smart contracts, I then decided to make a few DAPP's for the newly minted Algorand DeFi scene as a learning experience in cutting edge Web Development, that would encompass React JavaScript and a blockchain tech.

Thus Algoneer then Sagittarius A were born, originally slated to be a copy of tornado.cash on the Algorand blockchain minus the smartcontract's and with let's just say a more compliant backend architecture, This baked in compliance was the main selling point of the project, as it would allow for the creation of a new class of DeFi product that would be compliant with the current regulatory landscape.

“U.S. Treasury Sanctions Notorious Virtual Currency Mixer Tornado Cash” - Press Release

Where there is smoke....

Fast forward to Aug. 8, 2022 we have launched V1 of Sagittarius A, and we are now in the process of developing V2, which will be a complete re-write of the backend architecture, and a complete re-write of the front end, copying the logic and data visualization of tornado.cash, allowing secure anonymization of transactions on the Algorand blockchain.

That day the news broke that tornado.cash had been sanctioned by the US Treasury and the project was shut down, we had been working on our version for awhile, and I had been looking forward to the day when we could launch it, and now it was probably all for nothing.


No light at the end of the tunnel

So after months of internal debates, creative app architectures, and legal research we finally came to the conclusion that if our mixer was to ever become a major player we would be shut down and sanctioned just like tornado.cash, the only way we could come up with to be 100% compliant would be to use a centralized KYC/AML service, which would kind of defeat the purpose of the mixer by removing complete anonymity from the transactions.

So that's the end of Sagittarius A for now at least, I will continue to work on it in my spare time and I may release a fully compliant version in the future but for now I and the Algoneer team are going to focus on other projects.

Home | Projects | © 2020 www.paxsomnius.com