Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Ethereum Classic Support with SHA3 Proof of Work #162

Closed
antsankov opened this issue Nov 9, 2019 · 4 comments
Closed

Comments

@antsankov
Copy link

antsankov commented Nov 9, 2019

Hello,

My name is Alex and I am working on ECIP-1049! This ECIP changes the Proof of Work of the Ethereum Classic network from Ethash to SHA3 (Keccak256). SHA3 is capable of much higher block validation and hashing speeds than Ethash, and can greatly reduce the complexity of nodes and mining hardware. It is a Proof of Work scaling solution.

Ethash has also not worked in being ASIC-resistant, and the community has decided to move on from it since it is now technical debt that requires excess memory to mine (3.2GB) and a pseudo-random cache to validate (50+ MB just to calculate)

Peer-reviewed analysis has shown SHA3 has over 4x the efficiency per hash over Bitcoin SHA2:

1_L_2QA8lRxyWpPLk84k5DRg

So far we have created a SHA3 testnet, called "Astor Network" which was made from a forked Parity Ethereum client. This network is ETH based, and can be found here. We also have created an proof of concept CPU Toy Miner.

Is Turbo-geth interested in supporting this network?

Extra Materials:

@AlexeyAkhunov
Copy link
Contributor

Hi Alex, thank you for stopping by! I have been following some of your work on SHA3 mining online, and heard of the test net.
We did think about the ETC support, and I am sure it would be possible, but it is not currently our priority. Our priority is to make turbo-geth fully functional and "ship" it, then produce documentation on how other implementations can migrate to our data model, which I believe offers superior trade-offs.

We would definitely be interested in contributions that would enable turbo-geth to connect to ETC network, but we cannot currently accommodate this work ourselves.
Hope this helps, Alexey

@antsankov
Copy link
Author

Thank you for the support Alexey! Good luck with the work, I will close the issue and monitor the turbo-geth project. Once an official release is made, I will be happy to revisit and possibly implement changes myself.

Before I close, I had one question: Is Turbo-geth planning on being an Eth1.x and Eth2.0 client or just Eth1.x exclusively?

@AlexeyAkhunov
Copy link
Contributor

Thank you! Only Eth1.x exclusively

@bobsummerwill
Copy link

Hey guys!

So the ETC Cooperative will be funding Keccak256 implementation in Hyperledger Besu, Parity-Ethereum and MultiGeth.

Peter won't take anything upstream into Geth from ETC, but we should have a PR against MultiGeth which should "just work" for TurboGeth as well.

battlmonstr pushed a commit that referenced this issue Sep 14, 2023
* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 8f1a238

git-subtree-dir: interfaces
git-subtree-split: 8f1a23897b8921ae3e7f9450ec9f300255c6e1e2

* Regenerate bindings for new interfaces

* Add Nonce function

* Search for nonce in ascending order

* Descend from highest possible nonce for sender (#162)

* Descend from highest possible nonce for sender

* Remove assumptions from nonce()

* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 375e3d8

git-subtree-dir: interfaces
git-subtree-split: 375e3d85a3d9ff13e61593a5efacd2fbc777cec3

* Regenerate

* Started test

* More of test

* Fix test

Co-authored-by: Alex Sharp <[email protected]>
Co-authored-by: Alexey Sharp <[email protected]>
Co-authored-by: TBC Dev <[email protected]>
anshalshukla pushed a commit that referenced this issue Mar 5, 2024
SLoeuillet pushed a commit to SLoeuillet/erigon that referenced this issue Jul 16, 2024
taratorio pushed a commit that referenced this issue Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants