Aleksandar Veljković is an Assistant Professor at the School of Computing (Računarski fakultet) in Belgrade, where he has been teaching the course Cryptography in Decentralized Systems since November 2024. His academic focus lies in the intersection of cryptography, blockchain technologies, and decentralized architectures. Through this course, he provides students with both a theoretical foundation and practical insights into the role of cryptographic principles in modern Web3 ecosystems. Veljković’s work reflects the growing importance of secure, trustless systems in the evolving landscape of digital innovation.
- Your course “Cryptography in Decentralized Systems” sounds fascinating. Can you share what students usually find most challenging or exciting about it?
The course “Cryptography in Decentralized Systems” is an experimental course taught for the first time this year and focuses on zero-knowledge cryptography in decentralized systems but with a practical approach. Although students receive the required theoretical introduction to zero-knowledge proof systems, various cryptographic primitives, and decentralized networks, the accent is on the practical implementation of decentralized applications that utilize blockchain smart contracts and zero-knowledge proofs. As a part of the final exam, the students are tasked to implement an application that encompasses all course topics in a usable application. Having all this in mind, the biggest challenge for me was selecting the subset of topics and level of detail that would be covered throughout the course so they could all be joined at the end in a functional software product. On the other hand, the size and variety of that set of topics and software tools required for implementing decentralized ZK apps were the biggest challenges for students.
- How do you define the role of cryptography in the Web3 ecosystem beyond its classic applications in privacy and security?
Cryptography is the foundation of the Web3 ecosystem, from hash functions and public key cryptography to zero-knowledge proofs and fully homomorphic encryption. In a trustless environment where the goals are guarantees of data ownership and verifiable claims, cryptography ensures trust in the process instead of trusting individuals or companies.
- What are your thoughts on the future of zero-knowledge (ZK) technologies? Do you see them as essential for the scalability and privacy of future blockchain systems?
Initially, it was an exotic term, interesting only in scientific circles. Then the proofs became more efficient and general-purpose so pioneers started using them for use cases that were impossible before, such as anonymous token transfers. The next step was using ZK more freely, as the hardware improved and proving algorithms became more diverse and efficient, the blockchain scaling solution started to appear and more people got involved in ZK. Today we can see more and more people starting to build apps based on ZK so we can expect to see ZK skills as an essential part of Web 3 full-stack developer’s stack. The current use cases for ZK technology are mostly focused exactly on blockchain scaling and privacy as those are one of the main pain points of Web 3. Proving a statement without revealing inputs (for privacy or scalability reasons) is a very powerful tool that can be used in many ways so we can expect to see a lot more in the following years.
- From your perspective, how should universities adapt to keep up with fast-evolving Web3 and decentralized tech? What’s your vision for blockchain education in higher institutions?
Universities are slow-moving beasts, compared to a tech industry. One year a new technology may appear and the next it may become obsolete, so universities often wait for some time for the technology to mature before introducing a new course. When the technology matures enough to be included in a curriculum, the first step is finding teachers who are familiar with the technology and enthusiastic enough to create or update an existing course. The problem here is that those who are already familiar with the technology are mostly working in the industry and not at the universities. Additionally, the future teaching assistants need to also be taught before teaching the course. This all adds to several years of delay between the industry and academia. A good mitigation to this issue is introducing micro-courses, workshops, and lectures in the early phases so pioneers can begin exploring the technology and follow the development from the early days, making the introduction into the curriculum a smoother process. Web 3, however, is an interesting case where the industry depends on academia a lot more than some other tech fields. Algorithms in decentralized systems especially need to rely on heavily tested and secure protocols researched at universities and backed by research papers. This, in theory, drives more people from academia to get into Web 3 creating a positive feedback loop where new technology gets into the curriculums faster, producing more experts that continue to improve the technology – incentivizing more people to get involved. My vision is that blockchain and Web 3 technology migrate from the state of a “weird new toy” to a standard technology taught at universities in the same way as databases or machine learning and become utilized in a much wider context than cryptocurrency and niche games.
- Do you think topics like cryptography and blockchain should become part of general education for all computer science students, or even beyond CS departments?
Cryptography already is a standard course at the majority of universities. Blockchain technology and Web 3 are entering academia through CS courses, mostly on MSc and PhD studies. These technologies should be offered to everyone interested, but it might sound pretentious to say that they are as essential as “Programming 101”. They require a lot of previous knowledge in computer networks, software architecture, cryptography, and many more so it is natural to find them in higher-degree courses. Additionally, focusing on these topics may take a lot of time and distract students from some other topics, such as AI, data mining, microcontroller programming, etc. so it should be left as a choice for future professional development rather than enforcing it as essential to everyone.
- Many students are curious about blockchain but are unsure where to start. What foundational knowledge or skills do you think are most important for young developers entering the field today?
The foundational skills are curiosity and endurance. There are probably better approaches but my advice for new developers is to “jump into the fire” and start building something as soon as possible – assuming they have some basic CS knowledge. Get familiar with some ecosystems on a high-level basis, EVM is probably the most user-friendly for new developers, decide on some home project (for example a simple NFT store) and dive right in. First, you will find some tutorials explaining how to build exactly that. It will seem overwhelming with a lot of new terms and completely new concepts but keep up with coding to feel the routine and write all unknowns on a side paper. Once you feel you can not continue as nothing makes sense anymore, pick up your side paper and start researching the unknowns to fill in the gaps. Step-by-step, you will finish the project and figure out that now “you know everything”. It will give you a nice dopamine boost to continue. The next step is to think of a new feature for your home project and try to implement it. You will then see that you still have a lot of holes in your knowledge so you will continue the research, pick up code from open-source repositories, and improve your skills while building a cool project. An important thing is to keep your code on Git so that tomorrow you can showcase an indie project to your future employer with a whole story about the project (or even create a startup based on the project). That project will show the employer a lot more than just the code for a simple use case. As time goes by you will start diving deeper into the unknowns that require more theoretical knowledge. That is where you open your old textbooks or research papers and refresh your memory about those network sockets, P2P communication, and Diffie-Hellman key exchange and figure out more cool features for your new project as well as the practical use for the algorithms you considered purely theoretical years ago. Repeat the loop by exploring new technologies and ecosystems and implementing more stuff. Theory is not enough without practice, the same goes the other way around. The idea here is to see practical results as soon as possible to keep you motivated and curious along the way.
- Are there any research projects, collaborations, or student initiatives you’re currently involved in that focus on Web3, decentralized systems, or cryptography that you’d like to highlight?
As I am also a member of the 3327 R&D department of the MVP workshop company, I have worked on many open-source and commercial projects with student interns and junior developers. One of the highlights that included both innovation and production-ready development might be an improvement of the MACI protocol for anonymous voting funded through an Ethereum grant where students were contributing an important feature to a big open-source project based on complex crypto protocols. The project was successful but most importantly the students significantly improved their knowledge and skills.
- In your opinion, what are the most promising use cases of blockchain and cryptographic innovation in areas like AI, unmanned air traffic, or other emerging technologies?
Blockchain is not a silver bullet that can be included in every project. However, there are specific areas where it is essential. Decentralized systems benefit from the blockchain as a trustless data management and storage service. Looking from this perspective, any use case that involves competitive sides that require collaborations around a common state is perfect for blockchains. Take banks as an example, they are highly competitive but require settlements between themselves in a secure and trustless manner. Unmanned air traffic companies are competitors, but they still need to agree and reserve parts of the shared airspace for their flights. AI companies offer models, but the users should be able to verify that the predictions are real results of the model they paid for and not some simpler model or even randomly generated value. This is where blockchain and cryptography shine the most.