Skip to content

Conversation

@MicahZoltu
Copy link

We should try to avoid using acronyms in specifications as it makes it harder for new participants in the ecosystem to process, so I have changed all references to EL and CL to execution layer and consensus layer. Also, in many cases in this document the term EL was used when EL client was meant, so I appended "client" as appropriate.

While writing to the filesystem is useful in some setups, in others it may be a security risk. For this reason, the MUST write to disk was changed to a SHOULD write to disk so that a client that doesn't write the token to disk isn't out of compliance.

We should try to avoid using acronyms in specifications as it makes it harder for new participants in the ecosystem to process, so I have changed all references to EL and CL to execution layer and consensus layer.  Also, in many cases in this document the term EL was used when EL client was meant, so I appended "client" as appropriate.

While writing to the filesystem is useful in some setups, in others it may be a security risk.  For this reason, the **MUST** write to disk was changed to a **SHOULD** write to disk so that a client that doesn't write the token to disk isn't out of compliance.
MicahZoltu pushed a commit to MicahZoltu/eth1.0-apis that referenced this pull request Aug 26, 2022
This spec, as currently written is incredibly prescriptive about exactly how the key should be provided to the client.  This doesn't allow clients to differentiate in ways that are useful to their customers without falling out of spec compliance.

One can easily imagine a user wanting to configure this via environment variable, or CLI parameter rather than via file.  Also, files on disk may not be secure against reading by unauthorized users (for example, disk backups may not be encrypted) while access to startup parameters and environment variables may be better protected.  A client may also integrate with a secure secret storage system that allows the client to fetch secrets from a server over a secure connection at startup, thus protecting the key from anyone who doesn't have the ability to read the contents of RAM while the client is running.

Note, this change should be merged after ethereum#298 as it incorporates some of the wording changes found there.

I can appreciate the value in having consistency in configuration parameter naming, I don't think we should be setting such things as required.  Nethermind, for example, namespaces its configuration variables and having this be un-namespaced is likely to cause more confusion for users and more complexity in their client.
@djrtwo djrtwo merged commit 00ccfc6 into ethereum:main Sep 8, 2022
@MicahZoltu MicahZoltu deleted the patch-2 branch September 8, 2022 17:31
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.

4 participants