Department of Computer Science and Technology

2024-2025 MPhil ACS and Part III Project Suggestions by Frank Stajano

The project ideas below are © Frank Stajano. They turn into project proposals with a substantial contribution from a suitable candidate in the context of a constructive discussion and negotiation. You are expected to have done some background research on the topic before discussing it with me. In particular, you have to flesh out these ideas by answering two important questions: (1) what’s the challenging computer science bit you’re going to solve? (2) how are you going to evaluate the project? Watch this video of mine for advice on choosing a great project, and this other one for advice on how to write it up. Note that a standard condition of me offering these projects is that all work performed (code and write-up) be released as open source.

I generally supervise 0 or 1 projects per year, exceptionally 2, usually with undergraduates who got a First in Parts Ia and Ib, or with MPhil or Part III students who by definition got a First or equivalent to get in. A number of my supervisees received first class marks for their projects. One even became a professor many years later (I am proud of that but I admit the correlation between the two events is rather tenuous). Supervising an undergraduate or master project is also a way to look for great students whom I might like to supervise for a PhD, and you are welcome to treat this experience in the same way---would you like me to be your supervisor for a much more ambitious project? (If you are thinking about that one day, I produced a video on doing a PhD as well.)

The projects I am suggesting this year are quite open-ended and researchy and therefore I recommend them for MPhil and Part III rather than for Part II. But if you are a very ambitious, proactive and demonstrably competent Part IIer, let's talk.

You may wish to read this article for background:

Frank Stajano. “Sleepwalking into disaster? Requirements engineering for digital cash (Position paper)”. In “Proceedings of 28th Security Protocols Workshop (SPW 2023)”, page 3–19. Springer-Verlag, Berlin, Heidelberg, 2023. ISBN 978-3-031-43032-9. doi:10.1007/978-3-031-43033-6 1. URL https://www.cl.cam.ac.uk/~fms27/papers/2023-stajano-currencies.pdf.

Interoperability among the digital currencies of the world's major central banks

Compare the CBDCs envisaged by the world’s major economies (e-USD, e-CNY, e-EUR, possibly also e-GBP, e-JPY, or even minor ones that are already in actual use). Map out their feature sets. Highlight the significant differences. Identify the benefits and drawbacks for holders of the currency, and the combinations of features that would cause incompatibilities in trans-national trade. Design and prototype an architecture for interoperability, focusing on security, scalability and trustworthiness.

Digital wallet for CBDC and cryptocurrency

Survey the existing proposals and prototypes for digital wallets capable of holding at least Bitcoin, Ethereum and digital pound (the latter of which does not yet exist, of course; but white papers do). Map out their feature sets. Come up with potential problems (there will be plenty, at least in the realms of security, usability, digital exclusion etc) and scenarios demonstrating them. Design and prototype a better one using an iOS or Android smartphone, making use of its secure enclave.

Fraud detection in CBDC and cryptocurrency

Create a taxonomy of observed financial frauds (in the pre-digital-currency world) and anticipate which ones would translate to digital currencies. Envisage new emerging frauds that CBDCs and crypto might enable. Devise appropriate AI/ML fraud detection models. Find sensible ways of prototyping and validating them (easy with cryptocurrencies, where the blockchain is publicly available; hard with CBDCs, where the ledger may not even exist at this stage, and might not be public if it did).

Expiring money?

The Central Bank of the People's Republic of China has been carrying out interesting experiments with “programmable CBDC money” since 2020, while the other major Central Banks in the world, from the US’s Federal Reserve to the European Central Bank and their equivalents in Japan and UK, were still writing white papers and running consultations. There is a treasure trove of novel security issues to be explored when we think of programmable money—just to make one example, money that expires after a certain date. If Alice receives a subsidy to be spent by the end of 2024, how can she spend it? Can she buy anything from Bob with it? Of course Bob needs guarantees that Alice’s money will no longer expire after it’s been transferred to him, otherwise he won’t be willing to take it in exchange for valuable goods. But then what’s to stop Alice from buying a commodity that she can resell for cash in 2025, thereby extending the originally intended expiration date? And that’s really just scratching the surface. This is very open-ended: come up with totally weird stuff one could do with programmable money, justify why it would be a good idea, program and debug a prototype of it on an existing platform such as Ethereum, then investigate the scalability, performance and security issues. And, if you are also fluent in Chinese, consult first hand sources on those trials to bring valuable context to your literature survey.