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

EIP-2228 Canonicalize the name of network ID 1 and chain ID 1 #2228

Closed
Tracked by #5111
fulldecent opened this issue Aug 5, 2019 · 25 comments
Closed
Tracked by #5111

EIP-2228 Canonicalize the name of network ID 1 and chain ID 1 #2228

fulldecent opened this issue Aug 5, 2019 · 25 comments

Comments

@fulldecent
Copy link
Contributor

fulldecent commented Aug 5, 2019

LIVE VERSION: https://eips.ethereum.org/EIPS/eip-2228

Draft text follows

eip: 2228
title: Canonicalize the name of network ID 1 and chain ID 1
author: William Entriken (@fulldecent)
discussions-to: https://github.com/ethereum/EIPs/issues/2228
status: Review
type: Informational
created: 2019-08-04

Simple Summary

The Ethereum network with network ID 1 and chain ID 1 is named Ethereum Mainnet.

Abstract

The name for the Ethereum network with network ID 1 and chain ID 1 shall be Ethereum Mainnet or just Mainnet. This is a proper noun.

This standard specifies the name for this network and provides reference examples in an effort to standardize the word choice and provide a common language for use to refer to this network.

Motivation

The Ethereum network with network ID 1 and chain ID 1 is referenced using several conflicting names across EIPs, client implementations, and information published on the internet at large. In several locations, even documents written by the same author use inconsistent names to refer to the Ethereum network with network ID 1 and chain ID 1. Names in use at the time of this writing include:

  • "main net"
  • "mainnet"
  • "Main net"
  • "Mainnet"

Specification

The network name for network ID 1 and chain ID 1 shall be Ethereum Mainnet, or just Mainnet if the context is known to be discussing Ethereum networks. This IS a proper noun. Several examples are given below which differentiate between usage of the name of the network versus a descriptive reference to the network.

Any name or word styling (i.e. capitalization of the letters) of the network which is inconsistent with the test cases cited below shall NOT be used.

Trademark note

"Ethereum" is trademarked by the Ethereum Foundation. For more information on your obligations when mentioning "Ethereum", and possibly "Ethereum Mainnet", see:

  • USPTO registration number 5110579 by Ethereum Foundation
  • The note "you must not use [this mark] without the prior written permission of the Foundation" on the Ethereum Foundation website, Terms of Use page

Rationale

Choosing common word use promotes interoperability of implementations and increases customer awareness. Also, it adds a sense of professionalism when customers see the same word and word styling (i.e. capitalization of letters) across different implementations.

Anybody that has travelled to certain countries and seen an "IPhone [sic]" repair store should immediately recognize that this is off-brand and unofficial. Likewise, the astute customer of Ethereum should recognize if they see the network referred to using inconsistent names in different software, so let's avoid this.

Backwards Compatibility

Test Cases

Examples referencing the name of the network ✅

The contract was deployed to Ethereum Mainnet.

Ethereum runs many applications, this Dapp was deployed to Mainnet.

No specification is made on whether Dapp, dapp, dApp, etc. is preferred.

SWITCH TO MAINNET

This example shows a user interface which is in uppercase. To be semantically correct, this could be written in HTML as <span style="text-transform: uppercase">Switch to Mainnet</span>.

switch to mainnet

This example shows a user interface which is in lowercase. To be semantically correct, this could be written in HTML as <span style="text-transform: lowercase">Switch to Mainnet</span>.

Examples referencing the network in a descriptive way ✅

Mainnet has ### times the number of transactions as the test networks.

Examples of other correct word usage ✅

The main network on Ethereum is Mainnet

This shows that "main" is used as a descriptive word, but Mainnet is the specific network which is having network ID 1 and chain ID 1.

Examples of poor word choice (avoid this) ❌

Deploy your contract to the Ethereum main network.

This is referring to a "main" network which is context-dependent. If you were reading this text on a page about Ethereum Classic, they would be referring to network ID 2 and chain ID 62. Therefore this word usage is less crisp. Do NOT use wording like this.

Connect to mainnet.

These words literally mean nothing. The lowercase, not-proper-noun word "mainnet" is not a plain English word and it should not be in any dictionary. Do NOT use wording like this.

Copyright

Copyright and related rights waived via CC0.

@lightclient
Copy link
Member

Fwiw, I prefer "Ethereum Mainnet" and "mainnet" rather than capitalizing mainnet on its own.

@MicahZoltu
Copy link
Contributor

Fwiw, I prefer "Ethereum Mainnet" and "mainnet" rather than capitalizing mainnet on its own.

Heh, I did as well initially but I couldn't come up with a sound argument for it other than "capitalization is a stupid language construct" which isn't exactly a great argument. It is being used as a proper noun, and technically in English that means it should be capitalized.

@fulldecent
Copy link
Contributor Author

fulldecent commented Mar 10, 2021

May I interest you in Chinese? :-) In this language you'll never need to think about capitalization again! And a bonus for web designers is that a website will barely use more than one font. Here's a top news site right now: https://www.toutiao.com

@MicahZoltu
Copy link
Contributor

I recommend against including mention of trademarks in the EIP. As a technical standard, I personally believe that discussion of trademarks is way outside the scope of EIPs and the section even mentions that in the last sentence.

@sambacha
Copy link
Contributor

Does this mean networkId=0
 

and what about Mainnet?

@fulldecent fulldecent changed the title EIP-xxxx canonicalize the name of network with chain ID 1 EIP-2228 Canonicalize the name of network ID 1 and chain ID 1 May 3, 2021
@timbeiko
Copy link
Contributor

@fulldecent I think part of your EIP may be wrong. It states:

The note "you must not use [this mark] without the prior written permission of the Foundation" on the Ethereum Foundation website, Terms of Use page

That page actually states the following (link)

The Foundation name, the terms Ethereum Switzerland, Ethereum Asia, the Foundation logo and all related names, logos, product and service names, designs and slogans are trademarks of the Foundation or its affiliates or licensors. You must not use such marks without the prior written permission of the Foundation. All other names, logos, product and service names, designs and slogans on this Websites are the trademarks of their respective owners.

None of this is related to the trademark on "Ethereum" itself, but on the "Ethereum Foundation".

The EF does hold the trademark, but I think your wording with "it may be necessary for your application to show this as "Ethereum® Mainnet" and include a note like "Ethereum is a registered trademark of Ethereum Foundation" elsewhere" is likely excessive given that there is no precedent of the EF requiring the use of either of these sentences.

I would suggest rephrasing the section as follows (and probably moving to the end?):

Trademark note
The term "Ethereum" is trademarked by the Ethereum Foundation. For more information on your obligations when mentioning the Ethereum trademark, see USPTO registration number 5110579 by Ethereum Foundation.

@fulldecent
Copy link
Contributor Author

fulldecent commented Jun 21, 2021

@timbeiko

First, as to the prescription. Yes, you make a good point, "it may be necessary for your application to..." was inappropriately over-prescriptive. That is now replaced to the more generic "For more information on your obligations...".

Fixed at 9dd16b8.


Next is the question of how the authoritative statement:

TRADEMARKS

The Foundation name... and all related names... are trademarks of the Foundation or its affiliates or licensors. You must not use such marks without the prior written permission of the Foundation.... All other names, logos, product and service names, designs and slogans on this Websites are the trademarks of their respective owners.

is referring to the "Ethereum" registered trademark.

This is the TRADEMARKS section of the website terms and it does clearly bifurcate all trademarks as either:

  1. being "trademarks of the foundation"; or
  2. being "trademarks of their respective owners".

Of course the Ethereum trademark is used all over on the Ethereum.org website, and of course it is a "trademark of the foundation" rather than some other "respective owner". So therefore the Ethereum trademark must be in-scope for the statement "You must not use such marks without the prior written permission of the Foundation."

Because the Foundation website is authoritative, and because a reasonable reading of the Foundation policy appears to place a normative restriction on the use of the word "Ethereum", and because this EIP recommends to use the word "Ethereum Mainnet" specifically in applications, now therefore it is appropriate at least to reference this normative statement in the text.

The SPECIFICATION section is where it is recommended "The network name... shall be Ethereum Mainnet", so this is where it is appropriate for the TRADEMARK NOTE section to follow. (TRADEMARK NOTE is a subsection under SPECIFICATION.)


So yes, I agree with you that this EIP should not over-prescribe. That is now fixed. I hope you will agree that the note of relevant information should remain included.

@timbeiko
Copy link
Contributor

This generally LGTM 👍

@fulldecent
Copy link
Contributor Author

@axic
Copy link
Member

axic commented Dec 7, 2021

References to Mainnet that are inconsistent with this specification are made in: EIP-2, EIP-779, EIP-150, EIP-155, EIP-161, EIP-170, EIP-190, EIP-225, EIP-1013, EIP-1679, EIP-1716, EIP-2028, EIP-2200, and EIP-2387. For consistency, we recommend the editor will update EIPs to consistently use the name as specified in this EIP.

@fulldecent you have the above in the backwards compatibility section. Feel free to submit individual PRs to get these changed.

@axic
Copy link
Member

axic commented Dec 8, 2021

I commented based on your list in the EIP, which listed substantially fewer. Oh well, approved a lot. I think a bunch of them will be closed by the issue closer bot as there is practically zero chance for any response on them 😓

Correction: your list seems to exactly match the opened PRs. My impression was it is less.

@lightclient
Copy link
Member

@axic @MicahZoltu are we okay to just merge these without consent from the authors? Given 2228 is final, this is just a minor correction.

@axic
Copy link
Member

axic commented Dec 21, 2021

I have no objection to that.

@axic
Copy link
Member

axic commented Dec 21, 2021

@fulldecent once all of these are merged, would it make sense removing that clause from 2228?

@fulldecent
Copy link
Contributor Author

@axic Yes, I will do that, I am keeping a note of my commitment here.

Additionally I have made a PR now removing the items based on progress so far up to today: #4599

@MicahZoltu
Copy link
Contributor

@axic @MicahZoltu are we okay to just merge these without consent from the authors? Given 2228 is final, this is just a minor correction.

I'm not because it is a slippery slope from here to changing terminology for political reasons against the desire of EIP authors (see: blacklist, master, etc.). I have no problem with someone submitting these PRs and soliciting feedback from the individual authors and I even encourage authors to accept the PRs. I do have a problem with forcing specific word choices onto EIPs without author buy-in though.

@fulldecent
Copy link
Contributor Author

All good points. And definitely don't force merge my "blacklist", that's surely a discussion between me and individual authors.

For The "Mainnet" change specifically, I would like to see that adopted/referenced specifically by EF and on their website just as a good brand identity measure. At that point editors here could be free to force merge that as a typo fix, not as a word choice fix.

@fulldecent
Copy link
Contributor Author

I have created an issue for the Ethereum.org website as well -- ethereum/ethereum-org-website#4968

Please support that issue, and I can make a PR there.

@lightclient
Copy link
Member

lightclient commented Jan 5, 2022

I'm not because it is a slippery slope from here to changing terminology for political reasons against the desire of EIP authors

IMO this is not very slippery because we have standardized how "Mainnet" should be referred to and we should now rectify the wording in EIPs the misuse it. I think this should be a new consideration when editing, the same way EIP1234 is not an acceptable way of referring to an EIP.

@MicahZoltu
Copy link
Contributor

IMO this is not very slippery because we have standardized how "Mainnet" should be referred to and we should now rectify the wording in EIPs the misuse it. I think this should be a new consideration when editing, the same way EIP1234 is not an acceptable way of referring to an EIP.

There exists a standard for "Mainnet" but there is no consensus that the standard SHOULD be used. Anyone can create a standard as long as they follow the rules for doing so, but adoption is completely out of scope of this repository and the editors.

I feel like there is a significant step between standardize formatting of links and references within this repository (something that can benefit automation and tooling) and standardizing on word choice. I generally like this particular standard, but I am pretty loath to get into the game of word selection standardization by committee.

@lightclient
Copy link
Member

I feel like we should adopt this standard in EIP-1.

@fulldecent
Copy link
Contributor Author

@lightclient @MicahZoltu just FYI, Ethereum.org website has officially adopted EIP-2228 by implementing it their style guide

https://ethereum.org/en/contributing/style-guide/#mainnet

This is the most favorable support we could want from EF regarding EIP-2228. I hope this helps.

@fulldecent
Copy link
Contributor Author

Per commitment above, here is a PR to remove an item from the Backwards Compatibility issues as it has been resolved.

#4703


I will set myself another reminder and will follow up here again I can further remove items from this list based on more changes in the future.

@MicahZoltu
Copy link
Contributor

Closing this for housekeeping purposes. Feel free to continue using this issue for discussion about EIP-2228.

@ethereum ethereum locked and limited conversation to collaborators Feb 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants