Xai Network
Korean / 한국어
Korean / 한국어
  • About Xai
    • Welcome to Xai
    • Xai 소개
      • Xai 블록체인
      • Xai 재단
      • Xai 토큰
      • Blockchain Gaming
        • Current Limitations
        • The Future of Gaming
        • Gaming Evolved
      • Ex Populus Partnership
      • Offchain Labs Partnership
      • Vanguard League
      • FAQ
      • Important Links
      • Xai Brand Kit
    • Xai 프로토콜
      • Xai 기본 개념
      • 블록체인 인프라를 혁신하는 AnyTrust
        • 신뢰 가정을 통한 비용 절감
        • 유연성을 위한 키셋
        • 데이터 가용성 증명서(DACerts)
        • 이중 데이터 포스팅 메커니즘
        • 데이터 가용성 서버(DAS)
        • 시퀀서-위원회 상호작용
      • 보안 고려 사항
    • Xai의 토크노믹스
      • XAI 토큰의 효용성 및 목적
      • esXAI 토큰의 효용성 및 목적
      • 교환 절차
      • 토큰 통계 및 초기 할당
      • XAI & esXAI Emissions & Burning
      • 네트워크 보상
      • Sentry Key Pricing Tiers
    • Sentry Keys Explained
      • How do Sentry Nodes Work
      • Who Can Operate A Sentry Node
      • Referee Smart Contract
        • Submission of Assertions
        • Claiming Rewards
        • Creating Assertion Hash and Checking Payout
      • Challenger Component
      • Key (NFT-based)
      • Sentry Download and Operation
      • Sentry Wallet Functionality
      • Licensing Impact
      • Sentry Node Hardware Requirements
      • Sentry Node Utility
      • Accruing Key Rewards
    • Sentry Key Purchase & Setup
      • Step 1: Purchase a Sentry Key
        • Option 1: Buy Sentry Key via the website
        • Option 2: Buy Sentry Key via Xai Sentry Node desktop app
        • Option 3: Buy Sentry Key via Xai Sentry Node CLI (command line interface)
          • How to view the price of a Key via the CLI
        • Option 4: Buy Sentry Key via Node License Contract on Arbiscan
      • Step 2: Download & Run the Xai Sentry Node
      • Step 3: Complete Requirements to Accrue esXAI
        • Step 3a: Set Up & Fund the Sentry Wallet
          • How to Obtain Arbitrum ETH
          • How to import your wallet as the Sentry Wallet in the desktop app
        • Step 3b: Start the Sentry Wallet (a.k.a Operator)
          • How to create a wallet using the CLI
        • Step 3c: Assign Keys to the Sentry Wallet
      • Step 4: Complete KYC (or KYB) to Claim XAI redemptions
        • How to interpret a Pending KYC status
      • Common Troubleshooting Steps
        • How do I run a Xai Node on VPS?
          • Step 1: Choose a VPS
          • Step 2: Log in to a server
          • Step 3: Set up Xai Sentry Node
          • Step 4: Set up a Screen
          • Step 5: Start Xai Sentry Node
          • Step 6: Monitor your Node via Screen
          • Step 7: Updating your node
        • How do I prevent others from using my Sentry Wallet or Operator?
        • Why don't I see the KYC link on the desktop app?
        • How do I know my Node is running in the CLI?
        • How do I KYC if I'm using the CLI?
        • How can I see my rewards?
        • Crashing, inconsistent Emissions / missing revert data errors
        • According to BlockPass, my KYC is approved, but the desktop app still says I am not approved
        • I see "Transaction in progress" message after assigning my wallet. Did my wallet not get assigned?
        • How do I delegate my Keys to another user's operator?
        • Why did my Accrued esXAI balance decrease?
        • What are the legitimate contracts owned & operated by Xai Foundation?
        • Why do I get an error for challenge 2012?
      • How To Videos
        • Desktop Client
          • Download & Install Xai Node Desktop Client
          • Import & Start Your Sentry Wallet
          • Assign Wallets Containing Keys to the Sentry Wallet
          • Fund Sentry Wallet with Arbitrum One ETH
          • Submit KYC
          • Claim Node Rewards after Passing KYC
        • Command Line Interface (CLI)
          • Download & Install Xai Node CLI
          • Boot Operator & Interpret Status Logs
          • Add Custom Operator
          • Track Accrued esXAI
          • KYC When Using CLI
    • Roadmaps
      • 지금까지의 주요 성과
      • Xai 출시 게임
      • Xai 및 센트리 노드 로드맵
      • Xai 프로토콜 로드맵
  • Staking Explained
    • Staking v1 and v2
    • Staking Pool Guide
      • Create a Pool
      • Stake esXAI
      • Stake Sentry Keys
      • Generating Rewards
      • Unstaking
    • Staking Rewards & Tiers
    • Time Cooldown
    • Gas Optimizations
  • Tiny Sentry Key FAQ
    • FAQ (Indonesian / Bahasa Indonesia)
    • FAQ (Korean / 한국어)
    • FAQ (Hindi / हिन्दी) - कुंजी विभाजन सामान्य प्रश्न
    • FAQ (Chinese / 中文)
  • Key Sale Referrals
  • Key Split Update (technical)
  • Build on Xai
    • Xai Chains & Parameters
      • Connect to Xai Mainnet
      • Bridge to Xai Mainnet
      • Connect to Xai Testnet (Sepolia)
      • Bridge to Xai Testnet
      • Bridged Token Addresses
      • Contract Addresses
    • How to run a full node for Xai chain
    • How to get $XAI
      • Centralized Exchanges
      • Decentralized Exchanges
        • Camelot
    • Developer Tools
      • Block Explorers
      • RPC
        • Ankr
        • Nirvana
        • QuickNode
      • Token Bridges
        • Xai native bridge
        • Gas.zip
        • Relay
      • Wallets
      • Marketplace
        • Reservoir
        • Snag Solutions
        • RaribleX
      • On chain randomisation
        • Supra VRF
  • Xai Gaming Dev Resources
    • Xai Connect
    • Build with thirdweb
      • Overview
      • Connect
      • Contracts
      • Wallets
      • Account Abstraction
      • SDKs
      • Engine
      • Web3 APIs
    • Build with Sequence
    • Subgraph
    • Xai Gas Subsidy
  • Xai Vanguard: Genesis
    • Getting Started
      • Leaderboard
      • Discord
    • Chapter 01: Onboarding
    • Chapter 02: Minting
      • Minting from Contract
    • Chapter 03: Discord
      • Obtaining esXAI
      • Obtaining XAI
      • Buy Sentry Key
    • Chapter 04: Xai Staking Pools
    • Chapter 05: Unicorn Bingo
    • Chapter 06: Bridging
    • Chapter 08: Build on Xai
      • Thirdweb: Creator Portal Walkthrough
      • Sequence: Xai Builder Walkthrough
    • Chapter 09: Camelot
    • Chapter 10: Crypto Unicorns
    • Chapter 11: Tarochi
    • Chapter 12 - My Angry Yakuza Girlfriend
    • Chapter 13 - Rainbow Rumble
    • Chapter 14 - The Lost Glitches
  • Xai Vanguard: Previous Seasons
    • XAI Token Claim
      • Claim Details
  • Play Games on Xai
    • Connect your wallet to Xai
    • Xai Games Catalog
    • Final Form
      • Card Sets
      • Card System
      • Where to Get Cards
      • ❔FAQ
Powered by GitBook
On this page

Key Split Update (technical)

With the key split we have updated how assertions and claims work to enable significant gas optimizations.

Changes to Referee, Operator, Assertion, Claims for the 1:100 key split

Summary of changes: the referee contract has been upgraded to allow “Bulk Submit Assertions”. “Bulk Submit Assertions” will now be used in lieu of “submitMultipleAssertions”. The Bulk Submission function is substantially more gas efficient than submitMultipleAssertions, this is achieved by reducing the contract state that is created when submitting an assertion by the Node Operator. The base probability of being able to participate in a challenge has changed proportionally to the change in supply. Previously when there was a supply of 50,000 keys the win probability was 1%, now with 5,000,000 keys the win probability is 0.01%. To achieve this the Referee smart contract is upgraded:

  • New algorithm to determine winning keys based on a number of keys submitted for

  • Submit/Claim once for all staked keys in a pool or all unstaked keys held in a wallet

  • Individual key ids are no longer required to be submitted for assertion or claim transactions.

This means any operator will now be able to submit for any unstaked keys in an assigned owner wallet or for all keys staked in a staking pool owned or delegated.

The amount of winning keys will no longer be determined based on the random chance for a specific Node License Key ID and the staking tier boost factor but from a random chance based on the owner/pool address, the staking tier boost factor and the total amount keys either staked in a pool for a pool bulk submission or unstaked keys in an owner wallet for an owner bulk submission.

New Functions:

  1. submitBulkAssertion: params

    1. address _bulkAddress

    2. uint256 _challengeId

    3. bytes memory _confirmData

This function replaces submitMultipleAssertions.

The _bulkAddress should be either the poolAddress being submitted for, or the key owner’s wallet address. Individual key Ids are no longer required to be passed into the function call.

  1. claimBulkRewards: params

    1. address _bulkAddress

    2. uint256 _challengeId

This function replaces claimMultipleRewards.

The _bulkAddress should be either the poolAddress being claimed for, or the key owner’s wallet address. Individual key Ids are no longer required to be passed into the function call.

Changes to calculation algorithm:

  1. Individual key Ids are no longer used to calculate “Winning Keys”.

  2. Instead, a statistical probability method is used.

  3. The same method is used for pools and owner wallets.

  4. There are two variations to the new algorithm.

    1. High probability of having a winning key (1% or more).

    2. Low probability of having a winning key (Less than 1%)

Algorithm Flow

  1. The algorithm will first determine the number of keys being submitted for.

    1. For pools, this will be the total number of keys staked.

    2. For owner wallets, this will be the total number of un-staked keys.

  2. Next the algorithm will determine the expected number of winning keys based on the boost factor.

    1. Example: 1,000 keys in a pool with a 700 boost factor would expect 70 winning keys.

High Probability Algorithm: for high probabilities where we expect at least 1 winning key

  1. We now use a random number to add/subtract up to 30% variance to the expected winning keys.

    1. This means the example above for an expected winning key count of 70 winning keys could return anywhere from 49 to 91 winning keys with the average being about 70 keys over the long term.

Low Probability Algorithm: for low probabilities (less than 1%), where we do not always expect at least 1 winning key we calculate this differently.

  1. We determine the total probability of winning (1= 0.01 %, 100=1% etc…)

  2. We scale that up(multiply) by 10,000. (Scaled Probability of Winning)

  3. We now generate a random number between 0 - 999,999.

  4. If the random number is below the Scaled Probability of Winning, the submission wins for a single key.

What happens when keys get staked or unstaked into a pool during a challenge: Any already submitted bulk assertion for the current challenge will be updated to reflect the changes in the number of keys and resulting number of winning keys.

If a pool has already submitted a bulkAssertion and a new key is staked into the pool before the end of the challenge, the following will happen:

  1. If the owner of the staked key as already submitted a bulk submission for the current challenge, that submission will be updated to reflect the owner’s new un-staked key count and will then be re-calculated based on the owner’s new un-staked key count.

  2. If the pool has already submitted a pool bulk submission for the current challenge, that submission will be updated to reflect the new staked key count and will then be re-calculated based on the new staked key count.

What happens if keys are un-staked from a pool during a challenge:

If a pool has already submitted a pool bulk submission and a key is un-staked from the pool before the end of the challenge, the following will happen:

  1. The previously submitted pool bulk submission will be re-calculated based on the new staked key count after the un-staked key has been removed from the pool’s staked key count.

The goal of the changes are to allow the number of keys/node licenses to be scaled up without increasing the operational gas costs for an operator and reducing the amount of data/computations that need to be handled on-chain.

PreviousKey Sale ReferralsNextXai Chains & Parameters