DAO fork-choice issue
See original GitHub issue- Trinity version: trinity-0.1.0a3
- OS: linux
- Python Version (python --version): Python 3.6.3
What is wrong?
When doing fullsync with trinity the DAO fork is incorrectly handled and ETC chain followed.
Trinity has been run as follows:
trinity --sync-mode full
Syncronization works:
trinity attach
w3.eth.getBlock(5000000)
Out[41]:
AttributeDict({'difficulty': 153555857798073,
'extraData': HexBytes('0x4554432065746865726d696e65202d20555331'),
'gasLimit': 4700036,
'gasUsed': 51416,
'hash': HexBytes('0xb2f55d12af971452c3669669380e03040ff01fabb64afec6bfddb3052dbd0117'),
'logsBloom': HexBytes('0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000'),
'mixHash': HexBytes('0x36a33662da9d77511a4580dceb57f46b261247134ffd126398c2fcbff34acae9'),
'nonce': HexBytes('0x4c85a020172afc4d'),
'number': 5000000,
'parentHash': HexBytes('0x001717abe8e5d60afaaa9fd2d62ab9e3a59c711fe7b66b2d9d47162c63d9e9ec'),
'receiptsRoot': HexBytes('0xcdfeee56af33c91c592567852d74b647801f0355c5160ea42dffbebd25b56d58'),
'sha3Uncles': HexBytes('0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347'),
'stateRoot': HexBytes('0x94dbf3aa3242e0039dcb327806652e2c4620eff111a628a2c9488e70d0b10a30'),
'timestamp': 1513013050,
'transactionsRoot': HexBytes('0x3063dfd1bda002b2a8737d9ce1d1148f3d178f7a224b92b1419b3c005944c4d7'),
'miner': '0xDf7D7e053933b5cC24372f878c90E62dADAD5d42',
'totalDifficulty': 179580593652975622022,
'uncles': [],
'size': 763,
'transactions': [HexBytes('0x9d2f76af534006c0d40e23af572925fba31994597991173f997ba0fc1764af91'),
HexBytes('0x11c2d6c664d2527ff33e0fc184b946a0d72e86eec03a02134f0162bb8a7dc5b4')]})
This block corresponds to ETC http://etcchain.com/block/number/5000000
How can it be fixed
Fork-choice rule for DAO fork (block height 1919999 -> 1920000) needs to be re-evaluated.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:4
- Comments:15 (7 by maintainers)
Top Results From Across the Web
timed out dao fork-check dropping · Issue #3044 · ethereum/go ...
This is a real problem because the blockchain will stop syncing and only receive does error messages after a while. Almost every 2...
Read more >Curve Finance on Twitter: "There is a popular topic of DAOs ...
For Curve DAO, it is impossible to force the choice of one or another (too decentralized). Fork will inevitably clone DAO and CRV,...
Read more >MakerDAO identifies risks of an Ethereum hard fork
DeFi protocol MakerDAO (MKR) has identified seven risks its protocol faces if Ethereum (ETH) is forked.
Read more >Syncing slow to a crawl (2048 blocks in 2 hours)
I had no issues before, but my syncing has gotten incredibly slow with geth. My system time and date are good (set by...
Read more >History and Forks of Ethereum
The DAO fork was in response to the 2016 DAO attack where an insecure DAO contract was drained of over 3.6 million ETH...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Right, that’s pretty much what I had in mind when I wrote https://github.com/ethereum/py-evm/issues/865#issuecomment-396514850
Sounds like the 10 headers after the fork have special extra data that we may not be enforcing/generating/checking.