Telescope is a chain-specific, pocket-size Distributed Oracle that contains multiple Nodes with multiple roles within the Geode Universe.
Like any other Oracle Network, Telescope has multiple Nodes that are collecting and interpreting off-chain information, verifying each-other's conclusions and finally inserting the verified data to on-chain contracts, in this case Geode Portal.
Geode utilizes a sophisticated withdrawal mechanism which enables low-slippage instant withdrawals with the help of Dynamic Withdrawal Pools.
Dynamic Withdrawal Pools are stable-swap pools, but instead of having a pricing algorithm with focus point near to 1-to-1, it has a focus point near to 1-to-oraclePrice. Because of this, we need a trusted oracle to update the on-chain price of multiple Planets regularly.
On-chain price is stored in the g-Derivative smart contract and can also be pretty useful with other use-cases within the wider DeFi world.
Telescope on Ethereum and Avalanche shares the same logic on slightly different tasks.
They have 4 components:
- 1.Nodes: individual scripts watching the Consensus Layer, trying to achieve a consensus on a price update.
- 2.Watchers: Collecting verified signatures from Nodes and submitting them to a multisig contract.
- 3.Multisig: After making sure that more than enough Node Operators have signed a Transaction, it updates the price through Portal
- 4.Portal: Makes sure that the price update is within valid limitations, then distributes the fees accordingly.
While the underlying objectives are preserved, Geodes Developer Team needs to design unique Infrastructure with different solutions for different Proof-of-Stake blockchains. Because all of them have a different understanding of what "stake" means.
- Updating the price of multiple gAVAX assets for multiple Planet's with reportOracle function:
uint256 memory _opIds,
uint256 memory _pBalanceIncreases
It is easy to understand, deploy, run and update. There is nothing complicated on chain either.
Every Planet can have multiple Operators chosen, Telescope does not need to know the full context of the relationships, it tracks all of them.
Telescope does not trust it's operators at all, it expects the unexpected.
Geode Portal does not allow any percentage of price changes on daily updates. There is no slashing mechanism on Avalanche, so it doesn't allow the price to decrease. Because of this, it only reports the balanceIncrease. Also, price increase has 0.2% daily upper-limit.
To make them more secure, Telescope Nodes do not have to be public servers, URLs or API end points and they don't speak with each other directly.
Node Operators of Telescope are chosen by the current Node Operators. Because the on-chain end point of the Oracle is basically a Gnosis Safe. A battle-tested Quorum mechanism.
More security, less decentralization for price updates.
Because of the gas fees, it is expected to cost some money or tokens to operate on-chain Oracle Nodes. However, Telescope Nodes does not need to pay for anything thanks to Watchers who collect the data and submit automatically whenever there is an off-chain quorum.
Thanks to multiple Nodes and multiple Watchers powered by multiple parties, Telescope does not fail until most of the components fail.
The operators of Telescope Nodes do not need to check or monitor their Node all the time. Telescope will notify it's operator regularly with e-mails. In case anything goes wrong, it sends messages via Whatsapp and/or Telegram.
If a Node Operator choses to monitor their node, Telescope stores it's data within an online database. But, Telescope never uses or needs this database to operate normally, any Node can be stopped and rebooted at any given time, only using the information stored in on-chain events and functions.
Thanks to the implementation of p-Bank, all of the Telescope Nodes will come to the same conclusion easily, without needing a lot of on-chain activity for verification.