Different from other EVM-compatible blockchains
Different from other EVM-compatible blockchains, DotOracle adds Oracle Data Layer to the layered architecture of the system. The following shows the layered architecture of DotOracle blockchain
- Network & Consensus Layer: This layer is responsible for communication between validators of the network. This layer ensures the consensus of the network that all validators will have consistent data. Similar to other blockchain networks, the security model of this layer also follows the Byzantine Fault Tolerance model in most Proof-of-Stake blockchains.
- Oracle Data Layer: This added layer is used for storing all off-chain data (external information) that is needed for transactions that would interact with smart contracts using off-chain data. This layer serves as a layer having real-time off-chain data that can be accessed by oracle smart contracts. This is completely different from all existing oracles where application smart contracts access non-real-time off-chain data through oracle smart contracts. Non-real-time means that the data the applications are accessing is not the real-time data. In those oracles, application smart contracts read off-chain data from a smart contract where the data was updated by oracle nodes.
- For example, for an oracle on Ethereum that provides the ETH/USD pair price data. Applications use the price data for this pair by reading from an on-chain smart contract where the price data is updated (at most) every 15 seconds (Ethereum average block time). This means the price data those applications are using is the price data 15 seconds before the application transaction execution.
- Oracle Data Layer will be explained in the following where the article explains the steps how the chain works.
- Oracle & smart contract layer: This layer contains all smart contracts deployed by developers for developing a DeFi application or an oracle that provides tamper-proof data. Oracle contracts can use our pre-compiled contracts to read real-time off-chain data from the Oracle Data Layer. Oracle smart contracts are like any smart contract and can be written using preferred smart contract language such as Solidity. The EVM of DotOracle is highly customized to provide precompiled contracts that can be called by any smart contract to read real-time off-chain data. By providing this layer, DotOracle blockchain provides a way for developers to program their own oracles using the most popular smart contract development language Solidity.
- Application layer: This layer contains all application smart contracts that interact with any user.