What are you working on? Checking in with David Galindo

Hi, I’m David, the lead cryptographer at Fetch AI. My work primarily revolves around the design, implementation, and application of advanced cryptography techniques to ensure the security, stability and scalability of Fetch’s decentralised smart ledger technology.

So far I have spent a great deal of time working in the distributed consensus component for our ledger. As was discussed in an earlier post by Fetch’s machine learning scientist Marcin Abram, a consensus protocol is a means of collaboratively achieving an agreement in a decentralised system, without the need for a central coordinator. It is well-known that such decentralised protocols face a tension in the form of a trilemma. This is because there are three properties, namely security, scalability and decentralisation, that are hard to achieve simultaneously. It is not an exaggeration to say this is one of the hardest problems that can be found in the blockchain space. Many projects are tackling these problems from different, but sometimes complementary angles, and many highly skilled engineers and researchers are working diligently to find the most effective solution.

A way to ease the tension indicated by the trilemma is to make use of a sub-protocol that enables participants in a distributed system to elect a leader in a way that is truly random and cannot be interfered with by an adversary. The election of the leader can then be used as an intermediate step towards reaching an agreement. A component that achieves that goal has been given different names in academic literature, such as (decentralised) random lotteries or random beacon. This topic was extensively studied long before blockchains became mainstream, although the approaches to solve it have been rejuvenated with the appearance of Bitcoin and Ethereum. At Fetch we have taken inspiration from both recent and historical breakthroughs at the intersection of distributed computation and cryptography in order to find our own distinct voice and solution to resolving the trilemma. Due to my background as an academic cryptographer, I am tasked with applying all the theoretical cryptography machinery to provide rigorous arguments for the security of our constructions. These are necessary to provide the guarantees needed to convince our users and partners of the authenticity of our smart ledger technology.

Fetch is building a digital world where Autonomous Economics Agents can live and transact. Unsurprisingly, this ecosystem makes use of several aspects of cryptography. I am still pleasantly surprised by how frequently my colleagues at Fetch ask me about zero-knowledge, verifiable computation or privacy preserving data processing systems. These are all concepts that up until recently I could only discuss in specialised cryptography and computer security research venues. It is often the case that I cannot point to existing open source code that would give us the cryptographic functionality we desire. This is why we are continuing to recruit junior and experienced software engineers, applied cryptographers and machine learning researchers and scientists to help us develop better solutions.

What I especially enjoy about working at Fetch is its interdisciplinary nature. Together, we are striving to provide solutions to cutting-edge research and engineering questions in areas such as cryptography, distributed computation, computational economics, machine learning, data science, multi-agent systems and technology governance to name but a few. Although these questions are extremely challenging, the varied requirements of the project make it really enjoyable to contribute towards making Fetch happen.