memo / eco-nft

A basic guide to ecofriendly CryptoArt (NFTs)
722 stars 54 forks source link

Cryptoart.wtf #14

Open tgreiser opened 3 years ago

tgreiser commented 3 years ago

Is cryptoart.wtf open source? Curious about extending it to some of the more eco friendly chains. Sorry to be somewhat off topic.

justincone commented 3 years ago

Off topic, but a great idea!

brendanmc6 commented 3 years ago

@justincone @tgreiser CryptoArt.wtf is based on data from the carbon.fyi project, and the core of that is open source: https://github.com/Offsetra/ethereum-emissions-calculator

But the 'magic numbers' -- co2-per-gas -- are only calculated in an (open) google sheets for the time being. I would LOVE to get some more contributors on board. In particular, we need to move the emissions and hash-rate datapoints into the repository and also work towards deriving CO2 emissions based on the actual hash rate at any given point in time. Older transactions should have less emissions, for example.

memo commented 3 years ago

Hi @tgreiser, thanks for the suggestion.
Cryptoart.wtf isn't OSS I'm afraid, as it's quite a beast (lots of NFT website specific code, a mongodb in the backend caching things to avoid frequent API calls, preparing summaries and reports etc).

As Brendan mentions, the core of my calculations are based on some of their data, specifically, the country emissions factors and calculations. And we use the same methodology. I also do the 'magic numbers' calculations in a spreadsheet https://docs.google.com/spreadsheets/d/1hzzxMbytOZ1mYl9kLh_SvM6kne6JI_mdCfHIoNapr5M/edit?usp=sharing

and I have calculated the per-gas factors on an annual basis (though this is not what I use for the website) 2017 (20 May–31 Dec): 0.0008427156 kWh, 0.0004916419 KgCO2 2018 (01 Jan–31 Dec) : 0.0011741214 kWh, 0.0006849847 KgCO2 2019 (01 Jan–31 Dec) : 0.0005121816 kWh, 0.0002988077 KgCO2 2020 (01 Jan–31 Dec) : 0.0003735465 kWh, 0.0002179278 KgCO2 2021 (01 Jan–01 Mar ): 0.0006310654 kWh, 0.0003681648 KgCO2

I have a friend who was looking into calculating these on a monthly basis. I will check to see where they're at.

(I use a mixture of etherscanapi and web3js. The latter so that I can find transactions for a specific token on a smart-contract, since SuperRare for example uses just a few contracts to manage all of their NFTs).

Aside from that, regarding "extending it to some of the more eco friendly chains", I presume you mean non-Ethereum chains? like Tezos, Cardano etc? That is a great idea. Though it would require a very different approach compared to how we calculate footprints for Ethereum transactions. Unfortunately, the Cryptoart.wtf code was not designed with that level of modularity in mind (to support non-Ethereum chains). And because the codebase is quite large (~5000 lines of code across 24 files), to refactor it to the extent where it could support different chains might be more painful than ripping the relevant bits out and starting a new, more lightweight, more modular multi-chain calculator (which e.g. doesn't create website-specific reports and summaries, doesn't need a mongodb cache etc). In this case, the offsetra codebase might be a more suitable starting point. (Though for per-NFT footprints, web3js or similar might be needed as I'm not sure if etherscanapi has support for that).

I had also seen on Twitter someone doing a "back of an envelope" calculation for Tezos, but I can't seem to find it now.

kylemcdonald commented 3 years ago

Hi, I have code that estimates daily Ethereum emissions impact (kgCO2/gas) and estimates whole-platform emissions. https://github.com/kylemcdonald/cryptoart-emissions

Screen Shot 2021-03-22 at 8 55 09 PM
sterlingcrispin commented 3 years ago

I have a lot of issues -- but one serious bug that needs fixed is that CryptoArt.wtf is misleading people who try to calculate something on Foundation, because people are entering Foundation's contract address thinking it's the artists token. They're getting estimates back that are 6000x higher and its arguably libelous

you can use this as an example http://cryptoart.wtf/#address=0x3b3ee1931dc30c1957379fac9aba94d1c48a5405 https://etherscan.io/address/0x3B3ee1931Dc30C1957379FAc9aba94D1C48a5405 https://foundation.app/sterlingcrispin/compassion-148

I've seen images of nuclear bombs being passed around, people have said artists should be crucified, a popular essay claims they are committing crimes against humanity.

I also learned today that the footprint of YouTube is 10MtCo2 about the same as some estimates for Ethereum, and that NFT's are about 3% of the use of Ethereum. I think the comparisons that have been made have caused immeasurable harm.

sterlingcrispin commented 3 years ago

I just left Kyle a comment but I think its relevant here as well, please take a look at this Memo >> https://github.com/kylemcdonald/cryptoart-emissions/issues/1

I don't think Digiconomist should be used as a kWh source for Ethereum. It's build on four layers of assumptions and none of them have sources.

At the very least all these calculators you are building need to have error bars and confidence reports, they're being used as if they are 100% accurate

memo commented 3 years ago

Regarding your first point Sterling, yes unfortunately I've noticed this too, and I have text on the (?) button that I believe makes it clear that the figures for SuperRare are for the NFT, for NiftyGateway are for the collection and for anything else are for the full contract which may include many artists and NFTs. I think people are just not pressing the (?) button, as I'm getting a lot of questions about this. So now I've made the info panel start open, so you cannot miss it. I've also made the app reject any URL that isn't SuperRare or NiftyGateway. But users can still add in a contract address to see the figures for the full contract, just as they can with Carbon.fyi.

Regarding the digiconomist calculations, yes I agree there are a lot of assumptions, and I wish there was more data. Both Kyle and I discuss the accuracy of this in our relevant texts, including links to the most authoritative critique of the method, which discusses that in 2017, for bitcoin, digiconomist's method was overestimating by 2x compared to a different recommended method, but today it is underestimating by almost half.

sterlingcrispin commented 3 years ago

@memo I think you should just drop a few "if statements" in looking for the networks addresses and if someone enters one for the big trading platforms you just say "Hey this is not an artists NFT it's an PatformName, with N transactions" . There are only a dozen or so of these I think it would be an important fix.

People are passing these screenshot around on social media that are misleading by a factor of 10,000x

Screen Shot 2021-03-08 at 9 20 13 PM

To your second point -- I don't think you should provide estimates without error bars. It's not enough to include a bunch of text nobody reads.

I don't really care about Bitcoin we are talking about ethereum. This is the latest best estimate I could find from a 'bottom up' approach that uses hash rates and efficiencies of available GPUs , I haven't had the time for it but it should be possible to just look at the current hash rate and what cards are on the market and come up with a more accurate real time estimate rather than relying on Digiconomists "work backwards from profit model"

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7402366/#mmc1

justincone commented 3 years ago

@memo One more note re: this comment:

for bitcoin, digiconomist's method was overestimating by 2x compared to a different recommended method, but today it is underestimating by almost half.

I understand that you're trying to make folks feel better about Digiconomist being a "conservative" estimate (at least today), but the wild variance in their accuracy and the fact that they have done a terrible job documenting and broadcasting their changes only adds fuel to the fire.

Digiconomist is a shoddy data source. Full stop.

memo commented 3 years ago

@justincone Yes I absolutely agree there are many assumptions within the digiconomist model, which makes its error margins much larger.

In pointing out Digiconomist being conservative compared to Cambridge, my aim isn't to make "folks feel better", but to note that being a simple model doesn't necessarily mean that it's overestimating by an order of magnitude. Rather, the estimates from Digiconomist are in a similar range as the Cambridge method, sometimes larger, sometimes lower. Before 2019, digiconomist was generally twice that of Cambridge, but after 2019 it starts out 20% higher, and then oscillates between higher and lower. This is far from ideal. And for many real world projects, such a large error margin is unacceptable, and could even result in deaths.

But for the purposes of this discussion, we are talking about being in the range of 100Kgs for single edition NFTs, potentially up to tonnes of CO2 when dealing with many bids; and tens of tonnes, potentially even 100s of tonnes for multi-edition NFTs.

This is absolutely not a defense of digiconomics, but a refocusing on what the discussion is about. I would absolutely prefer to use a bottom-up source with tighter error margins, or even well defined upper and lower limits (like Cambridge) if it were available. But right now they are not available unfortunately.

@sterlingcrispin Thanks for the link. I've been following the work from TUM.

The reason why I bring up Bitcoin, is because that is a baseline to compare methodologies. From what I've seen, the study by Cambridge is the most comprehensive. For 27th March 2020, Cambridge estimate 54 TWh ("more realistic figure that we believe comes closest to Bitcoin’s real annual electricity consumption"), with a lower bound of 35 TWh ("based on the best case assumption that all miners always use the most energy-efficient equipment available on the market") https://www.cbeci.org/cbeci/methodology Unless I'm calculating incorrectly, the TUM paper linked above, estimates 37.5 TWh annualized from that same period. Which is 30% lower than Cambridge's estimate, and close to its theoretical minimum. For this reason, right now I see it as quite unlikely to be accurate. But it is a great start that others have started looking into Ethereum, and I will be following it.

Regarding cryptoart.wtf. yes I do have if statements, and I was already rejecting foundation URLs. I.e. if you copy/paste a foundation URL into cryptoart.wtf, it will be rejected.

I'm not sure how this can happen by accident. For this to happen, somebody must manually enter address=0x3b3ee1931dc30c1957379fac9aba94d1c48a5405. And this - by design - calculates the footprint for all transactions relating to that wallet or contract. This is the same behavior as https://carbon.fyi/?contract=0x3b3ee1931dc30c1957379fac9aba94d1c48a5405

So this is a clear misuse of my tool, which I'm not sure how to prevent, other than disavowing the figures https://twitter.com/memotv/status/1369594107488829441

FYI, regarding your NFT, I can see two transactions http://cryptoart.wtf/#txhash=0x5e21db608903c01e3146ed0ffb45d4d30295eda9f061c248d5e93e031800c750,0x4065fa46b94dc5a3e0d876184d3b03c8bb019f4b7cb9de00058f72244e409926

sterlingcrispin commented 3 years ago

I think for the address = thing people just think to themselves “what do I have to type here to get this to work” it’s unclear that typing that in means it’s all of Foundation and six thousand transactions.

You should show the number of individual transactions and make clear it’s not one NFT. You should add error bars and explanations of uncertainty in the area everyone is taking screenshots of. You knew about this bug for weeks I saw you discuss it on Twitter, you decided not to fix it, and now this disinformation is going to haunt James Jeans career for the rest of his life.

You should really just remove the website and apologize to the art community. You’ve started one of the most toxic discussions in art I’ve ever seen. If NFTs stopped being used tomorrow Ethereum would have the exact same carbon footprint but you’ve made people think it’s some artists fault. Instead of coming up with a solution you created a public hate machine. I’ve seen people say artists should be crucified and a very popular essay by Everest P. says it’s a literal crime against humanity. How are you okay with that being targeted at individual artists when the whole system would continue exactly the same without any individuals participation?

https://thenextweb.com/contributors/2018/10/31/social-media-mobs-are-worse-for-society-than-the-people-they-shame/

I hope you can reflect on the psychological trauma you’ve caused to thousands of people on the receiving end, and on the angry-mob end of this moment. People are so angry and blinded when POS systems you want to see adopted become widely used, these people won’t change their mind because they’re dug so deeply in. I honestly am surprised an NFT artist hasn’t killed themselves over this yet and that no ones filed a libel lawsuit to you for defamation because of your website. You really ought to take more responsibility for all of this. It’s your responsibility

sterlingcrispin commented 3 years ago

another lovely artifact thanks Memo

every list I've ever seen that says "Please don't send these people death threats" has been abused , pretty sure anytime makes a hate list and writes "Do what you will with them" is a euphemism for harassment and death threats

https://docs.google.com/spreadsheets/d/1X3yIBnshUjNvisOAEFvnEG90zT6B7MFnpd_qrbnFWlk/edit#gid=2050538248

sterlingcrispin commented 3 years ago

this is an NFT artist publicly contemplating suicide over this, and being mocked for it by someone who is compiling an anti-NFT list https://mobile.twitter.com/SucculentBud/status/1369706457357316106/photo/1

sterlingcrispin commented 3 years ago

@memo I just saw your statement, and I wanted to leave a note here as well thanking you. Even though I have been critical, and we've disagreed on things, I've always had a lot of respect for you, and even more now. I'm really sorry about the tone in my last few comments here, re-reading them I regret all of the frustration and anger in my writing. I should have been more empathetic and less rude to you. I know what happened was an unintended consequence you did not plan for. I'm sure being centered in a global debate like this has been traumatic for you to go through as well, and I'm sorry these last messages were so emotional.

Even though I think the website spiraled out of control in the hands of the public, you did start an important conversation, and I do think it will lead to the systemic change you hoped for. Thank you, and again, I am sincerely sorry for my frustration and anger.

PeterLappo commented 3 years ago

@memo @sterlingcrispin Thanks for raising and questioning the issue of emissions generated by NFTs and by of course all crypto currencies. A useful section to add to this git repo would be an explanation of why POW is high emission compared to say POS. (Perhaps I missed it)

Personally I think neither are acceptable from an engineering perspective as decentralised computing will always be less efficient and slower than a well designed centralised system but understand the political motivation behind the current designs.

Still keep up the good work to move away from POW.