Introducing Flipstarter

27 6035
Avatar for flipstarter
4 years ago

There are some big questions in the air right now in the Bitcoin Cash space. One of them is about voluntary funding of the Bitcoin Cash commons.

  • Can it work at the large scale we need?

  • Can it be reliable enough to make long term plans based on it?

  • Is it possible to have meaningful accountability with a distributed group of supporters?

A group of volunteers came together to create Flipstarter and move us one step closer to "yes" on all of those questions. We plan to test and then release everything described below in the next few weeks.

Goal 1: Fund exactly one proposal using a trustless, non-custodial assurance contract

We have partnered with EatBCH and will publish a small scale proposal with them. You will see the proposal with:

  • Their method of accountability

  • How much they need

Then you can decide for yourself whether you want to support it. The key difference from typical donations here is that you will experience a trustless and non-custodial assurance contract. Borrowing from wikipedia:

An assurance contract [...] is a game theoretic mechanism and a financial technology that facilitates the voluntary creation of public goods and club goods in the face of collective action problems such as the free rider problem.

In a binding way, members of a group pledge to contribute to action A if a total contribution level is reached [ ...]. If the threshold level is met (perhaps by a certain expiration date), the action is taken and the public good is provided; otherwise, the parties are not bound to carry through the action and any monetary contributions are refunded.

Bitcoin Cash has several ways to achieve an assurance contract and we will cover them below.

Goal 2: Engage at least the Chinese and English communities

As part of an overall effort to increase communication between mostly isolated communities, everything in the project will be published in at least English and Chinese. If you would like to contribute high quality technical translations in languages other than English or Chinese, please contact us.

How it works: assurance contracts on Bitcoin Cash

Some people may remember Lighthouse. This first step of Flipstarter is basically Lighthouse but boiled down to the main feature. That is an old feature of Bitcoin transactions called "AnyoneCanPay".


The idea is that in a standard transaction, you sign it to approve:

  • All outputs

  • All inputs

With AnyoneCanPay, you sign a partial transaction to approve:

  • All outputs

  • Only your inputs

In other words, as long as everyone agrees on the total output, anyone can help pay, and everything happens trustlessly.


User experience

The current state of wallets is that they support mostly standard transactions as described above. The AnyoneCanPay setup is not supported in any major wallet. The Lighthouse client above used to handle it but it had its own issues and got engulfed by the growing block size debate at the time.

Therefore we need to create a way for people to participate in assurance contracts. We considered many options that are described later, and for the first version we chose to use a plugin for Electron Cash. The experience will be something like this:

  1. Install a plugin for Electron Cash.

  2. See a proposal on the Flipstarter site and set your pledge value.

  3. Get a piece of text from the site and paste it into the Electron Cash plugin. The text contains the information needed to create your pledge.

  4. The plugin gives a result for you to paste back into the site. It contains your pledge as a signed, partial transaction. Note that when the plugin creates a coin for your pledge, it is frozen so you will not accidentally spend it. You can manually un-freeze it at any time.

  5. The site collects and monitors pledges until it has enough to build the complete transaction.

  6. The site finalizes the assurance contract, and pays out to the target addresses.

  7. If the campaign does not get enough pledges, then everyone can un-freeze their pledge and use it as normal. That is, the coin never leaves Electron Cash until the whole campaign succeeds.

It looks a bit clunky, but the process is more secure, non-custodial, does not require the user to take their coins out of Electron Cash and it lets us get something working with limited time and resources.

Other options we considered:

  • Users pay to a QR code generated by a temporary web page that knows how to create an AnyoneCanPay pledge.

    • Pro: Easy UX with standard wallets.

    • Con: Real risk of losing funds if the script has errors, or the user makes a mistake.

  • Use a smart contract where donations are made in a linked series of contracts (design by @TobiasRuck).

    • Pro: Easy UX with standard wallets.

    • Con: Complexity would delay release of first campaign, and users would have to wait in line for the previous pledges to complete before they can make their own.

  • Use a smart contract where donations are made in a distributed tree of contracts (design in progress by emergent_reasons#100🌵).

    • Pro: Easy UX with standard wallets.

    • Con: Complexity would delay release of first campaign.

If you know a trustless, non-custodial solution that has a better UX than above, please contact us.

The future

There is a long list of things that can improve after we complete the initial goals. Volunteers will continue to develop it, and there is opportunity for a for-profit team to develop it into a full fledged platform. Whatever happens, we are making the first version so that anyone can fork it and run a campaign by themselves.

Getting involved

Soon we will run some private tests before the real EatBCH campaign. If you want to participate, please contact us.

We have the talent to finish our to-do list but there is a mostly unlimited number of things to do after the first version if you are willing to take ownership and present a good plan.

The current repositories are in the gitlab flipstarter group. Some are still not visible while code is being cleaned up.

Thank you

Big thank you to the group of volunteers making Flipstarter happen. Special thanks to the heavy lifters:

Any read.cash tips will be sent to the Flipstarter donations multisig address. It is co-signed by emergent_reasons and im_uname.

Contact

  • telegram @emergentreasons

  • keybase @emergent_reasons

Sponsors of flipstarter
empty
empty

11
$ 395.65
$ 133.70 from @molecular
$ 100.00 from @huckfinne
$ 34.77 from @Keith_Patrick
+ 38
Avatar for flipstarter
4 years ago

Comments

good for information. thank you for update

$ 0.20
4 years ago

Most important project happening in Bitcoin Cash right now

$ 0.20
4 years ago

Awesome! Can't wait to see it working!

How we planned to do our own Flipstarter

$ 1.10
4 years ago

Nice project It's encouraging to see the entire BCH community using this opportunity to create and build useful solutions to add value to the open-source "commons".

$ 0.00
4 years ago

I wish I'm here when this thing is on the working process so that I can help

$ 0.00
4 years ago

It's encouraging to see the entire BCH community using this opportunity to create and build useful solutions to add value to the open-source "commons".

$ 0.70
4 years ago

Kudos! I am looking forward to trying it out.

$ 0.10
4 years ago

Finally got a chance to read this .. I hate to be the Debbie Downer here, but this is underwhelming:

  1. How many people run Electron Cash (desktop edition)?
  2. It also requires a "plugin" for EC

1 & 2 really makes a "good" UI/UX virtually impossible

imho, unless you're already running Electron Cash (to be clear, this will NOT work on EC mobile), then I just don't see people putting in the effort..

How we planned to do our own Flipstarter seems incomplete (atm), but an exceptionally better UX .. and it's why I believe read.cash has been so successful; as users just work with the wallets and functionality that they already know (many sites/dapps try to force users into learning something new, or using a new token .. and then they fail)

I don't want to just talk shit either; I'm working on some code of my own, just got a lot on my plate right now (maybe in a week or two I can see some daylight) .. bottom line is I'm ready to support ANY and ALL efforts to make the Lighthouse dream a reality .. @im_uname and @emergent_reasons 加油!

$ 1.25
4 years ago

How many people run Electron Cash (desktop edition)?

Think about what this is for. It is not for playing around with fun kickstarter things. It is for investments in the commons that will return a gain to you in one way or another. e.g. 6M target of original IFP. That requires large investments that have 99% chance of being nowhere except electron cash desktop edition.

It also requires a "plugin" for EC

Yeah this part sucks and we acknowledge it. We take one step at a time.

How we planned to do our own Flipstarter seems incomplete (atm), but an exceptionally better UX

I agree. It has tradeoffs that we did not make but they may have struck the right balance as they have done many times. I have repeatedly encouraged @read.cash to keep working on this. Flipstarter is not the one true way.

bottom line is I'm ready to support ANY and ALL efforts to make the Lighthouse dream a reality .. @im_uname and @emergent_reasons 加油!

加油!

$ 0.25
4 years ago

6M target of original IFP.

yes, of course I understand the IFP is the #1 focus; and for that I totally get it..

but I thought you were starting with eatBCH .. I just don't see THAT donation crowd using EC .. also, I'd really like to see many more "grassroots" campaigns able to take advantage of Flipstarter as well .. bottom line is I STRONGLY believe that BCH needs a SHITLOAD more BUIDLers working ON TOP of the infrastructure .. Perhaps its "personal", but I'm quite disappointed that more focus isn't being placed on this by the community

I really don't want to overly debate, as I'm FULLY committed to your efforts (110%), I'm just trying to think of how it can reach a MUCH larger audience that just EC users

I have repeatedly encouraged @read.cash to keep working on this. Flipstarter is not the one true way.

unfortunately, I don't know shit about CashScript, so I can't really touch their approach (as much as I do like it) .. but as I mentioned nito.cash is almost ready, I'll make sure it supports ANYONECANPAY by the time your first campaign goes live :-)

$ 0.50
4 years ago

I don't know shit about CashScript

If you're curios about that - we have written a comprehensive article about BCH contracts, CashScript and Spedn https://read.cash/@Read.Cash/how-to-use-bitcoin-cash-with-javascript-including-bitcoin-cash-contracts-08fdc194

$ 0.25
4 years ago

we have written a comprehensive article

"comprehensive" is an understatement .. set a bookmark and reminder for this weekend .. just need to get ONE CashScript contract under my belt and then "hopefully" it'll all lock-in..

also, just read @rosco's A-MA-ZING comparison between Solidity and Script (which really resonated with me) .. Smart contracts on Ethereum, Bitcoin and Bitcoin Cash is a MUST read for anyone that's coming from ETH's Solidity

$ 0.25
4 years ago

I understand your point of view, but I think you misunderstand that this is not some Microsoft or Adobe shipping a product they want to sell. This is an open source, a community effort. And those are by definition more open and as a result will look more messy. It is't secret until its fully polished and finished.

1 & 2 really makes a "good" UI/UX virtually impossible

The first user interface to a new service tends to not be the best UX possible, but it helps people getting started. It helps everyone in the chain understand the process (and thus improve it) and it helps creating awareness.

I do hope that we can see more support in more wallets. I even hope we can improve some fundamentals, like extend and support bip70, which would make this available in most wallets.

But you have to start small. While I'm not part of this team pushing this, I am very happy that they do and I fully support this effort.

$ 0.50
4 years ago

The first user interface to a new service tends to not be the best UX possible, but it helps people getting started.

"messy" is of no concern to me; as you point out "it's open source" ..

the unfortunate reality is that this project (aka Lighthouse) has already failed a number of times before, so I don't see the value in re-hashing the same approach .. I was extremely excited when I heard about this project moving forward; but immediately disappointed that you literally can't use it from a mobile device

so yes, the key criticism that I have is the "lack of wallet support" .. i just don't see this going anywhere (aka building support and traction), UNLESS "regular" wallets (Bitcoin.com would be the most beneficial) also commit to supporting the required OpCode needed.. I in NO WAY wish to discourage, but only to heavily stress that this become a PRIORITY, along with all the other hard-work going into this project

But you have to start small. While I'm not part of this team pushing this, I am very happy that they do and I fully support this effort.

I agree 100%, starting small/simple is best .. and I also 100% support this effort .. I'm writing code as we speak ;-)

$ 0.10
4 years ago

It's an MVP. Better UX is on the roadmap. But for MVP we are constrained by wallet features. Electron Cash is the only wallet that allows us to create the pledges in a manner we need to fulfill the assurance contract.

$ 0.00
4 years ago

Indeed there is, we are just under intense time pressure. Better things will be iterated in.

$ 0.00
4 years ago

we are just under intense time pressure.

i don't understand what you mean .. ru referring to the IFP shitstorm, or something else??

$ 0.00
4 years ago

The IFP shitstorm. Whatever solution we build needs to be built with averting the disaster in mind.

$ 0.00
4 years ago

Whatever solution we build needs to be built with averting the disaster in mind.

I AGREE 1000% .. NO FORKING .. especially NOT right before the next BULL MARKET starts

$ 0.50
4 years ago

But for MVP we are constrained by wallet features.

My new mobile, web wallet (Nito.cash) is almost ready for "public" testing .. I don't know much about OpCodes, but I understand you need ANYONECANPAY for this to work..

Fortunately, BITBOX supports that hashType; so at the very least, I'll make sure Nito.cash is compatible with sending to Flipstarter campaigns..

do you have a SAMPLE/TEST campaign somewhere that I could reference?

$ 0.50
4 years ago

Are you on telegram or keybase? Please contact me and let's talk about it. That would be awesome to have support for it in a wallet.

$ 0.00
4 years ago

Are you on telegram or keybase?

unfortunately not either .. i use Slack extensively if you want to live chat, or perhaps we can dm via Twitter for now https://twitter.com/ShomariPrince

That would be awesome to have support for it in a wallet.

https://nito.cash could be ready by next week, its really just the Android stuff that I have to smooth out, its working pretty well on iOS already .. repo is public now too https://github.com/modenero/nito-cash

$ 0.00
4 years ago