Connecting the dots has been the role of Scientists over the history, in which achievements of past generations are summed up in an effort of finding counter-proofs and improving previous findings.

With pleasure, we were able to deeply discuss Oracles during the last NEO Community Assembly, held by NGD Shanghai from September 1st to 8th, 2019 (https://neonewstoday.com/general/neo-hosts-successful-first-community-assembly-in-shanghai/).

Oracles, as currently being designed for the NEO Blockchain, are a scientific achievement that concatenates:

The simplicity of dBFT and its Block Finality;

The multi-agent based designed of NEO Blockchain, composed of different autonomous entities;

The flexible of C# core code design, which provides simple access to this different layers and entities.

NEO Oracles

Brainstorming sessions happened at the Community Assembly, in which proposals were considered along with previous knowledge obtained from discussions already held on github:

Practical Detached State Persistence with Trees and Oracles: https://github.com/neo-project/neo/issues/769

Oracles with two execution modes (Neo 3): https://github.com/neo-project/neo/issues/798

(neo3 oracles) how to properly hide CN IP address: https://github.com/neo-project/neo/issues/932

Design options and use cases for Oracles: https://github.com/neo-project/neo/issues/967

A common consensus that could be felt from the community was:

NEO has an unique and state-of-the-art infrastructure for allowing an innovative and pioneer design for oracles!

Why? The clear answer is: “Block Finality assisted by the flexibility of NEO dBFT”

At this point, it is noteworthy to emphasize the beauty of Bitcoin efforts for making Lightning Network a reality, a scalable and refined mechanism that has been recently adopted by the Bitcoin Community.

On this same line of reasoning, we highlight how Oracles TXs can interact with NEO Blockchain on the Memory Pool layer in an innovative strategy that merges off-chain and on-chain capabilities and processing power.

Let's use some figures from our previous insight:

Figure 1 — User submits an Oracle Tx A via public RPC node call “sendrawtransaction”

Oracles transactions would be spread to all peers (red and blue nodes) in a fully distributed manner, until they might reach CN (green nodes).

Figure 2 — Tx A is propagated to other nodes via P2P protocol

Here, a trick would happen, Oracle transactions would be firstly found as pending on nodes Memory Pool, until responses from the majority of Oracles nodes is found.

Figure 3 — Memory pools will be fulfilled with such oracle txs

However, here, before proposing a block, as detailed in the Figure 4, Speakers needs to check if an agreement for that specific Oracle TXs was already found.

Figure 4 —Speaker proposes a new block that can include Oracle Tx A (if so, an additional certificate should be included), only if, an external outer ring, in its majority, has necessary information regarding that Oracle TX data

Following this speaker proposal, as from the nature of the dBFT protocol, backups will need to validate such Oracle Tx, which should be coherent with the certificate proposed by Speaker for that specific Oracle TX.

NEO Oracle Applications

E mission of certificates. Those who want to publish certificates of their specific data could use an smart contract that contains links to a list of documents. Based on this documents URLs, invocations would triggers oracles to get the current state of that information.

These certificates are surely one of the most wanted applications by many entities of the public sector.

In addition, NEO Oracle will be a path that could be generalized for several other similar strategies, such as Lambda functions and third-party applications that could run as black-box functions.

Much more applications can be expected from this important connection of Blockchain and the external world of the internet.

A special thanks goes to distinct contributors of the NEO Community, in particular, to Igor Machado Coelho, Belane & Shargon (Red4Sec), Researchers of NGD Shanghai and Researchers of SPCC Russia.