New Distributed Systems Engineering Projects: Peer-to-Peer Networking, Programming Languages and Compilers, Cryptography, Data Structures and Algorithms
Location: Sydney, NSW
Duration: 5 months
Proposed start date: December or January
Keywords:Programming C, C++, Golang or Rust; software & systems engineering; data structures & algorithms; Cryptography
Please note: Due to funding requirements, students must have Australian Citizenship or Permanent Residency to apply. Any applicants not meeting this requirement will be ineligible for this project.
Block8 is a cryptoeconomic software development company and has a growing portfolio of projects that seek to use distributed ledger technology to disrupt existing business models and value chains. The projects in the Block8 portfolio are varied and include areas such as: financial securities management, retail finance, blockchain-based stablecoins, intellectual property management, energy trading and gaming.
Block8 is about to commence development on a brand-new distributed ledger product focused on extremely high transaction throughput for consortium blockchain applications. There are a number of sub-projects available to be tackled by appropriate candidates, spanning peer-to-peer networking, programming language design, compilers, virtual machines (web assembly), cryptography, and general software engineering.
Research to be Conducted
This work would suit someone with a strong background in Computer Science or Software Engineering. A strong understanding of one of the aforementioned speciality areas will be the foundation of the research and development to be conducted within the wider project. Each sub project will entail:
- Research and design of a cutting-edge, performance-oriented modular software component.
- Implementation of the component with a focus on code quality, readability and performance.
- Clear intrinsic and extrinsic documentation.
These objectives would be pursued alongside Block8 professional blockchain engineers to ensure full support throughout the process. You will be working as an individual or within a very small sub-team within the wider project team.
We are looking for a PhD student with the following skills:
- Basic systems programming experience (e.g. C, C++, Golang or Rust)
- Super-strong software engineering (e.g. data structures and algorithms)
- Cryptography implementation
- Systems engineering
- Programming language, compilers, or virtual machines
Specific outcomes are project-dependent, however, generally there will be for each project:
- A design document describing the function, inputs, outputs, and performance characteristics of a given software module.
- Implementation of the software module.
- A test-suite for the software module.
- A summary presentation to Block8 engineering team at the conclusion of the engagement.
While the above describes a general project at Block8, many of the software engineering challenges will be applicable to other projects within blockchain and distributed ledgers. Block8 is a leader in blockchain and distributed ledger technology engineering and Block8 is looking for the lessons learned from this engagement to help further educate our growing solution engineering team and maintain our industry expertise.
The intern will receive $3,000 per month of the internship, usually in the form of stipend payments.
It is expected that the intern will primarily undertake this research project during regular business hours, spending at least 80% of their time on-site with the industry partner. The intern will be expected to maintain contact with their academic mentor throughout the internship either through face-to-face or phone meetings as appropriate.
The intern and their academic mentor will have the opportunity to negotiate the project’s scope, milestones and timeline during the project planning stage.
12 December 2018
INT – 0558