1 of 38

Copyright © 2023 Supra

Supra Research Team

Distributed Oracle Agreement (DORA)

2 of 38

Copyright © 2023 Supra

What are Oracles?

INTRODUCTION

3 of 38

Copyright © 2023 Supra

Oracle

Off-chain Information

Blockchain

What are Oracles?

4 of 38

Copyright © 2023 Supra

Why are Oracles Needed?

Prominent Blockchains and smart-contracts are isolated

They cannot connect to entities outside the chain, including other chains, directly

Off-chain Information

Blockchain

5 of 38

Copyright © 2023 Supra

Why are Oracles Needed?

Off-chain Information

Blockchain

Oracle

6 of 38

Copyright © 2023 Supra

Organization

A Tribe is divided into multiple Clans

7 of 38

Copyright © 2023 Supra

Organization

Each Clan is responsible for a different price pair

8 of 38

Copyright © 2023 Supra

Data Sources

Organization

The nodes in each Clan obtains data from different data sources

Oracle Nodes

9 of 38

Copyright © 2023 Supra

Data Gathering

Every data source feeds multiple clan nodes��This mitigates the risk from Byzantine clan nodes

Data Sources

Oracle Nodes�in a Clan

10 of 38

Copyright © 2023 Supra

Data Sources

Clan nodes obtain data from multiple sources��This mitigates the risk from Byzantine data sources

Data Gathering

Oracle Nodes�in a Clan

11 of 38

Copyright © 2023 Supra

Data Aggregation

Every node computes a median of the set of values obtained from its assigned data sources

Median allows us to be resilient against data source corruption of less than 50%

12 of 38

Copyright © 2023 Supra

Agreement Phase

Nodes send their value to multiple aggregators��This ensures progress as long as there is at least one honest aggregator

Clan Nodes

Aggregator Nodes

13 of 38

Copyright © 2023 Supra

Agreement Phase

Two values “agree” if they are within agreement distance

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

14 of 38

Copyright © 2023 Supra

Agreement Phase

Two values “agree” if they are within agreement distance

4

within agreement distance to form required cluster size of 7

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

15 of 38

Copyright © 2023 Supra

Agreement Phase

Two values “agree” if they are within agreement distance

4

within agreement distance to form required cluster size of 7

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

16 of 38

Copyright © 2023 Supra

Agreement Phase

If they are not within agreement distance, they “disagree”

8

not within agreement distance to form cluster size of 7

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

17 of 38

Copyright © 2023 Supra

Cluster size fc+1�with agreement distance of 4

Aggregation

The Aggregator waits to form a cluster of values of size fc+1 which agree with each other

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

18 of 38

Copyright © 2023 Supra

Aggregation

The Aggregator calculates�the arithmetic mean of the cluster

The mean ensures that in the worst case of a�single honest value, it will still be counted

19 of 38

Copyright © 2023 Supra

Aggregator sends the mean as value proposal to all the nodes

�Approval

Clan Nodes

Aggregator Nodes

20 of 38

Copyright © 2023 Supra

After validation, the nodes approve/vote on the proposal to form a quorum of fc+1 nodes

�Approval

Clan Nodes

Aggregator Nodes

21 of 38

Copyright © 2023 Supra

SMR Chain

Aggregators post the approve value along with the quorum certificate on the chain�

The first value posted is counted as authoritative value for a given round�of oracle

�Publishing

Aggregator Nodes

22 of 38

Copyright © 2023 Supra

Disagreement or Inconsistent Values

In the rare event a cluster of agreement of size fc+1 is not formed within some time then fallback protocol is initiated

8

not within agreement distance to form cluster size of 7

clan size = 2fc + 1

agreement distance = 4�cluster size = fc+1 = 7

23 of 38

Copyright © 2023 Supra

Fallback Protocol

The entire Tribe gathers data from the data-sources

Clan�2fc + 1

Tribe�3ft + 1

->

Every node computes median of the set of values obtained from its assigned data-sources

24 of 38

Copyright © 2023 Supra

Fallback Protocol

Aggregator computes the median of all the values obtained from at least 2ft + 1 nodes

Since node values can differ arbitrarily now, median is required as it offers the highest resilience as a statistical aggregation of up to 50% of corruption of data

25 of 38

Copyright © 2023 Supra

Why Fallback?

In the times of high volatility values observed by various nodes from their data sources may differ wildly and the cluster of agreement can not be achieved

In such a case, fallback provides a�safer and reliable alternative

26 of 38

Copyright © 2023 Supra

Rotation

Random permutation of Clan to commodity mapping��Mitigates adversarial power to target a particular commodity

27 of 38

Copyright © 2023 Supra

Shuffle

Mitigates adversarial collusion

Clan A

Clan B

Clan C

28 of 38

Copyright © 2023 Supra

Round 1

Round 2

Round 4

Round 3

Tick-start DORA

Every oracle round is independent of the other

29 of 38

Copyright © 2023 Supra

Tick-start DORA

Round 1

Round 2

Round 4

Round 3

Data gathering, aggregation can be started without waiting for earlier rounds to finish

30 of 38

Copyright © 2023 Supra

Tick-start DORA

S1 posted�on SMR

Round 1

Round 2

Round 4

Round 3

Data gathering, aggregation can be started without waiting for earlier rounds to finish

31 of 38

Copyright © 2023 Supra

Tick-start DORA

S1 posted�on SMR

S2 posted�on SMR

Round 1

Round 2

Round 4

Round 3

Data gathering, aggregation can be started without waiting for earlier rounds to finish

32 of 38

Copyright © 2023 Supra

S1 posted�on SMR

Round 1

Round 2

Round 4

Round 3

If a fresh value from a later round is available on SMR, earlier rounds can be killed

S2 posted�on SMR

Tick-start DORA

33 of 38

Copyright © 2023 Supra

Round 1

Round 2

Round 4

Round 3

S4 posted�on SMR

Kill�Round 3

If a fresh value from a later round is available on SMR, earlier rounds can be killed

Tick-start DORA

S2 posted�on SMR

S1 posted�on SMR

34 of 38

Copyright © 2023 Supra

Extensions

Different commodity prices exhibit some invariant relation within them

Values across commodities can be checked against these variants for forensic analysis or to detect real-time anomalies in the future

35 of 38

Copyright © 2023 Supra

Abnormal Behavior Detection

A popular circuit breaker function

Sr-1 is the previous value

thr is the circuit breaker threshold parameter

| Sr-1 - Sr-1 | / Sr-1 thr

Threshold bounds

36 of 38

Copyright © 2023 Supra

History Consistency

One of the ways to check history consistency

When the current proposed value is too far from historical values, it is history inconsistent

Sr-1 is the previous value

ch is a constant parameter

σh is the standard deviation of history

Sr-1 - chσh, Sr-1 + ch σh

constant parameter

standard deviation of history

previous value

history inconsistency

Many other functions can be used as post-processing for statistical anomaly detection such as chi-square test, Z-test etc.

37 of 38

Copyright © 2023 Supra

Summarizing

Highly Resilient�and Confident

Highly�Efficient

Highly Decentralized and Randomized

The Supra DORA protocol is

Mitigates effects of adversarial nodes and faulty / malicious data sources

When price movement is following expected trajectory

Protocol switches to fallback when any anomalous behavior is detected

38 of 38

Copyright © 2023 Supra

From the Supra Research Team

Thank You