Only this pageAll pages
Powered by GitBook
1 of 9

IO net

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introduction

IO net

As the world’s first AI-powered oracle and ecosystem for blockchains, IO net now transforms itself to become an advanced AI Layer 1 for Data Economy and Oracle services that serves as a foundational layer for the creation of a new generation of smart contracts and Dapps and create a complete AI Ecosystem on blockchain.

This document describes the IO net's system overview, use cases, and token economics.

Introduction

Why conventional blockchain doesn’t include AI models?

Current smart contracts cannot run AI models inside, and it is almost impossible to integrate an AI model into a smart contract. AI models should be complex approaches, such as SVM, neural network, and clustering. The reasons come from three characteristics of smart contracts as follows:

  • Strictness: smart contracts always follow strict rules in which the inputs must be 100% accurate (e.g. signature) to generate an output. However, AI models can hardly give such accuracy (e.g. face recognition). As a result, IO net is there to reduce some aspects of strictness to obtain better functionality and user experience.

  • Environment: smart contracts are mostly written in high-level programming languages such as Solidity and Rust that provide stricter syntax and better security. Nevertheless, the AI models are is typically written in Python or Java.

  • Data size: On one hand, smart contracts often have relatively small storage since it helps reduce transaction fees in some blockchain networks such as Ethereum. On the other hand, the size of an AI model is much bigger.

There are below scenarios where AI is very useful and necessary.

  • Identification based on biometric methods, such as face and fingerprint

  • Automated trading based on price prediction and AI strategies

  • Lending based on credit scores

  • Comparison of two products from their photos

IO net's Solutions

The proposed IO net could be a bridge to bring AI to smart contracts. The IO net mechanism seems similar to Band Protocol and Chainlink, but it focuses more on AI APIs and the quality of the provided AI models. In each user request, test cases are attached, and the providers’ API must pass a certain number of test cases to receive payment. The validators manage the features of test cases and AI model quality, and that makes IO net unique and different.

  • AI Oracles: IO net enables smart contracts to securely access external AI APIs. Artificial Intelligence helps enhance smart contracts.

  • AI Marketplace: Have access to, look up, and choose an ever-increasing AI algorithms and models from different providers around the world. Develop your applications along with the integration of AI services to increase your application functionalities as well as values.

  • AI Provider: AI developers, individuals or companies, can have a chance to publish, edit, and manage their work and earn rewards from the users on a global scale. Hence, you can improve your models, even more, collect data and continue to provide exceptional AI services.

Oracle data on IO net

Smart contracts are a self-operating computer program that automatically executes when specific conditions are met:

A smart contract is a computer program or a transaction protocol which is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement. The objectives of smart contracts are the reduction of need in trusted intermediators, arbitrations and enforcement costs, fraud losses, as well as the reduction of malicious and accidental exceptions. (From Ethereum whitepaper and Wikipedia)

The common use case of smart contracts is only tokenization, and it has not been adopted in the industry yet. The primary reason is that smart contracts are not connected to off-chain data that is not stored on the blockchain. Due to interacting with off-chain data that can lead to multiple states of the blockchain, it is not allowed to interact with off-chain data. A consensus protocol on the blockchain ensures a single state of the blockchain ledger.

The single state of blockchain ledger makes all operations deterministic. It means that the same operation performed on different nodes should give the same result. Note that the difference in results will lead to failed consensus among blockchain nodes. The typical example of non-deterministic operations is calling an external API from outside since each API call could return different values.

Oracle, in terms of definition, is a person who can provide useful information. We also have Oracle as a name of a company, but this is not that Oracle. Oracle in the blockchain is a type of middleware that connects blockchain with the resources outside. In the past, blockchain could only have access to its internal data and resources, which is very limited, whereas other systems were free to do so with simple REST APIs. Now things have changed, oracle has come to provide blockchain with more functionalities by allowing it to call external APIs. In a blockchain, an oracle can be a node that collects data from other sources of data. It also can be a script file that calls a CURL request and receive the request's response before writing that response onto the blockchain.

IO net provides an oracle that helps fetch external data securely and its architecture is designed to focus more on AI data sources as follows:

  • Request format including input parameters and test cases

  • API testing based test cases that are the unique functionality.

  • Test providers proposing suitable test cases that users can choose to test an AI API.

  • API marketplace and test-case marketplace

Evaluating the price of game items

Staking & Earning: Staking means earning. By staking your XOR tokens into one or more validators, you will have a chance to participate in the system as a governor while earning more. Moreover, by doing so, your contributions also have a positive impact on our operations of the network. It is a win-win for all sides.
  • Users & AI requests: Users can make different requests to AI services that are not easy to find elsewhere, as the service providers may not have enough resources to provide a stand-alone AI service application. If the services are great, sending funds to these services can be worth considering to allow them to grow more and more.

  • XOR DAO: you are the governor of the product serving you. IO net is of, for, and by the community. IO net team just helps initialize the project and when the mainnet is started, any changes of IO net should be reviewed by validators and stakeholders.

  • High scalability and performance

  • Cross-chain compatibility that is able to serve data to most publicly available blockchains. The target blockchains can verify data on IO net efficiently.

  • #

    System Overview

    The flow of requesting an AI API is illustrated in the IO net’s System Overview figure. To perform a request, users or smart contracts need to call an oracle script that is available on the ORAI gateway or marketplace. In an oracle script, there are AI data sources (provided by AI providers), test cases, test source (optional), and transaction fees for each request. When a request comes, a random willing validator is chosen to perform this request. The chosen validator will fetch data from one or more AI providers on behalf of the user after executing the test scenarios, and if the AI provider fails in testing, the request is canceled.

    A request is successful if its result is written to the IO net blockchain. The transaction result, which can be fetched from smart contracts and regular applications, is proof of execution, and fees are applied in this transaction. There is an overhead of reading results from IO net’s transactions, but it helps ensure that the AI API quality is good and there is no data tampering during the process of fetching data from AI providers.

    Compared to Band Protocol and Chainlink, API testing based test cases is the unique functionality. Since IO net focuses on AI APIs, testing is very important to control the quality of AI providers. Besides, test providers can propose suitable test cases that users can choose to test an AI API. Test cases in the IO net marketplace can encourage AI providers to improve the accuracy of AI models.

    Another interesting feature is that the IO net community has the power to rate the validators’ reputation for quality AI APIs improvement. If a validator has bad behavior, such as failing to perform test cases and validate AI providers, slow response time, and low availability, its holding token will be slashed.

    Nevertheless, validators in IO net is responsible for performing many important tasks and could be a centralized point. Therefore, the number of chosen validators should be high in order to increase request performance, scalability, and high availability. Meanwhile, because we need many validators to participate in the IO net network and maintain their quality work, block reward and transaction fees must be applied for such validators to earn more IO tokens.

    Specifically, there are two ways to incentivize validators as well as test case, data source providers.

    First way

    The validators that participate in the network can receive rewards after each block having transaction fees. Indeed, the validator proposing the block, which is called a proposer, collect a bonus reward for its helpful job of committing a block. The formulas are described below:

    (0) Propose multiplier = (base proposer reward + bonus proposer reward * (sum of precommit voting power / total voting power))

    where base proposer reward is the base percentage of how much the proposer receives the reward; bonus proposer reward is the percentage for the amount of precommit voting power that the proposer has successfully collected when before committing a block. The current values are 1% and 4% respectively, so the maximum value of the propose multiplier is 5% or 0.05

    (1) Proposer reward (bonus) = Propose multiplier * total fees within a block

    (2) Remaining = Remaining - (1)

    (3) vote multiplier = 1 - community tax - propose multiplier

    while the community tax is set to be 2% or 0.02

    (4) power fraction = voting power / total voting power

    (5) a validator's reward = total fee _reward multiplier_** power fraction**

    (6) remaining = remaining - reward for each validator

    the loop goes on until all validators have received their rewards.

    (7) The remaining reward is sent into the community pool, where it can be used to send to an abritary IO account.

    Note: The actual number of IO coins that a validator collect is the commission of the received reward. This figure is configured by each validator, and by default it is 0.1. The minimum gas price, on the other hand, must explicitly set in order to charge fees for each transaction. In addition, the tokens are allocated proportionally to the voting power. As a result, validators with more coins staked will receive more rewards.

    Second way

    The validators can actively participate in executing the oracle scripts to receive 20% of the rewards by publishing reports. A report contains information on the validator that created it, the data sources, test cases used, and the block containing that report transaction. Using this information, we can collect validators, test case owners, and data source owners involved in a specific block to reward them. Half of the total fees is reserved for rewarding data source and test case owners. Only those creating reports are able to receive the rewards. The formulas are as follows:

    Provider reward = total request fees within the previous block * 0.5

    Here, we make sure that every Data Source and Test Case owner receives the correct amount that he requires after running the script. For example, an Oracle Script runs two AI Data Sources, 1 Test Case, each requires 0.05 IO to execute. As a result, the minimum fee needed is 1.5 IO, which is equal to total request fees within the previous block * 0.5.

    Validator reward = Provider reward _0.4 or total request fees within the previous block_** 0.2**

    In here, validators that participate in the Oracle Script execution process will receive their rewards according to their voting powers within the validator reward.

    The rest of the request fees (the remaining 30%) will be allocated to the validator that has successfully proposed a new block along with taxes that go into the community pool using the first way.

    Layer2 Rollups and Subnetworks

    The purpose of running subnetworks & Layer 2 rollups adaptations on IO net is separating the Mainnet and subnetworks is to scale up the performance of the Mainnet, also known as the Layer 1.

    IO net's Layer 2 Rollups

    Rollups are Layer 2 solutions dominating Ethereum scaling and have been gaining a great popularity in many networks like Syscoin, Cosmos, and many specific projects like Immutable X, zkSync, StarkWare, Loopring, etc.

    There are two types of rollups: optimistic rollups(optimism project) and zk-rollups (zksyncs project). IO net has customized these both types in its modules when implementing subnetworks for AI Oracles and IOnetDEX.

    Subnetworks

    Subnetworks for running DApps on IO net 2.0 are set to stay in Layer 2 while considerably helping in expanding the capacity of Mainnet but not affecting its core logic and security.

    At the moment, IO net has launched two subnetworks: VRF Subnetwork and AI Execution Subnetwork.

    Subnetwork executors play a role as a validator for the working of a subnetwork on IO net. Similar to a blockchain validator, an executor participates in the execution and verification of the computation, in this case, the calculation of the random data. However, compared to blockchain validators, VRF or AI Execution subnetwork executors require much less computing resources and don’t need to achieve 100% uptime.

    IBC Integration

    Interblockchain Communication Protocol (IBC)

    IBC stands for Interblockchain Communication Protocol, which have been widely used to allow direct communication and asset trading between independent blockchains.

    The Cosmos ecosystem has a vision of creating the "internet of blockchains," or a network of independent chains that can communicate in a decentralized way. To reach this goal, the Inter‐Blockchain Communication protocol (IBC) was created.

    As part of the CosmosSDK-based ecosystem, IO net integrates the IBC protocol to IOnetDEX, our CosmWasm smart contract-based decentralized exchange with multi-chain interoperability, optimal speed and lots of liquidity options for users.

    Use Cases

    AI will be the next big thing and upgrade of smart contracts in DApps. How to make smart contracts smarter with AI. We would like to introduce several use cases where smart contracts can leverage AI.

    IO net also supports regular centralized applications in using AI APIs on the decentralized IO net marketplace. Users can find better AI providers with better price in this marketplace.

    NFT audit and copyright management

    In order to support a transparent and truly trustless NFT ecosystem, IO net has developed aiRight, a complete copyright management and farming platform for NFTs that harnesses the power of the world’s first AI Oracle to determine authenticity and point of origin for multimedia works minted on-chain.

    Flexible smart contracts using face authentication

    There are several scenarios in which face authentication is very useful as follows:

    • Using your face to get your balance instead of using a private key.

    • Withdraw using your face

    • Using your face in order to reset your private/public key pair.

    • Using both your private key and face in order to execute a smart contract.

    Using face authentication might be riskier than a private key, but it helps increase user experience. In cases of checking balance and withdrawing tokens to registered wallets, face authenticatiion is safe and convenient.

    Fake news detection using different AI providers from IO net

    This use case focuses more on a regular application that wants to check if the news can be trusted. IO net provides a marketplace in a decentralized manner in which combining results from different providers is possible. If the providers want to receive payments, their APIs must pass the test cases, which is when the APIs return the correct results of your own test cases.

    More other use cases is coming soon

    • Smart contracts help check if a product is fake in the supply chain.

    • Smart contracts deciding a loan based on users’ credit score.

    • Smart contracts automatically pricing game items based on their characteristics and DNA.

    • Marketplace of automated diagnostics for X-ray images, spam classification, handwriting detection using OCR, and citizen ID card detection using OCR.

    Tokenomics

    How will each allocation be used?

    As the IO net Foundation commits to providing deeper transparency for all current and future DAO members, it is helpful to understand the specific purpose and appropriate use of each allocation.

    Ecosystem: Primarily used for Block Rewards, but can also be allocated for new liquidity pools and liquidity mining incentives.

    DAO Treasury: Our expectation is that the IO net DAO will continue to organize, and formalize standard procedures for community-led initiatives, including developer incentives programming, marketing actions, and educational content creation. The IO net Foundation will continue to provide resources to meet the unique needs and assist the DAO as needed.

    Foundation: Primarily used to support research and development for IO net’s open-source core protocols, provide funding for Foundation hosted hackathons, and continue to support the community-inspired Foundation Delegation Campaign (FDC), providing delegations to support our validators.

    Token Utilities

    Native IO tokens are required to secure and power the decentralized Oracle network of validators. The native IO token is used in different scenarios below:

    • Transaction fee: the IO token is required in order to run an AI request sent to the IO net and run any transaction.

    • Staking for validators: all validators are required to stake IO in order to be selected to create a block or fulfill data requests.

    • Participation in network governance: the IO net is organized in the DAO manner, all protocol upgrades and parameter changes must be voted by token holders.

    About transaction fees on IO net

    The token plays a role as a transaction fee that is paid for parties as follows:

    • Request-executing validators

    • AI-API providers

    • Testcase providers

    • Block-creating validators.

    The transaction fee is different depending on the fee requirement of request-executing validators, AI-API providers, and test-case providers. The transaction fee should be explicitly defined in MsgSetAIRequest of a request. When a request comes, request-executing validators must decide if they want to execute it. After that, a random validator, which is responsible for proposing a block will execute the request before firing an event to those request-executing validators.

    Afterward, these validators interact with test cases and AI APIs to create a MsgResultReport in the end. A report contains the data sources, test cases used, the validator creating the report, and the block height of it. Using this information, we can collect validators, test case owners, and data source owners involved in a specific block to reward them. Only those creating reports are able to receive the rewards. If there is more than one validator asked in the MsgSetAIRequest (ValidatorCount), the transaction fee is divided proportionally to the voting power of each validator.

    Minting IO

    There are two ways to mint IO tokens on the IO net:

    • The first way is that the IO token is rewarded for each newly created block. In the IO net, validators are responsible for creating new blocks, and a random validator is chosen to do that. In order to become a validator, one needs enough IO tokens that are staked or delegated. Note that new IO tokens are only mined when a block contains one or more transactions with transaction fees. Such fees will be converted into tokens in the form of rewards for the validators.

    • The second way is briefly described above, in which the request-executing validators can earn some extra IO tokens by executing test cases and data sources. Similar to the first way, 70% of the total transaction fee is extracted as a reward for the first three parties mentioned earlier. The remaining 30% is saved to reward validators for the newly committed block. Nevertheless, this second way only occurs when there is at least a report broadcast to the IO net at the end of a block.

    Inflation, Staking, and Slashing

    In order to keep the value of the IO token, holders can stake their token to the IO net. The rewarding token is divided based on the number of tokens that a holder is staking to a validator.

    Slashing is a mechanism to penalize misbehaviors of validators in aspects of AI API quality, response time, and availability.

    Read more about incentives on IO net 2.0 & rewards for delegators and validators .

    here

    Verifiable and trustless AI Execution

    We design and implement “Proof of Correctness” and “Proof of Execution” for any AI computation. This plays a fundamental role in developing AI Oracles for many smart contracts while enabling smart contracts to safely use the results of AI computation to trigger actions, resulting in an absolute improvement compared to a centralized AI computation that is integrated into smart contracts.

    VRF Subnetwork is the first subnetwork on IO net and we are now implementing an AI Executor Subnetwork with customized Optimistic Rollup and ZK-Rollup modules. With Proof of Correctness and Proof of Execution mechanisms, we create a verifiable and trustless AI Execution environment instead of a centralized AI solution brought to blockchains.

    AI Layer 1 for Data Economy & Oracle services

    IO net namely AI Layer 1 for Data Economy and Oracle services, is a major upgrade of IO net to get ready for mass adoption and interoperability with other chains.

    IO net interconnects AI and Blockchain to introduce innovation and hence needs to revolutionize both in order to make them compatible and integrable. In the AI space, IO net focuses on providing decentralized platforms for Data and AI, standardizing how AI-based computation can be verifiable on-chain while ensuring the correctness of AI. In the Blockchain space, IO net emphasizes the scalability and interoperability of its oracle solutions and services with other networks in order to expand the utility of the IO net ecosystem; and through this, a wide range of unprecedented Dapps — more functional and intelligent can be made possible.

    IO net’s technology and strategy on adoption have the main themes as follows:

    AI Layer 1 with high interoperability — We bring our AI ecosystem and services to all major blockchain networks through our relaying protocols and bridges.

    Scale-up with Layer 2 solution — We scale our oracle services and protocols like VRF in a subnetwork via a customized Layer 2 Rollup (for AI Oracles and IO net’s protocols), which allow public participants and increase transaction throughput.

    Verifiable and Trustless AI execution — We design and implement “proof of correctness” and “proof of execution” for any AI computation. This plays a fundamental role in developing AI Oracles for many smart contracts.

    Decentralized Data and AI platform — We develop Data and AI-related hubs through platforms like Data Hub or AI Marketplace (and other upcoming hubs) and standard protocols for creators like Royalty Protocol in order to establish decentralized environments for Data Economy and AI-based services.

    Standardized protocols for high applicability — We make standard developing tools and protocols for developers such as Cosmwasm IDE, or upcoming SDK and development sandbox for Dapps, NFT, Metaverse projects.

    Protocol Messages

    Cosmos SDK Messages

    Since the IO net blockchain is built from the Cosmos network, it also supports all message types of Cosmos SDK so that they can be delivered to all nodes for execution and querying. For simplicity, all message types follow the same protocol, which are described on the Cosmos SDK documentation

    CosmWasm Messages

    IO net uses wasmd module to leverage the power of smart contracts to build decentralized applications. The CosmWasm team describes clearly these messages in their documentation