An Interview with Poramin Insom, Zcoin’s lead developer and founder
Q: What were you doing before Moneta/Zcoin and how did you get involved in cryptocurrencies?
I was working on the Vertcoin project and studying Security Informatics at Johns Hopkins. I got involved when the Bitcoin price hit 1,300 USD at that time. It grabbed my attention and I wanted to see how I could participate in it.
Q: In the fall of 2014, for your Masters in Security Informatics from John Hopkins University, you wrote a paper on how to practically implement Zerocoin in a cryptocurrency using stealth addresses and the RSA factoring challenge. What made you choose this topic and how did you first hear about Zerocoin?
I selected this topic because I was working on Vertcoin at the time and looking for a feature that could make anonymous transactions, and Zerocoin was the perfect match for this requirement. Also, I knew that Matthew Green was one of the inventors of the Zerocoin protocol, as a result, I think it was a great privilege to work under the supervision of a renowned cryptography researcher.
Q: How was it like having Matthew Green as your faculty mentor?
To be honest, I rarely had the opportunity to talk to him due to his research, teaching and speaking. He did however had some recommendations on RSA UFOs when I was stuck at that point.
Q: There’s a lot of debate on the ‘trusted setup’ requirement of Zerocoin. What made you pick the RSA factoring challenge to use as the trusted parameter and what other options did you consider?
I had initially chosen to use RSA UFOs, but I ran into issues while implementing it and saw several drawbacks. The author of the RSA-UFO paper was also at the time uncommunicative. Of course I could generate my own RSA parameters but this would raise endless questions about whether the p and q were destroyed which would have allowed forged Zerocoin spends. My idea was to mitigate this risk to a third party by picking the parameter used in the RSA factoring challenge which took special care to destroy the keys, had a sizeable bounty to break it and was done back when the RSA was an organization that strongly valued privacy, even exposing the government’s attempts to install the Clipper chip.
Q: Moving forward, are there any plans to replace the parameters?
I actually do have a plan on this and do have a technical paper on hand. But I do think I need a PhD in cryptography to help me code on this matter. If someone would like to be the world’s first person to have a practical implementation of Zerocoin without trusted parameters, please do join us!
Q: With Zerocash which was supposed to be an improvement of Zerocoin, why did you choose to stick with Zerocoin in your implementation?
Zerocash was designed to solve the proof size of Zerocoin and the technology also allow you to hide transaction amounts. In my own personal opinion, especially with such new technology, it’s not a good idea to do this especially in Zcash’s setup since you cannot track the total supply of money. For example, there was the buffer overflow bug in Bitcoin which was detected easily and fixed, but with Zerocash technology, you may not be able to detect such flaws. Zerocash’s computational requirements are also much higher than Zerocoin with a Zcash private transaction taking several minutes on a powerful desktop computer while with Zcoin, it only takes a few seconds. In a way it’s a tradeoff between disk space and computing power.
I also believe that the tech behind Zerocoin is much more well understood and has stood the test of time. If RSA was broken, the consequences would be pretty severe. If zk-SNARKs was broken, only Zcash would be affected.
Q: What challenges did you face when implementing Zerocoin from the paper and libzerocoin?
Performance is the main problem in the Zerocoin protocol. When I tried to follow the Zerocoin paper exactly as it was stated in the paper, I found it really slow and there were tons of performance issues. If you think the initial load of the Zcoin wallet is slow now, you should have seen Zerovert (my first attempt at implementing Zerocoin).
Q: What is your vision of Zcoin and what do you hope to achieve with it?
My hope is that Zcoin will be one of leading privacy cryptocurrencies in actual use and you will see in the roadmap that many of our efforts are geared towards that goal.
Q: What do you think Zcoin’s advantages are over other anonymity coins? And what are its drawbacks?
Zcoin uses the Zerocoin protocol which is considered proven technology. It was examined by many renowned cryptographers in the world and while there are many other anonymity coins that claim to be secure, such claims were not backed by academic or peer reviews or are less well peer reviewed compared with the Zerocoin protocol.
The Zerocoin protocol has drawbacks in term of proof space, but at the current stage, storing space is not much problem for users. Trusted setup phase also can be seen as a drawback, but we have already mitigated that risk to RSA while awaiting a trustless setup solution. Finally, currently, members in an accumulator cannot be too big due to calculation time, but even with this issue, the Zerocoin protocol already has a much bigger traceability set than existing anonymity coins in the market.
Zcoin gives a very nice balance of usability and anonymity which I feel fills a nice spot in anonymity coins. Being based on Bitcoin’s core code also makes it so much easier to integrate and utilize Bitcoin’s ecosystem and code developments.
Q: You have recently faced a lot of challenges with Zcoin, what do you think you have learnt from it and what would you have done differently?
I would say I want to improve my communication skills, because many problems can happen with miscommunication.
Q: In 2014, you had founded Vertcoin which enjoyed some success, what was your vision of Vertcoin and describe your experience? Are you satisfied with what you achieved with Vertcoin?
My vision about Vertcoin originally was a coin that focused on ASIC resistance. I have learnt a lot from Vertcoin and I used this knowledge to develop Zcoin. I do want to return to developing Vertcoin in the future, but my current focus is on Zcoin especially when I do have an obligation to my investors.
Q: You also dabbled with Zerovert which was your first attempt to integrate Zerocoin into a cryptocurrency. What challenges did you face and why did you not continue with it?
As you can see, even with my first attempt to integrate the Zerocoin protocol into an actual cryptocurrency, I wanted to tie it with Vertcoin via merged mining. but the Vertcoin community did not like the idea. At the same time, as I had put in a lot of effort in making it the first cryptocurrency to implement Zcoin without any ICO, I could not opensource it until I could be ensured that my work was rewarded. Without investors this was impossible. This was why I had discontinued the project at that point.
Q: Would you return to Vertcoin development in the future and do you think it can make a revival?
Of course, I’m happy to return to Vertcoin development, but maybe on a part-time basis due to lack of funding in Vertcoin. There are a lot of features that can be implemented into Vertcoin, and with those features, it can make Vertcoin become an interesting coin again.
Q: What made you decide to return to Thailand instead of staying in the US?
I had several reasons but mainly that at the time in 2014 unlike now, there were not that many jobs that centered around blockchain development. Ethereum wasn’t even out and still in development. I really want to work in this field. I had a few choices whether to find a job in a blockchain startup or come back to Thailand and start my own company to develop blockchain tehcnology for Thailand. Obviously, the second choice is far more challenging to me, and it’s not just about money, it’s about something that I learnt at Johns Hopkins and can help my country to become a leader in the blockchain industry (See Satang).
Another reason would be my family and Thai food. I have a big family in Thailand, and as you know Thai food in the US is not the same as Thai food in Thailand although they claim it is authentic. I think many Thai people face this food challenge as well.
Q: What do you do in your spare time? Any hobbies?
I’m mostly playing DOTA2, reading business books and listening to spiritual development podcasts.
PS: As English isn’t Poramin’s first language, we have made edits to improve the language and clarify certain explanations while retaining its meaning.