Gnosis Token Crowd Sourced Wisdom
Platform, or “app,” tokens in decentralized networks can be distributed in a variety of ways. In the Bitcoin and altcoin model these tokens are distributed gradually via a proof of work or proof of stake mechanism. There are variations within these mechanisms which are primarily dependent on the supply curve. This curve determines the rate of dispersion of the total coin supply. Over the last two years, an informal standard for the token purchase mechanism has emerged. In this mechanism, cryptocurrency is sent to an address in exchange for some amount of app tokens. These launches typically run for approximately a thirty day period. The rate of conversion between the sent cryptocurrency and the received app tokens decreases over this thirty day period (i.e. fewer tokens per unit of cryptocurrency). For example, the rate during the first two weeks may remain at 1 ETH for 200 Tokens and then decrease linearly to 1.5 ETH for 200 Tokens and below over the open period. The amount of tokens created is often wholly dependent on the amount of cryptocurrency sent in. If the rate is 1 ETH for 200 tokens and 1M ETH is sent, 200M tokens will be created. This model causes friction for purchasers in that they are compelled to purchase app tokens earlier than they feel is justified for fear of price increases. The uncertainty in token creation may also potentially lessen the utility of the app tokens themselves.
In the Gnosis launch, 10 million Gnosis tokens (GNO) will be created and a percentage of them will be distributed through the token launch. The launch period will end when either of the following ending criterion is met: 1.5M ETH worth of GNO is sold, or 9 million GNO tokens are sold. During the launch, participants will be able to send Ether to a token launch address, committing to buy GNO at or below the current price at the time of their purchase. The price of GNO will be determined by a falling, as compared to the current trend of rising, price specification. The price of GNO will decrease every block that elapses during the launch. The price per GNO sold in the final block, when either ending criterion is satisfied, is the price that will be applied to all preceding sales during the launch period. Therefore, token launch participants are committing to a maximum price per Gnosis token and will receive tokens at this rate or lower.
Example user experience
For example, Gnosis creates 10M tokens and begins the token launch. Alice sends 1 ETH to the token launch address while the rate is at 1 GNO for 1 ETH. The token launch process continues, with the price per GNO lowering each block. 1.5M ETH worth of GNO is sold on the 7th day of the launch. On the ending block, tokens were sold at a rate of 1 GNO for 0.5 ETH. The token launch concludes, and every participant gets tokens equal to the amount of Ether that they sent, at the rate of 1 GNO for 0.5 ETH (the price when the ending criterion triggered). Alice, who contributed 1 ETH on day one, would therefore receive 2 GNO, applying the final sale price to her 1 ETH purchase. Again, participants declare the maximum price they are willing to pay for GNO, but ultimately receive the lowest price that any purchaser pays for GNO as the final sale price is applied to all purchasers.
Gnosis Prediction Market Introduction
Economic theory dictates that purchasers should participate only when GNO tokens reach a price they feel is representative of their utility in the Gnosis ecosystem. Tokens will sell for a very high price on the initial blocks, representing high demand for the product. If a buyer believes the price is fair, economic theory would encourage participation. If not, economic theory dictates buyers should wait until GNO reaches a price they feel is warranted by GNO’s functionality in the platform. It is important to emphasize that our token launch model is significantly different from previous models. Participating early provides no special benefits.
Origin of this mechanism
Alex van de Sande, seeking out a model that better enabled participation and eliminated some of the aforementioned friction created by existing mechanisms, originally proposed this auction mechanism. We agreed with his suggestion and following the initial idea, we worked with Alex and Vitalik Buterin, who also supported this design, to create the mechanism that we have now settled on.
Stefan George, technical co-founder of Gnosis has released our smart contract source code along with the code for our token launch mechanisms.
Additionally, his multisig wallet, recently used by Golem, is also available for review.
Here are links to the code:
THE HUNCH GAME
The Hunch Game is a gamified prediction market for celebrity and media gossip. It is our first foray into building apps on top of Gnosis. Hunch Game provides an example of a customized application built on Gnosis, and highlights the need for such interfaces. Although celebrity gossip is outside of our interest comfort zone, we feel that it is incredibly important to understand and cater to the needs of users outside of the crypto space. The Hunch Game is nearly ready and can be launched in the first half of 2017 as an example Gnosis app.
predART is an early stage idea to create prediction markets for pre-auction art valuation. We have received insights that such an application would be very useful for auction houses. These houses can save billions of dollars with prediction market insights into variables such as where to begin auction pricing, and how much profit to guarantee to sellers. We are excited to see and support a vast array of information gathering applications for industries.
How to Gnosis
quick guide on using the test (real ether) markets at admin.gnosis.pm
The guys at Gnosis have created two new markets for us to play with in the lead up to their highly anticipated token launch. Given the Gnosis Dapp is still a very raw beta product, I thought I’d quick up a quite review on how it works.
Step 1: Have a web3 browser!
There are several options for web3 capable browsers on the main net; MIST, Parity, and Metamask are the three that immediately spring to mind. (I would normally add Status.im to that list, but they aren’t on main net just yet).
For this example I’m using Metamask, just because it’s the most accessible for anyone who hasn’t touched ethereum before. It’s pretty self explanatory to set up, but if you would like someone to walk you through it, check out this guide first.
Step 2: Head over to the Gnosis beta Dapp at admin.gnosis.pm.
Step 3: Deposit ether.
Plug in how much ether you would like to deposit. Remember, no more than
you are willing to lose as is this an experimental Dapp still in Beta.
If everything looks right, accept the Metamask confirmation.
As soon as your transaction is confirmed, you’ll be able to buy shares in markets.
Step 4: Pick your market.
Head back to the market list and pick a market.
Step 5: Buy shares in the position you think is correct.
Hit the buy shares button.
Choose the number of shares you would like to buy and in which outcome. Choose whether or not to pre-approve the contract for future transaction (this is to cut down on the number of transactions for frequent traders). Since this is a once off transaction, I’ve left it toggled to “No”. Then hit confirm. Confirm that you really want to buy shares in the market. Again, if everything looks good, approve the Metamask transaction and wait for your transaction to confirm on the network.
Congratulations! Now you have shares in a market on Gnosis! Woo! As demand for different positions changes so too will the price, and when the market resolves ether will be paid out to addresses relative to the shares they hold in that particular position.
From here you can have a play with some of the other features like selling your shares, buying positions in all of the outcomes, and short selling shares.
Disclaimer: This is absolutely not investment advice. The Gnosis beta is an experimental Dapp and it is highly likely that you will lose anything you put into it, so please treat it as such.
This is a main network test with a rudimentary interface. There may be bugs. Markets will be funded with small amounts and there will not be much liquidity because of this. Please act accordingly and do not risk much funds.
Gnosis Bug Bounty Round II $50k bounty for severe bugs
Welcome again bounty hunters!
Following our first bug bounty we are starting the next round of our bug bounty program for all contracts and software relevant for our upcoming token launch. Read more about our token launch mechanics here.
Major bugs will be rewarded with up to $5,000. Much higher rewards are possible (up to $50,000) in the case of very severe vulnerabilities. All rewards are paid in GNO tokens after the auction ends.
- $500: For any spec. bug in this document.
- $5,000: Any bugs leading to a redeploy of our auction
- $20,000 reward for bugs allowing trusted parties to “steal” funds Example: A multisig owner can move funds above the daily limit without multisig.
- $50,000 reward for bugs allowing non-trusted 3rd parties to steal funds Example: An unauthorized third party can move funds out of the multisig.
Most of the rules on https://bounty.ethereum.org apply. For example: First come, first serve. Issues that have already been submitted by another user or are already known (such as these) to the team are not eligible for bounty rewards.
A brief introduction to the Dutch auction contract
Before the auction starts:
- The dutch auction starts at a very high price per GNO token. The price decreases with every block: gnoPrice = priceFactor * 1 ether / (block.number — startBlock + 7,500) + 1 In code: https://github.com/ConsenSys/gnosis-contracts/blob/security_audit/contracts/solidity/DO/DutchAuction.sol#L222
- The priceFactor will be selected by the Gnosis team shortly before the auction starts. The priceFactor is chosen, such that the start price for one GNO will be $30 at the time the auction starts.
- The maximum receivable amount (ceiling) is ETH valued $12.5M.
- The amount in ETH will be set shortly before the auction starts using the changeSettings function.
- After the auction starts, the ceiling as well as the priceFactor cannot be changed.
- The auction is triggered by a transaction from the Gnosis multisig wallet to the dutch auction contract function startAuction.
During the auction:
- Bids are accepted via the bid function until ceiling or the stop price is reached (gnoPrice <= stopPrice).
- The stop price is based on the following formula: stopPrice = totalReceived / 9,000,000 + 1 In code: https://github.com/ConsenSys/gnosis-contracts/blob/security_audit/contracts/solidity/DO/DutchAuction.sol#L212
- The stop price guarantees that the Gnosis team retains at least 10% of all tokens.
- The bid function allows to bid on behalf of another user (the receiver). This is required for a ShapeShift integration allowing users to directly buy GNO with any supported currency.
- If a bid exceeds the ceiling, the maximum amount will be bid and the difference will be returned (to the receiver).
After the auction:
- After the auction is ended, there is a one week waiting period.
- After the one week waiting period everyone can claim their tokens with the claimTokens function and trading can start.
Scope of Gnosis Bug Bounty Program
The contracts are deployed on the mainnet:
- DutchAuction.sol: 0x01be2862387d46ef9a7c2145ee74961d62aa4154
- GnosisToken.sol: 0xef37e3a452fd3041144c04d993aa0b498a106ac4
- MultiSigWalletWithDailyLimit.sol: 0x0c9a023dc047bc3140ece933dd285c50379a9d4a
Contracts are compiled with Solidity version 0.4.4. The solidity compiler should compile to the same bytecode on every system. Please follow the instructions in the readme to deploy contracts and produce the same bytecode: https://github.com/ConsenSys/gnosis-contracts/tree/security_audit#install
Use the tokenAuction.json file as input for the deploy script: python deploy.py -f deploy/tokenAuction.json
Out of scope:
- Bugs related to Internet Explorer
- All browser rendering bugs that don’t affect the display of critical information such as ETH, GNO
- Most user experience improvements on the frontend
- https://github.com/ConsenSys/gnosis-contracts code that is outside the scope defined above
Examples of what’s in scope
- Being able to obtain more tokens (GNO) than expected
- Being able to obtain GNO from someone without their permission
- Bugs in eth-lightwallet that lead to loss or theft of ETH
- Bugs causing a transaction to be sent that was different from what a user confirmed: for example, a user transfers 10 GNO in the UI, but exactly 10 wasn’t transferred.
Examples of what’s out of scope
- Most user experience improvements on the frontend, for example, some part of the website doesn’t update unless the page is refreshed
The bug bounty ends on the day GNO becomes tradable, one week after the auction is over. However, the bounty program is still open for submissions regarding eth-lightwallet that have not been identified and fixed in newer versions of eth-lightwallet.
Responsible Disclosure Policy
If you comply with the policies below when reporting a security issue to us, we will not initiate a lawsuit or law enforcement investigation against you in response to your report.
We ask that:
- You give us reasonable time to investigate and mitigate any issue you report before making public any information about the report or sharing such information with others.
- You make a good faith effort to avoid privacy violations and disruptions to others, including (but not limited to) destruction of data and interruption or degradation of our services.
- You do not exploit a security issue you discover for any reason. (This includes demonstrating additional risk, such as attempted compromise of sensitive company data or probing for additional issues.)
- You do not violate any other applicable laws or regulations.
Email your submissions to: [email protected]
Don’t forget to include your BTC or ETH address so you can be rewarded (If more than one address is specified, only one will be used at the discretion of the bounty program administrators).
Anonymous submissions welcome.
For questions use the forum: https://forum.gnosis.pm/
How to Buy tokens with Gnosis LightWallet
First, you will be asked to generate a new account or to restore an old one.
Click on generate and start moving your mouse to generate entropy. You will get a seed phrase, please save it! Protect your new account with a password, and finally click on Create wallet. At the end of the process you will need to download your wallet or send it by email (recommended).
These are steps to ensure that your wallet is properly saved. After that, you will be asked to restore your wallet, you can use your pass phrase or the wallet backup file as well.
Great! You have finally created your wallet and can join the auction. Below is an overview of your account.
In order to buy tokens, please go to Buy tokens section, place the ETH amount and click on Buy button. You will be asked to confirm your action by typing your password. Remember that a small portion of the amount is used by Ethereum as Gas. The Buy tokens section lists your total committed ETH and your total GNO tokens you will receive at the current price. The number of GNO tokens will go up until the auction is over. When the auction is over GNO tokens can be claimed and will show up in the GNO balance of your Ethereum wallet.
Click on Transaction history to view a list of your sent transactions.
Software Engineer at Gnosis.pm
Gnosis Twitter Bot
In order to make prediction markets accessible and easy to use for everybody, Gnosis has placed its focus on building a platform and ecosystem of applications. We believe that because prediction markets can be used for such a wide variety of applications, in diverse locations, it’s important for each type of application to have its own interface and business strategy. We have built a Twitter bot, which interacts with Gnosis, allowing anyone on Twitter to participate in Gnosis markets via tweet and uPort.
Every 3 hours the Gnosis Twitter Bottweets the outcome prices of selected markets.
Users can reply to the tweet with their predictions using the following message:
1. “Lower 1 ETH”. Bet 1 ETH on NO Outcome.
2. “Higher 1 ETH”. Bet 1 ETH on YES Outcome.
The Twitter Bot replies showing how the outcome probability will change and with a QR code you can scan with Uport to perform the transaction.
Before using the bot you need to configure your Uport account with a few steps, detailed in the video below:
1. If you don’t have a Uport account, go to https://www.uport.me/signup to sign up for the Uport alpha.
2. Fill your Uport account with testnet Ether.
Got to uport app — settings — Developer tools — Request 1 ETH from faucet
3. Go to https://twitterbot.gnosis.pmand click on the first QR code “Configure Uport”, accept the transaction and wait.
4. Once the transaction is mined, go back to the page and click the second QR code “Deposit 1 ETH”, sign the transaction and wait.
5. Now you have configured your Uport account to use Gnosis and deposited 1 ETH in tokens. You are ready to trade.
6. Go to Twitterhttps://twitter.com/BotGnosis and reply to one of the tweets, such as,
7. The bot will reply with a QR code and a link.
8. Click the link, or scan the QR code to sign the transaction and wait until it is mined.
9. Once the transaction is mined you can check your shares in the uport.gnosis.pm link of the original tweet.
10. In the management interface you can sell your shares or redeem your winnings when the outcome is set.
Thanks to Martin Köppelmann.
It’s finally time! The Gnosis token sale is beginning tomorrow, April 24th, at 1pm EST.
Generally speaking, participation in the sale involves sending Ether to the token sale contract, and then receiving GNO tokens back within one week of sale conclusion.
Here are guides for several participation options:
Gnosis LightWallet (Default recommended option, can be funded with any Ether source including Shapeshift)
Kraken (Participate directly from Kraken and have tokens credited to your account)
MyEtherWallet (Light wallet commonly used for other token sales)
Ethereum-Wallet / Mist (Full node Ethereum wallet maintained by the Ethereum Foundation)
Parity (Alternative full node wallet with technical features)
imToken (中文, Mobile wallet targeting the Chinese market)
We are also available on Slack for additional questions.
We’re looking forward to taking the next leap in the Gnosis project tomorrow!
The Gnosis Team
IMPORTANT INFORMATION GNO tokens are functional utility tokens within the Gnosis platform. GNO tokens are not securities. GNO tokens are non-refundable. GNO tokens are not for speculative investment. No promises of future performance or value are or will be made with respect to GNO, including no promise of inherent value, no promise of continuing payments, and no guarantee that GNO will hold any particular value. GNO tokens are not participation in the Company and GNO tokens hold no rights in said company. GNO tokens are sold as a functional good and all proceeds received by Company may be spent freely by Company absent any conditions. GNO tokens are intended for experts in dealing with cryptographic tokens and blockchain-based software systems.