Easwar joined us during the summer as an intern to work on our Distributed Key Generation (DKG) protocol. He’s a PhD student at Purdue University and will continue his research there after the summer. We talk about how Easwar found out about DFINITY and how the opportunity for the internship came up and we scratch the surface of his work on DKG. Tune in and enjoy our conversation!
All right. Welcome to yet another Episode of Inside DFINITY. I’m still in Palo Alto with the DFINITY team. And today I am sitting down with Easwar.
Cédric: Maybe a very simple question to start with:”What is it that you do at DFINITY?”
Easwar: Currently, I am an intern for the summer here; but otherwise, I am a PhD student at Purdue working with professor Aniket Kate. So, I am here for this summer.
Cédric: Okay. And what is it that you have been working on here at DFINITY?
DKG (Distributed Key Generation)
Easwar: At DFINITY, one of the problems that I have been trying to address is DKG (Distributed Key Generation). If you look at their system, they have different nodes that actually sign certain transactions with a share of a key. And DKG is a mechanism to give a share of a secret key to each of users.
We are trying to come up with a scheme, which scales to huge number of nodes. So, still the load on the network is pretty low – the amount of data or the communication complexity is pretty low. This is the problem that I have been working on here.
Cédric: So that people can follow who might not no be familiar with the term DKG. DKG is Distributed Key Generation.
Cédric: When we talk about the keys, those are the cryptographic keys in a public-private key set-up.
Easwar: One of the beauties of this Distributed Key Generation concept is that everyone will have the share of the secret, but no one has the complete secret. And for anyone, to generate the complete secret key, at least, a subset of the users need to come together.
That is important for the validators in DFINITY’s consensus. Every validator or dealer, every node in the system signs the transaction using his secret key share, which is aggregated… the signature share is aggregated later at some point.
How did you first hear about DFINITY?
Cédric: Before we further dive into how we’re solving this problem, what exactly you have researched, and maybe some of your findings of this summer. You mentioned that you are a PhD student at Purdue. How did you first hear about DFINITY?”
Easwar: I was there at a conference called BPASE in Stanford, where Timo and Mahnush gave a talk. Later I was discussing with my advisor, and he suggested that I write to Mahnush. After that I wrote to Mahnush, spoke with Mahnush and Timo, and that’s all. I am here.
Cédric: In what field, are you doing your PhD research?
Easwar: I mean, broadly it is applied cryptography, but the more specifically on the multiparty computation protocols with applications to blockchains and other blockchain systems, like consortium-based blockchains, permissioned blockchains, and in the problems related to this field. Besides, from your perspective, doing research in the field, besides DFINITY.
What are some other projects that you have closely followed or find interesting?
Easwar: There are a lot of interesting protocols and systems that are coming up, and I think there is exponential growth of such systems. Specifically, I really like the Zero-knowledge proof concept and systems which use zero-knowledge, Zcash, and other systems. But there are also a lot of other applications, like Sia is a project with distributed storage, and there is TrueBit, and, of course, Ethereum, which is growing continuously with people contributing different ideas.
Cédric: I try to follow as much as I can, though not completely because there are so many ideas out there, so many people working on it. And all are really interesting. That is actually, that is something what I really face that a lot of people, of course now, when I spend 100 percent of my time in the blockchain space or on a blockchain project, they come up, with all kinds of approaches, asking for my opinion.
Cédric: And very often I have to default to saying, “I do not know the answer. I do not even know the project just because I feel that I am so focused on moving us forward, and kind of internally-focused that I do not have time, I do not take time to observe the space, like I used to do before when I was comparing multiple projects.
Cédric: What is next for you? I think you are ending your internship here in about two and half weeks.
Easwar: In three weeks, I will be back to Purdue and working on my thesis problems and any other interesting problems that probably take I away from here.
Cédric: What are some of the problems and ideas that you deep dove during your time here, during your internship?
Easwar: The DKG problem itself is a very interesting problem, especially when you have large, huge networks. The protocols that are existing now are interactive in a nature, where the communication complexity grows higher with higher number of nodes. That is one thing.
We are trying to use zero-knowledge proofs so that the dealer can generate a share and just put on blockchain, saying, “Okay. You also give proofs. Saying these shares have been generated properly.
The take-away from this for me would be knowledge on zero-knowledge proofs, where confidential transactions are used in a lot of other schemes.
Proof of Computation
I think it has a lot more potential than what one could come up. One thing is the proof of computation – many people are attempting to actually solve the proof of computation efficiently. Till now there are schemes, but not so efficient so that it can be deployed in wider network. That is one thing that knowledge on that could be my take away from this.
Cédric: You mentioned the term a few times: zero-knowledge or zero-knowledge proofs. Right Could you explain for those who are not familiar with the term, cause I feel it is a term that I hear very often in the blockchain space. So, zero-knowledge is a very interesting idea, where you prove you know something, without actually revealing what is that you know.
Easwar: It is a very simple example that I found online, one small game. Say there is a person who is color-blind and he is holding two balls – one is red and the other one is green – and the other person says – “I know they are of two different colors, but the other person is color-blind. He says, Prove it to me. So, one thing that he can ask him to do is, “Take the balls, put it behind your back, and then shuffle them. I will tell you whether you have shuffled or not.
Whenever you shuffle, the person who can see the color can say, “Okay. You have shuffled. Otherwise, you have not shuffled. That is how I can convince the other person that I know there are two different colors, without actually telling him or giving apparatus to actually differentiate the colors. This is one fun protocol, but there are more complex protocols.
Analogy Examples for Zero-Knowledge
Cédric: Do you have other analogies because, I think, these are extremely helpful for the people who have not spent that much time in the space to understand the concept? Beside, that like, the concept of a color-blind person with two balls, are there other concepts that can be used as an analogy for zero-knowledge?
Easwar: I’ve seen many people quoting some standard examples, like I know solution to a problem like a Sudoku. Say, you give me a Sudoku puzzle, I say I know the answer to it. One way to prove that I know the answer to without revealing the answer is to “Just map all the numbers in one-to-one mapping to another Sudoku puzzle, and trying to reveal one row or one column of the puzzle at a time.
Every time you ask me to open a row or column, you will see that it actually holds a certain property. But before every question I actually reshuffle the Sudoku again. That will convince you that, “Okay. I know how to solve the Sudoku and probably I have the solution to the Sudoku.”
Additional Concepts in Cryptography
Cédric: What are other hard problems or terminology that might not have reached, main, like, because zero-knowledge proofs is something that recently gained a lot of popularity? What are some other concepts in cryptography?
Easwar: I think that is a very intriguing concept and very interesting in the sense that… So, the main aim is, like, say you have your salary, I have my salary, and we need to know whose salary is higher without actually revealing our numbers? This problem is, like, called a millionaire’s problem and has been there for very long time.
Multiparty Computational Protocols
Easwar: But the idea is that we all should be able to compute some things, some functions without revealing our inputs. Where privacy is, like this is one beautiful feature that my inputs are private to me, I I am not revealing the information.
Multiparty computational protocols are gaining ground, like coming into practice. Till now it has not been much, I would say… They are very complex in nature, but with these zero-knowledge poof concept and so many other things, I think they will come into practice. I would love to see all of them in practice.
Cédric: I also hear from my friends that certain big companies are going, trying to get these protocols into design, and systems like that. Where you are trying to design an object without actually revealing the actual final product. So, you say these are my requirements, and what is your input, what we can do.
How did you first hear about crypto and block chain?
Cédric: How did you first get involved or fascinated by it?
Easwar: When I first joined my PhD, I was broadly interested in security. I didn’t pinpoint a problem to work on, but then I attended a course and a few talks by my professor who works on the blockchain, anonymity, andother networks like that. So, I got very interested.
Cédric: And how long ago is this? When did you start your PhD?
Types of Security
Easwar: I started in 2015 2015. A few years ago. But I started working with my professor from 2016. I took my time, I ventured into all different flavors of security – there is theoretical cryptography, there is applied cryptography, there is systems security, but I felt that the blockchain is opening up a great deal of problems. I mean it is opening great opportunities and with that – many challenges, many security and privacy challenges. I felt those have direct implications to people.
When you build a big cryptosystem, if you see bitcoin, it has penetrated into the world… Any issue with bitcoin affects all the people at one single shot. I think I am trying to address those issues, I thought its are very… it has huge impact on many people at once. So that’s how I ended up into blockchain and cryptocurrency.
How would you describe DFINITY?
Cédric: And, after hearing about DFINITY and the problems that Mahnush and the team that are working on, “How would you describe DFINITY?”
Easwar: DFINITY is a wonderful idea with trying to take blockchain and do something awesome. I mean, in my words, I think they can explain better. But in my words what they are trying to come up with is basically a computing system where anyone can submit certain transaction, certain computation and just get the results out.
This is how you explain any blockchain system, but the beauty of DFINITY is the threshold relay, and how the pseudo randomness is maintained across different epochs and the consensus algorithm, which is very fast. I think the way they are implementing, I am really intrigued about this WebAssembly, how they deploy the modules in the system of WebAssembly, and get the system running. You pointed all in all the right directions.
Cédric: Every time I talk to someone and asks him this question, I realize not only how far we have come, but also how much we still have to build!
Easwar: It is such interesting. We are full of, like, open questions and interesting problems to solve. I mean, at least for students like me, it feels very exciting to see the problems because I have something to solve.
Cédric: Great. Thanks a lot for your time and answering some questions, and of course, for all of your inputs during the summer. It has been very valuable. We did not have too much of overlap over the past two and half months but I have seen you work here and there, and I am super excited to see to come creation and be a part of, hopefully, what DFINITY technology will bring to the world.
In case you are also interested in joining DFINITY as a student, PhD Student, whether joining for internship or full-time, then go to our jobs page under dfinity.org/jobs or reach out to some of us directly. We will find some of our team members on our website.
With that, we will talk soon.