ChainSafe / forest

🌲 Rust Filecoin Node Implementation
https://forest.chainsafe.io
Apache License 2.0
638 stars 160 forks source link

don't rely on drand networks for past beacons #4838

Open LesnyRumcajs opened 1 month ago

LesnyRumcajs commented 1 month ago

Summary

An excellent summary is provided in https://github.com/filecoin-project/lotus/issues/12527#issuecomment-2388289290

tl;dr we shouldn't rely on drand providing endpoints for historical beacons. It's both not scalable, incorrect in certain epochs and not reliable.

The downside of this is reduced performance when requesting beacon entries for really old epochs, e.g., first epoch of calibnet.

Completion Criteria

Additional Links & Resources

LesnyRumcajs commented 1 month ago

Also, on mainnet, getting old entry doesn't work.

❯ time curl --silent -X POST -H "Content-Type: application/json" \
             --data '{"jsonrpc":"2.0","id":2,"method":"Filecoin.StateGetBeaconEntry","params": [ 1 ] }' \
             "http://127.0.0.1:2345/rpc/v1"
{"jsonrpc":"2.0","id":2,"error":{"code":-32603,"message":"Aggregated errors:\n"}}
________________________________________________________
Executed in  884.48 secs      fish           external
   usr time    8.36 millis  384.00 micros    7.98 millis
   sys time   21.31 millis   92.00 micros   21.21 millis