Worker Proposal is Active
Stay tuned: we're working on the website!
BitShares is a decentralized exchange (DEX) built on top of delegated proof-of-stake (DPoS) blockchain technology. With all financial technology in the blockchain space, a major concern for users and traders is security.
If someone found a critical bug in the DEX, they might be tempted to exploit the bug, and attempt to steal funds from unsuspecting users. Without a public bug bounty system, hackers do not have an obvious path of disclosure for reporting their findings. They also do not have any incentive to share their exploits and techniques, rather than using them for personal gain.
With this proposal, we’d like to start a BitShares bug bounty program for security researchers and penetration testers (...aka hackers!) to disclose important security vulnerabilities they find within the BitShares core protocol, reference wallet, and related code repositories.
The proposal will use allocated funds to reward those that step forward with exploits, relative to the overall risk assessment of the exploit. The higher the payout for critical bugs, the more incentive there will be to attract higher quality researchers, and ultimately providing better security coverage for the DEX.
Funds will also be used to build and maintain a basic public website for reporting vulnerabilities. The website will include all the information needed for researchers to report a vulnerability, as well as an archive of bounty reports and a leaderboard to encourage a little friendly hacker competition. It will also lay the groundwork for future HackTheDEX worker proposals to improve the security and safety of BitShares as a whole.
Worker proposal funds will be held in an escrow account and unused funds will be refunded back to the network at the end of the proposal period.
- Public disclosure of a vulnerability makes it ineligible for a bounty
- Issues that have already been submitted by another user or are already known to repository maintainers are not eligible for bounty rewards
- Members of any audit panel, and anyone involved with HackTheDEX.io, are not eligible to win bounty rewards
- BitShares marketing websites and 3rd party websites/gateways are NOT part of the bounty program
- A number of variables contribute to determining if a disclosed vulnerability is eligible for a reward. How the vulnerability is scored, and the methods used to determine the score, are at the sole discretion of the panel chosen to audit the report
When a vulnerability is disclosed, care must be taken to minimize public disclosure until the issue can be verified by key developers and a bug fix can be released.
Auditors that take the time to perform a thorough review of the vulnerability and/or write code to fix the bug will also be compensated appropriately. Sometimes, but not always, an auditor may need to work with the researcher(s) to come up with a solution to lock down the vulnerability.
For transparency, each awarded bounty will include a public report along with which auditors were involved.
Audit Panel Selection
When a vulnerability is reported, the panel will be selected from available appropriately experienced and trusted contributors within the respective BitShares development community. The primary points of contact below will be asked to coordinate appropriately experienced and active developers to audit the report and resolve all issues as quickly and safely as possible.
Rewards paid out will vary based on severity (using the OWASP method).
|Overall Risk Severity|
Rewards will be paid out in bitUSD based on available worker proposal funds. The audit panel will use the following values as a guideline to decide an appropriate reward:
- Critical: up to 25,000 bitUSD
- High: up to 10,000 bitUSD
- Medium: up to 5,000 bitUSD
- Low: up to 1,000 bitUSD
- Note: up to 100 bitUSD
Researchers who have been awarded bounties will also be listed on the hackthedex.io leaderboard.
To qualify for higher rewards, the submission should include everything the auditing panel would need to reproduce and verify the vulnerability. The submission should also be well-prepared and of high quality so that it can be shared with the community as part of our transparency process.
Security vulnerability bounties apply to the following source code repositories, with some exceptions:
- Graphene vulnerabilities
- Validations of blocks, transactions and messages
- Transaction execution
- Message calls
An example of a potential issue in this category is Bitcoin’s “zero-day” flaw, which required a hard-fork.
- Finney attacks
- Sybil attacks
- Replay attacks
- Transaction / messages malleability
- (global) DoS
Here is an example from bitcoin of a global network based DoS scenario.
Attacks on witness or public API nodes
- DoS / resource abuse
- Account / wallet address gathering/probing
- Broadcast / withhold attacks
Client application security
This category addresses more classical security issues:
- Data type overflow / wrap around, e.g. integer overflow
- Concurrency, e.g. synchronization, state, races
- Severe issues related to external libraries used
Here is an example of a problem hidden in an external library.
Funds will be held within an escrow account managed by the BitShares Blockchain Foundation. At the end of the proposal period, any excess funds will be returned to the BitShares reserve pool.
- Total Budget: 250,000 bitUSD
Refundable reserve via a BitShares Foundation Budget Worker
- Bounty Rewards (bitUSD)
Based on OWASP severity scale and audit panel final review
- 150 bitUSD/hour
Audit panel member compensation (more info)
- 1000 bitUSD/month
HackTheDEX.io Website/Services, Coordination, Reports
- 5% Escrow Disbersement Fee
BitShares Blockchain Foundation Escrow Services
- Proposal Period: 6 months
The bug bounty program is an experimental and discretionary rewards program for our active community to encourage and reward those who are helping to improve the platform. It is not a competition. You should know that the voters may cancel the worker proposal at any time, and rewards are at the sole discretion of the auditing panel. In addition, we are not able to issue rewards to individuals who are on sanctions lists or who are in countries on sanctions lists (e.g. North Korea, Iran, etc). You are responsible for all taxes. All rewards are subject to applicable law. Finally, your testing must not violate any law or compromise any data that is not yours.