High-Level System Architecture
Introduction
The FLUXNET architecture is designed to efficiently bring real-time, on-demand data to blockchain applications. This high-level overview explains the core components and their interactions within the FLUXNET system, enabling developers and businesses to build innovative decentralized applications (dApps) with ease.
Core Components
1. Consumer Contract
Definition: A smart contract deployed on the blockchain that requires external data to execute its functions.
Role: Initiates data requests to the FLUXNET network and utilizes the received data within its logic.
2. Oracle Contract
Definition: An intermediary smart contract on the blockchain that manages data requests and responses between consumer contracts and off-chain data providers.
Role:
Receives data requests from consumer contracts.
Emits events signaling new data requests.
Processes and delivers data responses back to consumer contracts.
3. FLUXNET Nodes (Off-Chain Programs)
Definition: Decentralized nodes operated by participants in the FLUXNET network.
Role:
Monitor the blockchain for data request events emitted by the oracle contract.
Fetch the requested data from external data sources.
Process and verify the data.
Send the data back to the oracle contract for delivery to the consumer contract.
4. External Data Sources
Definition: APIs, databases, and other off-chain systems that provide real-world data.
Role: Supply the necessary data as requested by the FLUXNET nodes.
Data Flow Overview
Step 1: Data Request Initiation
Consumer Contract: Calls a function on the oracle contract to request specific data, passing necessary parameters.
Step 2: Event Emission
Oracle Contract: Emits an event indicating a new data request.
FLUXNET Nodes: Continuously listen for such events on the blockchain.
Step 3: Data Retrieval
FLUXNET Nodes:
Detect the data request event.
Fetch the required data from external data sources.
Perform data verification to ensure accuracy and integrity.
Step 4: Data Submission
FLUXNET Nodes: Send the retrieved and verified data back to the oracle contract, often including cryptographic proofs.
Step 5: Data Delivery
Oracle Contract: Receives the data from the FLUXNET nodes and updates the consumer contract accordingly.
Consumer Contract: Utilizes the received data to execute its intended logic.
Key Architectural Features
Pull-Based Oracle Design
On-Demand Data Retrieval: Data is fetched only when requested by a consumer contract.
Efficiency: Reduces unnecessary on-chain transactions, lowering gas costs and network congestion.
Customization: Allows for specific data requests tailored to application needs.
Decentralization
Distributed Nodes: Multiple FLUXNET nodes prevent single points of failure and enhance data availability.
Trustless Environment: Eliminates reliance on a single data provider, increasing security and reliability.
Security and Verification
Data Integrity: Use of cryptographic proofs ensures data has not been tampered with.
On-Chain Verification: Consumer contracts can verify the authenticity of the data received.
Scalability
Efficient Data Handling: Capable of handling a growing number of data requests without compromising performance.
Node Participation: New nodes can join the network to expand capacity and resilience.
Benefits of the Architecture
Speed: Provides real-time data delivery suitable for applications that require immediate information.
Cost-Effectiveness: Minimizes gas fees by reducing unnecessary transactions and data storage on-chain.
Flexibility: Supports a wide range of data types and sources.
Accessibility: Democratizes data access, enabling developers and businesses of all sizes to utilize the network.
Last updated