Near-One/rainbow-bridge

Infura is unreliable during large Ropsten reorgs

MaksymZavershynskyi opened this issue · 0 comments

I have observed that when Ropsten undergoes large re-orgs (~500 blocks) Infura start returning data before the re-org instead of returning new data for at least 15 minutes (but I suspect from old logs that it can be outdated for much longer). Specifically, when I tried to identify what is the hash of 8574767 Infura disagreed with etherscan, and it seems like etherscan is the right one.

Here etherscan:
image

And here is raw request to Infura with response ( 0x82d72f is hex for 8574767):

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x82d72f", false],"id":1}' https://ropsten.infura.io/v3/<infura_project_id>
{"jsonrpc":"2.0","id":1,"result":{"difficulty":"0xbe6f7e6","extraData":"0xd88301090c846765746888676f312e31332e38856c696e7578","gasLimit":"0x7a1200","gasUsed":"0x797ff0","hash":"0x9d6714e1d19dd1991b70964a2ae58127e6a7a9e6bd268c381bc7fa491b150c45","logsBloom":"0x000032c001420000028009200200310010008020100d5260008000000a8010e0830002000804040005a060300004000014854088101028800001041005200808240000010028002102020108000000460081a000008120180008230000a00000100002030200087004201c606000084080010000010048800000809100300b880084080100002098100000210600022100010520080000400410800040011203220080000011014800040808204010100cd0002300400000081041900012100200010802200802044034200108c44802200300040210808040482112480020d0021006000480543280000e000220404202841030400000000400030008805010","miner":"0x773b556e7f3222f3b93d6519484cef0c443b9d7e","mixHash":"0x6ed1b18268bc96ce53943aa1f808e523d1c662fa2423e2e2db8f679f02969900","nonce":"0x43342018adee7310","number":"0x82d72f","parentHash":"0x21b3f6c00344e72dc2fdc77b1cbf9c38e44896fb8da2c4e425ac8b7b879dd732","receiptsRoot":"0xa81856b29410971d136cffed331e33a43cc7a12c9640d37d60cd4adfda60cd86","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x65c7","stateRoot":"0x4020224aa7b0f848bdeaa9a151cdb3fe94b411f35daab03dd0338320e3660010","timestamp":"0x5f49c417","totalDifficulty":"0x6f9733138d44ef","transactions":["0x7fab69ba36c8e4af74e8439820143199a4f8161aab5d28bbff6b2fd94b2ea111","0x387b09759af8b262edc4b842d3803a1c646bf300ffe1adfe9296ee548f6b3a3d","0xf6f601c7cd9588bfc2815deb288bcef736520a63729640cff5da6cf433d3660e","0x8595a5e67337c36f9663356d2f3b3e333a5f810f424be6a8580db8942137a40b","0x022c485987391fe9875aa04700fd4fe714365f5b33e4a3804607504ac6a5edce","0x6bd3a0849c9a4a9a2822f078a98bb784514901a95b29ec79afefeed5f68a480d","0xb98fa57ca8d94511858ab1f546cb0d77ec2f8dd9c1eaf35546c1fc4905afe014","0x5c6a1b3299576e12823608b04b20d82b1bc8c474e772cf8e303212b30c51dc31","0xedbc4bed72e799435d812510b27578aef9e9e8896503b7783f414306eeb9da11","0xa90a93eeef9257a94332792902cb6b79965e3984c2a10195d8df5f3c3e64ea68","0x10fa8228b4ec7c2c840a956e7c190ef956bcfa6fbd66b7ba94306df47579e9ad","0x4913c0820296fadbd05cd56c5e205bb676da62a6db31ece89fe56c8405213b1f","0xf10c032f4b25c8e0cf62ffffcf847410a7879087ad5c1bd4b989d43067ea914a","0x07b4f7bb299222f01179603eb91a9fdfe7395b14fc75da76b118882c88078f1d","0x9a52f965e226cd50d606095e83f5344d44cc8dd979f7403afcf3ef992d16ab76","0x4b173ef2c3bd21667ae052b9bc24ef2f493e92c0013541526ba33eb301f5a139","0xf0d62a332018bea4e5b34799570a1b34a82280049e2ac9dcef9fefb6dac881a2","0xfc6898b50b281b849b99e5bb151851209720baf8c46623783fb91f269ef38e85","0x5f24258afe7f94dfa321cfc6da53d4b9d54a5365ee2ad91432ee3d6719927fb7","0x7e498c015c027070983acdb4874499aa26d418210accdd35cd925a66e4638609","0xe6baeeb87f1cdee528ee80e8c919bac9210140f46b373393719247207b4ccca0","0x7ef6acc707efa8958335ea20803b50a312a48146a37d00102bbf41340afa1ae2","0x35ae10eda9596d64316bca64f9b64b8fa68e6a66bb244d4b84301f44ce40587f","0xd09c5b5ddcc9c545575a1ebb215409abc1dd6a53cb6a77395b1ce8f53bf7970d","0x050eefafe97b2d1481f8567775595bdf573f007d81b77a39a6ffdb60316187ff","0xdde7935503387dd9cf0a06413ce4976b5f11ea479c639f5b513061f6a9dd6035","0x0db88e7af756a5ffdd3aced54064c7c1fb4661fe092a62df51672e8a0e65ebca","0x60b149e05c021a48af9b3436a1386928d6c5ba8ce137f79f42c091addd9555e4","0x21fae6714509971f17a9797306e50832c910b1bd901f339ee44fa39fab80635a","0xa872de4c5084d20549e248cf7ba352e5ec9a32cb477f95bd2e2a4f45a6ea4dc5","0xe408b6431b1a21fbb572947d58e111aa32a60244bc0870544a751573a6ab30bc","0x1ded5f56b008bf385dd79a60c4a0482c868a00af524c9d553483f57cde7e25ba","0xc21a123e3e252c0fa23e68c242e69ed723c06f5b314ef5175d92293cafac9d93","0xed22619ad4e0f3944ad84894705319999e599a8f533d3b8110ad61b85d064a1d","0x1b828d5ccf173f399120e2bd5d56991bd8216cb48d5ae193dc07c912b23ed33d","0x6f7398246dcdd7d337a7dae53d641440adec113101129ec4d78f83c3f535df28","0x3d5cbc3fcd49e87eb211d309524026e00d151bd7cda4a79d4a0f434b6626ff0f","0x2b63fc75029201cd630c4c777758054d33c67aec91c35847262e93f2687d2f9b","0xc3bfe72851972e049a136a4f0eed739692b34e13dc5c0d45a95b1fb999d8d316","0xf5a4b872ed03a166f3527da54960bacdd8ff7e1338490be135d72d40749e5df0","0x0f2334d728e0bdb4390d21c600cc473ceafcc0ad7545a542f75951e9fd807d9b","0x7e7fc93a18ae937bdcd8f3f484e1b00412166e6fcbf0e5643aa9b5f5e7ec0a0d","0x0ee3edcc5ac92538cb440b3ac1965f6a38606a7845c1e38624825b5eb3f46816","0xa97a6b03e3d46bf4bffed9210041f56ddf7b4b3c9cab003b45f51ed995608a40","0x376628ecebc6e9c3b620a94a3a4a86fcaa99fb26d904231490de763037f27848","0x847dd3fcf2ee3972fe89322eb9ce09045c111375cb1a1f4744ab558d594b62b7","0xe4045e7fcfddff538c9e8dd0add6b5b2e9493ca98dcb9b81818ef6a847c379d8","0xedf3f168d28a6157a4803d62836e4941dcd87918c6a4905d8f92fa8459a8b8e2","0x1df8599961b2317ba968667bbab9d369c2e8fa865da9dc99acd40221e3d1f19d","0x948643ef14a34285d9046a10e51ae90da9455f247ada71dd2a16f5b511f906f5","0xa702eee62ef9e3dc0bd83301bccfcee6d27606583f21dffda565d6a0b846fb2d","0x641f453dd057bdc3278c860d611a3b46c7a060089ad23610aa6af6289c914bc1","0x326fe161c6c2c579c91d0f300a158e5cc31a02fac78d048215d3ebb997d129af","0x9b765a860bd4977e3d2279fb21c83cbce89465e667e38f676c20b5be7797e50d","0xe9569c95e1bc7c644365ea16af7b94570556bfd6b44af55450e79dd480ccc416","0xfe00124b3bea035abaaf8a46dc970410d8f6af1ecd950afeb4b0c6f0fd7d3720","0x626884d32150c8163e6514702a9419db43b6423d6e8c6277cb9ac4a8eafa0b2d","0x77891956b45b95052b44b3789c8d8d37b7a46046a8ed7330b56e5673a018f751","0x40de93c6007eb63dce3c38f1b10e8be5a381327cde0ac8f6bca2ae726ce4c6ca","0xbd97f8f629563188fca05f725a37c87a52a3638e21597931a1c5a318176717ed","0x5b11f532a263664566e2ca6ac3a3c7a9bfb9034005c81a89818ded85684857d0","0x4b7a8165ff3fe314967cca398d113db4c4dfbe4e72cefc8a0e473cf33957ff1e","0xfd1c65407fdfb0debf0074586ac6d845bb0298abf71343075fb164de09ad5235","0xf7ea8943dafd8aa044c77351cb175d1ef53e5b8ed6e67479e80e69e56f1f988f","0xfdb2f0997d1a0e8488dba74d95b925c31e1764bc8dedd9559794451ca847c4f6","0xb57c135ea956fa8310be01959ea9440d942c879d76aead9711f8aadbc7efedfa","0xa41fa794ef31009957b03d518ba59ea8741cf4814182a9053f6d1897b5b8dee0","0x3bee5822cece4d72ada60880ca52f9672652508ccdb0442f17a169271d4a26ab","0x2c47233b0fa2f76bdb8c997d0b0bbf46ad0a9a63180225cc2e2109a882b35465","0xbcfe6906b6095e65e89f37036dfa65a628f03daf23c392f329a7b5d348d621dd","0x3eab2b97d362ecc62fa35f99b4b3f266d72dbee9f57ea4978f28e42d54d012d9","0xdfe14f109deaaf0253080e8d4e4b8462131560cedf12803562e0a0a4868dc6f7","0x9fe69b7e056d34a0e9fda8b623d12e60a582fb9691be0c67ff914c7eba4c1da7","0xc46e6d9573993bf038a29e0245cfa053ec938383d882251d621f205737d88f5a","0x24e1ae2eb929ef3c7cd3a8f4b24a761ab7f06236cfd4eee0dcdd58b2d9bb305d","0x1a14c09aa43d92066679895fff5a47dd7815951115ee72b38cd182ba0dc45922","0x103800ae4261c4a8449d988b4cf5b4f6ce53cdb1298234fe78244225ea9e2120","0x47d9b5ec2431ac8b8ca45d67af686f74f75e9c3ffe94bb1e87ba935cc964533f","0xa4c44819eeee822ae3212e30fd996151acabc227fe22d44316bd03058f34ac12","0xda9a4441b211ff54b37e668027a20f179c70f399d4c3c202999a0fd6fcec7377","0x265cadeec27a56b2ca2aa00207ddd3716b04610954c76a45dd0199f18e3ead9a","0x3a474050c60cc6e46aea1afe1abbb4432e6ad87ac81e2f54b9b9958fb1021fab","0x3e7fa239c5e9b09754934ac4810d1d94098196dcd83cc92677796218254e0b56","0xc316cea7087b5e8b0ba492751f4ec69eaa79087d4f0e367e6436c00eca10c3e9","0xfb5655abee5577b054cb266b158f7dcbaf95d83dd17303b1a6827f738e757118","0xea2e2f207c6282ea8f90cf0243b38e517c5a2077d5fff15975fa9254e40cfb15","0x70b6acd812c9b20e2f4d9eb034b35b29cf33eca8110b6d4308ea5291db010d21","0x8af67a36d360696f52a44ac71971eff045a1eee15b20ac60390268efafc986cb","0x636d9ae5f79263669bf6187c4304c9ee4e1a26d210ac759b85f46fe08c4da022","0x6223c4af61f0b971d80f3fda31be86fe075c0f282156ac02fb7c6d71ce9721b5","0xac751162b3944ec7e577dcb5b96407ae75ee678322661eed4d8384a7c63cd46f","0xeb9a62b9f1b8d7427960c2d5497a6acfa3191b58455b4acbbce22f06df0b45d2","0x59caff2fdff11d34b3533e3894b5cbcf8eddaca56a6205a87d06de02b24484d3","0x61d0b1d9ed2be8ed7fdc17c6c24508e712cca9c6d589e8c23977603053f16ed0","0xf57e9eb89fc788078d8f2466ba3f32ac136348ab87d8f6e51553fd94eb4711f0","0x0d3e8613bba198501803a6538fa2606877749ba5adef17e88467b73a6f9caad4","0x26902175eecc074448afd77aa0aa9285650376c12e30df4a0f78713f0e829171","0x7f4ac3a1fdddd8afd302343b063888164c0b22391cc73f90831dd15349b451c3","0x5db91f4c91ed8a0c50d262c6a3a1a215cb685583331e85ad86fecdca49dc05d3","0xad42a39e66a9a6c8380e8108bd770527fb9aebdc249397fb0b67a0eacb1d7c63"],"transactionsRoot":"0xeeb5bb6f2f25ee851eafef766dec4a3f4c43575f7bc1eb0a236deaa933a91816","uncles":[]}}% 

Notice that infura returns 0x9d6714e1d19dd1991b70964a2ae58127e6a7a9e6bd268c381bc7fa491b150c45 (old incorrect hash, before the re-org) hash while etherscan returns 0xd08676d6d8a6de29a5a6c8c9c264160e3210b7b69284aa0ed46380db7c15d089 (correct hash after re-org).

Conclusion

We cannot run bridge on Ropsten testnet and use infura. We either need to not run our bridge on Testnet at all, or we need to have our own node synced with Ethereum Ropsten at all times. I suggest the latter.