Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

[ECIP-1029] Include uncles in total difficulty calculation (GHOST) #334

Closed
wants to merge 6 commits into from

Conversation

sorpaas
Copy link
Contributor

@sorpaas sorpaas commented Aug 16, 2017

See ECIP-1029 for more information.

Note that while the GHOST protocol is published a long time ago and has been advertised to be used by Ethereum, due to the sort-of design flaw, it is actually never used by any well-known cryptocurrencies. Thus what I suggest is that we test this PR on a testnet first, make sure it runs stable, before taking measures to merge ECIP-1029 and incorporate this soft-fork into other clients.

The actual change is small while can impact some critical aspect of the consensus.

TODO:

  • Keep 63 using the old total difficulty meaning.

@whilei whilei changed the title [WIP] Include uncles in total difficulty calculation [WIP] Include uncles in total difficulty calculation (GHOST) Sep 27, 2017
@whilei whilei changed the title [WIP] Include uncles in total difficulty calculation (GHOST) Include uncles in total difficulty calculation (GHOST) Dec 3, 2017
@whilei whilei changed the title Include uncles in total difficulty calculation (GHOST) [ECIP-1029] Include uncles in total difficulty calculation (GHOST) Jan 19, 2018
@sorpaas
Copy link
Contributor Author

sorpaas commented Feb 7, 2018

Just some update on this. Back in November I received some comments from Yonatan Sompolinsky about our GHOST implementation and this PR. Both the original Ethereum one and #334 have some misunderstanding of how GHOST actually works. I haven't been able to follow up on this due to being busy with SputnikVM.

The next step would be to re-think a good minimal change. The thing is, we'll need to add the difficulty to uncles' successors, rather than their ancestors. That also means that we've probably also got something wrong with uncle rewards if using GHOST's protocol definition, but I'm not sure about that part yet.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants