Studies find that BitCoin will soon consume more power than the entirety of Australia. BitCoin’s energy consumption is nearing 200 terrawatt hours (TWh), while Australians consumed 192 TWh in 2020.
Blockchain platforms such as BitCoin and Ethereum employ a Proof-of-Work (PoW) consensus and blockchain management algorithm, which relies on a computationally expensive cryptographic puzzle. While PoW provides a strong security guarantee in a truly decentralised and public network, it comes at the cost of significant computation. This, unfortunately, does not provide useful results to the network, except for the right to propose the next block in return for an incentive in the form of cryptocurrency (BitCoin or Eth).
This project aims to introduce a novel proof-of-useful-work using verifiable python, which lets the nodes in the network run useful computations, such as training a machine learning model.
You are expected to focus on the following issues:
- investigate the literature on Proof-of-Work and Proof-of-Useful-Work to develop a threat model and a design of Proof-of-Useful-Work architecture
- work with the project supervisor to develop a design using Verifiable Python, which is a novel technology to verify the correctness of any computation
- investigate, design, and develop an idempotent execution model for Verifiable Python. Idempotency in software corresponds to the ability of the program to produce the same result when executed on any machine for any number of times, if the input and code remains the same.
- build small classes of Python applications and test them on various environments using Verifiable Python and Docker containers.
We plan to write a research article describing the findings of this work. This project has immense potential for both the industry and the research community if the research activities are carried out diligently.
Skills and experience
You should have:
- a willingness to work on new areas and challenging problems
- a desire to read papers, develop software designs, and write software
- the ability to code in Python or similar languages
- knowledge of Docker (desirable)
- GitHub experience (desirable).
Contact the supervisor for more information.