Skip to content

feat: verifiable ens#1075

Draft
aschmahmann wants to merge 5 commits into
mainfrom
feat/verifiable-ens
Draft

feat: verifiable ens#1075
aschmahmann wants to merge 5 commits into
mainfrom
feat/verifiable-ens

Conversation

@aschmahmann

Copy link
Copy Markdown
Contributor

Title

Add verifiable ENS resolution rather than relying on a delegated DoH endpoint.

Description

Closes #1052. This is a draft leveraging ipshipyard/verified-eth-provider#1 to provide verifiable ENS resolution.

It works by:

  1. Asking a semi-trusted ETH RPC provider for a recent safe block (~6 - 13 minutes old) number and its relevant information (hash, timestamp, etc.)
  2. Ask 2 semi-trusted ETH RPC providers to confirm information about the information about that block number
  3. Using verifiable ETH RPC queries + a local Ethereum state tree, EVM, etc. to fulfill the ENS lookup against the block root confirmed by the 3 semi-trusted ETH RPC providers

Notes & open questions

Some outstanding items that would be good to handle before merging:

  • More serious review of the verified-eth-provider implementation
  • Decision on which RPC providers to bundle in (and particularly for the more costly work of the verifiable ETH RPC queries having a reliable party, e.g. eth.limo involved)
  • Handling the packaging so that the code isn't downloaded / added to the bundle size unless an ENS name is involved

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if necessary (this includes comments as well)
  • I have added tests that prove my fix is effective or that my feature works

Comment thread build.js
'process.env.APP_VERSION': `'${pkg.version}'`,
'process.env.GIT_REVISION': `'${rev}'`
'process.env.GIT_REVISION': `'${rev}'`,
'process.env.DEBUG': 'undefined'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workaround while waiting for this to be released ethereumjs/ethereumjs-monorepo#4265

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

Successfully merging this pull request may close these issues.

Verifiable ENS Resolution

1 participant