GNUS.AI
  • 🧠About GNUS.AI
    • GNUS.AI
    • Introduction
    • Features and Benefits
      • Scale and cost-efficiency
      • GNUS.ai Network vs. Centralized xAI 100k Cluster
        • 1. Executive Summary
        • 2. Introduction
        • 3. Understanding the GNUS.ai Decentralized Network
        • 4. The Centralized xAI 100k Cluster Explained
        • 5. Comparing CAPEX and OPEX
        • 6. Payout Structure and Profitability
        • 7. The Deflationary Token Mechanism
        • 8. Projected Token Price Appreciation
        • 9. Summary Comparison Tables
        • 10. Conclusion and Next Steps
        • Final Thoughts
      • Tokenomics
    • Public Roadmap
    • Whitepaper
    • Meet the Team
    • Why GNUS.AI
      • Works Everywhere
      • Customizable
      • Fast
      • Secure
        • Secure 2FA with TOTP and zk-SNARKs
    • How Does It Work?
      • Idle Central Processing (GPU)
      • Distributed Computation
      • Dynamically Adjusted Resource Allocation
  • 🖥️Technical Information
    • Super Genius Blockchain Technical Details
      • SuperGenius DB Layout
      • AI Data Blocks
      • Slicing Data for Macro MicroJobs
      • Verification and Hash Results from Processing
      • Diagram of the internal blockchain, blocks and processing functionality
      • IPFS Pub Sub
      • SG Consensus Algorithm Implementation
      • Account creation with ECSDA and El Gamal
      • Key Derivation Function
      • El Gamal encryption
      • Prover specification
      • C++ Coding Standards
      • SuperGenius processing component information
        • Processing worker app workflow
        • Job Processing Flow
      • Super Genius DAG Blockchain
      • Minimal MMR Proof System with UTXOs
      • Cross-chain Bridging through SuperGenius
        • Overview of Technical Details for Cross-Chain Bridging Flow
        • Message Creation and Leader Election
        • Leader Ownership and Verification Channel Creation
        • Node Verification and Voting
        • Signature Collection and Aggregation
        • Destination Chain Submission and Validation
    • Hybrid Smart Contract
      • GNUS.ai Ecosystem: A Unified Network of Intelligence
      • Structure
        • Structure Details
      • Encoded IDs
    • Our Smart Contract Testing Philosophy
    • AI Systems
      • Overview
      • Query Workflow
      • Data Storage
      • Pub/Sub Communication
      • Retraining Mechanism
    • Zero Knowledge Proofs
      • Proof schemes and Elliptical Curves
  • Resources
    • Contact Us
    • Contracts
    • FAQS
    • Multisig Wallets
    • Glossary
    • Official Links
Powered by GitBook
On this page
  1. Technical Information
  2. Super Genius Blockchain Technical Details

Slicing Data for Macro MicroJobs

MacroJobs and Microjobs using slicing parameters for access patterns. One of the nodes (randomly chosen) uses a slicing pattern that includes an extra block to skip so that verifier node grabs 1/10th of the blocks from the each of the other nodes.

// temporary testing
RanomSeed(gettime() ^ 0xdeadc0de);

int getContractRandom() {
// call ETH contract to get RandomSeed
// return eth.call.getContractRandom();
  // dummy for now
  return Random();
}

RandomSeed(getContractRandom());
for (int i=0; i< nMacroJobs; i++) {
  macroJob[i].randomSeed = Random() + i;
  macroJob[i].UUID = GetUUUD();
}

#define MICROJOB_COUNT 10
// create Microjobs
void CreateMicroJobs(MacroJob *macroJob) {

RandomSeed(macroJob.randomSeed);
int verifier_node = Random(1, MICROJOB_COUNT);
for (int i=0; i< MICROJOB_COUNT + 1; i++)
{
  if(i != verifier_node) {
    SliceData(&macroJob->sliceParameters, &microjob[i], 0, MICROJOB_COUNT);
  } else {
    uint offset = Random(1, MICROJOB_COUNT) * microJobBlockSize; 
    SliceRandomData(&macroJob->sliceparameters, &microjob[i], offset, MICROJOB_COUNT+1);
}
 
// SliceData creates slicing parameters for Microjob
SliceData(SliceParameters *sliceParameters, MicroJob *microJob, uint offset, uint nextBlock)
{
  microjob->slicingParameters.offset = offset;
  microjob->slicingParameters.nextBlock = nextBlock;

  // Copy macroJob->slicingParameters or calculate rest of them
   
} 
PreviousAI Data BlocksNextVerification and Hash Results from Processing
🖥️