Skip to content

Instantly share code, notes, and snippets.

@Piste
Last active October 10, 2016 03:09
Show Gist options
  • Save Piste/c337311cc5db19455a4a29016b9497c1 to your computer and use it in GitHub Desktop.
Save Piste/c337311cc5db19455a4a29016b9497c1 to your computer and use it in GitHub Desktop.
No-commitment smart contract-backed organic pool of funds

How much would you give if I told you that we can pool money together for our mutual benefit?

No commitment, you can withdraw your share - along with the proceeds so far - whenever you want. Participate at the level you desire. $5 is good. $5M works too. We can use the money that we put together to invest in an interest-bearing savings account. Or we can buy bonds, stocks, real estate. We can invest in companies. Or we could create and help emerging companies. Let’s say a friend of ours has a terrific idea. We all agree that he has the drive, the vision and the expertise to become very successful. All he needs is $5,000. If we pool our money together we can help him and we can invest in his company. If he is successful, so are we.

How does it work when it is just two or three people?

v.0

We design a smart contract that will indicate that any of us can retract their share at any time - let us allow for a month-worth of delay for settlement. We both lock money in the contract in the form of Ethereum currency. So far not much can happen. We can just bundle our money together and just take it back. We are going to incur a small conversion fee in the process. No profits.

v.0.1

I offer that we sign another contract, based on the previous version but with some modifications. A fork. These modifications are open and transparent. Anyone can read them on the code repo. Part of my submitting the change to the participants means that the burden is on me to explain all changes to the contract. If you are not interested in signing this new contract, you are welcome to stay on the current version. With the changes that I propose one can now unlock some or all funds to an executant (I offer to be one) that will use these funds as agreed upon in the contract. My first offer will be to - say - create a savings account and send most of our funds in the form of USD to that account.

v.0.2

Another person shows interest in the project and wants to participate. We write a new contract for the three of us and all lock the new participants’ funds into the new contract. This requires that the new contract inherits the funds (that are locked in some activity already) and prior agreements from the previous contract. This third participant has an idea for better use of our common funds. She submits an amendment to the contract that is going to empower her to use the funds as is necessary. When profits are made they are reallocated proportional to the amount of ETH locked in the contract.

In the future

Thinking big, if enough people participate, the power of this money can have great impact. For example participants in the fund can decide to shun polluting energy companies and instead invest in bleeding edge, promising solar power companies or installations. Eventually the fund(s) could grow to become an entity at planetary scale, beyond borders. Such resources could be spent to research solutions to mankind’s bigger problems. Anything that benefits the stakeholders.

web of trust

As friends of friends join the fund, more money accumulate and more investing avenues open. More creativity is unleashed and more contract ideas burgeon. These make it to participants who can review and vote by jumping on the new contract version. In order to graduate to a larger population we will need to build new mechanism into the fund

How does this work when there are 100 or 100,000 people participating?

As all mechanisms and the history of contracts are open sourced, publicly documented, anyone can audit the decisions that were made in the past and take a look at the track record. When we reach this scale we hope to have solved issues that pertain to anonymity of the crowd and hostile takeovers. Signing up for the fund will be seamless and automated. We want to make this fund accessible to anyone at any level of participation. Since anyone can join and leave the fund at any time, the risks remain low for new entrants.

Some basics

The first iterations of the contract should focus on the safety of the fund. One such measure would be to offer the definition of beneficiaries in case one of the participants were to disappear.

How do we make decisions?

At first it’ll be a handful of people making decisions. 1-10 people can agree on how the fund is used. The contracts are written as a follow up to discussions. When we are 10-100 people, the proposals will be distributed by people with ideas and the people interested in the ideas can decide to join or ignore new contracts. Contract versioning can become an issue. Beyond this scale we will need to establish representation and allowing “power of attorney”.

Challenges & Risks

How do we all benefit?

Making profit, at first. A few dollars from the interest rate here and there. Later when the fund receives more attention, we could get access to other financial vehicles, to bigger targets. Eventually these evolved contracts become a way to allocate resources for projects that make sense to the community. I would like to consider this fund my retirement money. I want it to make my life better. It should make all of our lives better. Not just money-wise.

Fraud

In the early days, fraud prevention will happen organically, reinforced by the web of trust that is created by degrees of connection. Later on, we will have to stay alert and iterate wisely, introducing new features with a focus on safeguarding the progress so far

How to weigh the decision making process?

Does one participant get one token? Or do you vote with your funds, meaning someone who brought $100,000 has 10x the decision power of someone who brought $10k? I like both. In the former, we all get to make a choice on an even-playing field. But this removes the incentive to place any more money than the average participant. The growth becomes strictly linear. In the latter, you Maybe the solution is to go by orders of magnitude. Anyone who brings 1-9 ETH has 1 token. If you bring 10-99 ETH, you have 2 tokens. 100-999 ETH gives you 3 tokens. This way there is an advantage to being much richer than the rest of the pool but it is not a big imbalance. Do we need unanimity to use the funds? No we don’t but the people who decided against an idea that receives the majority of the votes will remain on the old contract. The old contract is still valid it just holds a lot less money now.

FAQ

Q: why not just put my money in Wealthfront?

A: Wealthfront/Betterment offer automated investment in the form of a basket of ETFs. These are financial instruments and these companies do not offer the chance to invest in early funding of startups or send money to charitable work for example. Together we are stronger.

Q: what if one guy comes with $1M when everyone is at 20-30k and he says let’s give the whole funds to this contractor, my cousin?

A: this person would only have 2 tokens for vote, he would not overpower the whole decision process.

Q: Why do you share this publicly? Wouldn’t it make more sense to keep it to yourself and profit with your buddies?

A: Quite contrarily I want this concept to be understood by as many people as possible. And I would be honored if people fork this idea and make it their own. And if they are more successful than we are then maybe they’ll see some of my money too.

Q: How are you going to ensure that anyone can withdraw their fund at any time?

A: Until you decide to allocate your money in some projects, the funds are free to withdraw. When you get onboard with a certain contract, you will have to accept all rules of the projects, including terms and schedules.

Q: how will you make sure that, for example, stock dividends are distributed to all participants that held the funds for enough time to qualify. Or in the case of holding a treasury note, that coupons are distributed to only participants that were there when the bond was acquired?

A: This sounds like a nightmare. But probably doable with a child smart contract that participants engage in with some of their funds.

Next steps

  • Acquire smart contract knowledge, proof concepts explained here can be applied
  • Write a v.0 contract, then a v.0.1

Note

Maybe this cannot scale and needs to stay at <100 participants. In which case there could be many of these groups.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment