Private Keys

Participate anonymously and find your spirit animal.

There is no registration here.

Help Yourself to a Key

Here is a notebook you can open up in colab and use to generate a new private identity (called a write key). This will install the microprediction package: pip install micropredictionand import with from microprediction import new_keyThen it will burn a new write key using the command write_key = new_key(difficulty=11)Higher difficulty keys take longer. A video tutorial is provided in the first Python module. 

Python Module 1

This tutorial will also get you on the leaderboard! 

What are the Keys?

The key you generate is a lucky, but randomly generated, Memorable Unique Identifier (MUID). Because it takes some compute to create them, it isn't possible to create an arbitrarily large number of identities.

A “memorable unique identifier” may sound like a misnomer. MUIDs are really "hash-memorable" identifiers. The SHA-256 hash function relates your private identity to your public identity. There is no way to determine the private identity from your public identity. All microprediction classes you are likely to subclass, such as MicroWriter or MicroCrawler, contain a method called shash that you can use to compute your public identity.

.shash(write_key)

The first few characters of your public identity look a bit like a description of an animal (wasn't that fluky?). You can reveal this with

.animal_from_key(write_key)

The mapping is also available directly in the API. For instance try this URL:

http://api.microprediction.org/hash/e9d9c39428b08985331c4b5c6f710124/ 

Here's a video explaining MUIDs.

 

 

(The video pre-dates the microprediction library so contrary to the call to action at the end of it, you don't need to use the MUID package directly - just new_key in the microprediction package - but we won't be offended if you do. Be aware that the hash function in microprediction expects regular strings whereas MUID expects binary).

Minimum Cryptographic Difficulty

Notice that the length of the memorable part of the hash of the key is equal to the difficulty (e.g., Losable Flea = 12).  Call it you “spirit animal” if you wish. It grants privileges as follows: 

  • Make Predictions: 8
  • Publish a Data Stream: 12
  • Publish Copula Streams: 13

Furthermore, the key difficulty determines your bankruptcy level, which is a negative number.

 difficulty bankruptcy  difficulty bankruptcy
  8 -0.01 11 -256
  9 -1.0 12 -4,096
 1 0 -16.0 13 -65,536

These minimum balances are also in the package README. In the prediction network it is okay to go below these thresholds, but you won't be able to enter new streams (only continue on the ones you are good at). 

Other Ways to Mine Keys 

Here are some other ways to obtain keys.

  1. Contact us for one and explain your intended use. We realize that you are eager to create a new stream so just contact us if you don't want to wait for you 12-difficulty MUID to burn.
  2. Click this link to get a key of borderline difficulty 8. Your crawler might get lucky. 
  3. Run this bash command in terminal (MacOS and Linux).
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/microprediction/muid/master/examples/mine_from_venv.sh)"
  4. Install the MUID package and run muid.mine()
    pip install muid
    If the miner is not working, please log an issue on GitHub
  5. Try the RUST client (here
  6. Try the NODE client (here)
  7. Google search for other Memorable Unique Identifier (MUID) packages.
  8. Write your own miner, borrowing from the reference implementation (here) in Python, used at muid.org  

 

Transferring Balance from One Key to Another 

The MicroWriter, and thus also also the MicroCrawler, contain a method 

.put_balance(self,source_write_key)

which enable your crawler, or writer, to increase its balance using a secondary write key. Thus you can choose to increase your balance at any time by mining a new key. Note, however, that this won't increase your balance above zero and nor will it impact in any way any leaderboards. Leaderboard credits and balances are entirely separate. 

 

Follow the Movement