OpenZeppelin / openzeppelin-contracts

OpenZeppelin Contracts is a library for secure smart contract development.
https://openzeppelin.com/contracts
MIT License
24.96k stars 11.8k forks source link

PAC Fundraising #502

Closed westurner closed 5 years ago

westurner commented 7 years ago

Background

Questions

Objectives

kowmung commented 7 years ago

Yes please!

I am trying to get a simple raise funds contract working

On 16 October 2017 at 13:21, Wes Turner notifications@github.com wrote:

  • Is Civic PAC fundraising similar to e.g. a Crowdsale or a CappedCrowdsale or something else entirely?
  • Would it be worth maintaining an additional contract with terminology that campaigns can understand; or a terminology map?

Raise funds

Raise funds up to a cap

Optionally refund if the cap is not met

Optionally change the cap midstream

Optionally cancel for a specified string and/or URL reason

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OpenZeppelin/zeppelin-solidity/issues/502, or mute the thread https://github.com/notifications/unsubscribe-auth/Ae2b3JoaLxGmxtQ32qR2jXuzrr31r923ks5ssr3EgaJpZM4P6AVt .

come-maiz commented 6 years ago

Hey @westurner, are you still interested in moving this forward?

westurner commented 6 years ago

Solving for this would be very useful for many people, I think.

I have no current specific need for this functionality.

Exchanges with FDIC protection have it for cash accounts only, AFAIU. FDIC protection is part of the US FEC criteria.

Currently, campaigns may only accept $100 in Bitcoin as an in-kind contribution. Anonymous cash donations are limited to $50.

It is necessary to collect citizenship information for all campaign funding sources.

https://www.coindesk.com/us-elections-watchdog-might-change-its-bitcoin-donation-rules/ (2016)

According to the agenda document, the FEC wants to update how it classifies electronic donations as a whole. It cites one study that showed roughly half of all campaign contributions during the 2012 election were sent either online or by way of email.

IDK what the current status of these rule-making proceedings is.

come-maiz commented 6 years ago

So now we need somebody here who takes the action of implementing all this ideas into contracts.

For things that require more information about investors we have been working with TPL.

westurner commented 6 years ago

https://tplprotocol.org/

"TPL: A Validation System for Secure Peer-to-Peer Exchange" (May 2018) https://tplprotocol.org/pdf/TPL%20-%20Transaction%20Permission%20Layer.pdf

nventuro commented 5 years ago

Closing due to a perceived lack of interest / information regarding what's actually needed.

westurner commented 5 years ago

What additional information about what information is needed does this require?

PAC Fundraisers must track personally identifiable information; PII which probably shouldn't be stored in a blockchain.

An organization must not simply accept anonymous donations.

Can an (Ethereum) smart contact help with this multi-billion-dollar hoopla every 4 years?

TPL and/or an off-chain application that protects personally identifiable information (which, in the USA, is potentially subject to FEC and IRS review) are the best solutions for this that I'm aware of.

Donations must be held in an FDIC-insured account; per the FEC. AFAIU, Exchanges only FDIC-insure USD deposits.

A person can, say, donate a house or other property, though, so an attorney with election expertise may have more information regarding [PAC] fundraising, political campaigns, and cryptoassets

On Friday, March 8, 2019, Nicolás Venturo notifications@github.com wrote:

Closing due to a perceived lack of interest / information regarding what's actually needed.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenZeppelin/openzeppelin-solidity/issues/502#issuecomment-471080221, or mute the thread https://github.com/notifications/unsubscribe-auth/AADGy69QpyFZbFf05XJAgh-FVDnuCObuks5vUtRPgaJpZM4P6AVt .

nventuro commented 5 years ago

@westurner if I'm understanding correctly, this would require a system where people can somehow be identified on the blockchain, which sounds out of scope for the type of contracts OpenZeppelin provides. TPL does indeed seem to be a step in the right direction.