Two Degrees NFT

tl;dr

terra0 has minted an NFT (ERC721 Token) which depicts a LiDAR scan of a German forest, and created an ‘Oracle’ smart contract which stores the average annual temperature rise as decided by NASA. When this value crosses the threshold of 2 degrees centigrade, the token is able to be burned by anyone who wants to call the smart contract function and do so. The NFT will premiere for sale in Sotheby’s ‘Natively Digital: A Curated NFT Sale’, June 3–10, 2021.

Two Degrees (2021) — terra0

Introduction

terra0 is an artwork and research group centered around decentralized technologies built on the Ethereum network, aiming to provide automated ecosystem resilience frameworks. We founded it in 2016, and it has since been exhibited in a wide range of exhibitions and congresses. Important works, apart from the original White Paper, include Flowertokens (2018), Premna Daemon (2018), and Morphology Panels I — III (2020). We have always investigated how relationships to living ecosystems can be mapped in a blockchain and how this mechanism can operate autonomously. One specific question which arises from these investigations is how physical realities are connected to existing token economies.

Art as a contingent claim

When Elie Ayache proclaims that “there is no better presentation of the thing than its trading” we might first read him in the context of the traditional financial system. Derivatives — put and call options, futures, and synthetic assets — were developed in various strains of TradFi (a term now describing the old world of financial markets), and are essentially the building blocks of every sophisticated financial system.

Lee Lozano, Investment Piece, 1969 © The Estate of Lee Lozano

Two degrees — a hedge against annihilation

We deeply favor a materialist reading of tokens as always entangled with their site and event of production. In earlier experiments with the medium of unique non-fungible tokens we explicitly bound tokens to manual and artistic work as additions to the already existing computational labour involved in the Proof of Work system in which they were embedded. The relation between existing token economies and the related externalities was already present in Flowertokens and the original terra0 contracts, and in Two Degrees we continue the line of thought with an NFT consisting of image data generated in the summer of 2019 with the help of a LiDAR scanner operating in a forest in southern Germany. The resulting point cloud shows 3-dimensional space with its machine-read depth planes.

Preview video of the NFT

Technical details — the best oracle might be a DAO / multisig

A short technical write up of the two ‘2 Degrees’ smart contracts:

  1. TemperatureToken
    This is an ERC721 compliant token deployed at 0xabf5c7c066a48a06524438f6f51bdceb6e670dad (view it on etherscan). This is the token which is sold. It implements a standard ERC721 interface and uses mostly OpenZeppelin standardized functions. On top of this there is a small access control layer which allows the TemperatureOracle contract to burn the minted token if the annual average temperature increase is 2 degrees or higher.
  2. TemperatureOracle
    This contract holds the temperature in two variables: the temperatureDenuminator and the temperatureNumerator. The annual average temperature increase is calculated using both of these numerators — for example, if their values were 101 and 100, this would resolve to 1.01, the current average temperature rise. This contract is deployed at 0x14e0061CFF890F422Ab5e7C95a6a1ce4AC02De77 (view it on etherscan).

How does the temperature update process work?

The contract holds an additional state variable named ipfsDocker which is an ipfs hash of a docker container. The contract has a public function which can be called and updates the temperatureDenuminator. Once the function is called an event with the docker hash gets emitted and caught by our oracle node, which fetches the docker container from ipfs. The docker container (which is public) fetches the temperature from NASA and the oracle node sends this to the contract if the value differs from the saved one. This function is supposed to be called only once a year, as the average temperature increase data is only updated annually.

How does the burning process work?

Once the temperature is updated the contract checks against a hardcoded value of 200 (which would resolve to 2.00°C current average temperature rise). If this condition becomes true a variable, the state variable of isburnableIpfs is set to true. This is the first of two checks made before the token can be burned.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store