U-DID - Uncoerced Donations via Information Diffusion
In this post, I'll sketch out U-DID, a funding system - yes, not a plan, but a system, which would operate using Bitcoin Cash, and would have the following pleasant properties:
✔ no protocol change required
✔ 100% voluntary (not forcing anyone to use it)
✔ permissionless (can't stop anyone from using it)
✔ fueled by rational profit motives within BCH (miners, holders, developers)
✔ transparent & accountable (using public information)
✔ taking in existing real miner → dev funding flows
✔ non-exclusive - can work in conjunction with other funding plans
This article is still under construction, but ready enough for you to read what's there, and ask questions in the comments!
To see the beginnings of U-DID take shape, after you read the description of the system below, have a look at the overview diagram and bird's eye view!
There is also a series of demo articles (see links at end).
U-DID: Uncoerced Donations via Information Diffusion
The main idea is that publishing intents and information about funding actions by some rationally interested parties would (hopefully, I think: rationally) lead to further actions (more donations and investment) by others with a stake in BCH.
[Update: I've created an overview diagram of what I think will be in the initial scope (v1) of U-DID. See links at the end of that post for more resources.]
For now, a textual description needs to suffice, but I'll leave you with this image to set a scene based on friendly competitiveness:
Ingredients
Voluntary public signaling of donation preferences and actual donations via the blockchain.
Taking the form of text messages (likely a little bit structured using e.g. JSON) that indicate intent or preference by a signaling part to commit some of their funds (this can be either as donation or investment):
- How much
- To whom (can be multiple parties, so percentage allocation)
- On what date OR over what timeframe
NOTE: I think miners could also use the BMP tool to announce such intents on their part. Others who do not mine can simply use straight OP_RETURNs or other protocols built on top of that, like Memo.
Examples:
- coinbase message from identified miner, indicating "I'm donating 1 BCH split 80%, 15%, 5% over ABC, BU, BCHD". Next block can contain an actual transaction doing this, and referencing the signaling tx.
- tx message from holder publicly known address (e.g. my Memo address on btcfork), indicating "btcfork is donating 1 BCH split 20%, 20%, 20%, 20%, 20% over ABC, BU, BCHD, Verde, Flowee". Same block can contain an actual transaction doing this, and referencing the signaling tx, or the intent could be bundled with the actual tx doing the donation.
Direct donations / investment by miners via coinbase outputs
Miners are already able to send a portion of their coinbase reward to whomever they choose. This remains entirely voluntarily.
They could also include funding as separate transactions in a block by referencing a corresponding intent (by its txid) which can be in the same block or a previous one.
Holder donations via crowdfunding sites (or apps)
It doesn't have to be centralized on websites - it could be apps or plugins to desktop wallets, but they would enable any holders to submit their own intents, and/or to donate to existing ones.
Developers could also put forward concrete funding proposals on such sites / via such apps.
There can be a variety of such sites, ranging from very simple (list of QR codes of established projects seeking funds), to HumbleBundle-like ones with nice user interface and providing contracts to split incoming donations in the proportion that the user wants.
More complex sites/apps may do Assurance Contract and offer very nice qualities like your money back if pledge threshold is not reached, and some return in case a project does not end up delivering.
Responsibility to verify whether activities / projects donated to are trustworthy remains on the donor, but the community is well equipped to identify scammers.
The sites may choose to aggregate information from public sources like the aforementioned intent messages and actual observed funding transactions, as well as the activity on their own site.
The sites effectively aggregate the information they want to pass on to attract holders to contribute funding.
The sites/apps don't have to do this for free - they can (optionally) offer to collect a minute amount from contributions in order to sustain themselves and compete with other similar sites. This is similar to how HumbleBundle used to operate (with a default setting to donate a dollar to Humble for the service).
Note: the "informational control & monitoring" aspect below might be integrated into some of these crowdfunding sites - in fact it very likely would.
Purely information control & monitoring sites
These might aggregate and display intent & realized funding information, project progress (performance) & funding levels etc. but not get involved in financial flows themselves, which is why they are listed as an additional, separate point here.
Such sites would function as a vital control on funding recipients.
https://coin.dance offers an overview of development activities already, so there is precedent for this kind of site.
The U-DID system could be "kickstarted" (BCH-started?) via existing projects and developers which have some reputation.
Discussion of Positive attributes of U-DID
These subssections to be fleshed out. You can think about it and also contribute comments, as I will be editing this article frequently in the next few days.
no protocol changes required
This means we can get started implementing this right now for our hungry developers
100% voluntary (not forcing anyone to use it)
Because that's the point of using BCH, right? Otherwise our developers would be using other blockchains.
U-DID does not conflict with any direct donations that people want to make to projects. It might just make it a little easier to keep track and evaluate progress towards project funding goals. It might also spur some holders to donate more in order to progress the developments they see as bringing the most value to BCH.
permissionless (can't stop anyone from using it)
So, could this be used to fund any organizations not strictly developing something for Bitcoin Cash?
Yes, absolutely. Because it's essentially a messaging-based system that runs on top of some blockchain, it could be used on any other blockchain. It also isn't limited to funding developers. It could be used to fund any type of activity that benefits from advance announcements of funding intentions, and the tracking thereof through to fulfilment.
fueled by rational profit motives
Securing funding for BCH developers without resorting to protocol changes is the primary motivator. Development is cost intensive and not well funded at this time. There are many proposals to improve this, this is just one that's easy to start.
Holders of a cryptocurrency are incentivized to fund development in order to maintain the software and infrastructure on which the economies of their coin rely. If these deteriorate, coin holder value goes down.
Likewise, if other cryptocurrencies develop features that make them more attractive.
So development is an ongoing process either way, both to keep the lights on in a world of changing hardware and software stacks, and to stay in the cryptocurrency competition and not drop behind.
transparency
By coordinating via messages (in some form or other) on the blockchain, people can better decide which projects might need their contributions most urgently, and could avoid donating to projects that have sufficient funds to accomplish the goals they are working on. If the information is presented reliably and usably, this could help to some degree to avoid inefficiencies in holder capital allocation.
accountability
People who claim they wish to contribute, and commit to it via publishing their intentions, can be held to some degree of account for living up to their promises or not.
By voluntarily identifying their flows, the community can recognize and reward those who contribute financially to BCH development.
based on existing real miner->dev funding flows
Some BCH mining pools like JToomim's and bitcoin.com are already donating directly to development projects via payouts from their coinbase.
This system would not interfere with that, although they might make use of some of the features like announcing their intent on chain, so that their existing donation streams could be taken into account by other sites / users.
easy to get started
No-one has to wait for anything to happen to get this started. In fact, I will start myself, but I just want to point out the good existing tools that can help to start TODAY:
your up-to-date Bitcoin Cash wallet
tools that let you publish messages on the BCH blockchain, like https://memo.cash/
social media sites to further publicize your announced intents or completed contributions
On-chain messages can be pretty free form at first - there isn't a need to immediately settle on some common message structure, though that could be worked out pretty swiftly too. It doesn't need to be very complex at all, and structure can be versioned, just like any protocol built on top of another.
For the crowdfunding site stuff, there is work being done. Lighthouse on BCH may help, as might other sites not far off.
A simple Humble-Bundle like site to auto-splits donations would be nice to have - not necessary at first but added comfort.
It might have a slick UI (sliders to play with, maybe selection lists to add / remove destinations and a + symbol to add new recipients which the site doesn't know about yet) and could feed donation information back to coin.dance or other sites.
non-exclusive - can work in conjunction with other funding plans
As long as your plan is non-coercive and includes an amount of publicity, it is practically a subset of U-DID. Let us know what u did!
Discussion of Negative attributes (?)
No funding is guaranteed. Wait, is that a side effect of no-one being forced and everything being voluntary? If so, maybe it's not a negative. You decide.
Tell me if you see any more. I just see a fair amount of work, and a few naysayers who maintain that voluntary action can't cut it.
<there may be more negatives. Let me know in the comments if one comes across your mind>
Notes about degree of privacy
This system does not require any parties seeking funding to reveal more than a Bitcoin (Cash) address on which to receive funds.
The developers and projects which deliver on their stated goals would end up building trust with those who fund them.
Further info:
Overview diagram of actors, messages, flows (brainstorming U-DID v1 scope)
Simple U-DID demo, Part 1 (covers creating of an intent & intent-hash and posting them using Memo)
Simple U-DID demo, Part 2 (covers fulfilment of the intent from Part 1)
Memo topic created for discussion around U-DID: https://memo.cash/topic/U-DID
Forum thread to discuss/develop U-DID v1 protocol specification
Trivia information: The U-DID concept came out of this tweet thread, the name was inspired by a conversation I had on Twitter with @marcoJcosta. :)
The name leans on "show me what you did" - i.e. proof of work, BCH!
Lead image: based on Photo by Tyler Nix on Unsplash
Tug of war image: Photo by Anna Samoylova on Unsplash
You a great writer my Dear friend