5
$\begingroup$

As a social experiment (not a money-making scheme), I'm interested in developing a crazy cryptocurrency which, by its very design, will become worthless and untradable after a certain point. Ideally, this would be a fixed date like "January 1st 2020," but it could also be after a predictable event occurs, such as after one million trades have been made, or once a super expensive computation completes. I, the designer of the currency, should not have any ability to prevent this "doomsday," postpone it, or even cause it to happen early. Lastly, my users should not have the ability to defy the doomsday by creating their own fork of the code.

The current idea I'm running with is to have there be a "super-key," which works as a universal private key and allows you to break into anyone's account. Since the accounts would cease to be secure, the currency would be worthless. I would generate this key, then encrypt it in such a way that it would take years (but not decades!) to crack, then release it publicly. The superkey could a third party, but this is less fun because it goes against the basic idea of cryptocurrencies. I also do not know if I would be able to guarantee that I myself don't own the super-key in its unencrypted form.

I'm wondering if anyone has any suggestions on how to implement this.

$\endgroup$
4
$\begingroup$

I would generate this key, then encrypt it in such a way that it would take years (but not decades!) to crack, then release it publicly.

Yes, you are in effect putting the master key in a time capsule. The problems of time capsules in general apply: the release time will not be exact and a breakthrough in e.g. CPU design could hasten it. If no one's trying, it may never be broken.

I also do not know if I would be able to guarantee that I myself don't own the super-key in its unencrypted form.

A simple way would be a nothing up my sleeve number. For example, generate a "random" public key using e.g. the digits of $\pi$ in an obvious way. Have all the relevant information be encrypted using this public key. Then brute forcing the private key will reveal it all. The size of the key will determine the difficulty of breaking it.

The problem is how to make sure the users really encrypt data for that key, instead of pushing some dummy data into the block chain. There is no way to prove a given value makes sense when decrypted, if you don't know the private key.

One option would be to instead of going after accounts, tie the proof of work function to this key pair. E.g. instead of looking for values that hash to a certain kind of value, look for signatures that verify to a given number number of bits. For the owner of the private key that would be trivial, allowing easy 51% control and maybe even flooding the market with coins if you made the difficulty calculations slow enough to adjust.

| improve this answer | |
$\endgroup$
2
$\begingroup$

To add a doomsday rule to a cryptocurrency, you don't need any cryptography at all. Just add a rule that would prevent new blocks from being accepted after certain block height, or with timestamps after certain date. Of course, the users would be able to make a fork with these rules removed, just as they can remove the rule that makes the signatures made with "super-key" valid.

There is no way to prevent the users from changing the rules of a cryptocurrency with a hard fork, as they can just create a brand new cryptocurrency and hardcode its initial distribution to match the distribution of your cryptocurrency at some point of time (such as when it is about to be "destroyed"). People could use private keys for your cryptocurrency to redeem their initial balances in the new cryptocurrency. Now they can call that new cryptocurrency a fork of your original cryptocurrency, as all the money is preserved.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.