Binance Labs Fellow: Hashmap, a Grin Core Dev, with Knockturn Allee, a Payment Processor
Written by Flora Sun, Director at Binance Labs
Today, Binance Labs would like to introduce our next Binance Fellow, Alexey Miroshkin (a.k.a. hashmap), and his project Knockturn Allee. Alexey is a Grin core developer and and a member of Grin council. He is also part of a Berlin-based cypherpunk cooperative called Cycle42. The goal of Knockturn Allee is to increase the wide adoption of Grin by enabling merchants to accept Grin as a form of payment. As an open-source Grin payment processor, Knockturn Allee currently comes in two forms: API or WooCommerce/WordProcess plugin, which enables merchants to accept Grin as payment without requiring any technical skills.
Alexey started his software engineering career in 1997, worked in a few startups in Russia, Canada, and the US, then joined IBM, where he worked as a software engineer, development manager and CTO of a laboratory in Moscow. Three years ago, Alexey moved to Berlin to join a fintech startup. Alexey started working on Grin in his spare time in early 2018, contributed to different parts of the project, became a core team member, co-organized the first Grin conference Grincon0 and the Grin Berlin meetup.
Before that, he contributed to a few open source projects - OpenStack, Cloud Foundry, Prometheus in addition to his project Klar (A client of vulnerability scanner for Docker images).
Alexey has a masters degree in Mathematics and a PhD in Computer Science. He is a co-author of 4 US patents and several scientific papers.
To learn more about Alexey and Knockturn Allee, here’s a Q&A that I did with them earlier:
Flora: How you discovered Grin/MimbleWimble and what made you want to spend time working on it?
Hashmap: It’s started from a Pavol Rusnak (Trezor CTO) tweet (“Grin paper is the most beautiful cypherpunk stuff”) in October 2017, it got my attention. Then I went to the Real World Crypto conference in Zurich to attend Andrew Poelstra talk. I started learning Rust and was able to contribute in 1-2 months. I liked the elegance of the math, pure cypherpunk ideas behind the project and of course Rust.
Flora: Grin has moved really fast and shipped a mainnet faster than most commercial projects out there. Can you talk about how the Grin developers are able to achieve that?
Hashmap: Grin is a real open source project which is more than just code on GitHub, so it has access to a basically unlimited pool of highly motivated talents, while commercial projects are limited to its workforce. At the same time a paid team has its advantages, it can keep a more consistent pace and can move faster. It took more than 2 years to release Grin, so it wasn't an overnight success, but a sustainable process.
Flora: Can you talk about the genesis of Knockturn Allee? What problem are you trying to solve?
Hashmap: Grin is a form of money, so we need to be able to spend it. It means merchants need some tools to accept it. Grin requires an interactive transaction building, which brings some unique UX challenges. Also, privacy is a built-in feature of Grin and financial sovereignty is quite important. So the goal is to build a self-hosted payment processor which would not require any technical skills from merchants or buyers.
Flora: Why do you call it Knockturn Allee?
Hashmap: Knockturn Alley is a shopping area in Harry Potter world (Grin is highly influenced by that series of books), the word Allee is a tribute to Berlin when the project was born.
Flora: Can you explain the significance of Knockturn Allee to Grin?
Hashmap: It would help to support one of the roles money has - a medium of exchange and enable Grin usage for less technical people.
Flora: What is the main technical architecture of Knockturn Allee?
Hashmap: There are 2 parts:
1. Commerce platform plugins (Wordpress/WooCommerce, Shopify, etc.) installed on a store side to provide seamless integration with the payment processor.
2. The payment processor itself which could be installed on a small cloud instance or even co-located with a store. It’s a single Rust binary and Postgres database which works with a Grin node and a Grin wallet instance. It’s designed to be very scalable and fast.
Flora: What were some design trade-offs you’ve made for Knockturn Allee?
Hashmap: While it’s designed to have a minimal number of dependencies it’s still a multi-component system which requires some installation steps and maintenance. Our goal is to minimize it as much as we can.
Flora: What are some features that took a lot of longer than you planned and why?
Hashmap: Web UI because of lack of UX expertise and poor CSS/HTML skills.
Flora: What are some features that you made available initially and why?
Hashmap: Only one e-store platform is supported at the moment, UI is very minimal, the focus was on the core use case to see how it works and then improve upon it based on users feedback.
Flora: What are some features that you plan to work on and why?
Hashmap: Platform plugins, UI, integration with different wallets and support of upcoming features in Grin like I2P. Last but not least we’d like to support donation use case which requires some additional functionality.
Flora: You have made Knockturn Allee open source, what do you hope the developer community will use it?
Hashmap: The plugin ecosystem is a great fit with the open source model and requires very different skills. Also, we hope people will use it and see different ways to improve it.
Flora: What kind of help would you like to see from the developer community for Knockturn Allee?
Hashmap: Plugin development for different e-commerce platforms, UI work and of course Rust skills are welcome!
Flora: What kind of help would you need from the non-developer community?
Hashmap: Ideas on how we can improve UX, suggestions from users, educational materials (how-to’s) and of course people are welcome to use it and promote it.
Flora: What do you hope to get out of the Binance Fellowship?
Hashmap: More time to work on the project, a chance to reach a larger audience, and also some business expertise.
That’s it, folks! If you would like to check out Knockturn Allee and contributing to the codebase, you can visit the project Github page. Knockturn Allee is crowdfunding their project on Gitcoin, and you can support the project along with us here.