Receiving donations with bitcoin: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Belcher (talk | contribs)
CypherpunkDev (talk | contribs)
Add section on open source, self-hosted donations processors
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
Permissionless donations are a popular and important use-case for bitcoin.
Permissionless donations are a popular and important use-case for bitcoin.


Bitcoin's properties make it well suited for this:
Bitcoin's [[Bitcoin as a medium of exchange|properties]] make it well suited for this:


* Censorship resistant. Nobody can stop or seize transactions being sent or received of any amount.
* '''Censorship resistant'''. Nobody can stop or seize transactions being sent or received of any amount.
* Anonymous/pseudonymous. No real life ID is required to use bitcoin. When used correctly, donations can be sent and received with complete privacy. In contrast with [[PayPal]] where both parties can see each other's full name and address.<ref>[https://ctrlaltnarwhal.wordpress.com/2012/10/21/how-to-dox-anyone/ How To Dox Anybody: "When you have the e-mail of your target, login to PayPal. Transfer .01 USD to the e-mail of your slave. When sent, you will have all of the information on the PayPal account. (Name, address, phone, etc.) "]</ref>
* '''Anonymous/pseudonymous'''. No real life ID is required to use bitcoin. When used correctly, donations can be sent and received with complete privacy. In contrast with [[PayPal]] where both parties can see each other's full name and address.<ref>[https://ctrlaltnarwhal.wordpress.com/2012/10/21/how-to-dox-anyone/ How To Dox Anybody: "When you have the e-mail of your target, login to PayPal. Transfer .01 USD to the e-mail of your slave. When sent, you will have all of the information on the PayPal account. (Name, address, phone, etc.) "]</ref>
* Accessible worldwide. Anybody can use bitcoin as long as they have access to the internet, including people who don't have bank accounts or otherwise have access to financial infrastructure.
* '''Accessible worldwide'''. Anybody can use bitcoin as long as they have access to the internet, including people who don't have bank accounts or otherwise have access to financial infrastructure.
* Potentially transparent. If set up this way, all donations can be publicly seen, which may be useful for accountability. Donations can also be completely private if desired.
* '''Potentially transparent'''. If set up this way, all donations can be publicly seen, which may be useful for accountability. Donations can also be completely private if desired.
* Division of control. Bitcoin's [[Multisignature]] feature allows several people can be custodians together. This could potentially make it harder for one person to embezzle funds.
* '''Division of control'''. Bitcoin's [[Multisignature]] feature allows several people can be custodians together. This could potentially make it harder for one person to embezzle funds.
* Good uptimes. Bitcoin works 24 hours a day.
* '''Good uptimes'''. Bitcoin works 24 hours a day.
* '''Quick setup'''. You can start accepting bitcoins instantaneously, without setting up merchant accounts, buying credit card processing hardware, etc, because bitcoin wallets are software that you simply download and install.


==Setting up bitcoin donations guide==
==Setting up bitcoin donations guide==


Newb bitcoin users can just download and install [[Electrum]] and follow the instructions to create a bitcoin wallet. Intermediate or expert users should consider using a [[Full node ]]wallet.
Newb bitcoin users can just download and install [[Electrum]] (or another lightweight wallet) and follow the instructions to create a bitcoin wallet. Intermediate or expert users should consider using a [[Full node ]]wallet.


Once they have set up the wallet, users can obtain a [[Address|bitcoin receive address]] and simply publish it somewhere on the internet; for example their website, twitter profile, forum signature, github README page, graffitied on walls, etc, perhaps along with [[promotional graphics]]. The wallet software can be used to monitor donations and spend them if enough have collected.
Once they have set up the wallet, users can obtain a [[Address|bitcoin receive address]] and simply publish it somewhere on the internet; for example their website, twitter profile, forum signature, github README page, graffitied on walls, etc, perhaps along with [[promotional graphics]]. The wallet software can be used to monitor donations and spend them if enough have collected.
Line 20: Line 21:
==Divided control wallets using [[multisignature]]==
==Divided control wallets using [[multisignature]]==


In some situations Bitcoin's [[multisignature]] contracts may be useful. They work by creating a wallet divided amongst N people where a minimum of M of the must agree to actually spend the money. These M-of-N multisignatures wallets could help again embezzlement if that is a problem. They can also increase security as one person being hacked or infected with malware doesn't result in lost coins, also if one or two people lose interest the project's donations do not become stuck.
In some situations Bitcoin's [[multisignature]] contracts may be useful. They work by creating a wallet divided amongst N people where a minimum of M of the must agree to actually spend the money. These M-of-N multisignatures wallets could help against embezzlement if that is a problem. They can also increase security as one person being hacked or infected with malware doesn't result in lost coins, and if one or two people lose interest the project's donations do not become stuck. People may be more willing to donate to a project if they know the funds are much less likely to go straight into someone's pocket.


[[Electrum]] can create multisig wallets. See also: [[Multisignature#Multisignature_Wallets]]
[[Electrum]] can create multisig wallets. See also: [[Multisignature#Multisignature_Wallets]]


==Avoiding address re-use to improve privacy==
== Improving censorship-resistance and privacy by avoiding address-reuse ==


Publishing a single donation address is an example of [[Address_reuse]], which is bad for privacy as all the transfers to and from that address are visible to everybody on the blockchain. In some situations this public visibility may be good for accountability, making this one of the only times when address re-use may be useful.
Publishing a single donation address is an example of [[address reuse]].


To avoid this [[Address reuse|reuse]], you could set up a web server to hand out unique addresses with a 'click to generate new address' button along with a recaptcha to prevent it getting crawled. When using a static donation address, its also worth taking measures to stop being tracked from it (with a mixer, see [[Anonymity]]) in the situation when you're not using a unique address each time.
Regulated bitcoin exchanges might one day be required by law to block transfers to your donation address, but this becomes impossible if you give a brand new address to each donator.


==Using payment processors==
The transfers to and from that single [[address]] are visible to everybody. Anybody can put the bitcoin address into a blockchain explorer and see every single transaction to and from the donation address. So privacy is completely ruined.


Some payment processors offer a donations-receiving service. Some of them can convert immediately to USD or another fiat currency. A big downside is this loses many of the advantages of bitcoin from above like censorship resistance and anonymity, but it may still be appropriate in some situations.
Because of this [[address reuse]] is best avoided. An easy way to do that is to set up an instance of the [[BTCPay]] open source payment processor. Another way is to code a simple solution yourself which gives a brand new address to each visitor, optionally when they click a `generate new address` button along with a recaptcha to prevent it getting crawled. When avoiding [[address reuse]] be aware of the possibility of [[Mystery shopper payments]] as a privacy attack.


See also [[Why_Your_Business_Should_Use_a_Full_Node_to_Accept_Bitcoin]], written for businesses but much of it applies to donations too.
==Using centralized payment processors==
 
Some centralized payment processors offer a donations-receiving service. Some of them can convert immediately to USD or another fiat currency. A big downside is this loses many of the advantages of bitcoin from above like censorship resistance and anonymity because the payment processor may block payments, but they may still be appropriate in some situations.
 
See also: [[Why Your Business Should Use a Full Node to Accept Bitcoin]], written for businesses but much of it applies to donations too.
 
==Using open source, self-hosted payment processors==
 
A better solution is to use open source payment processor running on your own server.
 
Example open source payments / donations processors include [[BTCPay]], [[CypherpunkPay]], LnMe, One-Time-Address, or SatSale.


==Examples of real-life use==
==Examples of real-life use==


One of the very first uses of bitcoin was by Wikileaks to accept donations after Paypal and Visa imposed a worldwide blockade. <ref>[https://www.reddit.com/r/technology/comments/2ghp54/i_am_julian_assange_ama_about_my_new_book_when/ckjcmyw/?context=1 Julian Assange's comment reply on reddit AMA about Bitcoin and Wikileaks]</ref>. Their website has a 'generate new bitcoin address' button for improved privacy.
One of the very first uses of bitcoin was by Wikileaks to accept donations after Paypal and Visa imposed a worldwide blockade. <ref>[https://www.reddit.com/r/technology/comments/2ghp54/i_am_julian_assange_ama_about_my_new_book_when/ckjcmyw/?context=1 Julian Assange's comment reply on reddit AMA about Bitcoin and Wikileaks] [https://archive.is/5DyMt archived]</ref>. Their website has a 'generate new bitcoin address' button for improved privacy.


Thepiratebay torrent site accepts bitcoin donations too, as do some torrent uploaders.
Thepiratebay torrent site accepts bitcoin donations too, as do some torrent uploaders.


Tails OS (The Amnesic Incognito Live System) project accepts bitcoin donations, as does GIMP (GNU Image Manipulation Project) and Rasterbator (wall art generator).
Tails OS (The Amnesic Incognito Live System) project accepts bitcoin donations, as does GIMP (GNU Image Manipulation Project) and Rasterbator (wall art generator).
Sci-hub is a website that allows firewall-free access to scientific papers. It used to accept donations via centralized payment processors such as PayPal. Now it only accepts Bitcoin, presumably to avoid banking blockades or government seizure.


Sometimes gamers, streamer and tournament organizers accept bitcoin, for example for prize money.
Sometimes gamers, streamer and tournament organizers accept bitcoin, for example for prize money.


Within the bitcoin community itself, donation addresses are sometimes used to fund projects. For example [https://bitcointalk.org/index.php?topic=279249.msg2983911#msg2983911 the coinjoin bounty] which uses [[Raw Transactions]] to create a multisig address, most users should not attempt this but use wallet software instead.
Within the bitcoin community itself, donation addresses are sometimes used to fund projects. For example [https://bitcointalk.org/index.php?topic=279249.msg2983911#msg2983911 the coinjoin bounty] which uses [[Raw Transactions]] to create a multisig address. Most users should not attempt to use raw transaction this but should use wallet software instead in line with this tutorial.




Line 56: Line 69:
File:Rasterbator-donation-screenshot.png|Rasterbator
File:Rasterbator-donation-screenshot.png|Rasterbator
File:Zeroempires-aoczone-donation-screenshot.png|Zeroempires gaming streamer
File:Zeroempires-aoczone-donation-screenshot.png|Zeroempires gaming streamer
File:Sci-hub-donation-screenshot.png|Sci-hub
</gallery>
</gallery>
Also [https://www.reddit.com/r/Bitcoin/comments/afj1dy/a_twitch_streamer_that_plays_runescape_was/ this runescape streamer received 20btc in January 2019]


==References==
==References==

Latest revision as of 09:46, 1 July 2021

Permissionless donations are a popular and important use-case for bitcoin.

Bitcoin's properties make it well suited for this:

  • Censorship resistant. Nobody can stop or seize transactions being sent or received of any amount.
  • Anonymous/pseudonymous. No real life ID is required to use bitcoin. When used correctly, donations can be sent and received with complete privacy. In contrast with PayPal where both parties can see each other's full name and address.[1]
  • Accessible worldwide. Anybody can use bitcoin as long as they have access to the internet, including people who don't have bank accounts or otherwise have access to financial infrastructure.
  • Potentially transparent. If set up this way, all donations can be publicly seen, which may be useful for accountability. Donations can also be completely private if desired.
  • Division of control. Bitcoin's Multisignature feature allows several people can be custodians together. This could potentially make it harder for one person to embezzle funds.
  • Good uptimes. Bitcoin works 24 hours a day.
  • Quick setup. You can start accepting bitcoins instantaneously, without setting up merchant accounts, buying credit card processing hardware, etc, because bitcoin wallets are software that you simply download and install.

Setting up bitcoin donations guide

Newb bitcoin users can just download and install Electrum (or another lightweight wallet) and follow the instructions to create a bitcoin wallet. Intermediate or expert users should consider using a Full node wallet.

Once they have set up the wallet, users can obtain a bitcoin receive address and simply publish it somewhere on the internet; for example their website, twitter profile, forum signature, github README page, graffitied on walls, etc, perhaps along with promotional graphics. The wallet software can be used to monitor donations and spend them if enough have collected.

If the donations are particularly small, users should read the page on How to cheaply consolidate coins to reduce miner fees.

Divided control wallets using multisignature

In some situations Bitcoin's multisignature contracts may be useful. They work by creating a wallet divided amongst N people where a minimum of M of the must agree to actually spend the money. These M-of-N multisignatures wallets could help against embezzlement if that is a problem. They can also increase security as one person being hacked or infected with malware doesn't result in lost coins, and if one or two people lose interest the project's donations do not become stuck. People may be more willing to donate to a project if they know the funds are much less likely to go straight into someone's pocket.

Electrum can create multisig wallets. See also: Multisignature#Multisignature_Wallets

Improving censorship-resistance and privacy by avoiding address-reuse

Publishing a single donation address is an example of address reuse.

Regulated bitcoin exchanges might one day be required by law to block transfers to your donation address, but this becomes impossible if you give a brand new address to each donator.

The transfers to and from that single address are visible to everybody. Anybody can put the bitcoin address into a blockchain explorer and see every single transaction to and from the donation address. So privacy is completely ruined.

Because of this address reuse is best avoided. An easy way to do that is to set up an instance of the BTCPay open source payment processor. Another way is to code a simple solution yourself which gives a brand new address to each visitor, optionally when they click a `generate new address` button along with a recaptcha to prevent it getting crawled. When avoiding address reuse be aware of the possibility of Mystery shopper payments as a privacy attack.

Using centralized payment processors

Some centralized payment processors offer a donations-receiving service. Some of them can convert immediately to USD or another fiat currency. A big downside is this loses many of the advantages of bitcoin from above like censorship resistance and anonymity because the payment processor may block payments, but they may still be appropriate in some situations.

See also: Why Your Business Should Use a Full Node to Accept Bitcoin, written for businesses but much of it applies to donations too.

Using open source, self-hosted payment processors

A better solution is to use open source payment processor running on your own server.

Example open source payments / donations processors include BTCPay, CypherpunkPay, LnMe, One-Time-Address, or SatSale.

Examples of real-life use

One of the very first uses of bitcoin was by Wikileaks to accept donations after Paypal and Visa imposed a worldwide blockade. [2]. Their website has a 'generate new bitcoin address' button for improved privacy.

Thepiratebay torrent site accepts bitcoin donations too, as do some torrent uploaders.

Tails OS (The Amnesic Incognito Live System) project accepts bitcoin donations, as does GIMP (GNU Image Manipulation Project) and Rasterbator (wall art generator).

Sci-hub is a website that allows firewall-free access to scientific papers. It used to accept donations via centralized payment processors such as PayPal. Now it only accepts Bitcoin, presumably to avoid banking blockades or government seizure.

Sometimes gamers, streamer and tournament organizers accept bitcoin, for example for prize money.

Within the bitcoin community itself, donation addresses are sometimes used to fund projects. For example the coinjoin bounty which uses Raw Transactions to create a multisig address. Most users should not attempt to use raw transaction this but should use wallet software instead in line with this tutorial.


Also this runescape streamer received 20btc in January 2019

References