Study level

Vacation research experience scheme

Faculty/School

Faculty of Science

School of Computer Science

Topic status

We're looking for students to study this topic.

Supervisors

Professor Raja Jurdak
Position
Professor of Distributed Systems & Chair in Applied Data Sciences
Division / Faculty
Faculty of Science
Dr Gowri Ramachandran
Position
Research Fellow in Distributed Systems, Blockchain and Internet of Things
Division / Faculty
Faculty of Science

Overview

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.

Research activities

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.

Outcomes

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).

Keywords

Contact

Contact the supervisor for more information.