alexna avatar

Token Shredder

alexna

Published: 06 Apr 2017 › Updated: 06 Apr 2017Token Shredder

Token Shredder

It all started with this discussion:

https://www.reddit.com/r/gnosisPM/comments/63o02s/gnosis_crowdsale_psa/

The point was that after the upcoming Gnosis IPO, the company might end up with a lot of not-sold GNO tokens. The author then suggests:

I would have preferred if the remaining tokens were burned…

But how? Is there a clear way to destroy tokens? Of course, the company can create an address with a random password that nobody knows and then transfer the tokens to it. But, how we all can be sure that nobody knows the password?

Then I thought, it would be a much better idea to create a contract to destroy unwanted tokens.

As you know, it is possible to send tokens to any address, even to a contract. The difference between a normal address and a contract is that there is no private key associated with the contract. That means, nobody can transfer any funds from the contract, except the contract itself. And if there is no special code inside the contract to do so, you can be absolutely sure that tokens stay there forever.

I decided to create such token destroyer. I called it TokenShredder. It is up already in the blockchain:

https://etherscan.io/address/0xfdb96ecf50c97ae1966dccdd90e7a0d4fa260b39#code

The code is open and verified. I should probably be more correct and say that the lack of code is open and verified ;)

The only meaningful line in the code is this:

pragma solidity ^0.4.0;

The line guarantees that Solidity compiler used for the compilation has at least version 0.4.0. This is important because of the nice feature preventing sending Ethers into the contracts with no fallback function implemented. That prevents somebody sending Ethers into the TokenShredder.

After deploying the TokenShredder I tried to send 0.01 REP into it. You can see it by clicking on the “View Tokens Balance & Value”. Those 0.01 REP are destroyed forever. RIP…

I also tried to send some ETH into the contract. The Parity client is smart enough to warn me about the exception, even before I click send. It looks like all is working as we need.

Now, back to the Gnosis discussion. If they decide to destroy some tokens ( I think they should), they can simply send some of them to the TokenShredder. We will all see the amount landed there and once it is done, we can be sure that those tokens are indeed destroyed.

Leave Token Shredder to:

Written by

Read more #ethereum posts


Best Posts From alexna

We have not curated any of alexna's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From alexna