Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/ftso/0-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
import YouTubeEmbed from "@site/src/components/YouTubeEmbed";

The **F**lare **T**ime **S**eries **O**racle **(FTSO)** is an [enshrined oracle](/support/terminology#enshrined-oracle) that provides decentralized data feeds to the Flare network.
Since the release of FTSOv1 two years ago, users and applications on Flare have enjoyed consistent and reliable pricing, with zero downtime or failures.
Since the release of FTSOv1, users and applications on Flare have enjoyed consistent and reliable pricing.
FTSOv2 builds on the robust foundation laid by its predecessor, offering several enhancements:

- **Secure.** Enshrined into Flare's core protocol, every oracle feed in FTSOv2 inherits the economic security of the entire network.
Expand All @@ -31,7 +31,7 @@ FTSOv2 builds on the robust foundation laid by its predecessor, offering several

- **Decentralized.** Each FTSOv2 feed is supported by around 100 independent data providers, who are selected by Flare users through their delegated stake, imposing a strict economic cost for misbehavior.

- **Cost-effective.** Block-latency feeds in FTSOv2 are completely free to query. Feeds from Scaling are also free to query and verify locally, with minimal gas costs for onchain verification.
- **Cost-effective.** Block-latency feeds in FTSOv2 are free to use onchain. Feeds from Scaling are also free to query and verify locally, with minimal gas costs for onchain verification.

## Architecture

Expand Down Expand Up @@ -74,7 +74,7 @@ For a detailed explanation of the FTSOv2 mechanism, read the [FTSOv2 whitepaper]

Every block on Flare, generated approximately every 1.8 seconds, initiates the selection of a sample of data providers to deliver the next feed update.
This selection process leverages a stake-weighted verifiable randomness function (VRF), where the likelihood of each data provider being chosen is proportional to their stake.
The expected sample size is one, and data providers have no control over, nor knowledge of, when they will be selected.
The expected sample size (average) is `1.5`, and data providers have no control over, nor knowledge of, when they will be selected.

In detail, each block has a unique seed value, used by FTSOv2 data providers to generate a personal random score.
This score, coupled with a cryptographic proof, ensures its authenticity and verifiability.
Expand Down Expand Up @@ -142,7 +142,7 @@ Importantly, only the expected sample size increases, not the actual sample size
FTSOv2's block-latency feeds are designed to be statistically self-correcting.
To further ensure their long-term accuracy, FTSOv2 uses the anchor feeds from [Scaling](/ftso/scaling/overview).
Anchor feeds utilize a full commit-reveal process across all data providers with an inter-quartile range (IQR) band calculation, and update once every voting epoch (i.e. 90 seconds).
Data providers are rewarded when the block-latency feeds remains within `±0.25%` of the anchor feeds every voting epoch.
Data providers are rewarded when the block-latency feeds remain within `±0.25%` of the anchor feeds every voting epoch.

## Watch the video

Expand Down
13 changes: 6 additions & 7 deletions docs/network/0-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import BlockNumCoston2Go from "!!raw-loader!/examples/developer-hub-go/coston2/b
import BlockNumSongbirdGo from "!!raw-loader!/examples/developer-hub-go/songbird/block_number.go";
import YouTubeEmbed from "@site/src/components/YouTubeEmbed";

Flare provides four EVM-compatible, permissionless networks designed for different stages of application and protocol development
Flare provides four EVM-compatible, permissionless networks designed for different stages of application and protocol development:

- **Flare Mainnet:** The production network, transactions cost FLR here.
- **Flare Testnet Coston2:** Testnet for dApp development.
Expand All @@ -38,7 +38,7 @@ Choose your development track depending on your goals:

1. **Application Development** (Recommended for dApp developers):
- Flare Testnet Coston2 → Flare Mainnet
2. **Protocol Development** (Required for all protocol level changes):
2. **Protocol Development** (Required for all protocol-level changes):
- Songbird Testnet Coston → Songbird Canary-Network → Flare Testnet Coston2 → Flare Mainnet

## Configuration
Expand Down Expand Up @@ -339,9 +339,8 @@ Discover suitable options for your needs on the [Flare Wallets](https://flare.ne

- **Transaction fees:**
- **Type0** (Legacy) - Fee is calculated as `gasUsed * gasPrice`.

- **Type2** (EIP-1559) - Fee is calculated as `(baseFee + priorityFee) * gas`.
- In both cases, the transaction fee is burned.
- In both cases, all transaction fees are burned.

## Smart contracts

Expand All @@ -368,15 +367,15 @@ Discover suitable options for your needs on the [Flare Wallets](https://flare.ne
- **Participants (Validators):**
- Nodes must meet a [minimum self-bond requirement](https://proposals.flare.network/FIP/FIP_5.html) (defined by governance) to become validators.
- Validators participate in consensus voting and are randomly selected as leaders to propose new blocks, weighted by their total stake (self-bond + delegated stake).
- The network currently has [over 100 validators](https://flare-systems-explorer.flare.network/validators) (median stake ≈0.6%, max stake ≈2%).
- Validator count and stake distribution are viewable live on the [Flare Systems Explorer](https://flare-systems-explorer.flare.network/validators).

- **Enshrined protocols:** In addition to consensus, Flare validators are also data providers for [FTSO](/ftso/overview) and [FDC](/fdc/overview).

## Block verification

- **Block Header Verification:** [Example Go implementation](https://github.com/flare-foundation/go-flare/blob/main/coreth/consensus/dummy/consensus.go#L187).
- **Block Header Verification:** [Example Go implementation](https://github.com/flare-foundation/go-flare/blob/main/coreth/consensus/dummy/consensus.go).

- **Block Body Validation:** [Example Go implementation](https://github.com/flare-foundation/go-flare/blob/main/coreth/core/block_validator.go#L62).
- **Block Body Validation:** [Example Go implementation](https://github.com/flare-foundation/go-flare/blob/main/coreth/core/block_validator.go).

- **Verify transaction in block:** Verified using Merkle Patricia Trie proofs against the receipts root included in the block header.

Expand Down
5 changes: 0 additions & 5 deletions docs/run-node/1-system-requirements.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,3 @@ If behind a firewall or NAT, configure port forwarding for these default TCP por
- **Port `9651` (P2P/Staking):** Required by **all nodes** for P2P peer discovery/communication. Additionally used by validators for P-Chain consensus communication. Must be publicly reachable.

A static public IP address is highly recommended for validators to ensure consistent uptime and reliability, potentially impacting rewards.

## On a Cloud Provider

Pre-configured Flare nodes are available on [Google Cloud Platform Marketplace](/run-node/gcp-marketplace-nodes).
These nodes do not require installing dependencies or managing configuration files, they also come with a local database copy which can reduces bootstrap times.
1 change: 1 addition & 0 deletions docs/run-node/6-GCP-marketplace-nodes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ slug: gcp-marketplace-nodes
tags: [quickstart, infrastructure]
title: GCP Marketplace Nodes
description: Pre-configured blockchain nodes in GCP marketplace
unlisted: true
---

import Step1 from "/static/img/docs/run-node/gcp-node-step1.png";
Expand Down