What Is Songbird (SGB)?
The Songbird provides externally sourced data estimates to the Flare Network in a decentralised manner. It does so by leveraging the distributed nature of the network and its participants. SPV proofs are therefore considered harmful for the purpose of proving the state of an underlying chain to another network. The approach escalates the privilege of underlying chain validators to be able to falsify the ownership of an asset, and the enforcement of bad behavior in the approach must be conducted by the same set of operators that have performed the bad behavior.
Songbird proofs are also complicated for non-proof-of-work chains by having to keep track of changing validator sets on an underlying chain over time. Consider the scenario where an outgoing set of validators from an underlying chain refuses to sign a proof to Flare that they are now leaving power – what penalty do they have for refusing to do this? Trying to manage validator sets in this way relies on the enforcement of bad behavior to be conducted by the same set of operators that have performed the bad behavior.
Songbird Storage Key Points
|Source Code||Click Here To View Source Code|
|Explorers||Click Here To View Explorers|
|Twitter Page||Click Here To Visit Twitter Group|
|Whitepaper||Click Here To View|
|Official Project Website||Click Here To Visit Project Website|
State Connector System
Flare Network is purpose-built for safely interpreting the state of all underlying chains. Other networks either force you to rely on trusted third parties for this, or they force other chains to conform to their standards, in effect changing the independent chain’s protocol so they can then begin to communicate. Flare by contrast does not require you to trust anyone but the validators of an underlying chain, and Flare does not require validators from the underlying chains to even be aware that Flare exists.
Songbird state connector system enables Flare to attain the existence, validity and ordering of any transaction from any underlying blockchain. The ability to prove these properties about any transaction from any chain is available freely to all apps on Flare, including the F-asset protocol for representing assets from other networks directly onto Flare.
The high-level premise for how the state connector system operates is best motivated by its threat-model: in order to absorb incorrect state into a Flare Network app from an underlying chain, an attacker would need to compromise:
- Your own Flare validator’s view of the underlying chain
- A majority of other Flare validators’ views of the underlying chain
- A sustained attack that lasts longer than the number of underlying-chain block confirmations independently required by your app on Flare
Flare Network validator
Songbird threat model is achieved by requiring each Flare Network validator, no matter how prominently they feature in consensus, to independently observe the ongoing state of all integrated underlying chains. Propositions about the state of an underlying chain are only applied to a validator’s local copy of the Ethereum Virtual Machine (EVM) on Flare after the validator independently verifies the proposed underlying-chain state.
In the following sections, the 2-stage mechanism design of the state connector is defined. The first stage enables Flare validators to agree on the span of data from an underlying chain that is currently available, and the second stage involves the actual proof of a transaction from an underlying chain.
Agreement on Data Availability
Before any specific transaction from an underlying chain is proven on Flare, the span of blocks from the underlying chain that are globally available across all Flare Songbird is first agreed. Anyone is permitted to compete to keep this process alive over time for any underlying chain by submitting data availability proof transactions to Flare.
Proving a Transaction
Songbird phase mechanism as in the data availability proof system involving the use of a pre-check for basic viability is performed by first checking that the payment exists within a data-available region. If the basic test passes, then the system calls on your underlying chain validator to retrieve the details from the payment using its txid. The system ensures that a retrieved payment exists within the data availability region.
A Songbird proof is a way to prove to a blockchain that a payment has occurred on another blockchain. The proof typically consists of a header that contains a consensus proof such as a proof-of-work, or a signed k-of-n multi-signature from a set of validators that are currently believed to be in control of the underlying chain being presently considered. The SPV proof itself then just contains a Merle-tree based set of hashes that proves that a provided payment forms the pre-image to a hash that is contained within the provided Merle tree.
One of the main advantages of a blockchain is that Songbird do not depend on its validators for anything other than being tie-breakers in sequencing transactions. That is, validators on a blockchain cannot insert erroneous transactions into the network that do not conform to the state transition rules that everyone agrees to run. For example, as a miner on a blockchain, one cannot compel the movement of a single coin that does not belong to them, the only way to do so is to sign a valid transaction that can be traced all the way back to the network genesis state as having a valid transfer of ownership history.