A computer network built around the Boid smart contracts. Boid Smart contracts will run on EOS mainnet but might eventually be deployed as the basis for a new EOSIO blockchain or sidechain.
Each device is registered on chain and associated with a Boid account. The device has some secure method of identification which allows it to prove it has made valid contributions to the network and Validators to associate contributions with specific devices. Each Boid Device stores a Boid Power rating.
A Boid account exists on the blockchain and associates devices together with some user authentication authority such as an EOS account or oauth. A Boid account stores user metadata such as the user team and profile information. The Boid account also stores a Boid Power rating which is an aggregate of the power of associated devices. If the account does not have an associated EOS account, BOID earned from mining contributions will collect inside the account virtual wallet until withdrawn.
A user is the human that operates a Boid account. Users interact with the Boid interfaces, make decisions about which team incentives to pursue, register devices to their account, and optionally register as a DAC member to participate in Boidnet governance.
Each Boid account is associated with a team. A team aggregates Boid Power from all team members and receives tokens from the portion of inflation rewards set aside for teams according to the relative performance of the team vs other teams. A built in mechanism enables generated tokens to be returned to Boid team members in the form of team bonus rewards and collected by the team leader as an administrative fee.
Boid Power is an aggregate metric used to grade the contributions of each device on Boidnet. The specifics of how Boid Power is calculated will change over time as additional protocols are added to client and Validator nodes.
Work Unit (WU)
A computational task distributed by BOINC servers to be processed in the embedded BOINC client inside the Boid app. Completed WUs are returned to the BOINC server and the results are validated by the server by comparing the results with other returned results. Each validated WU is awarded credits on the BOINC server, and these credits can eventually be translated to Boid Power for the device that completed the work.
A POW Mining pool distributes block information to POW clients that try to find a valid hash to create a new block. Clients return shares to the pool to prove they are performing useful work to find the block and the POW pool tracks and validates shares returned on a per client basis. This share data can be used to generate Boid Power. Additional bonus rewards can also be distributed when a block is found.
The primary unit of account on the Boid Network. BOID tokens act as a tool for governance and consensus of the platform and impact the profitability of generated Boid Power. Additionally, BOID are required for running Validator nodes, teams, initiating WPS proposals, and submitting work-units for processing on the network. As the Boidnet grows the BOID token utility functions will expand.
When tokens are staked they are unable to be transfered. Staking is necessary to participate in governance. Staking/Unstaking is only available during the time in between seasons. Staking also generates additional BOID tokens when the stake is powered by generating Boid Power. Unpowered BOID staking profits go into a public funding pool (WPS).
There is a maximum number of BOID tokens that an account can effectively stake which is determined by the Boid Power on that account. Voting power and profits generated from staking can only be realized when the stake is powered. Excess staking rewards generated by unpowered stake accumulates directly in the WPS pool. Users can voluntarily overstake to help fund the WPS pool.
Worker Proposal System (WPS)
A formalized on-chain system where DAC Members can submit worker proposals which are funded by a collective community fund. A proposal describes some work to be done or service to be paid for as well as the cost associated with that proposal milestones and timeframe. All Boid DAC Members can vote for proposals and then custodians can finalize the activation and funding of the proposal milestones. Voting weight of a user on a proposal in the WPS is partially impacted by how much user has contributed into the pool.
Validators are users who run hardware with the Boid Node software to provide infrastructure support to run the Boid Network. In addition to running servers and API endpoints, Validators are responsible for reporting device contribution information to the blockchain. Data contributions from all Validator nodes are assessed by a smart contract and consensus is achieved initially based on a simple BFT algorithm. As the Validator program leaves the alpha stage, anyone will be able to run a node and a more resilient consensus algorithm will be implemented. Validators are rewarded for reporting information that eventually contributes to valid consensus.
Boid DAC Members
DAC membership is available to anyone who maintains a minimum BOID stake and registers their acceptance of the terms of Boid network governance. As a member you can primarily vote to elect delegates as well as propose tasks for the worker proposal system. Voting will initially be weighted based on the powered stake an account controls. Eventually quadratic voting will be implemented with a basic user identification system to help prevent sybil attacks.
Boid DAC Custodians
Boid DAC Custodians can vote to enact consensus changes to how Boidnet operates such as the integration of additional protocols and the difficulty rules, inflation rate etc. Custodians are strongly identified and are trusted to make decisions in the best interest of the community. They are elected by Boid DAC members primarily but it would be interesting to have other selection methods as well. They are required to hold a large very large BOID stake. Custodians can set their own wage which is paid from the WPS fund. Many custodians will also operate Validators or be a team leader as well.
Approximately 1.25B BOID tokens were airdropped in 2018 and around 400M have been distributed in the first year through mining and promotions. The vast majority of these post-airdrop tokens were distributed to end users who contribute computing resources. This represents an inflation rate of around 35%. While this rate of inflation is suitable for rewarding early adopters, it fails to reward user contributions other than direct computing resources. Additionally, a lack of incentives for users to run Validator nodes and teams prevents the network from growing to a decentralized network. Team leaders should feel like the time spent managing their team has a material benefit to them as well as the brand their team represents. Boid Validators will need to operate high-uptime servers which are critical for the scaling of the network.
For year two, the plan is to mint BOID tokens at a rate of around 1M BOID per day, which would bring the inflation rate to 20%. Additionally, instead of all tokens going to users, the tokens would be split between four major segments.
Mining rewards earned by users for contributing their computing resources to the network as determined by user generated Boid Power.
An additional payout on top of the power profit which takes into account staked BOID tokens and total Boid Power (PoweredStake vs UnpoweredStake).
Validators receive a daily payout based on their contribution of data to the blockchain and relative stake vs other Validators. Validators are only rewarded for the contribution of data which reaches majority consensus.
Team leaders receive a daily payout based on team accumulated Boid Power as well as the team PoweredStake. Some payout may be withheld for distribution at the end of a season based on the final leaderboard position for that season. Team leaders can opt for the team rewards to automatically be distributed toward users who contribute towards their team in the form of a team bonus.
How these segments are divided up should evolve over time and is to be adjusted through governance and automated algorithms.
Variables & Formulas
Work Unit Variables
After work units are validated by the BOINC server they are assigned a credit number, which is an internal points system of BOINC, and can be calibrated on a per project basis. BOINC Credit is important because BoidPower for that WU is derived from the Credit.
Each Work Unit is assigned a normalized float from 0 - 1 called the Weight based on the relative time that work unit was verified. For example, a Work unit which was recently completed would be assigned a weight of .9999 while a work unit that was completed three weeks ago, or near the end of the global falloff period would have a Weight near .001. Each time BoidPower needs to be calculated, the Weight is also recalculated until it reaches 0.
BoidPower for a work-unit is calculated as Credit x Weight / BOINCDIFFICULTY. Since Weight is time-relative, each time BoidPower is calculated, the result will be slightly different (lower over time). For a device to maintain or increase BoidPower, it should be completing Work Units regularly. If a device stops all contributions, It will maintain residual BoidPower for the falloff period as it trails to zero.
BoidPower for a user is equal to the cumulative BoidPower of the user owned devices. BoidPower generates tokens for the user. Ex: If user Boid Power is 10,000 and the global POWERDIFFICULTY is 40 then the daily Power Profit for this user would be 250 BOID
Users only receive staking rewards for the powered stake they maintain. Any staked BOID that exceeds the user PoweredStakeMax does not contribute to the user stake profits. Stake profit from unpowered stake is diverted to the public WPS funding pool. Defined as User BoidPower x STAKEPOWER Ex: If global STAKEPOWER is 100 and an individual user has 10,000 BoidPower they have a PoweredStakeMax of 1,000,000.
User PoweredStake is the BOID stake of the account, with a maximum value of PoweredStakeMax. PoweredStake needs to be recalculated each time BoidPower changes. Daily stake profit for accounts is calculated as PoweredStake / STAKEDIFFICULTY
User UnpoweredStake is the BOID stake of the account which exceeds PoweredStakeMax. UnpoweredStake needs to be recalculated each time BoidPower changes.
Global variables are intended to be adjusted over time through governance and automation. Adjusting these global variables is critical to ensure the target inflation rate is maintained.
This variable should be set once per year to drive the economic policy for that year. The value is the targeted number of BOID tokens to be minted each day.
Defines the relationship between Boid Power and BOID stake. Increasing this number makes it profitable for users to stake larger amounts of BOID for a given amount of BoidPower. Decreasing this value decreases the PoweredStakeMax for users, which has the result of diverting the profits from any overstake into the DAC Worker Fund.
Defines the profitability of generated Boid Power. Daily power profit for accounts is calculated as BoidPower/POWERDIFFICULTY. Should be adjusted during season breaks.
Defines the profitability of staked BOID tokens. Daily stake profit for accounts is calculated at PoweredStake/POWERDIFFICULTY. Should be adjusted during season breaks.
The timeframe that BOINC Work Units are eligible to contribute Boid Power towards a device.
The timeframe that RVN Shares are eligible to contribute Boid Power towards a device.
The percentage of DAILYMINTTARGET set aside for rewarding Boid Power of users/devices.
The percentage of DAILYMINTTARGET set aside for rewarding staked (powered/unpowered) BOID.
The percentage of DAILYMINTTARGET set aside for Boid teams.
The percentage of DAILYMINTTARGET set aside for Boid Validators.
The number of active Validators that can contribute towards consensus. More Validators improves security and redundancy but too many Validators reduces Validator profitability and slows down consensus.
For a Validator to be considered, the owner of the node must have a minimum stake equal or greater than this. In the future this may be PoweredStake instead of normal BOID stake.
Mint Distribution Explanations
Power & Stake
Validators (Nodes) require a minimum stake to be considered as a Validator. Additionally, there is a cap on the number of Validators that can actively contribute to consensus. Both of these global variables can be adjusted over time. Each Validator receives a Base Reward, which is half of the Node Rewards pool split evenly. Each Validator also receives a Stake Weighted payout, which splits half of the reward pool proportionally according to the stake of each Node relative to all BOID staked by Validators. Future revisions of the consensus protocol will reward Validators based on objective performance metrics and team association as well. Validators are normal Boid accounts, so the profits they earn from the Validator Rewards Pool stacks with the normal Stake/Power payouts. All Validators confirm all network contributions, and contribution with 2/3rds consensus becomes validated. Sharding of consensus in the future could enable less proportional redundancy for improved performance.
Teams generate a static Base reward as well as rewards relative to their performance vs other teams. 1/4th of the global Team Mint Distribution goes to the Base reward, split evenly among all teams (there could eventually be a cutoff for the top 50 teams for example). 1/4th is distributed proportionally according to the team relative powered stake. 1/4th is distributed proportionally according to the team relative power (however I think this should be based on rank instead). The remaining 1/4th is collected into an end of season prize pool which would be rewarded to the top performing teams based on their final end of season ranking. The team leader can dictate how the income of the team is divided. I have provided some categories here as an example. Team leaders will announce their team economics during the season break, and will be locked in for the duration of the season. This gives team leaders the flexibility to experiment with different types of incentives each season to find a good fit for their community. This system supplements and extends the existing team promotion system. This system is an upgrade/replacement for the existing “Team Bonus” payout that users currently receive.
Worker Proposal System
These are some examples and ideas of the types of projects the Boid WPS could help fund. If anyone from the community has the ability to take the lead on these ideas, we encourage you to share implementation details with the community and prepare an official proposal when the WPS system goes live later this year. The WPS fund is designed to help launch concepts but can not always be relied on for the continuous funding of live features. For that reason, I have included a basic monetization idea for each feature which would fund the long-term maintenance of the feature and help to make it self-sustaining.
Ongoing documentation, writing and marketing support
Help to write and translate documentation and marketing content about Boid.
Ongoing Development support
Propose your development ideas and hourly wage as a developer to make contributions to core Boid system smart contracts, interface, and backend code.
An easy platform for Dapp developers to share their tokens with an active community for marketing purposes. A simple interface/smart contract could allow a Dapp developer to input a certain number of their Dapp tokens to be airdropped on Boid users who meet a certain threshold. Dapp developers could set the threshold as a certain amount of power and some user action such as joining the dapp telegram chat, posting a twitter post etc. The system would automatically track user eligibility and distribute tokens. Dapp developers would pay a fee for the use of this system.
Boid Immutability as a service
EOS Smart contracts are either easily upgradeable or immutable. For most projects, It’s important to find some balance where contracts are upgradeable for important security fixes and upgrades, but not so easy to upgrade that malicious or accidental abuse destroys the utility and trust/security of the smart contracts. As a solution, Dapp developers could harness the Boid DAC custodians and Validators as a contract upgrade authority. For example, they could require a large percentage of Boid Power to be used to unlock a contract permissions, making the contract upgradeable. Because Boid Power requires electricity to generate, This makes it expensive and difficult for a malicious actor to gain control over the upgrade authority or be upgraded on a whim by a malicious developer. Dapp developers could pay a monthly fee for the Boid community to provide Immutability services towards their contracts, giving their users peace of mind when interacting with the contracts.
Boid Oracle service
Boid Validators already function as specialized oracles, taking data from outside the blockchain and coming to some consensus on that data on the blockchain. This functionality could be extended to provide data feeds of other important data. The oracle data provided by Validators could be backed by PoweredStake, making it expensive and difficult for false data to be provided in the oracle feed. Smart contracts that access the on-chain data would pay a fee each time they make a query for updated data.
Boid NFT Market
Enable Boid team leaders to easily issue unique team specific NFT medals and collectibles. Additionally, special medals could be earned or randomly embedded in work units or POW shares. Some NFT tokens would be expendable, and give the user some temporary advantage on the leaderboards or cosmetic account upgrade. Team leaders could pay a fee to issue NFT medals and this fee would go towards artists and developers who build the unique artwork and deploy the smart contracts.
Boid Season Pass
A special NFT that users could purchase using EOS or stablecoins (give a discount for users based on their powered stake) during the season break. The Season Pass would enable them to access a special tier of rewards during the season that normal accounts could not access. Season pass would be locked to the user account during the season, but transferable after season end. The pass would be powered up by the user who owned it, so a user who was able to stay in tier 5 for the entire season would upgrade that specific season pass to a tier 5 pass permanently. After the season ends, users could purchase a new pass for the next season. Users could trade and collect passes from previous seasons they might have missed for a very special end-of-year prize pool exclusive for the holders of a complete set of passes. Some transaction fees built into the trading of the passes could fund the development of the artwork and smart contracts required.
While all users on Boid earn BOID tokens today, it’s always been the intention for users to be able to earn profits in other types of cryptocurrencies as well. The primary barrier to making this happen is the provision of robust APIs that allow users to mine and earn one currency while redeeming profits in another. Work is being done on non-custodial cross-chain token swaps such as ILP should enable this to happen in the future. This feature could be funded by transaction fees paid when one currency is converted to another.
Boid Game Center
Imagine if Boid Power was a resource in a settlers of catan style online board game where you gather resources, capture land and trade. Imagine something like FTL where your ship hyperdrive is powered by Boid Power. An Idle clicker game similar to Adventure Capitalist that acts as an ongoing visualization of your progress on the Boid leaderboards. A “Boid Monsters” game where you can grow evolve, and battle randomly generated creatures which are embedded in Work Units that your device completes.
Boid UI Expansion
Currently the Boid UI is designed to be simple and accessible for a general audience. An advanced mode, that displays more detailed metrics and gives users more fine tuned controls could be implemented. More detailed metrics would require a higher performance API server for more advanced queries. Individuals could help fund the more advanced UI through a small subscription fee that comes from Boid mining profits.
A platform where individuals and organizations can upload compute work units of various types to be run on the Boid network. Initially this service will require manual onboarding by the Boid core team or custodians to convert computing projects to run on Boidnet. All applications must go through some manual auditing service to verify the authenticity/purpose of the compute job. Purchasers of compute resources need to stake BOID for the duration of their computing project as well as pay funds in the form of BOID tokens. 50% of paid funds will go into WPS and the remaining is automatically recycled. Additionally any EOS token can be attached to each Work-unit to incentivize higher priority by Boid client devices.The Boid Swarm platform is in an early testing phase right now, but community members could make headway on many elements of the platform that are not yet implemented.
Similar in some ways to BAT except a much easier onboarding experience. Websites can offer users VIP access in exchange for a small cut of the user BOID mining profits. Users can have an ad-free experience while still supporting the sites they visit and without ever opening up their wallet. Could evolve into a patreon-like platform where anyone could setup a custom BoidWeb page and offer rewards to users for contributing their mining profits. Could automatically contribute funds to YT channel creators as you watch their videos for example.
Integrated into the Boid app, a cross between automated backup solutions such as Backblaze and Dropbox. Users can stake BOID for long term data backup and storage which is encrypted locally and spread across all Boid client machines. Users can also pay a fee, which automatically comes from mining profits, to get low-latency data syncing service similar to Dropbox. Low-latency service would be primarily served by Validators for improved responsiveness and reliability. Validators could collect the fees for the low-latency service, while Boid Power could be used to reward Boid users who provide HDD space for the long-term backup solution.