U-DID what?

26 528
Avatar for btcfork
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

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

  • easy to get started!

  • ✔ 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>

Sponsors of btcfork
empty
empty

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:


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

3
$ 40.90
$ 35.00 from @molecular
$ 1.00 from @Read.Cash
$ 1.00 from @im_uname
+ 8
Avatar for btcfork
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

Comments

You a great writer my Dear friend

$ 0.00
3 years ago

YOU THE MAN!

$ 0.00
4 years ago

Thanks for the generous tip, molecular.

This is a completely open initiative btw, a very loose "protocol". Anyone can contribute by coming up with additional ideas.

For example, I think people who would LIKE funding should also have an easy, on-chain way within this U-DID "protocol" to publish funding or cancel funding requests which could easily be aggregated. That's probably the more complex part to design, and I haven't had a look at how other business systems deal with that. Quite likely there are even decent standards around doing that sort of thing. If anybody knows something, just let me know ;-)

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

I've been pondering building a site for funding the last couple of days. as a first step I envisioned simply tracking of past donations, not just for node infrastructure projects, but also smaller things, too, like EC plugins and so on. when pondering how to best identify projects/subitems and associate addresses I also started thinking about on chain messages for this to keep the site account-less. this is also suitable for donators to "register" their donations should they wish to do so and aggregate their donations so in spirit of gamification, so there can be High-Score lists and medals and stuff.

just some thoughts... there's so many ideas.

$ 0.00
4 years ago

gamification - I hadn't even thought about it but it makes perfect sense to describe what I see this leading to.

Stay posted for Part 2 of the simple demo where I post the first U-DID funding fulfilment.

Do you think it's difficult to create a site that takes a donation and splits it on behalf of the donor & according to their preferences?

Such a "Humble Bundle" like site could let donors set their split prefs, accept funds to be split, automatically construct matching U-DID intents & post the intent-hashes, then split the funds and post the fulfilment messages.

And display everything on a scoreboard (including U-DIDs processed from other parties and seen on-chain)

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

of course we need the iconic "bling" sound live for each donation :-). maybe a whale call for the big ones

$ 0.10
4 years ago

That would also be a cool thing for read.cash tips, accepted sponsorships, boost etc.

read.cash, are you paying attention?

We need a sound option! ;-)

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

you can apparently now mention @read.cash

$ 0.00
4 years ago

Ha! It worked :)

$ 0.25
4 years ago

Yeah, actually, we've had plans to implement funding :) we've actually even created contracts, something akin to assurance contract, so it's all or nothing and non-custodial, etc.. but then we've seen somewhere that @im_uname with a team are working on a funding site, so we've scrapped the plans :) waiting to for it. cc @molecular

..or did I misunderstand something about the question? :)

$ 0.00
4 years ago

we need the iconic "bling" sound live

I was just joking about an audio stream for global read.cash site events like comment votes, post tips, the occasional new affiliate, sponsorships getting paid etc.

As the site heats up it might end up in a cacophony ;-)

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

You'd be pretty bored :) Currently, there are (on average) about 7 minutes between tip/upvote, about 11 minutes between comments... it's a pretty relaxed pace :)

$ 0.10
4 years ago

That's... intriguing to know that you've been working on the same thing. Care to share where you got so far? Might be good to join efforts. :)

$ 0.00
4 years ago

Well, we've spent some time to build the CashScript covenant contract that's basically a form of non-custodial escrow - that 1) donator can take money back 2) the arbiter can forward the money to the recipient 3) arbiter can send money back. So the basic plan was that if the funding goal is reached - we'll just call the "forward" method on all or "refund" on all. We've built a small service to help us with generation/working with the contracts and some scaffolding for the database models. So, what was left was the UI.

But, frankly we don't have much resources to dedicate to support of this new section, so we think it would make more sense to somehow help you promote this new site, rather than building a competing service :)

$ 0.50
4 years ago

didn't even get around to the first demo.

$ 0.00
4 years ago

No worries, if you read this post you probably got the idea.

The demos are, for now, just manual executions of the idea on chain, with a little bit of structured messaging (JSON), but without any automated processing yet.

I'm submitting U-DID as text (well, JSON) messages on top of Memo protocol, but that is just one way of doing it. I happen to like it because the sender can submit additional information as comments using Memo, and others can even use it directly to discuss such funding intents or commitments.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

I don't understand this AT ALL! Perhaps I need more graphics, i dunno..

To see the beginnings of U-DID take shape, after you read the description of the system below, have a look at the simple Demo!

Clicked the demo, but nothing .. do u have anything that could help me grasp this?

$ 0.00
4 years ago

Perhaps I need more graphics, i dunno..

Yeah, I'll put up some graphics.

Maybe in a separate article cos this one will be getting a bit too long.

Clicked the demo, but nothing .. do u have anything that could help me grasp this?

Probably not until there's a website to make it easier to understand the process.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

Yeah, I'll put up some graphics.

i was half kidding .. could u just give me the "elevator pitch"? then i'll definitely give it a re-read

$ 0.00
4 years ago

Now that read.cash has implemented links to forum comments (woohoo!!), I can link you to these two comments of mine [1, 2] which should give you a pretty good idea, if you also look at the diagrams below and re-read this post.

bird's eye view

v1 protocol messages + flow ideas

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

bird's eye definitely helped

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.

i "think" i get it now..

my question comes down to, "is this a theory of yours, or has this been proven somewhere, as I'd like to see a real-world reference?"

how is this different from sites like Kickstarter, IndieGoGo or GoFundMe?

also, as @F.B. already mentioned, I'd also be interested in supporting a front-end for a BCH fundraising

$ 0.00
4 years ago

bird's eye definitely helped

Glad it did :)

my question comes down to, "is this a theory of yours, or has this been proven somewhere, as I'd like to see a real-world reference?"

This is a really good question. I don't know.

Does the success of Kickstarter, IndieGoGo and GoFundMe mean that good things can be built using voluntary donations where there is some risk, but also some reward, and increased visibility on what others in the public space are doing (related to some fundraising drive)?

I tend to think so.

If you're interested in supporting a front-end (being developed), maybe @F.B. can share more in case he plans to go ahead with doing something.

I will definitely do the same - once I've put the essentials of U-DID v1 down in terms of basic message specifications, I'll probably go on to developing something that interrogates an indexing full node (like BCHD) and tries to validate U-DID messages that it finds (embedded in Memo or in pure OP_RETURNs) or at least sorts them into piles (validated and semantically sensible, valid JSON not able to validate semantically etc.)

My primary goal would be to get to being able to feed a database with that, so people can run servers which feed frontends or other backends..

Such a DB also would need a schema to be designed. That's something someone could help with too.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

If you're interested in supporting a front-end (being developed), maybe @F.B. can share more in case he plans to go ahead with doing something.

i wish a had a clone for the next few months; i've already spread myself a bit thin with the current BCH projects i'm working on .. after nito.cash (which is super close now), bitcoincash.stackexchange.com is my next priority .. but I'm more than ready to support (if someone else wants to lead the charge)..

also, from a technical standpoint, I don't quite believe that an "adequate" fundraising platform is possible yet on BCH, due to the limitations of (Cash)Script .. however, I'm aware that @TobiasRuck is doing AMAZING work/research in the area of expanding Script; but imo, that's at LEAST a year out..

If my schedule allows for it, I may try to put together a POC (already started), combining Ethereum (solidity) contracts with BCH OP_RETURN and SLP, in a kind of "best of both worlds" attempt to make something like Lighthouse a reality .. but, I'm doubtful that the use of ETH-tech will garner the adequate support from the BCH community .. what are ur thoughts on that?

anyway, needless to say, I've gotta lot on my plate atm 🥵

$ 0.10
4 years ago

If you're interested in supporting a front-end (being developed), maybe @F.B. can share more in case he plans to go ahead with doing something.

My laptop died on me two weeks ago, so I was locked out of my read.cash account for a bit. Still alive!

I did play around with the bitbox sdk/rest.bitcoin.com API, but I found that there was no interface to get the OP_RETURN from a transaction (where the memo/udid intents would be).

Next step was/is to look into BCHD's API. We should coordinate efforts on this if you're willing.

My primary goal would be to get to being able to feed a database with that, so people can run servers which feed frontends or other backends..

Such a DB also would need a schema to be designed. That's something someone could help with too.

I wouldn't overthink this at this point, a good starting point would simply be a json file with all the intents, which would be easy to parse and display neatly on a website.

$ 0.10
4 years ago

Typo [fixed].

Great idea. Voluntary has not been working fast enough. Any new ways to encourage donating in an easy way are good. Some will want to be public about it and some will be motivated by seeing others donating. Lots of good strategies like matching funds and such can be folded into this program if set up with plenty of flexibility.

$ 0.00
4 years ago

Thanks for the correction.

Yes, we'd need at least some basic tools to make it attractive for people to donate. Lots of possibilities to improve.

$ 0.05
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago