Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cryptocurrencies #1994

Open
Changaco opened this issue Apr 8, 2021 · 64 comments
Open

Cryptocurrencies #1994

Changaco opened this issue Apr 8, 2021 · 64 comments
Labels
discussion issues that are undecided or for which feedback is invited

Comments

@Changaco
Copy link
Member

Changaco commented Apr 8, 2021

I think it's time to close the discussions about specific cryptocurrencies (#364, #567, #1375) and replace them with a discussion of cryptocurrencies in general, because I don't think adding support for only one cryptocurrency would be a good thing, and because there is a fundamental question that needs to be answered: should Liberapay support cryptocurrencies at all?


To avoid some of the confusion seen in previous issues, I want to clarify that adding support for cryptocurrencies means for example being able to donate a specific amount of (milli)bitcoins. It doesn't mean having an option to “Pay with Bitcoin” alongside “Pay by card” and “Pay with PayPal” as if Bitcoin was merely another payment method.

I also want to remind everyone that in order to avoid legal issues Liberapay can't hold any funds. Supporting cryptocurrencies doesn't mean getting involved in cryptocurrency networks, it only means facilitating cryptocurrency transfers, and confirming them by looking at the public ledger.

@Changaco Changaco added the discussion issues that are undecided or for which feedback is invited label Apr 8, 2021
@MagicFab
Copy link

MagicFab commented Apr 8, 2021

Why close the other issues ? They all depend on this discussion then, but don't close them.

Implementing all crypto currencies at once (or even "too many") is not realistic, it only makes sense to work on this progressively, instead of just declaring them all as equals and just hoping everyone would agree here. What is "implementing" ? In some cases it's just the ability to publish an address, a QR code, a URL, not much more.

Surely you'd want the discussion to start on good terms. Let's start with transparency and not closing issues arbitrarily.

@lullis
Copy link

lullis commented Apr 8, 2021

Hey @Changaco, thanks for clearing things up here.

I think that it's easy to make the argument that liberapay should support cryptocurrencies. It would vastly simplify the story for people that want to make small contributions to many different people, it will be a huge differential of Liberabay vs other patronage/sponsorships platforms and it can reduce friction for a lot of developers seeking funding to work on side-projects but do not have the time/resources to comply with all the requirements from Stripe/Paypal.

Also, +1 on the idea that the system should not be specific to one currency. There might be some different implementation details depending on project (e.g, Bitcoin does provide a way for untrusted parties to generate addresses without having direct access to the funds or wallet private keys, while Ethereum does not), but the mechanism for both patrons and members should be similar.

If I were to start working on this, how should I go about it? I envision a system where:

  • lp runs an instance of BTCPayServer which is a non-custodial payment gateway so that users would register their own xpub keys. This would cover payments with all the currencies support by BTCPayServer (Bitcoin, Monero, and many other altcoins ). BTCPayServer also supports Lightning Network for instant and virtually fee-less transfers

  • For Ethereum, which I am more experienced on, I would recommend a system where users can provide their Ethereum addresses and indicate if are able to receive payments in any of those "Layer-2" systems. Raiden Network is the Ethereum analog to Lighning, and I am also getting more familiar with Loopring as a system to accept payments. This would also enable lp to facilitate payments without ever touching any of the funds transfered.

@MagicFab
Copy link

MagicFab commented Apr 8, 2021

@lullis you mean like I suggested almost 2y ago ? This will go nowhere, meanwhile at least we can all add links/QR codes to whatever we need in our own websites. I submit it's a waste of time going into endless discussions here but I predict it will continue.

@lullis
Copy link

lullis commented Apr 8, 2021

Two years is a looooong time in crypto. Also, it seems to me that the most important thing that lp is not even about being able to process the payments, but only to be able to track the payments that happened between users.

They don't even need to setup an instance of BTCPayServer. They could simply allow users to provide a list of addresses that belong to them, and then to setup a set of block explorer that looks for transfers between users so that it can be included in the stats. This way they can say they "support" crypto payments without any major work and still contribute to the network effects.

@revi
Copy link
Member

revi commented Apr 9, 2021

I believe cryptocurrency is waste of electricity (and thus harm to the Earth) and computing resources, and should be deprecated (or simply forgotten). I do not support any coin addition. Just my 2 cents.

EDIT: I am not willing to change my opinion whatever comment you leave to me, so don't waste your time writing something to me.

@lullis
Copy link

lullis commented Apr 16, 2021

@revi, this kind of argument is counter-productive. Lots of cryptocurrency projects do not involve blockchain based on proof-of-work consensus algorithms and Ethereum is on track with their work to move to a more energy-efficient system in the next two years. Cryptocurrencies are being used by millions of people worldwide to escape corrupt institutions, protect their wealth from being inflated away by bad monetary policy or simply don't have access to the global economy via the existing banks. Being against cryptocurrency in general is being against freedom.

Back to the discussion at hand: @Changaco, I am starting to believe that maybe an easier and more general approach would be to have a third-party service that can do the tracking of payments in the blockchain and Liberapay would integrate this, just like it is currently done with Paypal with Stripe. That would be an alternative that would add "cryptocurrency support" to the feature-list of liberapay and keep it free from any potential liability. The main issue is that such a service, AFAIK, does not yet exist in a currency-agnostic way.

This is also an alternative that I'd be interested in contributing, but I'd like to know if there is significant interest on your part to integrate this service once it is usable. Would Liberapay be interested in co-sponsoring this somehow? No big commitment requirement, but just something to put some skin in the game. If LP agreed to fund at cover at least the hosting costs (~50€/month), I'd take that as a signal of interest and would start working on this service.

@trebmuh
Copy link
Member

trebmuh commented Apr 16, 2021

I think revi's argument is a valid one which need to be thought/discussed/assessed.

Being against cryptocurrency in general is being against freedom.

This type of argument is very wrong if your goal is to discuss. By making this statement, you're pushing all people who are against cryptocurrencies, or people who are not 100% sided about this topic, to the "you're against freedom" corner. This is definitely not a good way to open and accept discussions. Not to mention it doesn't deserve the cause of crypto-currencies adoption.

By the way, another argument to be taken into consideration is that as far as of now, cryptocurrencies have been and are used a lot for currencies speculation (which create another "web bubble"). It's still to be proven that crypto currencies are improving significantly the real economies.

@lullis
Copy link

lullis commented Apr 16, 2021

@trebmuh , the one sentence you picked out of the whole paragraph was more rhetorical than argumentative. The actual core of paragraph that does provide an argument, you chose to ignore. This is also not the way to have a constructive discussion.

You pointing out about speculative uses of crypto projects is also a strawman. There are many blockchain projects that aim to provide stablecoins, i.e, tokens that are pegged to the American Dollar or the Euro while allowing anyone in the world to have a source of income in stronger currency without being interested in speculation.

Furthermore, you being against the adoption of cryptocurrency by Liberapay on the basis of "it's used only for speculation" is a sort of catch-22. If no one is willing to adopt crypto for more "legitimate" use-cases, then of course all it will be used by is speculators. The best way to have better use cases for cryptocurrencies beyond speculation is by adopting it in projects which can give it more utility, not by dismissing it entirely.

In any case, I really don't want to be dragged into a discussion about the merits of cryptocurrencies, as it would be beyond pointless. I'm here to discuss about the feasibility of its adoption by liberapay and the potential paths for its implementation.

As one data point, I'm a software developer that would like to work on open source projects and I would welcome any sort of contributions made with crypto as well as the more traditional methods. Right now there is no such service that provides that. You have either patreon-style systems which involve credit cards (and hefty fees) or you have gitcoin-style (work-for-crypto) systems. I believe that Liberapay has what it takes to make a successful blend of these two models and would gain a lot from it.

@trebmuh
Copy link
Member

trebmuh commented Apr 16, 2021

So, we disagree.

It looks to be hopeless to try to discuss with you more than that here since you seems to try to engage in a rhetorical fight. I've got no time to spend for that. Sorry.

My point of view is already written here and the 2 of the main arguments of why that are explained also (too much electricity and too much speculative).

PS :

@trebmuh , the one sentence you picked out of the whole paragraph was more rhetorical than argumentative.

Yes, absolutely, because from what I'm concern of, this one sentence only (quote: Being against cryptocurrency in general is being against freedom) does disqualify the whole of it by itself.

@lullis
Copy link

lullis commented Apr 16, 2021

I am failing to see where I didn't address your raised concerns:

  • "Too much electricity" -> Even if we accept this as true for Bitcoin, this argument is not valid for all crypto projects.
  • "Too speculative" -> there are projects involving crypto where the tokens are pegged to currencies like USD and EUR, and that would be useful to be used as currency regardless. (as in, people all around the world would be able to receive contributions in USD/EUR and not lose due to conversion/inflation/exchange rates).

@trebmuh
Copy link
Member

trebmuh commented Apr 16, 2021

  1. which cryptocurrency(ies) is(are)n't using much electricity? (link(s) please)
  2. same about non-speculative(s) one(s)

@lullis
Copy link

lullis commented Apr 16, 2021

which cryptocurrency(ies) is(are)n't using much electricity?

Any project that is not based on Proof-of-Work for its consensus algorithm: Stellar is already running, Cardano also already has its own coin with a multi-billion market cap, and Ethereum is on its way to move to Proof-of-Stake

same about non-speculative(s) one(s)

I sent the link already already DAI, which is a project from MakerDao, but there are also USDC, Synthetic USD and Synthetic Euro from Synthetix, as well as EURS. I can also point you to projects that have cryptotokens pegged to the Brazilian Real if you want...

@Changaco
Copy link
Member Author

Changaco commented May 8, 2021

I am starting to believe that maybe an easier and more general approach would be to have a third-party service that can do the tracking of payments in the blockchain and Liberapay would integrate this, just like it is currently done with Paypal with Stripe.

Integrating Coinbase as a third payment processor is indeed a possibility.

I believe that Liberapay has what it takes to make a successful blend of these two models and would gain a lot from it.

I don't share these beliefs. All the evidence I'm aware of supports the opposite conclusion: adding support for cryptocurrencies doesn't generate any significant gain. Stripe used to support Bitcoin, but they dropped it. Open Collective added support for Bitcoin several years ago, but if I remember correctly they later admitted that it wasn't a success, and I don't know if they still support it. Bountysource was acquired by a crypto company and added support for crypto bounties, but that hasn't helped it grow.

@ghost
Copy link

ghost commented May 12, 2021

I like to add this to the discussion. Let's think of this (hypothetical!) scenario:

I am privacy and liberty seeking person, who is oppressed by an authoritative regime. In my situation Bitcoin brings salvation to me. It allows me to preserve my economical power and to preserve my basic human rights.


I think adding Bitcoin is not about "grow". It is about helping to liberate the oppressed. I also think this view is well aligned with FOSS principles.

I also warn against adding every shitcoin. They rather die quickly and I think it is a waste of resources to try to support them. Bitcoin is the only real store-of-value in this space and its ecosystem provides tooling (Lightning Network) for fast and cheap transactions.


Technically, there are some issues to be considered:

  1. on-chain Bitcoin can have really high fees (can be solved by using 2nd Layer like Lightning Network)
  2. there are no automatic recurring payments (can be workaround-ed by generating invoices and regularly send them to the donors email to fulfill)

@t-900-a
Copy link

t-900-a commented May 19, 2021

Better off forking and developing a cryptocurrency only version of liberapay.

From what I've seen of the liberapay team; their political leanings impact their ability to think rationally about this topic.

@Magess
Copy link

Magess commented May 30, 2021

I think integrating with Stellar could help with your cross-country payments issue. The more anchors that get added to Stellar, which are on-off ramps for fiat currencies, the more currencies you can naturally support. Stellar has something called path payments, where you can specify the start and end currencies for a transaction and the network will figure out the best path there. Stellar uses less electricity per transaction that Visa, and theoretically you could limit payments to only using fiat stablecoins. The fees are negligible (and paid in XLM. One XLM is currently $.40 and enough to fuel hundreds of transactions.)

Today there are anchors for: USD, EUR, Tanzania Shilling, Nigerian Naira, Argentine Peso, Chinese Yuan, South African Rand, and Cuban Pesos,

I've only used the USD one, but cross-border transactions is literally the reason Stellar exists, so I would imagine it would only get better with time. Could be worth looking into.

Other blockchains that could be interesting because they are actively carbon negative: Algorand and Celo. But then you'd be looking at more normal cryptos that fluctuate with market values and not just stablecoins.

@12people
Copy link

12people commented Jun 6, 2021

With regard to Algorand, it's worth noting that it's patent-encumbered, with the patents only being provided for those that use its original code or that pay up. (Kind of like how Oracle lets you use Java APIs only if you use their GPL-licensed code, but sues those making alternative implementations.) This goes against free software principles.

That said, there are other proof-of-stake projects with massive followings that would be suitable here, like Cardano or Ethereum 2.0. While both are works in progress, the final result is estimated to be 100x+ more energy efficient than Bitcoin.

@12people
Copy link

12people commented Jun 6, 2021

As for stability, if the developer gets the power to determine whether they receive crypto payments and for which currencies (just like now with regular fiat), then I don't see the issue. The potential risk is up to the developer to decide.

I would personally prefer to get donations in my crypto of choice.

@12people
Copy link

12people commented Jun 6, 2021

Lastly, it's worth noting that a big use case for cryptocurrencies are third world countries.

They're being increasingly used in countries like Venezuela (where even local businesses like Pizza Hut support them!). The local inflation and the sanctions are so bad that crypto tends to be a good stable choice in comparison.

And there are initiatives to bring crypto to places that don't have traditional banking services. That's one of the goals behind the growing field of decentralized finance (or "defi" for short) — providing these services to those who otherwise couldn't access them. Going forward, adding crypto support could be a huge boon for developers from these third world countries.

I agree that ecological harm is absolutely an issue that should't be taken lightly. Fortunately, the cryptocurrencies that defi runs on generally either use the efficient proof-of-stake mechanism or are planning to migrate to it. (Currently, defi services are largely built on top of Ethereum, which is undergoing this migration right now.)

@Changaco
Copy link
Member Author

Open Collective is trying crypto again. Quote from Open Collective Roadmap Update (Mid-May to July):

Priorities for Mid-May to July

Accepting Crypto Contributions

Open Collective supports contributions in all fiat currencies through our payment providers Stripe and Paypal, but we have been conservative with our support for cryptocurrencies.

A lot is happening in the cryptocurrency market at the moment and we understand that crypto' can be a polarising subject. So we wanted to make our rationale clear: Open Collective exists to provide communities with a way to access the financial system and we believe that cryptocurrencies are a part of that financial system.

That said, we are concerned about both the impact of some cryptocurrencies on the climate and the risk of using cryptocurrencies as a store of value. For now we will not add support for holding a balance in cryptocurrencies, nor will we add support for paying expenses and invoices using cryptocurrencies. Instead we will immediately settle contributions made to Collectives in the fiat currency of the Collective.

Goal: implement a checkout in BTC or ETH for all collectives on OSC, preferably settling immediately into the host currency.

@proudmuslim-dev
Copy link

proudmuslim-dev commented Sep 19, 2021

I believe cryptocurrency is waste of electricity (and thus harm to the Earth) and computing resources, and should be deprecated (or simply forgotten). I do not support any coin addition. Just my 2 cents.

@revi You seem to be uneducated on the topic; while I certainly agree that the energy consumption of many currencies out there is a problem, steps are being taken by various currencies to remedy this. As for computing resources, I can hardly agree that crypto wastes those. Verifiable, fast transactions on a public ledger with no intermediary? Find me a better system. As for your comment on how you believe that they should just be forgotten, that's a pipe dream at this point- just look at the interest around the globe from individuals, governments, and institutions. El Salvador has made Bitcoin legal tender, for God's sake.

tl;dr: Energy consumption is a solvable issue, the computing resources are not wasted, and it doesn't matter if you think it should be forgotten, because it won't.

Apologies if I offended you at any point, I just felt the need to point these things out to you

@ZelphirKaltstahl
Copy link

It is funny, how there is always a next thing, that will "fix crypto currencies", but so far nothing has, while energy usage is through the roof. We actually got real problems to solve, which directly depend on saving energy wherever we can. All the while crypto fanboys step forward to defend crypto currencies. El Salvador! 😆 Oh my, …. Notify me, when crypto currencies have switched to being low energy usage, when all the "get rich quick" ideas about crypto have disappeared, when crypto currencies are designed in such a way, that they make money laundering difficult and when they support the required amount of required transactions per second, to keep up with a normal currency.

@Magess
Copy link

Magess commented Sep 19, 2021

It is funny, how there is always a next thing, that will "fix crypto currencies", but so far nothing has, while energy usage is through the roof. We actually got real problems to solve, which directly depend on saving energy wherever we can. All the while crypto fanboys step forward to defend crypto currencies. El Salvador! 😆 Oh my, …. Notify me, when crypto currencies have switched to being low energy usage, when all the "get rich quick" ideas about crypto have disappeared, when crypto currencies are designed in such a way, that they make money laundering difficult and when they support the required amount of required transactions per second, to keep up with a normal currency.

What's the required amount of transactions per second?

@toastal
Copy link

toastal commented Sep 20, 2021

Crypto(currency) wastes energy

Yes, and that's bad, but not all of them will nor does the future have to have cryptos that waste so much green or non-green energy. Does maintaining militaries to back governments to back fiat also waste energy? Of course. Both are flawed in hard-to-compare ways.

Crypto is speculative

Definitely, and that causes a lot of issues as people don't want to use it as currency in hopes that the value may rise and defeats the purpose of using it as currency. When a tipping point breaks, it may finally stabilize, but ain't a single coin stable right now. But also with so few places to spend crypto, it's hard to use it even if you wanted. You also don't have to opt in to crypto payment if you don't want to (just like I have opted to no longer use PayPal after getting locked out of my account and not wanting to give up more personal info to get in (and laughably support for authentication requires that you are first authenticated)).

Crypto is used for money laundering

Probably less so than the standard of cash which is less traceable. Specifically Bitcoin having a public history has let orgs like the FBI to just follow the history if they want to catch certain criminals. It's better for digital crime, but sounds like a tossup and not a good argument for or against crypto vs. fiat. However, on the flipside, anonymous coins like Zcash and Monero can be used just as much to fund an guerilla anarchist group or counter-dictatorship movement for oppressed people without fear of being hunted down. In US politics, anonymous donors fund Super PACs with fiat to push climate denial propaganda and other nonsense that can legally damage the planet so it's not like anonymous payments are good or evil.

Crypto has slow transactions

Waiting 15 minutes to buy a latte may seem absurd, but comparing that to wiring funds internationally for legitimate purchase (which I've done) is both very slow and expensive, probably on par with the cost of crypto (and would likely cheaper if you didn't have pay fees going from fiat -> crypto -> transfer fee to foreign wallet crypto -> fiat). But also some cryptos are faster, and other slower. Seems like another neutral argument, and more an argument of picking the best crypto option that does the least harm while still having a better shot at legitimacy (I have no clue what that would be though).


Why do these ethical/philosophical discussions need to happen when transferring funds from entity A to entity B? Is the issue that supporting a crypto payment option would be an implicit endorsement. Doesn't have to be an endorsement? There may be people that prefer crypto and those that don't. Likely people that accept it would merely cash out to fiat immediately to not deal with the price fluctuation and would be happy to be paid close to the price if not exact (and foreign fiat -> local fiat has the same issue, just a lot less swing). With analogous arguments for both sides, arguments seem pointless. Can crypto be used to transfer funds? If the answer is yes, it's neutrally as useful as other methods.

For me, what would be nice about crypto payments is that the barrier to entry could be lower. Right now you essentially have 2 options on Liberapay: megacorp PayPal and megacorp Stripe. Both services require address and phone numbers (which is a "screw you" to homeless people, people that don't have or want a cell plan, or people that want to maintain their privacy online). Both are a part of Big Data. Both have currency limitations. Both are US-based which has privacy concerns. With cryptocurrencies, whether good or evil or neutral, a traveling busker, a resistance journalist, or an online nude model, could create a wallet and use Liberapay to verify the owner of the wallet without all of that overhead and leaking of personal data. Both entities still owe taxes and payments are still being made, regardless if it's through one of these megacorps or crypto.

@proudmuslim-dev
Copy link

proudmuslim-dev commented Sep 20, 2021

It is funny, how there is always a next thing, that will "fix crypto currencies", but so far nothing has, while energy usage is through the roof. We actually got real problems to solve, which directly depend on saving energy wherever we can. All the while crypto fanboys step forward to defend crypto currencies. El Salvador! 😆 Oh my, …. Notify me, when crypto currencies have switched to being low energy usage, when all the "get rich quick" ideas about crypto have disappeared, when crypto currencies are designed in such a way, that they make money laundering difficult and when they support the required amount of required transactions per second, to keep up with a normal currency.

Another uneducated comment!

  1. I'm not here to talk about any stupid "get rich quick" ideas
  2. To be frank, you can't fight money laundering. Bitcoin is a privacy nightmare with an entirely open ledger, yet things like mixers and atomic swaps still allow criminals to launder "tainted" coins. The same can be said of the banking system. Money laundering can't be made difficult enough in this day and age, particularly when you factor in the high reward that it offers. Any attempt to solve this problem immediately throws privacy in the trash, and there's a point where the tradeoff just isn't worth it.

Comments like this from people like you just serve to display your own lack of education on a topic you clearly have no interest in.

@proudmuslim-dev
Copy link

proudmuslim-dev commented Sep 20, 2021

As for the "required amount of transactions per second", the Ethereum network is planning to be able to handle 100k TPS through layer 2 rollups, and there are altcoins out there that can already handle this. I've listed a few below:

  • Nano, which has instant, 0 fee transactions
  • Solana, which can already handle 100k TPS but is centralized.

Compare this to a standard payment processor, like Visa. Visa currently processes around 1700 TPS, and they claim they can handle up to 24K. There's simply no competition.

@toastal
Copy link

toastal commented Jan 17, 2022

can put QRCode on their website

There's two things Liberapay offers in this scenario. 1) it is a "hub" of payment options like it is today (albeit only two offerings and not all fiats are covered and the barrier to entry on the current two platforms may be too much for some people) so this seems like a logical place to put alternatives and 2) like how Keybase can verify the identity of the wallet, Liberapay can verify the owner of the wallet is who you say the owner is. To many it feels a bit sketchy to send currency to an unverified address and this verification would give payees the confidence to know it's going to the right place. A bad actor could stealth hack a QR code onto a website and people may send without knowing.

@caryoscelus
Copy link

@caryoscelus these who "can deal with crypto" can put QRCode on their website or even launch self-hosted BTCPay server or whatever sovereign solution exists for crypto that they use.

those who can deal with paypal can just put email on their site. those who can deal with stripe can just put stripe button on their site.

if we are here talking about liberapay we all think that it's worth having that as a platform. sending people elsewhere isn't helping the project

@jivanpal
Copy link

jivanpal commented Jan 22, 2022

For any currency that endorses/supports the (purpose, coin, account) BIP-32 address derivation scheme originally described in BIP-44 (which is the vast majority of cryptocurrencies, including BTC), the solution is simple: have donation-receiving users provide an extended public key in an accepted serialisation format for each cryptocurrency "account" (in the sense described in BIP-44) that they wish to accept donations for. LP can then generate addresses controlled by the user, display these to donors, and monitor them for incoming transactions to generate donation stats. Accepted key serialisation formats include:

  • depth-3 BIP-32/BIP-44 xpub with user specifying the coin and address type / BIP-43 purpose.
  • depth-3 BIP-49 ypub or BIP-84 zpub with the user specifying the coin.
  • depth-3 key in any of the other (in particular, not BTC-specific xpub, ypub, or zpub) public key formats described in SLIP-132.
  • depth-3 SLIP-32 xpub (xpub1), which does not yet see wide adoption but does not require the user to specify any other info.

Accepting Lightning payments is a different matter, since Lightning invoices need to be generated on-the-fly. IMO, the easiest way to implement this would be for LP to act as a middleman, generating Lightning invoices for donors to pay to, and then allowing donation recipients to send LP a Lightning invoice to withdraw funds, perhaps even forcing them to do so at a minimum frequency, e.g. every 30 days. As @Changaco mentions, holding funds in this way may present legal issues, which is unfortunate, but it is what it is. Having said that, I am curious as to what legal issues actually exist for you in this regard.

Donors who wish to make recurring donations can opt-in to an email reminder.

@Talkless
Copy link

  1. it is a "hub" of payment options like it is today

I agree, but people suggest "perfect" highly technical solutions for implementing crypto donations, decreasing possibility for it ever happening. I suggested not perfect, but much more implementable solution.

A bad actor could stealth hack a QR code onto a website and people may send without knowing.

Both developers website and LP can be hacked. I would prefer original source instead of intermediary. The more intermediaries, the more points of failure (like publishing outdated QR code, etc).

those who can deal with paypal can just put email on their site

Unfair comparison. No everyone lives in "western" world where PayPal, Stripe, SEPA etc is available. Bitcoin, in comparison, is completely borderless, neutral, etc.

originally described in BIP-44

Do you actually expect LP developers to go deep into BIP's, cryptography, etc? Just small mistake and some funds bill we lost, unspendable, and what not.

Again, I'm suggesting something more implementable, less scary, actually, reasonably "doable". Simply add crypto payment processor as there are other processors already added. This will work "today", meanwhile maybe someone will implement more advanced, HD-based solution (or whatever) as time goes (if ever).

@jivanpal
Copy link

jivanpal commented Jan 24, 2022

@Talkless

Unfair comparison. No everyone lives in "western" world where PayPal, Stripe, SEPA etc is available. Bitcoin, in comparison, is completely borderless, neutral, etc.

You misunderstood @caryoscelus's rhetoric, they are being sarcastic: if you're saying that people who wish to accept Bitcoin should just give instructions somewhere besides on LP on how to donate Bitcoin to them, then the argument can just as easily be made that those currently accepting donations via PayPal etc. on LP should do the same, i.e. put a PayPal button on their personal site rather than use LP at all.

Do you actually expect LP developers to go deep into BIP's, cryptography, etc?

No, I expect them to use widely used and accessible libraries for developers such as bitcoinj or existing solutions such as BTCPay Server that implement some of the standards; or remix such projects as they deem necessary. I merely mention the standards explicitly so that the devs know what precise functionality they need their backend to have. When one gives someone specific detail about an internet protocol like HTTP, one makes reference to standards documents like the RFCs likewise. Just as in that situation I wouldn't expect the devs to implement their own HTTP server, I don't here expect the devs to implement their own analogue of something like BTCPay Server. It's ultimately up to them what functionality they do/don't decide to implement, I'm merely spelling out what would need to be done.

@caryoscelus
Copy link

to further @jivanpal 's point: core developers don't even need to get into details of implementation. if they agree to have the implementation of crypto payments, any other developer could do the actual coding (of course, core devs would still have to review it, but if impl is well-written and well-documented, it's not that insurmountable of a work)

@Talkless
Copy link

No, I expect them to use widely used and accessible libraries for developers such as bitcoinj or existing solutions such as BTCPay Server that implement some of the standards; or remix such projects as they deem necessary.

Fair enough, but maintaining BTCPay server still needs much more involvement than adding another payment processor together to already existing.

I don't know what is "official" LP developers stance on "crypto", though I simply suggest to avoid being too naiive, to see this issues in a bit more sceptical/realistic way. Don't get me wrong, it would be amazing to see self-hosted BTCPay server running, and I would be happen to be proven wrong.

It would be useful to get LP developers "official" views on alternatives (from simplest to hardest?):

  1. Implement "Crypto" payments using whatever crypto-payment processor.
  2. Running own BTCPay server (Bitcoin only solution though).
  3. Implementing custom donation solution by hand, with bitcoinj (as suggested) or any available other library.

Otherwise we can run in circles uselessly discussing :)

@12people
Copy link

It's also a question of what the goal behind implementing crypto payments is.

I like proof-of-stake crypto for its decentralization — no matter what country one is from, they can use crypto without discrimination. Adding yet another centralized payment processor would not meet that need for decentralization for me.

It'd be useful to know what reasons people here have for wanting crypto support in Liberapay, so that developers don't end up putting hard work into something that wouldn't be used much at all in the end.

@caryoscelus
Copy link

It would be useful to get LP developers "official" views on alternatives (from simplest to hardest?):
Implement "Crypto" payments using whatever crypto-payment processor.
Running own BTCPay server (Bitcoin only solution though).
Implementing custom donation solution by hand, with bitcoinj (as suggested) or any available other library.

there's an easier method . use existing blockchain-reading apis . e.g. https://blockchain.info/rawaddr/1NoaWahAZJ38mkzJRNHWYnt7U19MkXtfUy . then if there would be transactions , you'd check income amount and time , then multiply amount by exchange rate at the time . then you get that the transaction was done and record amount in usd . now , you might ask , how to distinguish between two users donating at around the same time ? two easy methods are possible :

  • ask user to provide a lot of addresses and remind them to add new ones regularly (as addresses get used)
  • add "dust" amount of bitcoin (or other crypto) to amount that is otherwise being sent by a donor . donor must make sure to include that so that transaction is recognized (e.g. one would send 0.00120003785 , another would send 0.00120004102)

@jivanpal
Copy link

jivanpal commented Feb 1, 2022

I like proof-of-stake crypto for its decentralization

@12people What decentralisation? I ask at the risk of this thread devolving into another half-baked discussion about the merits/demerits of different cryptos, which I don't think is relevant to the question of how crypto support itself should/could be implemented; but really, you consider POS to be decentralised compared to other models?

Adding yet another centralized payment processor would not meet that need for decentralization for me. It'd be useful to know what reasons people here have for wanting crypto support in Liberapay, so that developers don't end up putting hard work into something that wouldn't be used much at all in the end.

I agree that a centralised payment processor / middleman would defeat the purpose. I assume that the vast majority of people who would like to pay using crypto want to do so because they want the funds to go directly to the beneficiary in an anonymous/pseudonymous fashion.

@caryoscelus
Copy link

I like proof-of-stake crypto for its decentralization — no matter what country one is from, they can use crypto without discrimination

i don't differentiate between PoS or PoW in this question , both provide lack of discrimination or excessive fees for "cross-country" transactions (i don't know which one exactly is best for "micropayments" , that can be figured out)

@jivanpal
Copy link

jivanpal commented Feb 1, 2022

there's an easier method ... how to distinguish between two users donating at around the same time ?

@caryoscelus Arguably not simpler, as you need to rely on the beneficiary to do something on a regular basis, you assume that they are okay with receiving multiple payments to the same address, and you assume that the donor wants to donate e.g. a specific USD amount rather than BTC amount. Extended public keys are already widely understood by crypto users, easily obtained, and designed specifically for this use case, hence the method I suggested.

@Talkless
Copy link

Talkless commented Feb 6, 2022

@12people

It'd be useful to know what reasons people here have for wanting crypto support in Liberapay, so that developers don't end up putting hard work into something that wouldn't be used much at all in the end.

Check my previous post with "The advantages for the donors? MUTCH improved privacy compared to current alternatives. Just imagine (bitcoin-centric example)...".

Privacy is better EVEN if we use centralized payment processors like CoinGate. I did payments via onion-routed Bitcoin Lighning Network, while browsing via Tor Browser - it works.

@caryoscelus
Copy link

Arguably not simpler, as you need to rely on the beneficiary to do something on a regular basis,

well, yeah, although nothing stops one from generating thousands of addresses and forgetting about it for a while

you assume that they are okay with receiving multiple payments to the same address,

not really . that is only one option (and it wouldn't require doing something on regular basis)

and you assume that the donor wants to donate e.g. a specific USD amount rather than BTC amount

i simply described how it can fit into current model . please don't nitpick , the currency switch would be easier to implement than debating it

Extended public keys are already widely understood by crypto users, easily obtained, and designed specifically for this use case, hence the method I suggested.

i don't really know much about them , but yeah , the idea sounds good . i'd still implement a choice rather than forcing users to get to know this tech

@jivanpal
Copy link

jivanpal commented Feb 9, 2022

i simply described how it can fit into current model . please don't nitpick

Nitpicking is important when it concerns technical implementation details. What if the donor only has precisely 0.001 BTC, and wants to donate that whole amount? Under your scheme, you would add some dust that the user is unable to pay.

i don't really know much about them , but yeah , the idea sounds good . i'd still implement a choice rather than forcing users to get to know this tech

As I said, getting an xpub is simple. In the vast majority of wallets, it's just a matter of tapping something like "Account details" and being presented with an xpub string and corresponding QR code.

@toastal
Copy link

toastal commented Mar 11, 2022

https://stripe.com/en-be/use-cases/crypto

It appears Stripe will support cryptocurrency. This avoids some of the issues. To me, this is still problematic because Stripe doesn't support my local currency.

@1over137
Copy link

1over137 commented Apr 5, 2022

https://stripe.com/en-be/use-cases/crypto

It appears Stripe will support cryptocurrency. This avoids some of the issues. To me, this is still problematic because Stripe doesn't support my local currency.

Doesn't seem like they'll support Monero, which is the only real "cryptocurrency" that is mainly used for transactions rather than speculation/scams. It is also privacy-preserving, which can come handy for many people. I actually don't think lp need to "support it". However, they should make it possible for projects to list XMR addresses alongside the current payment methods to encourage its use.

@toastal
Copy link

toastal commented Apr 6, 2022

which is the only real "cryptocurrency"

Zcash is occupying the similar space for privacy and regardless they aren't the only ones either. I agree that having them cryptocurrency ran alongside is good for visibility and showing you accept it just as equally, but XMR is not the only place you can look.

@liberapay liberapay deleted a comment from 17331yas Apr 23, 2022
@dv0vd
Copy link

dv0vd commented Sep 1, 2022

Hi, everyone! I'd like to share my views on this issue. I extremely love BTC and in general, will talk about it.

To begin with, I'm an IT specialist and I like Open Source, so, I strongly believe that our future will be based on Open Source projects. As a result, I support some of them. However, I'm from Russia and due to recent events, I'm no longer available to make payments. I don't support the Russian invasion of Ukraine, but despite the circumstances, my point is that no one has a right to restrict other people from using payment systems. Yeah, today it's Russia, but who knows, maybe tomorrow it will be another country? Closing accounts of Canadians who supported truckers is a great example of this. Why should some politicians in suits dictate their rules to other people?

The main reason to start accepting Bitcoin is the freedom that it gives to us. It's like Open Source - thanks to that we are not required to use WhatsApp which collects and sells a huge amount of personal information, we just can set up our own Matrix Server and connect to it via the Element client, and so on. Open Source is about freedom and globalization because a lot of programmers around the globe create beautiful projects. Why should we create artificial borders and restrict people from donating Bitcoin - the really global and decentralized cryptocurrency? I just don't get it. You use PayPal for accepting fiat currencies, but can't use, for instance, Coinbase, for accepting crypto? It's a bit silly. If you don't like to store crypto - just convert it right during the payment and receive fiat currency. There is no difference for you, but for some people, it's the only way to support Open Source.

Also, we shouldn't forget about privacy - some people don't like to share their personal information, not even with Liberapay, but with banks, and I completely understand them, they have a right for that.

Finally, the last point is fees. There are still some critics that live in the past and believe that Bitcoin fees are high. What an absurd! Of course, on-chain transactions are expensive, but on-chain payments are not for everyday transactions. Just use Lightning Network, with extremely low fees. People from different countries now have an opportunity to forget about borders and send money to each other without any limits. It's like phones - several years ago we use only mobile networks or wired phones to call people, and it was extremely expensive to call someone who lived in a different city or country. But now we have the Internet, and we can't imagine how we lived in the past, because today we don't care about calls and messages - we have the Internet - the global network, and we have access to cheap calls and messages despite our geolocation (here we won't discuss prices for the Internet traffic - in general, it's cheaper to call via the Internet rather than mobile networks). And now we have the same situation with the economy. We have lots of different banks, fiat currencies, payment systems, different providers, and other stuff. Everyone takes their own fees, and also due to a large number of intermediaries, our transactions are not fast - sometimes it takes several days or even weeks to complete. But with the Lightning Network it takes only several secs to complete the payment and I even won't speak about fees, because they are almost like dust - we don't even feel them. Thanks to that network, I'm available to support creators from the USA being in Russia without any problems. This is the future. Trust me, in several years we'll look back and say "How did we live without this clear, honest, and global system?" as I said in the previous example with phones.

To sum up, I strongly recommend you implement crypto payments. This will definitely make it easier for people to make donations, and as a result, the developers will receive more money and will create better projects. Hope you think about it. I'm looking forward starting donations again via the Lightning Network soon!

@ZelphirKaltstahl
Copy link

I don't support the Russian invasion of Ukraine, […]

Great!

[…] but despite the circumstances, my point is that no one has a right to restrict other people from using payment systems. Yeah, today it's Russia, but who knows, maybe tomorrow it will be another country?

Most other countries are not currently invading foreign countries, spreading terror, shelling civilians, pillaging and raping people. Some other countries (not all) have learned from second world war. Putin's Russia has not, as is evident now. Too bad we did not listen, when 2014 some people warned us, what would happen.

Closing accounts of Canadians who supported truckers is a great example of this. Why should some politicians in suits dictate their rules to other people?

Are we really making comparisons now between state organized terrorism in a foreign country and a few truckers? Really? Maybe you don't mean it that way, but you are stepping on extremely thin ice with that analogy.

If you are against what happens in Ukraine, you could consider trying to change things in Russia. But that is of course highly dangerous and could earn you life in prison. So the masses in Russia are silent and do nothing, which allows the dictator to continue to do as he wants. Many even are so brainwashed, that they want this to continue. A better alternative than silence would be to vote with your feet and leave.

@biskwikman
Copy link
Contributor

I think this topic can get pretty heated. But telling someone to emigrate to show they have the right politics strikes me as unhelpful and unserious. Not to mention it would be completely ineffective. I think dv0vd's makes the best case for supporting cryptocurrency there is. It has the potential to help regular people who are living in financially sanctioned countries and are suffering unfairly. And to get political for just a minute. It's not like Russia is the only country to have done this. People in the US were able to receive and send payments when the US invaded Iraq, for example. I can't see how punishing regular people in Russia helps a single Ukrainian.

However I still personally don't think supporting crypto is a good idea overall because it would be a lot of effort for currencies that have extreme price fluctuation and the and some of which seem to be blatant scams.

@dv0vd
Copy link

dv0vd commented Sep 2, 2022

Too bad we did not listen, when 2014 some people warned us, what would happen.

I'm half Georgian, so, actually, the bell rang back in 2008.

Are we really making comparisons now between state organized terrorism in a foreign country and a few truckers? Really?

What are you talking about, of course, we can't compare these things. It was just an example that happened recently and I remembered, about the extreme power of governments that can destroy your life just by clicking fingers.

If you are against what happens in Ukraine, you could consider trying to change things in Russia. But that is of course highly dangerous and could earn you life in prison. So the masses in Russia are silent and do nothing, which allows the dictator to continue to do as he wants. Many even are so brainwashed, that they want this to continue. A better alternative than silence would be to vote with your feet and leave.

Yeah, unfortunately, the majority of the population lives in the alternative reality and supports these cruel actions - Pulter's propaganda has been constantly working 24/7 for more than 20 years. In Ukraine, there are about 150,000 Russian bastards, but inside Russia - almost 2 million (army, police, and other force structures) that nip dissent in the bud and have unlimited authority. People who understand what's going on can't change things, because they have absolutely no rights and, more importantly, don't have weapons to fight with this regime, so, it's impossible to change things from the inside. You can destroy fascism only from the outside, or from the inside, but the huge help from the outside. Regarding changing location - I successfully applied for the MS in the USA, but I can't go there, because my salary simply doesn't allow me to do that. In addition, we shouldn't forget about the tightening of visa issuance, so even if people want to make this personal protest, they just can't do this, because other countries don't allow them to do that. Actually, on the one hand, it's not a bad idea, due to the large amount of Russians who live in civilized countries, but support the Russian dictator and impose his narratives. But on the other hand, due to this policy normal people in Russia are being held hostage and just hiding from this regime.

However I still personally don't think supporting crypto is a good idea overall because it would be a lot of effort for currencies that have extreme price fluctuation and the and some of which seem to be blatant scams.

Yeah, indeed, the majority of cryptocurrencies (but for me all, except Bitcoin) are scams, but I don't see any problems to filter this list and start accepting the most popular and stable ones. Anyway, some people don't understand or don't want to understand crypto and, of course, we shouldn't make global changes, we should do it step by step. And that is why let me reformulate my request - please, add another payment provider. Look, you use PayPal or Stripe. Let's consider these systems as the black box:

  • input - fiat currency
  • output - fiat currency

If you don't want to store crypto - just convert it right during the payment. For instance, let's discuss Coingate:

  • input - cryptocurrency
  • output - fiat currency

So, the only difference here is that PayPal or Stripe works on the traditional system via banks, whereas Coingate works on cryptocurrencies. But the output of these systems is the same. There is no difference for Liberapay. Regarding price fluctuations - if you don't store crypto - it's not even a problem for you. The probability that prices change significantly during the 1 minute payment is extremely low. And even if prices change - I just pay another amount of crypto (so, it's my problem), and the receptionist gets the same amount. I rent VPS using vp2day.com - just look at these photos and how it's convenient and fast to pay with Bitcoin!
Screenshot from 2022-09-02 22-24-14
Screenshot from 2022-09-02 22-25-21
Screenshot from 2022-09-02 22-25-43
You see, the price doesn't matter, vp2day converts it automatically to fiat and gets it! Fees are extremely low, and it takes to me about 10 sec to pay! I'm still hoping that in the future Liberapay implement this feature ASAP...

@Killercat103
Copy link

Would really hope for Monero specifically. It's more of a currency than an investment compared to many. It's PoW but compared to the infrastructure required by fiat i wouldn't consider Monero so bad. Especially when it fights the efficiency of ASIC devices which is specialized hardware for the rich that cant be repurposed.

@jorgesumle
Copy link
Contributor

jorgesumle commented Feb 11, 2024

You don't need a third-party like Liberapay to send or receive donations via cryptocurrencies. If I you want people to know you accept cryptocurrency donations, you can add your public wallet address to your Liberapay description. The less people and platforms know you donated to someone, the more privacy you have.

What Liberapay could do is provide a section called "Cryptocurrencies", and there you could add the public wallet address. Liberapay could show a QR code when you click or hover that currency, and maybe show a logo of the currency on the left. Something like this is enough for people to easily send you crypto (of course, we would use Liberapay colors, this is just an example):

Captura de pantalla de 2024-02-11 18-28-46

should Liberapay support cryptocurrencies at all?

If it's implemented in a simple way, showing a nice interface like I described below for people who want to add their address, I think that's OK.

it only means facilitating cryptocurrency transfers, and confirming them by looking at the public ledger.

I don't like the idea of looking them at the public ledger, it just adds more complexity and it means less privacy. Besides, you can't do that with privacy coins like Monero. Let's keep it simple.

@Killercat103
Copy link

You don't need a third-party like Liberapay to send or receive donations via cryptocurrencies. If I you want people to know you accept cryptocurrency donations, you can add your public wallet address to your Liberapay description. The less people and platforms know you donated to someone, the more privacy you have.

What Liberapay could do is provide a section called "Cryptocurrencies", and there you could add the public wallet address. Liberapay could show a QR code when you click or hover that currency, and maybe show a logo of the currency on the left. Something like this is enough for people to easily send you crypto (of course, we would use Liberapay colors, this is just an example):

Captura de pantalla de 2024-02-11 18-28-46

should Liberapay support cryptocurrencies at all?

If it's implemented in a simple way, showing a nice interface like I described below for people who want to add their address, I think that's OK.

it only means facilitating cryptocurrency transfers, and confirming them by looking at the public ledger.

I don't like the idea of looking them at the public ledger, it just adds more complexity and it means less privacy. Besides, you can't do that with privacy coins like Monero. Let's keep it simple.

Can't say I agree. I think people wish to avoid the hastle of working with multiple currencies in general and ideally get paid in one. Besides raw crypto is usually for single time donations whereas liberapay is at the moment exclusively for recurring ones. (Even if i'd like a 1 time option myself) And for clients uncomfortable paying in fiat would not be exhausted for options if the receiving person in question has yet to hear of these alternatives.

@jorgesumle
Copy link
Contributor

@Changaco, I suggest closing this issue as "not planned". Let's not get into this legal shithole. If someone wants to implement it in a way that we don't hold any crypto I think it's fine.

@Changaco Changaco reopened this May 18, 2024
@toastal
Copy link

toastal commented May 18, 2024

I still think there is value to add minimal support + UX. I mentioned it years ago, but I think verifying the owner of the wallet is the owner of this Liberapay account would be helpful. I think there is no value in bothering to actually handle that transaction or log… that’s what those networks literally do independently & there are tons of applications that already do this. If to showing how much donations you you receive is the goal, then you have the wrong goals compared to being grateful for the donation (like measuring if software is good by its Microsoft GitHub stars instead of the actual code). Currency conversation should be out of scope & it doesn’t need to be recurring payments--require it be one-time & off-platform only.

The furthest front-end UX should go IMO would be to link some $XMR_ADDRESS as <a href="monero://$XMR_ADDRESS"><svg>$MONERO_LOGO</svg> $XMR_ADDRESS</a> next to “Donate” whose URI would open the proper external application for the transaction (or as a part of the “Donate” page, don’t overthink it 😂). And if it is not much extra work, have a button that opens a <dialog> with a QR code generated from that href for easier UX for those that use a mobile device for payments reading on a desktop. The back-end if it wanted to be nice would have a way to read a UUID message on the blockchain to verify ownership--but even this could be considered too much infrastructure or out of scope meaning… Alternatively, allow established cryptocurrencies under “Linked Accounts” with the aforementioned UX for the currency’s URI (& don’t bother with all the small, obscure ‘shitcoins’).

That isn’t an endorsement of crypto--but a recognition of its existence & value for donation purposes that can’t be covered by the existing proprietary options. This suggestion isn’t processing payments or logging anything--but a link to something that can. This suggestion is just a way to aggregate & verify payment options to an individual or organization in one place. If the individual or organization doesn’t want to accept crypto, then they don’t create (& verify) an external wallet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion issues that are undecided or for which feedback is invited
Development

No branches or pull requests