October 2022 | Data Visualization by Louis Jarvers, MPA (Columbia/Hertie)
In this project, we want to better understand the connection between NFTs and (far-right) extremist content. Is extremist content spread via Non-Fungible Tokens? How can we find them? And how present is the extremist content across different chains? For the analysis, we used the 'moralis API' to mine 7.5k NFT and their metadata from 11 networks (blockchains). After sorting and classifying the data, we see that far-right extremist content is spread via NFTs across different networks. Looking at results with keyword hits in NFT meta data: Only a small share of NFTs are clearly extremist (approx. 2%). Much more content with relevant keywords in NFT metadata could be used for extremist purposes but is not extremist per se (approx. 15 %).
To generate and process the data, we followed these steps:
With a modification of the search NFT function of the moralis API, we collected NFTs whose metadata (title, description, details) mentioned one of the following 83 keywords:
'1488', '14words', '168:1', '20.4.', '2YT4U', '444', 'AdolfHitler', 'Anti-Antifa', 'Aryan', 'AryanBrotherhood', 'AtomwaffenDivision', 'BlackSun', 'Blood&Honour', 'C18', 'DefendEurope', 'Fasces', 'FeuerwaffenDivision', 'Goyim', 'Hakenkreuz', 'Hammerskins', 'Hitler', 'Hitlerjugend', 'HKNHRZ', 'HoGeSa', 'Holocaust', 'HooNaRa', 'IanStuart', 'IdentitarianLambda', 'IdentityEvropa', 'JeraRune', 'JewishOccupiedGovernment', 'JOG', 'KategorieC', 'Kekistan', 'KKK', 'Ku-Klux-Klan', 'Lambda', 'Landser', 'LeagueoftheSouth', 'Lunikoff', 'MeineEhreheißtTreue', 'NationalSocialistMovement', 'NewWorldOrder', 'NotEqual', 'NPD', 'NSM', 'NWO', 'Oidoxie', 'ProudBoys', 'Qanon', 'RAHOWA', 'Reconquista', 'RiseAboveMovement', 'RockAgainstCommunism', 'Rothschild', 'RudolfHess', 'Schutzstaffel', 'SiegHeil', 'Skinhead', 'Skrewdriver', 'Sleipnir', 'Sonnenrad', 'SS', 'SSBolts', 'Sturmabteilung', 'Swastika', 'TheHappyMerchant', 'ThorSteinar', 'Thule', 'Totenkopf', 'VanguardAmerica', 'Vinland', 'Volksfront', 'WhiteKnights', 'WhiteLivesMatter', 'WhitePower', 'Whiterex', 'WHTRX', 'WikingJugend', 'WWG1WGA', 'ZionistOccupiedGovernment', 'ZOG', 'ZyklonB'
Overall, we were able to extract 7,500 NFTs from 11 blockchains. The chains are: 'avalanche', 'bsc', 'cronos', 'eth', 'fantom', 'goerli', 'kovan', 'mumbai', 'polygon', 'rinkeby', 'ropsten'. As some keywords were poorly chosen, they created too many random hits. Especially number combinations like '1488', '444', or '168:1' are too context-dependent to provide useable results. Therefore, we selected relevant keywords based on the clearity of their results. After this pre-selection, 4,445 results remained. Analyzing their distribution across chains, we see vast differences that follow an intuitive logic: More prominent chains return more results; less prominent (or widely used chains) return fewer results.
After the initial assessment, we built an image crawler to collect the NFT visuals for more detailed assessment. We downloaded roughly 65% of the available images, which left us with approx. 3,100 images and descriptions for the manual assessment. The medium return rate for the image crawler was mainly caused by problems to download NFT (preview) images (or GIFs/videos) via IPFS (Inter-Planetary File System) whose response rate and quality varied drastically.
To assess the collected images and metadata on potentially extremist NFTs, we established seven categories to determine their degree of extremism. The categories try to filter those NFTs that are clearly extremist ('made with extremist intention/purpose') and those that appeal to extremist topics and could be used, for example, as propaganda material from those that show no connection to far-right extremism. Further categories include NFTs who show a reference to far-extremist topics (WWII, Holocaust, anti-semitism, anti-LGBTQ, racism) but are not extremist, NFTs that are mocking far-right (extremists), or are not clear/understandable in their message.
The composition of the entire NFT data set across all chains shows that the majority of NFTs has not connection to far-right extremism despite the mentioning of relevant keywords. Roughly 2% of the available data is categorized as clearly extremist. A larger share of approx. 17% was categorized as 'appealing to far-right topics'. This category consists of NFTs that could be used by extremists to share their ideology, even if the creator of the NFT did not intent such as purpose. This group contains a mentionable number of Nazi memorabilia as well as historical documents without context. Other categories, such as 'unclear' and 'no data' amount to approx. 6%. A little less than 5% of all NFTs are categorized as 'mocking', meaning that ridicule far-right topics - especially depiction of Adolf Hilter and other Nazis.
The information below details the seven categories including a brief description, sample NFTs from the data set and the relevant share across all collect NFTs:
The analysis of the categorized results show strong differences in the overall number of found keywords (right/second graph). More relevant keywords like 'Holocaust', 'Hitler' or 'Kekistan' yield much higher results than niche keywords like 'TheHappyMerchant', 'WhiteLivesMatter', or 'Hakenkreuz'. The analysis of relative mentions show that certain keywords are (still) too broad (e.g., 'BlackSun'). Clearly extremist conent can be found both at more prominent keywords and niche words. Overall, extremist content can be found in NFTs but it is comparatively scarce. The prominence of keywords is also relevant with regards to the category 'mocking': NFTs with prominent keywords ('Hitler', 'Aryan', 'QAnon') prompt an anti-fascist response. Lastly, NFTs with rather unknown keywords, especially far-right code words or far-right slang ('Goyim', 'WWG1WGA', 'Schutzstaffel'), yield much fewer but more extremist results.
Looking at the chains that the categorized NFTs were created on, we again see the stark difference between the chains. 'polygon' and 'eth' return well beyond 1,000 hits for our keyword search. Smaller chains like 'avalanche' or 'goerli testnet' return less than 50 results combined. Chains with more results show a rather stable return of extremist content between 1 to 5 %. Possibly extremist content was found in up to 25 % of the NFTs. The results for 'smaller' chains vary drastically while putting especially the fantom testnet in the spotlight. The question why fantom yields a particuarly high share of possibly extremist content requires further analysis.
To better understand the connection between NFTs and (far-right) extremist content, we collected 7.5k NFT and their metadata from 11 blockchains. Categorizing the NFT by their title, description, details and visual assessment of the downloaded images/GIFs/videos, we conclude that far-right extremist content is spread via NFTs on different blockchains. Looking at the metadata and images of pre-selected 4.5k NFT from a keyword search, only a small share of NFTs is clearly extremist (2%). Much more content with relevant keywords in NFT metadata could be used for extremist purposes but is not extremist per se (approx. 15 %).
We learned that more specific keywords, produce more relevant results, that extremist slang/code is propagated into NFT descriptions and yields more extremist results when searched for. But: Extremist code only produces clearer results as long as the keywords remain distinguishable and not context-dependent. Context-sensitive, extremist 'codes', such as number combinations, cannot be detected with a keyword-based search method. This produces an unknown share of undetected extremist NFTs. The classification process was done manually which is a time-consuming process that does not scale well with more data. Automatization or even AI-based approaches to support the manual work are challenging since the categorization as extremist remains contextual and usually requries a description-image-context combination.
Overall, the analysis remains a spot-check since it is not feasible to collect all NFTs across multiple chains. Just like collectable NFTs remain unseen if relevant keywords are unknown.