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

Remove gmp dependency #362

Closed
arhag opened this issue Jun 9, 2022 · 2 comments
Closed

Remove gmp dependency #362

arhag opened this issue Jun 9, 2022 · 2 comments
Assignees

Comments

@arhag
Copy link
Member

arhag commented Jun 9, 2022

#182 added the dependency to gmp for the mod_exp host function as well as (indirectly) for the altbn128 host functions. These are currently dynamically linked due to license issues.

To reduce risk of possible shared library differences between nodes impacting consensus, it is safer to statically link the functionality provided by gmp into nodeos. However, due to licensing issues, gmp cannot be statically linked.

Instead, investigate an alternative library that can provide the same required functionality for the above mentioned host functions, e.g. libtommath, use that statically linked code instead of gmp, and remove the gmp dependency.

The investigation of the alternative library should also involve benchmarking to ensure there isn't a significant performance degradation in the above mentioned host functions due to the change in library.

@stephenpdeos
Copy link
Member

Presently, our targeted solution to replace with tommath library has shown significant performance costs revealed in testing. This work was historically prioritized due to concerns that gmp future updates may disrupt the consensus process, but upon further discussion, the level of risk is supportive of cutting this from the 3.1 release with the acceptance that this will be a high priority body of work for the next immediate release.

@stephenpdeos
Copy link
Member

Closing out, will be managed in above listed issues that mention

Repository owner moved this from In Progress to Done in ENF Engineering Jul 26, 2022
@arhag arhag closed this as not planned Won't fix, can't repro, duplicate, stale Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

5 participants