Iota’s Qubic broken down for kids

Image from https://qubic.iota.org/protocol showing a classroom attack

We provide a super light and high level overview of IOTA’s Qubic, which can improve trustability of external data, allow for node rewards and run smart contracts.

A qubic is a glorified job posting

Simply put, it’s a computation task, or a job. The requester makes up a task and packages it with the relevant information/metadata, which forms the basis for a qubic. They also include some sort of job reward and throw it at an assembly that suits the task. If everything looks good, the assembly will process it and toss the results out into the Tangle. After the results are posted, either nothing happens, or if other qubics were waiting on the results, then those would get triggered.

Oracles and Assemblies

Oracles are bridges between the outside world and the Tangle. Want to record the temperature in your bedroom into the Tangle? Log the time of day in Tokyo at some given point in time? Record the number of times your cat has broken into the bag of catnip? You need some sort of method, or oracle, to get the relevant external input. So oracles can encompass a wide variety of things from computers, to sensors, to some sort of data feed.

However, can you trust the data? To allow for decentralized trust, Qubic allows oracles to group together into assemblies. They outline three scenarios:

  1. The oracle is like family to you. You trust it, love it (maybe), and will go the extra mile (to replace it as quick as possible if it breaks). You form an assembly of ONE and use the data directly.
  2. You think that your oracle is possibly having an affair and not being entirely truthful, so you set up a snitch, resulting in an assembly of TWO. Never hurts to have a back up source of intel. If only one reports back, you got a problem. If they both tell you the same thing, great! If they give you different answers…
  3. You think everyone is shady and you’re a little paranoid, so you crowdsource the work. You’ll believe the results if quorum (i.e. more than 2/3 agree on results) is reached. To prevent people from copying other’s work instead of actually doing it themselves (classroom attack), you make everyone submit their answers in a secretive, but unique manner, which will be revealed at a later point. There will also be a resource test phase, to make sure no one is cheating the system.

I’m built like a bull and can carry 500KG… PAY ME!

Your pay and voting power is proportional to what you’re able to provide to the group. To prevent people from lying about their ability to contribute to an assembly, a resource test phase is performed before qubics get processed. This also means that new members are added only at certain points in time. The tested resource depends on the assembly and can be stake size, computational power, or some other type of factor. This phase allows the assembly to determine how much of a resource you have with respect to everyone else in the group.

This will have two effects:

  1. If someone tries to fake multiple identities, they will be required to split up their resources during the test phase. So by the end of the test phase, the sum of their output would still be the same, regardless of how many times they split their resources.
  2. Oracles will try to find assemblies in their league. High-powered oracles will have underused resources in under-powered assemblies. Low-powered oracles will get (figuratively) destroyed by their high-powered counterparts in high performance assemblies. Rewards will be non-optimal either way, so oracles have an incentive to find assemblies that match their performance. This will also generate multiple levels of services, from low- to high-end, for different levels of needs and pay.

But why Qubic?

IOTA doesn’t offer rewards for running nodes natively. Transactions are feeless, so there was a question of why people would even run nodes, aside from being nice. But without more nodes, IOTA would remain centralized via the coordinator. With Qubic, people now have a reason to run nodes and process information — if you want to get a job posting/qubics, you need to constantly listen for relevant updates in the Tangle. In the long run, Qubic will also provide an incentive for people to spin up old computers and laptops, so that they can offer up storage space and computation power among other resources.