-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
One-time NFT Sale of unused EIP numbers. #5082
Comments
What chain would this be on? If it was on Ethereum, the fees would be prohibitive. If it was on e.g. Gnosis chain, then, well, it wouldn't be on Ethereum. |
It would be on Ethereum, because none of the current L2 chains are censorship resistant (they don't align with the ethos of Ethereum currently). I don't think the fees would be too prohibitive on L1 though. We would need to think through auction design, and potentially we could do the auction off-chain but proven on-chain with some kind of ZK prover system (high engineering cost, but very cool). |
I'm very much down for designing and implementing this. I'd suggest an eventual goal as maybe having all the EIPs accessed via IPFS with the hash stored/updated on-chain. |
Making the EIP process more sustainable is a great aim. I would want to see any number with potential value up for auction rather than just limited to below 5000. Auto assigned numbers could be large, e.g. 6 or 7 digits, with no repeating single digit, double digit or triple digit patterns and not ending in zero. Remove the majority of value from such auto-assigned numbers and avoid EIP editors having to make subjective choices on number usage. |
There are many numbers that are "special" like 1337, palindromes, etc. I think figuring out what numbers people will want in advance will likely result in missing some. Also, it makes it harder to assign new numbers because we now have to check to see if a particular number has already been auctioned or not. We can always auction unused numbers < 6000 auctioned once the repository hits 6000 issues. 🤷 |
I'd basically say all EIP#NFTs will be assigned to an EIP editor multisig by default. Then the EIP editors can decide who gets them :) Would you like it if I started working on an impl? |
I'm working on an implementation (https://github.com/Pandapip1/EIPNumberNFT/), whether or not it'll be used. It should be able to be used to do what is described above. Collaborations are welcome! The following is a pdf of images that I made: EIP # NFT (1).pdf Not owned: owned by EIP editor multi-sig. |
While I very much love this idea in theory, I want to mention a couple possible drawbacks:
I don't think either of those are dealbreakers. As for the mechanism, if we go ahead with this, I think we should generalize it to work forever, not just the first 5000 numbers. Maybe we do a special auction for the unused numbers in the first 5000, however. I'd suggest dividing the EIP space into chunks of 1000. EIP numbers in the next chunk (so 6000-6999 at the time of commenting) would be available for purchase. Once the "free" counter gets close to that range, that chunk locks and the following one unlocks for purchase. Or... I guess we could just do it adhoc and deploy new contracts as we see fit? @Pandapip1 how would you feel about burning the NFT to use the number? |
I really did this idea, although I wish it was implemented sooner 😅 Anyway, a simultaneous dutch auction for each of the numbers seems like the right mechanism to sell the numbers. I wonder if a fork of ENS might be the right solution for ownership, so there is ongoing cost/revenue for squatting numbers? Once they are burned, there would obviously be no ongoing cost. |
I thought that was the plan. Anyways, what my idea was is that every eip number (including already assigned ones, which must be burned by the multisig, and >4 digit ones, up to the integer limit) is by default assigned to the multisig (i.e. ownerOf(X) is the multisig by default). Then the EIP editors can decide the best way to auction these off. |
+1 to @auryn-macmillan, feels best to avoids treating an existing incremental counter as a scarce resource. ENS for EIPs makes a lot of sense to me. Either implemented as ENS subdomains (imagine we had For example, instead of EIP-1559 we could register it and refer to it as EIPs that get merged will be permanently cemented with their display name (perhaps merged EIPs get a free display name if they don't have one), and ones that don't get merged need to be renewed to maintain. |
Whilst it should be usable forever, I assume the bulk of the value will be in the early available numbers, with the highest value being single digit, then double, then triple digit numbers. Need to make sure that the value is captured by the sale of these low digit numbers and avoid squatters/speculators. ENS does price differently based on the length of the name, but given EIPs only use digits, then the rarity is much higher, which should be matched in the price. Especially assuming that renewal fees only need to be paid until an EIP number is used/burnt. https://docs.ens.domains/permanent-registrar-faq#how-much-will-the-yearly-renewals-cost
Ideally all EIP numbers would be obtained in the same way, so remove any EIP discretion on numbers being used from the EIP editors. EIP creators could use much lower cost longer digit numbers (e.g. 5 digits). It would also add a non-zero cost to creating an EIP which could reduce some of the volume of EIPs being created. Ideally ideas and even code could be reused from ENS to not be a distraction for EIP editors. |
Ok, just went out on a limb and grabbed For each of the existing EIPs, we should register and burn (send to I'd like to see an multisig of the EIP editors as the registrant and a contract as the controller. After the auction, the subdomains should follow the same pricing model as ENS domains, but the content should only be settable by the EIP editor's multisig. |
I really dislike that. Since EIP process is based on BIPs, which is based on PIPs, which is based on RFCs I am not sure that the culture of selling numbers would follow the origins of the process. |
How about if the namehash ends with 0, then it's a free one that is owned by the EIP editors? |
@SamWilsn I'm not opposed to auctioning off more numbers later, but I am hesitant to over-engineer for that. The number of available numbers between 1 and 5000 I suspect will be enough to last us many years at the current rate of EIP creation, less if we assume some amount of acceleration of EIP creation but still quite a bit. Also, I suspect we'll learn lessons if we do this once and we can apply those lessons to future auctions if we don't lock-in now. Lastly, I am hesitant to auction numbers higher than the current PR/Issue number because that complicates the editor number assignment process.
I was thinking today about maybe turning the NFT into a soulbound token upon redemption, so the author can retain it as a cool thing. I'm not a fan of any of the current soulbinding EIPs as I feel pretty strongly that the "soul" should not be an Ethereum address but instead should be an NFT (e.g., an ENS name), but perhaps as part of this process we can work on developing a better soulbinding standard, or at least prototyping one.
@radeksvarz Was there something specific about this proposal that bothers you? I'm not personally a big fan of blindly doing as others have done just because they did it, but perhaps there is some reason that others haven't done this in the past that would apply to us?
I think it is important that creating an EIP is costless for someone who wants to. I don't think we should develop a system that requires people to pay to create an EIP, which includes paying to buy a number. I would be particularly worried about someone buying up all of the numbers from 1 to 10,000 and then you have a situation where EIPs numbered 10,000+ are second class citizens written by self-identified poor people. |
I second this. This is why I proposed that numbers with a EDIT: I also re-propose that my EIP (https://eips.ethereum.org/EIPS/eip-4834) combined with NFTs would be a better system for this than ENS, as it means that registration of an EIP can follow a consistent standard. |
My biggest worry is also along these lines, I worry that people will think you need to own the NFT to raise a proposal and this could put people off from doing it. There is no doubt that finding better ways to fund this process would be great and should be found I just worry that financalising the numbers won't end well and speculators who will not ever make a proposal will scoop up all fancy ones as with ENS names making the process less open and free. Also one thing to note is that @blmalone made a cool NFT token project for final EIPs last year which could be used for reference in some way e.g. this one from 2981 https://opensea.io/assets/ethereum/0x5d96a22daae62e6c18dcdc32b5c102c317a0187a/100298100002 Could other ways be found to fund this public good? |
I understand your point. My point is about the culture. Selling EIP numbers does not resonate (at least to me) with the current welcoming culture. James stated the concrete concerns well in #5082 (comment) |
My concerns echo those of @jamesmorgan 's. Late last year I made eipnft.io. It was an attempt to reward contributors for getting their EIPs into FINAL status. My thinking was that it be cool to recognize contributions to the Ethereum ecosystem through NFTs. For example, @fulldecent as a co-author on EIP-721, was able to mint an NFT representing his contributions to the original NFT specification: here's the nft It's most certainly more of a retroactive public goods funding model; which to be honest I haven't pushed very hard so I think it's still tbd if it's effective. |
@radeksvarz @jamesmorgan @blmalone The intent is that there will always be the option of being able to create an EIP with a number assigned to you by the EIP editors (I feel incredibly strongly about this and am hard-lined against requiring a fee of any kind to create an EIP). The NFT numbers are for people who want to pay extra for a vanity number is all. |
Let's reserve all the numbers through 10,000! The Editors clearly have and have had authority to assign numbers. And this is a reasonable way to do it. I support this initiative. Now regarding the money.
I might be interested in your role unpaid, especially if I can do it without much work (and have plans on that). |
As I see it, there are three sides and here are their arguments:
|
For the sidechain issue: There are many sidechains with just as much security as the Ethereum Mainnet (due to zk-rollups). If persistence is a concern, then it's always possible to, using bridges, copy the EIP data verifiably over to the Ethereum Mainnet. |
There are no L2 networks that are censorship resistant, permissionless, and trustless at the moment. The side chains mentioned are not functionally not censorship resistant. |
EIP-2771 is stagnant (not final), so we cannot use it as a standard. However, we could use the ideas presented there in a non-standard way if we wanted. The problem with metatransactions is that someone still has to pay for gas, and if that isn't the user then it is someone else who can be griefed. |
I think I originally suggested an ENS fork, however since then I realized that a subdomain of the canonical instance of ENS is probably a much better option.
ENS names are also NFTs ¯_(ツ)_/¯ For the sake of simplicity, future flexibility, and minimizing workload, I'd opt for the ENS subdomain option. I also don't think metatransaction/gas abstraction are important for this, at least not initially. Better to solve one problem at a time. |
How much money is this trying to raise? Why can't the community pitch in? How long is this auction for? The enforceable EIPs (e.g. JSON-RPC have been moved out of this repo, will this cover those repos that contain EIPs now as well? Why can't the foundation fund this? Would it be a better idea for the foundation to gift some validator nodes that way there is a sustainable source of financing EIP editors / activities without having to auction off a fictional namespace as an nft? |
Continuously following this thread. Is there any new action on this ? |
Not rn. It's pretty low priority. |
Right, I don't think there is a strong consensus to move forward auction/sale for NFT numbers. The currently likely winning approach is using a bot to randomly assign number. |
Well, the consensus is definitely on having a bot be able to assign numbers. The question here is whether we want to then sell the unused numbers in addition to having the bot assign new ones. |
There has been no activity on this issue for 1 week. It will be closed after 3 months of inactivity. |
There has been no activity on this issue for 1 week. It will be closed after 3 months of inactivity. |
There has been no activity on this issue for 1 week. It will be closed after 3 months of inactivity. |
Pretty sure @gcolvin blocked this, and none of us are interested in pursuing this. |
I might be a month late to propose this, but if we did want to do something with the sparse EIPs that's somewhat less controversial than selling the numbers for actual EIP slots, what if we sold them as a place to display an image? They'd still be a 404, but the owner of the NFT gets to choose the image to display, subject to approval? This: (1) Preserves the time-number relationship. |
I like the idea of ENS subdomains, as authors could then host websites for their EIP/ERC |
Just a reminder that I still own eip.eth and will happily donate it to this if we come to a consensus on how it will be used.
What do you imagine the approval process looking like, @SamWilsn ? |
@auryn-macmillan not sure what additional prices you're talking about, so I'm going with "approval process": I was thinking a signed message to the EIP editors, shared for a week in our discord, and if no one objects it gets updated. Nothing fancy. |
😂 I should not reply from my phone
Sounds reasonable to me. |
Github supports ECDSA GPG keys, and the public keys can be read using the api. EIP-1271 support could also be added using a preamble field... |
There has been no activity on this issue for 1 week. It will be closed after 3 months of inactivity. |
This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback. |
Problem
Solution:
We do a one time auction of all unused EIP numbers between 1 and 5000 in the form of NFTs. When a user wants to create an EIP, they can either get a number assigned to their EIP (following current or new selection strategy), or they can burn one of the NFTs just before their draft is merged and we'll let them have that number.
The proceeds would go toward funding EIP editors (specifically, funding to hire someone to replace me). Additional things we could spend money on should the proceeds be particularly high:
The text was updated successfully, but these errors were encountered: