Artem Grigor on Aragon, the development of private voting, and the technologies of the future in web3 "ZK is the first sign of what's coming"
6 December 2022

About the background

It all started in the University — around the 10th grade. My brother was interested in cryptocurrencies and trading. I decided to give it a try. Some time passed, and here I am, trading on exchanges with some classmates. It was 2017 — a frenzy, exchanges closed new registrations, and people asked me to buy crypto for them. A few years later, they thanked me a lot for it. Later, I read a book about Bitcoin. Then I read the White — didn't understand a thing. I created an Ethereum wallet generator to delve deeper into the topic and understand the workings of private and public keys.
By the end of school, I was helping out at MetaHash. In college, I worked at R3. Then I was invited to Aragon. It turned out that with each step, I gained technical experience. I also studied mathematics and computer science — together, it greatly helped to study web3.

About Aragon

I worked as tech support at MetaHash and as a sales engineer at — already 3 years of experience. So, I started working at Aragon in my second year of college. I always tried not to emphasize that I was a student. I always put that detail at the very bottom of my resume. YouTube guides advised writing about what you brought to the company, what you did, and the actual results — this helped me get into Aragon.
The work schedule is quite flexible: you structure your day as you wish. Sometimes you can shorten it, and the next day, on the contrary, work harder.

Now, roughly speaking, you wake up, go to a morning work call, and then start working. I like it. Sometimes there are specific projects when you write code, create a proof-of-concept. There are days when there's more research work. Then we, as a team, look at various articles, conference videos, or blogs. And then we organize seminars to exchange knowledge. In general, the list of what needs to be read and watched is constantly growing. There are many new technologies to study and courses to take. It's similar to studying at a university. There are interesting trips to conferences and meetups. It's a free profession, considering it's full-time remote.

Now, Aragon is not as well-known as it used to be. It was launched in 2017. It was the ICO era. Aragon became the largest ICO at the time. They raised 4 or 5 million dollars, which was a lot of money back then. They sold all the tokens in half an hour. Since then, the team has been developing — creating a framework for their launch. We have a very reliable project because we've been working for a long time, and we are the oldest in our field. And our contracts have never been hacked (knock on wood). People can trust us.
There was always an idea to make Aragon itself a DAO. Achieving this was very difficult because when there's a lot of money in the treasury, it's scary to leave it under the control of member voting. Money can simply be stolen. This led to some conflicts within the team in 2020. When I joined the company, there were about eight people. Six of them had been hired in the last two months.
I joined during a new hiring wave. It was May 2021. Since then, the team has been growing. The goal remains the — to create a better application and User Experience for creating your DAO.
I am a developer-researcher. The peculiarity of the profession is that most of the technologies we use are written by us. They are very experimental. Our task is to study technologies and find something new, breakthrough, which will then be used in production. For example, I am currently working on a project for blockchain voting. The task is to make the protocol as scalable as possible. We work with Ethereum and also use — a library in Rust. Accordingly, to connect it to Solidity and Ethereum, I personally like Hardhat and Web3.js or analogs.
Aragon provided a grant for Snapshot's work. Snapshot was originally our project. Then it separated and is now one of our biggest competitors.
Many DAOs now use Snapshot. In it, you can vote by signing your vote with a private key. Then it goes to the centralized Snapshot system, and here's the problem: it may not include your vote in the final result, thereby rigging the elections. Snapshot, of course, counts everything correctly and sends everything to IPFS, but nothing obliges it to count everything correctly. It's especially dangerous if a hacker gets into the Snapshot system. Our job is to build a system where no one needs to trust.
Our vision for the future is that it will be enough to provide mathematical proof that all votes are counted correctly, there are no alternative — and this will be enough to execute the code.
We also want voting to be private and free. One idea: whales (who don't mind spending money on gas fees but want to keep the privacy of who voted) can basically use ZK to generate their vote instead of voting off-chain. Then just upload their vote to a smart contract and prove the correctness of the vote (but this proof will hide their identity).

That is, you take a snapshot of a block in Ethereum and show that there's a wallet with 1000 coins in it. For example, I can prove this. Then I can upload this to the Ethereum network and say that there were so many coins, voted for this, and here's the proof. At the same time, I can hide my identity in a special way in my proof, and no one will know who voted, but everyone will be sure that they voted correctly, and the 1000 coins didn't appear out of thin air. This is our ultimate vision. On-chain voting will also exist, and there are people willing to spend on it.

About the competition with Gnosis

This is our biggest competitor. But there's a difference between us. Gnosis is more focused on multisig. We are designed for larger DAOs with thousands of members. And they are defined not by what's hardcoded in the smart contract, but rather by who owns the tokens. Apart from Gnosis and us, I wouldn't name anyone serious.
Article image
Bootcamp: DAO Architect
From Multisigs to DAO Frameworks.
Learn more
Moreover, we have different functionalities. Gnosis has a better treasury. They were initially focused on this. We were focused on different functionalities and represented a framework through which other applications can be connected as plugins. Gnosis didn't offer this until last year. Now they have Gnosis Zodiac, but things are still unclear there, and the ecosystem is quite new. We've had such functionality for 4 years — which is a lot in the crypto world. Soon we will be rolling out a new version where everything will be even clearer.
I hope we will compete directly with Gnosis in treasury management. Again, these things can always be combined — using Gnosis treasury management in an Aragon DAO. There's an "Agent" app for such purposes. It helps DAOs interact with other smart contracts.

That is, when I establish a connection between Gnosis and Aragon, I use the Agent to work with the multisig in Gnosis and use it as treasury management. By the way, the app will be renamed in the new version. There will also be an app store where people will post their apps — and everything will be in one place. Everyone will also be able to see how else they can upgrade their DAO: which modules to add and how to expand it.

About private voting

We are already trying out a new system. That is, not only on Ethereum but also off-chain using ZK, which we are currently developing.
One option is quadratic voting, where people's votes are counted based on the number of tokens they have. You vote for A, and all your tokens are counted for A, while another person votes for B, and all their tokens are counted for B — it's quite linear.

The principle of quadratic voting is as follows: I have 4 tokens, and another person has 8 tokens. My vote will count as two tokens (since I have 2 tokens squared), and their vote will count as three tokens (three squared is eight). This way, whales can't push their decision because if a whale has many tokens in their wallet, their votes will be proportionally less in a quadratic manner. But there's a problem: how to ensure that a whale doesn't create 10 wallets and distribute their tokens among them? There are various DIDs for this. Many projects are working on them, for example, Ceramic.

All of this is also very complex because we don't want to show our passport on Ethereum during identification. We still want privacy. This is where ZK comes in handy. The technology proves that I am a real person and eliminates the need to show documents.
We are focused specifically on private voting. ZK is also used for this. In addition to privacy, it's also important for us to reduce the gas spent during voting.
We use voting rollups: people vote off-chain, and then an aggregator collects the votes and sends them with proof to a smart contract on Ethereum. The smart contract accepts the voting result and sees that everything is correct — then things are done much cheaper. You no longer have to pay for each vote, whereas before, people paid 8-10 dollars.
But there are complexities with ZKVM. We need to develop ways to send votes bypassing the aggregator. We need to ensure that a person cannot simultaneously send their vote to the Ethereum network and also vote for the aggregator. That is, there are many nuances that we have to think through.
We create voting rollups ourselves. We decided not to wait for these ZKVMs. I spoke with developers from Polygon Hermez and Aztec — their approximate timeline is 2 years. We don't want to wait that long.

About Snapshot: Snapshot is used for voting in DAOs. Everything there is decided by a centralized system, and it's free. The Snapshot team decided to work with StarkNet. They are also creating a separate blockchain using ZK, but they use a special technology of starks. Snapshot started working with StarkNet a year ago and still can't finish their private voting protocol because StarkNet just can't keep up.

We don't want to end up in a similar situation. We might believe that Polygon Hermez will be released in six months and get stuck for 2 years because they can't verify their smart contracts.

Про Zero-Knowledge

Let me explain with a simple example: you want to prove to a cashier that you are 18 and can buy alcohol. But you don't want to show your passport because you're afraid the camera will capture the data or the cashier will remember it and later take out a loan in your name. Then you can generate a special mathematical proof using polynomials and give this proof to the cashier.

The cashier will check it at one point. Then they will substitute one value into this polynomial and check that the resulting value matches their expectations (that you are 18) - and if it does, they will believe you are 18. All you did was generate proof using your passport, gave the proof to this person, and now they know you are 18.

That's the essence of ZK. You present proof, and another person believes it. You don't need to send 1000 messages to prove something; that's the essence of the Sussinct Argument of knowledge.
You can learn the basic concepts of ZK from ZK Whiteboard sessions. You can understand all of this without a technical background, but you need to know math — there's no way around it. If you already understand ZK, you can write a test application, like a token mixer, and gradually expand your portfolio with projects.

About technologies similar to ZK

The biggest limit of ZK is how the technology works. ZK only allows proving that something was done correctly. But you don't have to limit yourself. You can make a function perform any transformation while being private at the same time.
Stronger than ZK is fully homomorphic encryption. Encryption allows computing functions while maintaining privacy. It's the ideal solution.
There are other technologies with the same functionality but a different security system — confidential computing. It can't be mathematically verified, but it's the most production-ready at the moment. You can already use it to create Production-Ready applications. Whereas fully homomorphic encryption still has efficiency issues and has a long way to go.
You need to look in two directions: for readiness, confidential computing is stronger, and for functionality and security — fully homomorphic encryption. But alongside this, ZK is at the crossroads and combines security, verifiability, and some level of Production-Ready.
Most likely, the future belongs to fully homomorphic encryption and confidential computing. And ZK at the moment is just the most accessible technology. In the future, it will be refined, but after some time it will take on auxiliary roles, where it will develop other technologies based on more powerful cryptographic systems.
ZK is the first sign of what's to come. Understanding ZK helps you understand how to work with future, more complex technologies. Several reasons support my point of view: firstly, the technology is constantly improving and becoming more efficient; secondly, it's a cheap protocol — special processors are built for such, and plus cryptography — it's everywhere now.

About the future of web3

There's a concept called ubiquitous computing — when data is constantly processed and collected. It would be great if everything was used for good purposes. For example, train a machine model to predict your behavior pattern so that the lights in the house turn on when you come in, or the floor heats up based on your habits.
But personally, I wouldn't want my data to leave all my gadgets and be processed by just anyone. That's too high a price.
ZK and other technologies have the potential to protect this process. I would be comfortable and convenient when my floor turns on with my awakening, understanding my behavior patterns, or my bed adjusts the music for my good sleep. At the same time, all the data that was used after receiving it from the devices will be protected, and no one will be able to see them during processing.
That's what I see for the future — a huge array of data collected about a person, we will be able to use securely.
I hope that web3 will merge with web2. In the world of web3, I completely forget about the world of web2. And of course, DAOs. Organizing communities will definitely be necessary, and I hope the world of web3 will truly become decentralized, as DAOs are simply essential in it. DeFi has already taken off; there's unlikely to be anything interesting there.
Transaction privacy on Ethereum will be in the near future. At least, I think so. Secret finance is working on it, as far as I know. Another question is how it will work in web2. There's more money and more technological needs there. There are real corporate secrets there; a decision will definitely need to be made.
But it's hard for me to imagine Ethereum being completely private. Web2 will definitely be private, where people will go if they need to transfer money somewhere so that no one sees. There's a hypothesis that Ethereum itself will only be used for rollups, and all transactions will go through L2.


What is the usual learning process?
Will I be able to combine studying with working?
How much time should I devote to studying?
How long does the learning process last?
What happens when I finish the bootcamp?
What is the class schedule? What happens if I miss a stream?
I'm a complete beginner, can I study with you?
I have been writing smart contracts in Solidity for over a year now, will it be useful for me to study with you?
What is the difference between bootcamps? Which program should I choose?
What projects will I be working on? And what will I be able to do upon completing my studies?
Will I be able to get a job at a top-tier protocol in 6 months? And how do you assist with this?
I'm interested in crypto and Web3, but I don't want to become a developer.
Balaji was right