A Decentralized Oracle Service Network to Boost Blockchain Usability with Real World Data and Computation Power
What is DOS Network?
DOS Network is a chain-agnostic layer 2 decentralized oracle network that offers realtime data feeds and verifiable computation power to mainstream blockchains. It connects on-chain smart contracts and Ðapps with off-chain data sources and unlimited computation power, enabling smart contracts with more real world use cases.
What problems can DOS Network solve?
Besides the widely-discussed scalability problem, currently there are another two big issues hindering the widespread adoption of smart contracts and large-scale commercial Ðapps:
- Blockchain is a closed and deterministic system and the execution of a given smart contract in all validating nodes must reach a unanimous result, otherwise consensus is broken. This is an inherent limitation of blockchain consensus mechanism. Thus, smart contracts are not allowed to perform network I/O operations with off-chain world, they can only consume input from on-chain states and transaction data.
- There are a lot of on-chain resource limitations such as the expensive storage cost and computation constraint (gas limit, cpu time limit, etc.), preventing complex computing in smart contracts.
The mission and value of DOS Network is to solve these two problems to enrich smart contracts and decentralized economy with real world data and more computing power, paving the way for the mass adoption of blockchain.
What is the architecture of DOS Network?
The architecture of DOS Network is partitioned into two layers with several key components:
- On-chain part: A set of system and governance contracts are to be deployed on supported blockchains, mainly including functionalities such as request handling and response/computation result verification, node registration and staking, stats monitoring, payment processing, etc. On-chain system contracts also provide a universal interface to developers and user contracts on all supported chains.
- Off-chain part: A client software implementing the core protocol running by third party users (a.k.a node operators), constituting a layer 2 distributed network serving oracle requests. Client software includes several important modules: event monitoring and chain adaptor module, distributed randomness engine module, cryptography and off-chain group consensus module, request and/or computation task processing module depending on the type of oracle service the node operator provides.