Basic Attention Token logo Basic Attention Token

BAT Funding Increase and Smart Contracts

by Basic Attention Token | May 22, 2017 | General , Token

[ Figures relating to “Updated BAT Sale Levels” may have changed. Please consult the current information.]

We are making two announcements today. The first explains a change in the BAT sale levels and the second outlines our approach to smart contracts.

Updated BAT Sale Levels

Since announcing the BAT sale, we have received tremendous support and interest. Both public and private communications have expressed genuine concern that the entire investment amount may be taken up quickly by large purchasers, leaving insufficient opportunity for smaller purchasers. We discussed this internally. Our conclusion was that by raising the cap and increasing the number of tokens, we could offer a better chance for smaller purchasers to participate.

At the same time, we analyzed what a higher cap could do for the success of the overall project. With additional proceeds from the sale of tokens, we could increase the size of the user growth pool, thus increasing the number of people who would be incentivized to partake in the new blockchain based digital ad platform. This would also allow us to hire more key engineering personnel, especially in blockchain, machine learning, and security. In addition, we plan to found and endow a non-profit trade association for attention apps, to co-develop emerging standards and smart contracts.

On the business side, additional sale proceeds would allow for focused international expansion, targeting China, India, and Japan — as well as the United States and Europe. As such, a higher cap offers greater purchaser opportunity while giving the company and token users a higher likelihood of success.

For these reasons we are making the following changes: [ Please consult the current information ]

  • We are raising the cap to $24 million from $15 million.
  • The cap for the number of tokens is moving to 1.5 billion from 1 billion.
  • The number of tokens to be sold in the token sale is increasing to 1 billion from 700 million, an increase of nearly 43%.
  • The user growth pool is increasing to 300 million tokens from 100 million tokens or 20% of all tokens, an increase of 200% in the number of user growth tokens.
  • The tokens set aside in the BAT development pool will remain at 200 million tokens, a reduction to 13% from 20%. Our next announcement will provide instructions on how to participate in the token sale.

BAT Contract Approach

The BAT smart contract emphasis is on legibility and simplicity. Inspirations for the BAT smart contract were Golem and Firstblood.

We considered a number of existing frameworks. Some are helpful in code abstraction. However, the existing frameworks often change. They also do not add to legibility, as they require familiarity with a given git checkin of a given framework. We certainly envision that when the frameworks transition into something resembling a standard library, our opinion may change.

In our approach, we also avoided modifiers. Modifiers are pleasant syntactic sugar, which improve flow for developers. However, readability is not improved if more than one is added or if a modifier with complicated conditions is included. Consequently, all BAT smart contract functions have explicit conditionals. We also tried to use SafeMath.sol wherever appropriate, something that should be part of the Solidity or any future smart contract language.

The BAT smart contract is also extremely democratic. Only one function is owned by Brave Software International, Ltd.: the one for finalizing the token sale. This is required for legal and accounting purposes.

Another democratic aspect of our contract is the use of blocknumbers instead of times to start the token sale. This will be a best effort estimate as block mining is presently 15.9s on average. We opted for blocknumbers even though they add some randomness to token sale start times. That concern was overridden by the fact that clocks can be manipulated.

Token sale participants are no doubt most interested in the contract functionality concerning the creation of tokens. This is the part of the contract with which token buyers will interact. When fundingStartBlock is reached, participants can send ETH to the CreateTokens function in the contract and it credits freshly minted BAT. The exchange rate should not be considered final until the contract is pushed to Ethereum 3 days before the crowdsale start. It will be published along with the address and a finalized set of terms and conditions. We do this because of the volatility in ETH, and we want to provide as accurate an exchange rate as possible.

The creation of the pool of BAT to fund user growth and for BAT development happens before the token sale. The sequence was set for legal and accounting reasons. The BAT development pool will use a six-month lockup smart contract. The user growth pool will remain unlocked, and will be used to fuel the growth of the BAT ecosystem.

The BAT smart contract has been subject to several audits and reviews, including those conducted by Zepplin, Dapphub, and Will Warren from 0x.

In the event we do not sell our lower limit of funding within the 30 day limit, then participants will be given the opportunity to get a refund for their BAT. Brave will be unable to withdraw any ETH in this case.

All of our token sale material can be found here: https://github.com/brave-intl/basic-attention-token-crowdsale/