Comments (5)
setup map with key being the old root
loop {
let (home_up, rep_up) = join (
poll home for updates,
poll replica for updates,
}
for both {
check if already exists in map
if exists {
if new_root_in_map != new_root_in_update { submit double update }
} else { store in map }
}
}
from optics-monorepo.
future goal: persist the update map to disk using SQLite or Sled or leveldb. load from disk on bootup
from optics-monorepo.
we have to guard against the case where a fraudulent updater submits a fraudulent update to just 1 replica, and an honest update to the home chain
from optics-monorepo.
This sound like a reasonable approach or will there be too many updates to story in memory?
Store list of all updates in hashmap (filter through all Update events and check for fraud as you fill map)
Loop {
-
Poll (listen for) signed updates from home and store them in map (same as relayer::poll_updates but store results)
-
For each new update, check for double update using map
- If double update detected call doubleUpdate on home + all assigned replicas
}
from optics-monorepo.
let (home_up, rep_up) = join ( poll home for updates, poll replica for updates, }
Don't I only need to track Home
since Replica
doesn't actually produce any updates? Like double update fraud will only come from something originating from Home
so doesn't the watcher
just observe the home and then notify home
+ replicas
if fraud detected?
from optics-monorepo.
Related Issues (20)
- Dependency Dashboard
- Action Required: Fix Renovate Configuration
- Backed By Binance_labs & Animoco Started on 1st April Ending on 29th April ► Must Join - https://xter.io/activities/palio - Connect Wallet ► Use My Code To 1X Boost + 80 PIO: 543e3d5b743dd7d5ea4aacd6f99ae5be ► Bridge - https://bridge.xter.io/deposit - Bridge 5$ or $1 BNB into Xertio Chain - Click on Claim Your Palio Egg - Back To Xter Page & Claim Your Egg - Claim Apple, duck & music - Daily to increase PIO - Chat With Palio To Get Boost - Complete All Quest - Done More $PIO Points = More $XTER If You Have Ticket, You Use Your Tickets To Voting To Top Star To Get More Rewards
- refactor: create more generalized db interface for storing home and replica data
- refactor: create generalized Indexer which can index home and replica and separate from HomeIndexer
- fix: out of date watcher unit tests
- Updater Failure/Censorship Resilient
- RPC Tx Stalls Mitigated
- Observability for Updater, Relayer, and Watcher
- recoveryTimelock mis-configured
- refactor: move OpticsDB to optics-base and move agent-specific errors to agents
- refactor: move metric/metric-tracking code to separate module
- bug: rpc sometimes misses updates/messages in a block range
- future feature: authenticate provider-reported state using eth_getProof
- Indexer indexes negative block ranges HOT 1
- Publish v2 optics-provider npm
- Create a demo xapp that allows bridging an asset like an NFT from Ethereum, Polygon, or Avalanche to Celo HOT 20
- Tracking Transactions HOT 1
- Fail with error 'ERC20: transfer amount exceeds allowance'
- Feature Request: show network name in log messages
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from optics-monorepo.