Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The Bitmark Project
- Block Chain Parameters
Goals of The Bitmark Project
Project Bitmark is a multi faceted project which aims to provide:
- A relatively stable cryptographic currency network which balances the requirements of all parties involved.
- A far reaching adoption initiative under the guise of novel reputation+currency system called Marking
This wiki which provides all details pertaining to the software, it's configuration and the rationale of design decisions.
We aim to keep all aspects of Bitmark as stable as possible, whilst encouraging natural growth and wider adoption. This will be achieved by:
- Stable Client: Provide a new reference implementation created by merging the latest major stable branches of prominent coins. Fusing Bitcoin and Litecoin together with proven features of other alternative coins which add utility, additional features will only be added as required and when proven by implementation in other coins.
- Stable Network: A Block Chain Configuration which is designed to incentivize fair mining by those who wish to support the network over a longer period of time, whilst mitigating the risk of financial exploit by powerful multipools and private mining farms.
- Stable Growth: 0 premine, 0 instamine, 0 IPO, 0 artificial inflation - Natural Growth and Adoption. This isn't about short term profit, any value given to the Bitmark will be a reflection of it's adoption and usefulness over time.
- Stable Development: To provide long term active development a donation based foundation fund which aims to collect a total of 70,000 BTM (0.250% of the total bitmarks minted) has been created. This process is facilitated by the presence of Investor Public Mining (IPM) (see: Flow of Money).
- Easing Adoption: Adoption comes under the remit of the Marking Initiative.
- Ease of Use: Practical changes to user experience, added transactional information such as encrypted references and text, steps to aid and ease usage as we expect from online payment systems like paypal and skrill, combined with the traditional approach of banks. Additional enhancements to get practical data in and out of the coin interface, such as contact imports, and management features like subsidiary or joint accounts.
- No unnecessary bloat: We do not aim to add feature after feature, rather to refine, consolidate, and simplify each area of existing functionality. New areas of functionality and UI will be built upon the API rather than baked in to the software, so that third parties can fork and adapt the code to provide their own alternatives.
- Foster competition: By building everything on top of the new API and releasing it to the public domain, any individual or company can then offer their own alternative interoperable versions of each module. In taking this approach we hope to further encourage innovation and a range of healthy service markets which will all encourage and aid bitmark adoption.
- Backwards Compatibility: In with the new, in with the old. A wide array of existing applications, tooling, and integrations already exist for bitcoin and alt coins, we will keep full backwards compatibility by having two API versions. The new API will hopefully serve as the reference implementation of a future standard API for crypto currencies, including Bitcoin.
- Refining: Many alternative crypto currencies feature new innovations, whilst many are marketing hype or unneeded, some come from genuine user requirements. As solutions come to the fore they will either be refined and integrated in to the Bitmark project, or where multiple viable offerings exist the intersection will be well defined and then implemented.
- Maturing: After features have matured in other alternative currencies, we will implement them in Bitmark, initially on the test network, then in a public beta, then in a new major release. We have no need to add things quickly, it's more important that they work as expected and are as refined as possible, with all justifications for adding having been qualified and agreed by the community of users.
- Innovating: With the exception of our usability focused innovations around the API, we do not aim to pointlessly innovate. Rather we aim to refine or standardize useful innovations and bring them to you from the alternative coin community as mature offerings.
Block Chain Parameters
Block Time: 120 Seconds (2 Minutes)
Rationale: Balanced and Reasonable. Longer block times can lead to user frustration, shorter block times can lead to wasted mining effort and network bloat by the increased occurrence of orphaned blocks. This approximates that small transactions will have a confirmation within a couple of minutes, standard transactions around 5 minutes, and important transactions around 15 minutes.
This also mitigates advantages miners may gain over one another when network latency is taken in to account. If we consider that a miner may immediately start mining the subsequent block locally, whilst other miners must wait for the block to be received, processed, and accepted, before they can look for the next; then a network latency of 1 or 2 seconds can be a significant % advantage when block times are 60 seconds or less.
Finally, this has a notable effect on Network Health, Supply, and Distribution
Block Maturity & Difficulty Re-target: 720 Blocks (1 Day)
Rationale: A relatively slow block maturity ensures that anybody mining Bitmark adheres to a contract that they will not spend (or "dump") the reward within 24 hours. This should encourage a more stable coin, and give the advantage to miners who wish to the support the network and reap fair profit.
We match the difficulty to the block maturity to assure that no miner can access generated block rewards until after the difficulty has changed, this removes much of the incentive from multipools and high powered mining factories to hop on to and then leave the network, as they cannot spend their bitmark without a healthy network to transfer them on. Additionally, an unhealthy network tends to negatively affect price, further removing the incentive.
Block Reward & Currency Supply: 20 Bitmarks
Halving every 3 years, with intermediary decreases every 18 months.
- 20 coins initially (minting 7,884,000 BTM)
- 15 after 1.5 years (minting 5,913,000 BTM)
- 10 after 3 years (minting 3,942,000 BTM)
- 7.5 after 4.5 years (minting 2,956,500 BTM)
- 5 after 6 years (minting 1,971,000 BTM)
- 3.75 after 7.5 years (begin transition to a fee supported network)
- 2.5 after 9 years
- 1.875 after 10.5 years
- 1.25 after 12 years
Total Supply: ~27.58 million coins (27,579,894.73108000 to be exact).
Halving Rationale: Rapid block halving creates early bird incentives, the quicker the reward halves the more unstable the coin and unfair the distribution, and the more likely it will be considered and act like a project/currency with no longevity.
Slow block halving reduces urgency to mine and allows more natural growth and adoption. There is no unfair benefit to mining on day 1 as opposed to day 400. 3 years ensures the Bitmark Project has longevity, whilst recognizing it is part of a fast moving environment, and the need to have something which is still viable to run successfully after a decade of maturing.
Interim half steps have been introduced to limit the impact of the block reward reduction events, whilst still ensuring there is an event which occurs every 18 months.
Block Reward Rationale: For a currency to be viable, a single unit must be able to be perceived as having value, as such a large amount of currency entering the network daily can only be detrimental over time. Bitcoin achieved a steady flow of new coins on a daily basis, and that is a model we hope to improve on, most successful coins to date have had a monetary supply of 84m or less. We suggest that humans tend to prefer whole numbers, and feel more comfortable working with smaller integers on a daily basis.
Over a 20 year period, and considering moves over time to display currency as ₥ (Marks) or Markbits this should ensure block rewards stay within the bounds of easily identifiable amounts.
Proof Of Work
Scrypt. A well balanced proof of work algorithm which is widely supported and for which hardware support is maturing. Large investment has been made by the mining community, and continues to be made. Whilst there are benefits to both Proof of Stake and multiple algorithm approaches, we feel that Scrypt PoW and the balanced coin release schedule which can be achieved with long term block rewards is the most suitable for this long term project. With an abundance of mining hardware available already it should also ensure a healthy network from the start.
- Roadmap: The Ubuntu model is favoured by Project Bitmark, see Roadmap page for detail.
- First Testnet Release: A fusion of the latest stable releases of Bitcoin and Litecoin, with some modifications from other coins. The Bitmark Project aims to build a new reference implementation which others can fork to create their own alternative coins, and to serve as a platform for us to move ahead with the project.
- First Public Release: After extensive testnet testing to ensure the blockchain parameters are correct, and that no new bugs have been introduced, we will roll out a first public release of the reference implementation.
- Lifecycle: Following on from the Bitmark RI, work will immediately begin on specifying and coding the new API, this API will remain on the testnet for some time until a few different projects have utilized the API in order to flesh out any bugs. Once deemed safe it will be added to the public beta client versions and then mature to the following major release. Each feature which affects functionality or notably changes user experience will follow this release cycle.
- Public Domain: All code, specifications, and notes will be released in the public domain, using the unlicense or creative commons where applicable. Anybody is free to use anything created in this project for any purpose, including competition.
- Team: Initially there is one core developer, hopefully supported by the community, with others coming on board as the project grows.
- Project Target: To become a daily use currency that runs parallel to Bitcoin and the alternative currencies, identifying and maturing candidate features before rolling them out to an extensive user base on a quicker timeline. This target will mainly be facilitated by the roll out of Marking.