THE STATE OF ALTCOINS (AND A PROPOSED DEVELOPMENT FUNDING MODEL)I've been a long-time lurker and created this account to open up for discussion the development of an alternative digital currency through a model that can fund its development. This is a proposal for a community project, and therefore thrives on your input. Please read through the somewhat lengthy proposal below and cast a vote if you're so inclined.
There is an able and experienced developer available and interested in doing this work, so I put it to the community for consideration and discussion.I. IntroductionI wanted to introduce for discussion the current state of alternative digital currencies to Bitcoin (or altcoins as we like to call them). With the exception of a few altcoins, most end up with a few changed parameters and very little technological innovation, when in fact, it stands to reason that altcoins serve as perfect candidates for economic, social, and technical experimentation. As a platform for ideas, where risk is a natural part of their existence, they're really good incubators for experimentation with such ideas, but we haven't seen all that much experimentation. It is this kind of experimentation that promotes a healthy ecosystem for all cryptocurrencies, and allows everyone to benefit from the research produced by their progress.
The biggest impediment to this kind of progress is development capacity. If you're a talented developer, it's unlikely that you're going to experiment all by yourself in a field full of altcoins that haven't shown all that much innovation. This is especially true if there is no guarantee for you to earn any kind of income doing that kind of experimental and often risky development (with no way of knowing how the technology will be received). As a digital currency, Bitcoin is a safe development haven, as it should be, but it doesn't mean altcoin development needs to stagnate.
We've seen that it's not at all hard for us to come together as a community and pool funds for this kind of thing. I would like to propose a cryptocurrency development funding model for your input that hopes to bring forth a project to do the aforementioned experimentation and create a platform for developers to have creative freedom and not worry about the logistical issues associated with bringing the community together.
II. Development and FeaturesThe differentiation factor for the community project proposed here is that there is an experiened and longstanding member of the Bitcoin development community interested in doing this work if the community can come together for a cause like this. The developer would like to remain anonymous, but has actively contributed to many Bitcoin projects over the years.
Specifically, the core feature set proposed by this cryptocurrency is as follows, and represents the technological innovation to justify the development of an alternative to Bitcoin to experiment with (no sorted order):
- Merged Mining v2
- Overlapping Difficulty Adjustment Periods
- 100% Big Endian and Single varint Encoding
- Two-stage POW (Withholding-resistance)
- Anti-blind-pooling
- UTXO Proof in POW
- Adaptive Block Speed
- P2SH-only
- Enforce Address Single-use
- Signing Subset of Outputs
- Low-level (RISC) instead of High-level (CISC) scripting, enabling new transaction (not POW) crypto algorithms such as:
- Ed25519
- Lamport
- Guy Fawkes
- Chaum Token
- Atomic Cross-chain Exchange
- UTXO Expiration
- Semi-exponential Inflation (aiming to mimick adoption and eventually population growth)
After these core features have been implemented, and we can make a determination of whether the model is successful or not, other sets of features will be introduced in phases where supporters can vote on the development priority of features, which will then be implemented accordingly. Features to vote on in this way include (no sorted order):
- POS Block Size/sigop Limits
- UTXO Commitment
- Everything is CoinJoin
- Merkle-sum-tree for Outputs
- Pruned History
- Chain Folding
- MMR TXO
- Fractional Amounts
- Unchanging Transaction IDs
- Transaction Checkpoints
- AST P2SH ("Ultimate P2SH")
- Transaction Cost Prepayment
- Compact One Way Aggregate Signatures
- Fee-determinism without Input Background
- Transfer Possible Immediately
- Additional Inputs Acceptable
- Base32 or Base64 Address Encoding
- Addresses provide Pre-image Proof of being a Hash
The model should also support the creative freedom of the developer to become an enabling system as opposed to a controlling one. The developer should be free to enlist other developers at his or her own discretion for help with any task that relates to the features. An example of a task includes the lead developer paying another developer who specializes in a topic to audit and peer review an involved section of code to ensure its implementation is sound and works well in the overall system.
III. FundingIn order for the developer to implement the features described, the model would have to include some mechanism by which the community can pool funds to support the developer through an income. This income is necessary if serious development is expected, which is also a requirement to sustain development capacity until a feature set is completed. There are two options here:
The community pools funds through individual contributions, which are directed to the developer through some process, with:
- No return to contributors aside from the developed technology (OPTION A - CONTRIBUTION, NO RETURN).
- Those who contributed receive something in return, as
- a number of coins proportional to the contribution in order to use the technology funders supported (OPTION B - CONTRIBUTION, COIN RETURN).
- something other than coins (please specify in your post) (OPTION C - CONTRIBUTION, OTHER RETURN).
Given the scope of a project like this, it is unlikely that you would end up with a very big pool for development if there isn't something given to contributors in return. My personal view is that (OPTION A) becomes difficult if the project is large, but I leave it open for discussion. The reasoning for my personal belief is this:
If you support the development of a new technology through a contribution, you want to use that technology in some way. You cannot use a cryptocurrency without having any of the coins it represents. A logical "return" for (OPTION B) is a number of coins proportional to the funds contributed for development (within reason). If supporters aren't given some means to use the new technology, it is unfair to them as they could have spent those means on say, mining technology. Miners are able to mine the new technology when it is available, however, those who contributed to development are no better off in their desire to use the technology. There isn't an economic rationale for someone to spend their own funds on something they cannot use, if all they had to do was wait for someone else to contribute and then use the new technology. If everyone takes that approach, we end up with a very slow-moving altcoin development process, and the field stagnates (as is currently the case in my opinion). In this way, the funder secures the development of a new technology (such as an altcoin), much as what the miner does when he or she secures the technology once it has been developed.
IV. Escrow Review PanelIf the community decides on how development funding will work, the next problem arises when you have a pool of community funds and an anonymous developer. We already understand that altcoin development is risky in itself, and there are no guarantees. A few things that could go wrong, are things such as technical problems in implementing the features, or the developer could run into personal problems, all of which would have to be resolved.
To increase the chances of project success, a measure has been proposed for this model that involves the appointment of members to a review panel who will act as escrow to the funds. The purpose of these publicly appointed and named individuals (sourced from the community) would be to verify on a monthly basis that work has been completed by the developer. This does not involve an in-depth review of the code itself, but rather to quickly verify the work is being done before signing off on additional funds from the pool to the developer. A technical proposal is to do this through what BIP 0011 describes through M-of-N escrow transactions.
V. DisclaimerFurthermore, the model would have to include a very big disclaimer. A project that pools community funds like this needs to explain very clearly what is required from developers, funders/contributors/supporters, and reviewers, and equally important, what the project requires them to understand. A very obvious point to understand is that coins returned to funders to use in the developed system have no inherent value and the project cannot guarantee that development will be successful at all. Any value anyone assigns to the technology the project creates is between those parties; the project explicitly does not guarantee any value associated with the coins. The usage of the coins by those who want to use the technology are necessary to generate the social, technical, and economic data to explore, research, and understand the developed technology for future development decisions.
VI. Conclusion
So there you have it. A very rough draft of a model that invites you to discuss and ultimately build a project from the ground up that could jump start something very exciting. To summarize, the objectives of the project are:
- Advance the cryptocurrency field through a model that promotes software development driven by anonymous economic, social, and technical usage data.
- Pool community funds to compensate software developers and attract future development potential to study, improve, and extend the technology.
- Distribute coins to supporters who pool funds to participate in the developed experimental system and use the technology to generate anonymous data for further research.
But let's discuss the last point first, and vote on it to get some measure of what the community thinks about funding development. All input is welcome, as it always will be. My personal intent is not to offend any ongoing projects, so please keep that in mind. I will try and moderate this discussion as best I can, but the key points are:
- This is about a model to fund developers to work on alternative digital currencies because they can be incubators for new ideas to experiment with and generate data for future decision-making, without risk to more established cryptocurrencies.
- The model proposed would include anonymous and/or public community funding, anonymous and/or public developers, a public escrow review panel, and clear explanation of is required from everyone involved and what everyone involved needs to understand so everyone is on the same page with the process regardless of the outcome.
- The model feeds into a community project proposal with a developer ready and able to work on the features listed for a new coin, which will serve as the first example to use the model.
Finally, the project would like to thank the following people for their work and contributions, big and small, that were added to the features (in alphabetical order): etotheipi, Gavin Andresen, gmaxwell, Luke-Jr, Meni Rosenfeld, retep (Peter Todd), and socrates1024 (the real amiller). A thank you also extends to anyone else missed who may have originally come up with ideas that indirectly made it to the developer.
Thank you for your time and I look forward to hearing your thoughts!
VII. Further ReadingAppendicesA. PollTo view the results of the poll, you need to cast a vote. This is an attempt to eliminate social desirability bias from the data. However, please keep in mind that this is an unscientific survey to help the project better understand how the community views the question of development funding.
B. Heilmeier's CatechismThe project applies a set of questions known as Heilmeier's Catechism, suggested for use by cunicula, to give more insight into the overall project in general terms. See
post #19 for the questions.