Hi everyone, here is the first of the promised status updates about the Qubic project. Our goal is to send out a status update on the 3rd of every month.

Last month was a milestone to us because we were finally able to unveil what this mysterious Q project was that had been hinted at for so long. On June 3rd we went live with the Qubic website, which explained in more detail what we are trying to achieve with the Qubic project.

Of course this immediately resulted in new questions, of which probably the most asked question was what time line to expect. Therefore we worked on a road map for Qubic, which was completed a few weeks ago, but due to our still limited resources the web site has not been updated with this road map yet. Expect a road map in the near future that looks similar to the one on the Trinity website. For now we will include the Qubic road map further down in this update.

We were also originally planning an AMA for Qubic in June, but because we wanted the road map to be publicized first we have had to delay that as well. We are currently in the process of picking a date when every participant is available. We’re looking at the week of July 16th for the AMA and our goal is to set the final date this week.

Progress made in the month of June

The Qubic project is roughly separated into 2 major developments, that are interdependent:

The Qubic protocol

The first part of the month the focus was on the layout of the Tangle messages and the structure of the local Q-Tangle, that will hold a local copy of all Qubic-related transactions. The Abra language

Our focus the second part of the month was on finalizing the definition of Abra and starting on the Abra compiler. A lot of progress has been made on the source code parser. Our current goal is to finalize the compiler first and get some initial documentation ready, so that it will be possible to work on the different parts that depend on Abra being finalized in parallel. Another goal is to provide the ability to run Abra in a controlled environment, so that we get to a point where the community can start playing with the language.

Apart from working on these code parts we have also started on a whitepaper-like document that will go in more detail about the mathematical aspects of Qubic.

The Qubic Road Map

As promised now follows the Qubic road map. As stated above we have grouped the sub-projects in 2 major categories: the Abra language and the Qubic protocol. There are no hard dates yet. The main purpose of the road map is to provide you with an idea of what’s in store and what the scope of the project is.

Note that this is not the final road map by a long shot. Things may still change along the way, and there are lots of other ideas still laying around. Our focus will be on getting a Proof of Concept (PoC) version out as soon as possible. The items marked as future extension will most likely not be part of this PoC.

The Abra Language

Abra specification

The reference documentation for the Abra language and its standard libraries.

In progress

Abra compiler

A compiler that compiles Abra source code into a qubic.

In progress

Abra support library

A library of standard Abra functions.

In progress

Qubic interpreter

An interpreter that can run a compiled qubic on any platform.

In progress

Qubic to x86 compiler

A compiler that can cross-compile a qubic into x86 code that can be run directly.

Future extension

Qubic x86 support library

A library that maps some of the standard Abra functions to more efficient x86 equivalent. These will mostly be low-level functions that can be optimized by using specific x86 instructions.

Future extension

Qubic to FPGA compiler

A compiler that can cross-compile a qubic into Verilog code that can be loaded and run on an FPGA directly.

In progress

Qubic FPGA support library

A library that maps some of the standard Abra functions to more efficient Verilog equivalent. These will mostly be low-level functions that can be optimized by using specific Verilog instructions.

Future extension

Abra development environment

Development environment that facilitates programmer-friendly creation of Abra code.

Future extension

The Qubic Protocol

Qubic math

A whitepaper-like document exploring the mathematical properties of some parts of the Qubic protocol.

In progress

Qubic specification

The reference documentation for the Qubic protocol.

In progress

Qubic timestamps

Implementation of reliable timestamps for use in various parts of the Qubic protocol.

In progress

Qubic URI processor

Implementation of URI processor to handle accessing of external data.

In progress

Qubic transactions

Definition, documentation and implementation of all Qubic-specific transactions.

In progress

Q-tangle

Separate localized tangle optimized to support Qubic protocol. The Q-tangle will only contain the transactions relevant to the Qubic protocol. This part will hook into the Tangle message stream and filter out Qubic transactions.

In progress

Qubic assembly

The parts of the Qubic protocol that handle everything assembly-related. This includes creation and maintenance of assemblies by defining assembly and epoch parameters.

In progress

Qubic quorum

The parts of the Qubic protocol that handle everything related to quorums.

This includes the oracles committing and revealing results and coming to consensus about the quorum. It also includes the qubic owner validating the quorum result.

In progress

Qubic rewards

The parts of the Qubic protocol that handle everything related to rewards. This includes the qubic owner side that determines to pay how much to which oracles. It also includes the oracle side that keeps track of actually being paid.

In progress

Qubic resource test

The parts of the Qubic protocol that handle everything related to the resource test phase. This includes defining a Proof of Work qubic that can function as an initial implementation. It also includes the part of the Q-node that runs the resource test, posts the results, and agrees on the weighing factors.

In progress

Qubic supervisor

Core part of the Q-node that handles triggering of events and schedules and runs qubics.

In progress

Q-node

An IOTA full node that integrates the ability to run the Qubic protocol.

In progress

Qubic PoC

Non-trivial example use case of the Qubic protocol running on the Tangle.

In progress