Unreleased Quorum Based Computations Paper
Unreleased Quorum Based Computations Paper
Samuel Reid
November 03, 2018
Abstract
Qubic is a protocol for enabling quorum-based computation on IOTA. We describe a high-throughput
computational model which is tuned to balancing decentralization, latency, and trust. By implementing
sequential proof of resource and computation phases, called the resource test and qubic processing cycle, the
architecture introduces trustless quorum-based computations such as oracles, outsourced computations, and
smart contracts on IOTA. The Qubic project intends to establish a global decentralized platform available
for everyone to make new trustless applications, participate in new economic models, enable the broad
landscape of Industry 4.0 and Web 3.0, and allow for the creation of quasi-Hypercomputational artificial
intelligence which utilizes ultra-low energy distributed computing for the Fog and Mist infrastructure.
Contents
1 Introduction 3
1.1 Motivation and Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Technical Specification and Intermediary Research and Development . . . . . . . . . . . . . . . . 3
1.3 Iota eXtension Interface (IXI) Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Qubic 4
2.1 Oracles, Smart Contracts, Assemblies, and Quorums . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Decoupled Integration of Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Hypercomputations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 The Life of an Oracle and the Life of a Qubic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 Minimal Messaging Incentives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6 Cloning Qubics with Immutability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Timestamping IXI 11
4.1 Deterministic Timestamping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Non-Deterministic Timestamping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
6 Multi-Agent Distributed Consensus Smart Contract Applications 14
6.1 Introduction to Multi-Agent Systems with Distributed Data . . . . . . . . . . . . . . . . . . . . . 14
6.2 Autonomous Household Appliances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Hazardous Material Handling Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4 Distributed Reconfigurable Wireless Sensor Networks (DRWSN) . . . . . . . . . . . . . . . . . . 15
6.5 Surveillance and Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.6 Space-Based Interferometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.7 Formation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.8 Rendezvous and Interception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.9 Flocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.10 Foraging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.11 Task and Role Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.12 Autonomous Payload Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.13 Swarm Cooperative Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.14 Avionic Attitude Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.15 Orbit Maneuvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.16 Space Recycling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.17 Sensor Network Controls for Robot Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.18 Programmable Matter and Claytronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.18.1 Self-reconfiguring modular robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.18.2 Meld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.18.3 Locally distributed predicates (LDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.18.4 Distributed watchpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7 Conclusion 18
2
————————————————-
1 Introduction
————————————————-
• Modul X - The Weighing IXI (more generally, PoX dialect resource test IXI)
• Modul Z - Abra interpreter IXI (Shiftless Haskell Modul Z and JAVA Modul Z)
• Modul Y - Timestamping IXI (rename Modul Y to Modul T? is there still a Modul T?)
3
The core IOTA protocol itself is purposefully lightweight and simple in nature; its role is to enable
trust free and fee-less transactional settlements as well as tamper proof data transmission. That’s
it. Staying true to universal engineering principles we reduce trade-offs through the philosophy
of modularity. Instead of creating a one size fits all swiss-army knife which invariably leads to
mediocre performance in each feature, we instead make the IOTA platform modular. This means
that each component is a stand alone application that is optimized for its purpose, without trading
off performance or functionality for other applications. Additionally, this gives users of IOTA choice
to tailor their usage of the protocol, instead of imposing the overhead of the features on, even if they
originally only need to use one of them for instance. Both of these components are imperative for a
scalable and functional platform.
2 Qubic
————————————————-
2.3 Hypercomputations
Super-Turing-Complete Tasks could be computed using qubic which provides the first potential implementation
of a random oracle computer. Latency (time between effect broadcast and first result broadcast) of the quorum
needs to be discussed as well as distributed fuzzy logic. We conjecture that the Σ01 and Π01 recursively enumerable
formulas are computable with qubic, which implies that qubic could compute super-turing-complete tasks. An
oracle for the halting problem for oracle machines with an oracle is a Turing jump. A set X and a Gödel
0
numbering φX i of the X-computable functions yields the Turing jump X of X defined as
X 0 = {x | ϕX
x (x) is defined}.
4
The nth Turing jump X(n) is defined inductively by
X (0) = X,
X (n+1) = (X (n) )0 .
That is, the problem X 0 is not Turing reducible to X. Post’s theorem establishes a relationship between the
Turing jump operator and the arithmetical hierarchy of sets of natural numbers. The set of Turing machines
which halt on access to an oracle which solves a specified problem is the Turing jump associated with that
problem. Therefore, super-turing-complete tasks can potentially be achieved through qubic in terms of clus-
tering the processing power of oracle machines. The arithmetic hierarchy of sets of natural numbers can index
with Σ0n+1 and Π0n+1 formulas which can provide clustering of oracle machine computability regimes. Oracle
assemblies with nearby computability regimes.
Input data triggers qubics to run and thus qubic nodes work as dispatchers with input data for a qubic
becoming available and run by all oracles in the assembly. It is the choice of the creator of the qubic who posts
the qubic transaction to the tangle for initiating an oracle assembly to compute the qubic, and provide the
decisions made associated with the qubic running.
5
author & input filter pairs can provide a dominance ordering on which the detection validates which was the
cloned copy unjustly running and which was the seed qubic from which the cloned copy sprouted and needed
a verification check on. Once the verification check has completed that "non-cloned copy qubic" could perhaps
have a metadata tag associates with it ensuring it is the source qubic with an attempted clone failure recorded
for ensuring a legitimacy or accumulation of a qualitative reputation for ensuring sustainability of the original
author’s qubic - not these clone and ghost copies running away with it.
6
————————————————-
is the ith oracle with oracle machines Oi,j for 1 ≤ j ≤ ki , where i, j, ki ∈ N+ . Then the ith oracle Oi has the
following weighing factor (vote proportionality of the assembly):
ki Z
X t0 +RTD
POW(Oi,j (t))dt
j=1 t0
VA (Oi ) = ki Z
XX t0 +RTD
POW(Oi,j (t))dt
i=1 j=1 t0
7
N
X
where VA (Oi ) = 1, and POW(Oi,j (t)) is the amount of proof-of-work done by the oracle machine Oi,j at
i=1
time t ∈ [t0 , t0 + RTD], and RTD is the Resource Test Duration.
is the minimum of the time difference between the broadcast effect (BERTD ) and the first broadcast response
(BR∗i ) associated with the ith oracle provided it was the first broadcast response, although the minimum latency
of an oracle assembly can be achieved by more than one oracle.
8
computing tasks of a local q-DAG (a local subtangle of q-Tx’s running on the oracle machines of an oracle in
the assembly).
A Q-Variable Transaction is a data type which provides the necessary integers, strings, and hashes to provide
inputs for initiating a qubic which is run by an assembly.
Q-Variable Transaction
1. Q-Variable Parent Hash
2. Start Time
3. Epoch Duration
Q-Commit Transaction
1. Hash of Inputs
2. Output Hash
3. Salt Hash
4. Salted Hash
5. Merkle Signature
6. Environment Hash
A Q-Reveal Transaction is a data type which provides the necessary strings and hashes for revealing the
committed result from computing which are revealed to the oracle assembly for obtaining consensus.
Q-Reveal Transaction
1. Q-Value String
2. Q-Commit Reference Hashes
3. Q-Reveal Hash
Q-Entity Transaction
1. Q-Entity Abra Code String
2. Q-Entity Hash
9
A Qubic Transaction requires a QBC Entity, QBC Assembly, and QBC Metadata, for which further archi-
tecture details will be provided in relation to q-Tx’s and q-DAG structure.
Qubic Transaction
message Transaction {
required tryte signatureMessageFragment [2187];
required tryte address [81];
required long long trint value ;
optional tryte obsoleteTag [27];
required trytes timestamp ;
required trint currentIndex ;
required trint lastIndex ;
required tryte bundle [81];
required tryte branchTransaction [81];
required tryte trunkTransaction [81];
required tryte attachmentTag [27];
required trint attachmentTimestamp ;
required trint attachmentTimestampLowerBound ;
required trint attachmentTimestampUpperBound ;
required tryte nonce [27];
}
where ProtoBuf3 uses additional types to the ProtoBuf data types and language constructions listed below:
– null: a special type that describes nothing and is encoded by the empty word;
– tryte: an element of T3. Interpreted as an integer, takes values in the range [−13, 13];
– trint: an element of T9. Interpreted as an integer, consists of 3 trytes, takes values in
the range [−9841, 9841];
91
– long trint: an element of T18. Interpreted as an integer, consists of 6 trytes, takes
values in the range [−193710244, 193710244];
– long long trint: an element of T27. Interpreted as an integer, consists of 9 trytes,
takes values in the range [−3812798742493, 3812798742493];
– trytes: an array of trytes. The length of the array is implicitly encoded before the array
elements;
– T arr[n]: an array arr of n elements of type T;
– T arr[]: an array arr of elements of type T. The array can be placed only at the end of
a data object. Elements of arr are continued until the end of the object. The number of
elements is not fixed during encoding, it is determined indirectly during decoding. Note
that this field does not have any modifiers.
A special data definition language called ProtoBuf3 was developed by BSU. It is based on the wellknown
Google Protocol Buffers notation. ProtoBuf3 supports ternary streams. ProtoBuf3 contains cryptographic
elements with the help of which one can quite easily describe the cryptographic processing of messages such as
Q-Tangle transactions with MAM2 channels.
10
3.8 Token/Value Transactions in Qubic
Third party gateways hold the real assets. They report deposits, inflating supply of pegged USD/EUR, and
fulfill withdrawals, deflating supply of pegged USD/EUR.
Quorums decide what happened, and inform what should be done.
Minting coins is possible (but not Nash) in blockchains following longest-chain-rule-based leader-selection,
and also in quorums, where the number of participants is bounded. But IOTA follows a bivariate graph with
monte-carlo tip selection regime. Of course, any tip selection algorithm may be used, but the selection rule
needs to satisfy Nash. If we were to introduce minting into this, then we create a conflict between cumulative
weight and minimum dilution of supply. We presume that users want to take advantage of IOTA because they
want data integrity and to transfer money.
Say that we desire to have a predictable rate of supply increase. In order to satisfy this, you must add only
as much as the rate allows, onto the subtangles you reference. Thus, your incentive is to select the narrowest
subtangles rather than the highest weight subtangles.
If there is a large amount of “miners” in this system, their incentive is to maximize the weight of the subtangle
under which they get the highest amount mined. Two subtangles that mint new coins at a rate higher than
what is allowed by protocol cannot be merged.
The Payment Services Directive (PSD, Directive 2007/64/EC, replaced by PSD 2, Directive (EU) 2015/2366)
is an EU Directive, administered by the European Commission (Directorate General Internal Market) to regulate
payment services and payment service providers throughout the European Union (EU) and European Economic
Area (EEA).
Using PSD2 and an API specification for Revolut, transferwise, and n24, it could allow other applications
the same access for fiat pegged gateways.
If you take IOTAs in a PoS resource test and then oracles are asked to provide information in a signed manner
for the execution of that information, then given that the IOTAs are from a known source and comply with
KYC/AML/CTF aspects of funds transfer, the fiat funds can be moved through participating in an assembly
wherein oracles can also be filtered by IOTA address seed sources for differentiating price of execution.
————————————————-
4 Timestamping IXI
————————————————-
11
5.1 Oracle Assembly Participation
Let
lω M
M ki
Pω := Oi,j
i=1 j=1
be lω oracles which one person controls. Then there are at most lω oracle assemblies which Pω can participate
in and lω has a practical maximum number of assemblies it can join in terms of latency of assemblies.
Through providing accountability, transparency, and trust, to the VQ counter relative to the number of
oracles in the assembly, we can have consensus upon adjustments for the creation of new oracle assemblies for
which the choice to split into participating in the resource test of any of the newly created oracle assemblies,
and retaining the possibility of all proposed adjustments not reaching quorum and there being no adjustments
to the oracle assembly.
we can see the growth rate increase associated with an assembly and also consider a global parameter over all
oracle assemblies:
XNs Z ts Z(t
Xs )
GlobalQ(s) := Qmax (As,r
q )dts
r=1 0 q=1
with the maximum number of oracle assemblies that Qubic could run by time t after the initiation of Qubic:
Z t Ns Z
Z tX ts Z(t
Xs )
Qubicmax (t) := GlobalQ(s)ds = Qmax (As,r
q )dts ds
0 0 r=1 0 q=1
12
5.4 Oracle Machine Representation Swaps
0
Let Oi be an oracle and let Oi be another oracle. Then,
ki
M
Oi = Oi,j
i=1
and 0
ki
0 M 0
Oi = Oi,j
i=1
0 0
with maps Oi,1 7−→ Oi,1 to Oi,ki 7−→ Oi,k0
i
and morphisms are functions between outputs of assemblies and inputs of oracles into assemblies. Composition
of morphisms makes sense, and if you let f and g be two morphisms in the category of assmeblies Asmb then
we have that if f : a → b, g : b → c and h : c → d then h ◦ (g ◦ f) = (h ◦ g) ◦ f, and also for morphisms in the
category of assemblies Asmb, for every Assembly A, there exists a morphism 1A : A → A (or in other notation,
idA : A → A) called the identity morphism for A, such that for every morphism f : a → A and every morphism
g : A → b, we have 1A ◦ f = f and g ◦ 1A = g (or in other notation, idA ◦ f = f and g ◦ idA = g). Now,
forming functors between morphisms and natural transformations between functors, we can see the semblance
to higher category theory forming, as well as the bijection between layers of mist infrastructure with Jacob
Lurie’s (∞, 0), (∞, 1), (∞, 2), ..., (∞, n) categories, and that the fog and mist infrastructure layers resemble the
structure of a tree, where the fog layer is near the trunk and that as it spreads down, that either a fractal root
system or leaf system resemble fractals as in the asymptotic mist infrastructure which is when n → ∞. Qubics
interassembly interactions are able to virtually simulate the fog and mist infrastructure, dependent upon looking
at functors in the case of fog infrastructure, and natural transformations in the case of mist infrastructure. In
the limit of infinitely many devices in the City in the Sky, an asymptotic mist infrastructure is achieved as the
implementation of (∞, ∞)-category computing.
and
_ _ _ _
( yi ) ∗ x = (yi ∗ x)( yi ) ∗ x = (yi ∗ x)
i∈I i∈I i∈I i∈I
The endomorphism lattice Hom(X, X) of any object X in a quantaloid is a quantale, whence the name.
13
Every assembly is a complete lattice Q and thus the structure of all assemblies running is a Quantaloid with
a finite approximation of a fractal within the quantale (endomorphism lattice) of Q.
————————————————-
14
6.4 Distributed Reconfigurable Wireless Sensor Networks (DRWSN)
We improve RWSN to DRWSN leveraging "Reconfigurable Wireless Sensor Networks new adaptive dynamic
solutions for flexible architectures" by Hanen Grichi, Olfa Mosbahi, and Mohamed Khalgui:
This paper deals with reconfigurable wireless sensor networks RWSN that should be adapted to
their environment under user and energy constraints. A RWSN is assumed to be composed of a
set of communicating nodes such that each one executes reconfigurable software tasks to control
local sensors. We propose three reconfiguration forms to adapt a RWSN: (a) software reconfigu-
ration allowing the addition/ removal/ update of tasks, (b) hardware reconfiguration allowing the
activation/deactivation of nodes, (c) protocol reconfiguration allowing the modification of routing
protocols between nodes. We propose a zone-based multi-agent architecture for RWSN where a
communication protocol is well-defined to optimize distributed reconfigurations. Each agent of this
architecture is modeled by nested state machines in order to control the problem complexity.
Published in: 2014 9th International Conference on Software Engineering and Applications (ICSOFT-EA)
6.9 Flocking
Birds flock. Why do birds flock with each other in a flying V? They are communicating with each other in a
coherent state for flocking - we will see UAV drone swarms do this more and more in the future. A world without
flocks of autonomously moving IoT vehicles and devices will soon be a thing of the past, it is inevitable in the
emergence of artificial general intelligence and AIgarth will aid in the backbone of AI smart contract execution
15
and maintenance. IOTA is the backbone of Qubic and Qubic is the backbone of AIgarth which is the backbone
for flocking of autonomous IoT vehicle and device networks. This will also be required for autonomous payload
transport to have flocking considerations in mind so that interspersed payloads (in ground vehicle fleet flocks, ,
flying aerial vehicle flocks such as the Boeing flying taxi to be released, or space transport and vehicles).
6.10 Foraging
Let F = {f1 , ..., fn } be a set of n foragers which need to be collaboratively communicating on search and locate
aspects for objects which have certain metadata tags. There is then a goal of oracles interfacing with each of
the foragers which is that they must provide the correct information which more likely leads the foraging team
to acquire what they are looking for. There are various examples of this which can be used in practice, such as
a team of government agents attempting to apprehend a criminal on an investigative case or a group of bears
searching together in the forest for Berries. It is a rather practical and mundane consideration of team resource
gathering and acquisition determinations which lead to the task of foraging in a committee to be a relevant
application for Qubic, especially as in many of these scenarios there is not that urgent of a time sensitivity on
latency of communication or frequency of communication in that it can operate in a rather radar-based sense
to take naval operations as a basis point for radar search-and-rescue missions as another concrete example of
foraging.
as an example of n = 100 wherein there are 10 ATVs with 40 HUMs and 50 UAVs such that s1 , ..., s10 represent
the oracle output of an IoT device representing the identity of an ATV, s11 , ..., s60 represent the oracle output of
an IoT device representing the identity of a UAV, and s61 , ..., s100 represent the oracle output of an IoT device
representing the identity of a human. This 100 person swarm cooperative search operation could have a variety
of local subtangle
16
6.14 Avionic Attitude Alignment
Let A = {a1 , ..., an } be a set of n swarm IoT devices which represent the identity of an avionic component
useable for an aerospace industry application (either aeronautical or astronautical if humans are involved, or
more generally for any autonomous system associated with aerial data which could even be fixed on a ground
station or could be a flying system such as a UAV, helicopter, airplane, or spacecraft). Then consensus on
the oracle data represented by the identities a1 , ..., an could lead to correct attitude alignment of the aircraft
that the avionic components represent, and this leads to a significant IoT application in the aerospace industry
wherein preventative health monitoring and IoT integration and assessment is ongoing and determinable with
the Qubic protocol what has been in agreement and what has not with various signals and sensors providing
alignment or not with the desired parameters determined by the flight programming controllers of the aircraft or
spacecraft. Avionic attitude alignment is an exemplemary usecase of qubic in applications where latency is not
paramount and there is a more stable system allowing for the communication to take at least a few milliseconds
to communicate (with current hardware limitations pre-Jinn) between ai and aj such that
Latency(A) = min{BERTD − BR∗i | 1 ≤ i ≤ n} >
where is the small amount of time which the latency needs to be greater than for this application to make
sense. Determining the epsilon parameter associated with avionic attitude alignment in a certain context would
be an interesting proof of concept application amongst a flock of UAVs that could demonstrate Qubic protocol
communications.
17
6.18 Programmable Matter and Claytronics
6.18.1 Self-reconfiguring modular robots
As a qubic application wherein we have a translator from ‘Meld‘ or ‘LDP‘ to Abra or have x86/FPGA imple-
mentation directly and feedback commands for abra processing if not a direct translator/compiler, wherein a
claytronics matrix or sets of such matrices provide programmable matter with smart contracts through Qubic
providing execution instructions for manufacturing, transportation, or generally any IT control system.
6.18.2 Meld
Meld is a declarative language, a logic programming language originally designed for programming overlay
networks. By using logic programming, the code for an ensemble of robots can be written from a global
perspective, enabling the programmer to concentrate on the overall performance of the claytronics matrix
rather than writing individual instructions for every one of the thousands to millions of catoms in the ensemble.
This dramatically simplifies the thought process for programming the movement of a claytronics matrix.“ ‘
7 Conclusion
We have described the general architecture of Qubic with a focus on the high level mathematical details and
implementation focus as a brief introduction to provide further development upon. Our goal has been to
provide a terse guideline of what is to come so that the community can write functions in Abra and allow for
the continual co-creation with industry and the community of the IOTA protocol, IOTA extension interfaces,
Qubic, and projects on top of Qubic based on smart contracts on IOTA.
As a creator of assemblies, the provision of IOTA through rewards in an assembly is required and the
mechanism through doing so is not ensured, there is a risk taken on the participants in the assembly the first
time, and every time that they allocate resources to revealing results to the assembly. The rewards may never
come and further participation in an assembly from which rewards never came in the previous epoch would be
a strong disincentive to allow decay of the assemblies with faulty providers of rewards.
As a participant in an assembly, the decision regarding continual epochal progression is either incentivized
by the desire to participate or the abilities granted by using the Qubic protocol are sufficiently worth it to short
term and/or medium term and/or long term participate in that qubic assembly (committee) for a short and/or
medium and/or long term renewal process that can be partitioned to a varying gradient of choices dependent
upon the qubic adjustment transaction that has led the committee/assembly to veer into a certain direction
with renewing metadata parameters associated with the local subtangles which are deciding a consensus on
oracle data results.
NOTE: The oracles themselves are supposed to run the same computations to form a quorum/committee,
but the Qubic Computational Model (QCM) of Environment-Entity-Effect is likely comparable to PTA of PN’s
- the dataflow paths may likely take color from filters applied to specific tokens which can be written into the
effects, but due to an explanation regarding CPNs... insert something on CPNs
18
Due to the Qubic Computation Model, the qubics can be created and run with conventional binary NAND
gates, which nonetheless allows for the implementation of trinary (non-binary emulated) qubics for improved
energy efficiency (approximately 50%) compared with binary computations. With IOTA as the backbone of
IoT and Qubic as the backbone of Aigarth, there could be the possibility soonTM (whenever CFB runs Aigarth)
for a global network of IoT devices which facilitates the existence of a quasi-Hypercomputational artificial
intelligence.
19