Qubic: Quorum-based Computations issued by formulas are too long to read slowly. After reading this article, I read the original article and gathered the points systematically in order to make understanding faster.
Aim of Qubic
Providing a scalable and distributed non-centralized control protocol that realizes a shared economy of surplus computing power.
Then follow us on Google News!
What is the Qubic protocol?
On the IOTA ‘s distributed ledger Tangle, in short, a protocol for realizing smart contracts . It is not a virtual currency.
List of new terms
|Qubic||A program written with Smart Contract itself.|
|Abra||A programming language for ternary numbers. It is used to write Qubic.|
|Oracle||Qubic’s execution environment. Outside of Tangle.||minor*|
|Oracle Machine||Machine running Oracle.||computer.JINN?|
|Q node||IOTA Full Node with Oracle|
|Assembly||A group of Oracle. All Oracle in the same Assembly will execute the same Qubic.||Mining pool *|
|Quorum||Consensus determined by the majority vote of the execution result of Assembly.|
|Epoch||Assembly cycle.||Term of office|
|Quant||Complexity of Qubic code. Number of calculation processing.|
* Because it is a rough analogy, I want you to keep it to the extent that I think this way now.
Explanation of new terms
Qubic and Abra
Qubic refers to the program / software written in the Qubic protocol, such as Smart Contract. Also they are written in the intermediate language ” Abra ” designed for ternary processors . Since Qubic is event driven type, it can do application of chain in a bucket relay of output with multiple Qubic.
Oracle and Assembly
We think of Oracle as minor and Assembly as mining pool first. IOTA Full Noderunning Oracle is especially referred to as Q node .
As a point of Assembly
- Public Assembly that anyone can join and Private Assembly that can only participate in authorized Oracle . There are two.
- Assembly can be constructed from one or more Oracles even from two or more.
The program (= Qubic ) executed for each Assembly is different, the result of obtaining a consensus (= Quorum ) by more than a certain number, taking a majority decision in all execution results in the Assembly obtained within the period (= Epoch) It becomes the final output of the Assembly. In other words, Oracle and others in the same Assembly run the same Qubic at the same time and decide the final result by Epoch ‘s final majority vote. Decide where the Qubic owner should have the program executed by the Assembly. Commission / reliability etc. are judgment materials.
Every Assembly is doing different things, but as a whole it happens all over Tangle.
Did you understand that Oracle is a minor, first of all, Assembly is not strictly a mining pool strictly.
For each Assembly , its lifecycle can be separated by a period of Epoch (cycle) as a unit. It is a period between the start time and the end time of the following execution stage .
- Resource Test Phase (PoR phase) : Oracle participating in the Assembly prove the amount of resources to the Assembly owner ( PoR = Proof of Resource). The resource amount can be set by the Assembly owner, such as PoW, PoS, bandwidth.
- Processing Phase (stage of execution) : the stage in which Oracle passing through the PoR stage actually executes the Qubic left to the Assembly.
Resource Test Phase – PoR stage
We measure the suitability of an unspecified number of Oracle who applied to Assembly by the method of measuring the amount of resources of your choice. The result is used to calculate the share of voting power and commission.
Submitted all of the amount of resources from individual contributions (= Weighning Factor to calculate the), minute proportional to it (= Stake of) voting force and the commission is given after the Epoch end.
Processing Phase – execution stage
The period of actually running Qubic. Individual Oracle submits outputs in two to prevent Classroom Attack ( = cheat other output of other Oracle that finished processing earlier).
- Transaction Commit :
- Transaction Reveal :
resultto submit the real value of.
If 2/3 of Oracle issues a Commit Transaction and the same
hash(result)is obtained, it requests a Reveal Transaction issue. Compensation is paid to Oracle
saltwhose hash with its real value
hash(result+salt)matches the Commit Transaction . Finally take a snapshot and Epoch is done. After the end, take over the previous Epoch information and restart from the PoR stage.
Quant and fee · reward
Quant is the number of processes involved in executing Qubic code. As Ethereum also increases commission in proportion to the complexity of the code, Qubic also contains a large amount of calculations and processing, the higher the Quant, the higher the fee.
Also, when talking about rewards from the perspective of the owner of the Oracle, the larger the Weighing Factor submitted at the PoR stage, the greater the reward distribution . Even with the same amount of work, not everyone in Assembly gets the same reward.
※ w : Weighing Factor, q : Qubic quant.
As a result of reasonable action selection by economists under this condition, the following equilibrium is created.
- Invalidation of a powerful Oracle machine to convert to smaller multiple Oracle.
- Within the Assembly Oracle gathers as much resource as possible.
(About 1. If all the rewards are the same, we get 10 rewards by running ten Oracle on that device rather than getting one reward on a device that is ten times as powerful as the others. Then, the control power = composition of the power of the device is formed.
About (2). A powerful device will soon end Qubic’s processing, but you have to wait to receive the rewards until the end of Epoch, and you will lose when converting to hourly wage. In order to obtain the best, Epoch is required to finish almost at the same time as your own processing finishes, and it is required to shorten the waiting time until the end of Epoch as much as possible. In other words, it is a reasonable choice to participate in an Assembly that all participants have the same specification (amount of resources to be submitted at the PoR stage). Therefore, it is possible to prevent centralization due to concentration of computing power within the Assembly.
Such a design realizes a shared economy of computing power . For small devices (such as smartphones) you can run a light Qubic to earn money when you are not using it, or a big server center can run a big Qubic and earn a reasonable price.
Various edge case
- When a problem occurs in the middle of Epoch, Qubic and Stake can be modified by issuing Adjustment Transaction . Pros and cons of issuance are resolved by voting.
- In the case of private assembly, we can skip the PoR phase and move on to the execution stage. The PoR stage is only necessary to realize distributed Quorum Computing with an unspecified number of Oracles .
- Tangle’s timestamp is mentioned in detail in the article ” Description of the problem and proposed algorithms “.
- Abra prohibits infinite loop. In other words, Turling incomplete in Epoch. Longer processing is designed to straddle Epoch.
Qubic: Quorum-based Computations : https://qubic.iota.org/
As Qubic announced this time is still in the concept stage, this article will become useless as it becomes more concrete in the future. It would be great if you could read the article on the premise that you will add overlapping and editing, including that meaning.