Bitcoin Forum
May 27, 2024, 06:38:59 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Recooperating Electrum server op costs the free market way  (Read 2761 times)
atweiden (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
April 16, 2014, 10:57:28 PM
 #1

Public Electrum servers are run by volunteers. Volunteer server operators require modern hardware, which is costly to procure and maintain. In my opinion, operating Electrum servers would be more popular to do if there was a higher chance of receiving BTC donations for doing so.

Quote
<fluffypony> https://blockchain.info/address/1Lhxa6VfBwFbVN2ovZEYfCobZGNfefntG7
<fluffypony> one lone donation in February
* ovidiusoft (~ovidiusof@188.27.121.252) has joined #electrum
<fluffypony> nobody reads the console and thinks about donating
<toastee> perhaps the electrum project should host some sort of distributed donation pool for their server hosts
<toastee> and make it a bit more prominent in the client
<fluffypony> toastee: yeah but then how do you distribute funds? based on the servers reporting their activity (easily faked)?
<toastee> mmm true.
<mr_burdell> fluffypony: oops... that's not a donation... I accidentally reused an address
<fluffypony> mr_burdell: lol
<fluffypony> well there you go
<toastee> haha
<fluffypony> so not even a single donation
<toastee> Sad
<fluffypony> even Eagle[TM]'s server
<fluffypony> https://blockchain.info/address/1Mn8D4Esq6kyhQTG5debML3uqXp9JqeTQN
<fluffypony> 0.011 BTC in donations
<fluffypony> it's a joke

I would like to open the conversation in regards to improving the Electrum server op donation system. I only advocate UX improvements. I don't think there is all that many technical changes required. I think it would be realistic to tackle this with minimal UX friction, and without adding any mandatory fees to Electrum.

I think the optimal solution would be voluntary. Voluntary donations to Electrum server ops should be easier to do, and more compelling to do, so as to make them happen in larger amounts and with higher frequency.

Today, it's quite hard to donate to server ops, even if you want to. There's no official UI flow for donating to server ops, and it's really not something that is directly supported in Electrum beyond it being a wallet which is capable of sending donations. Like I've outlined with Electrum plugins, few understand that Electrum plugins exist, and few know that Electrum server ops exist and are real people. If they do know servers exist, they don't know who is running them, and they don't have an easy way to donate.

Users can't tell one server op from another without expending effort on research. Or they just aren't aware the client-server op relationship exists. Server ops are given ASCII text on a console window but most users don't venture there, and if on the off chance they do venture there, it takes effort to track down the donation address and subsequently make the donation. This isn't what mainstream users are used to. It results in very low conversion rates on donations when they are intended, and very low chance of donations happening in the first place.

In theory, since Electrum servers depend on Bitcoin full nodes, a solution that increases Electrum server op donations could have the indirect benefit of making Bitcoin full nodes more profitable to run. Here is the one option I see working to this end:

- server ops write a very short "About Me" description, probably < 512 chars
- after Electrum users send coins, declare a >20% chance that an auxiliary menu is displayed if and only if there is a non-zero number of BTC remaining in the wallet less the amount to be sent
- the coins are sent as per usual
- if and only if the menu is to be displayed, it should show the server op's About Me text plus an option to donate, or "No Thanks"
- the autoconnect server menu popup could also feature short bios on server ops. This screen is a missed chance at building relationship with ops

Our in-house UX expert may have some ideas here, too.

The overall goal is to give server ops a better chance at building the relationship with Electrum users.

Since it's possible to select a specific Electrum server to rely upon, users, after learning more about server ops, will choose favorites and be more likely to donate to their favorites.

To conclude, the only way I see things improving for server ops is if we make a concerted effort to have users build relationships with server ops and then prompt them to act upon the increased trust and credibility.  Done right, it could end up making it much more profitable to run full nodes and impose few new technical changes of Electrum client.
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
April 17, 2014, 03:20:23 AM
 #2

Public Electrum servers are run by volunteers. Volunteer server operators require modern hardware, which is costly to procure and maintain.

What kind of hardware is required for a typical server? My understanding was that most electrum servers were rented VPS running on a host node in some datacenter somewhere. Are you telling me people are running bare metal servers in their own premises?

Quote
In my opinion, operating Electrum servers would be more popular to do if there was a higher chance of receiving BTC donations for doing so.

Yes, that's true but lets be honest here. We now have more servers than we did a year ago. This is partly because more people have gotten into bitcoin and partly because its more affordable to run them because hosting keeps getting cheaper and cheaper as time goes by.

Quote
- server ops write a very short "About Me" description, probably < 512 chars
- after Electrum users send coins, declare a >20% chance that an auxiliary menu is displayed if and only if there is a non-zero number of BTC remaining in the wallet less the amount to be sent
- the coins are sent as per usual
- if and only if the menu is to be displayed, it should show the server op's About Me text plus an option to donate, or "No Thanks"

This is great because you get to pitch your case. But I think if you made a small donation a default for every send transaction then that would be even easier for users and would net you more donations. Add a second text field under the fee text field where you can enter a suitable donation to the server operator. There should be a ? button so if anyone is curious what this is they can click on that (you can add your pitch here). Most users are going to leave the value in this field at default which can be 0.0001 or greater.

The question then becomes whether these dust like amounts can be spent by server operators? It should be possible now that default transaction fees in bitcoin core have been reduced to 0.00001. Using compressed addresses will also help.

The alternative would be to implement what multibit is doing:

https://multibit.org/blog/2014/04/11/multibit-hd-brit.html

The problem with the above is that one central server can uniquely identify every wallet out there using the britwalletid.
atweiden (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
April 17, 2014, 05:51:43 AM
Last edit: April 17, 2014, 06:06:53 AM by atweiden
 #3

It takes 2GB of RAM minimum, and about 50GB of free disk space to house the patricia tree and blockchain.

Electrum's python console although limited to ASCII welcome text is nonetheless an opportunity for server ops to build a relationship with users, and it works to a limited extent. Small donations are coming in.

It may not be the optimal method, however I favor the overall approach since it means all donations are fully consensual with a minimum of UI cruft.
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
April 17, 2014, 07:29:18 AM
 #4

It takes 2GB of RAM minimum, and about 50GB of free disk space to house the patricia tree and blockchain.

Firmly within VPS territory then.

- server ops write a very short "About Me" description, probably < 512 chars
- after Electrum users send coins, declare a >20% chance that an auxiliary menu is displayed if and only if there is a non-zero number of BTC remaining in the wallet less the amount to be sent
- the coins are sent as per usual
- if and only if the menu is to be displayed, it should show the server op's About Me text plus an option to donate, or "No Thanks"
- the autoconnect server menu popup could also feature short bios on server ops. This screen is a missed chance at building relationship with ops

What do you mean by an "auxiliary" menu? Do you mean a contextual menu that shows up when you right click or a menu in the top menu bar? Does the menu disappear when you restart the client?
medUSA
Legendary
*
Offline Offline

Activity: 952
Merit: 1003


--Signature Designs-- http://bit.ly/1Pjbx77


View Profile WWW
April 17, 2014, 08:35:54 AM
 #5

I must admit I have never thought about donating to an Electrum server operator. After reading your post, I think they do deserve donations. You have successfully raised awareness on this issue, well done!

So, I search through the server list and found all these servers with "not very serious" or unknown (to me at least) domain names. I could find only 2 servers with serious sounding names which is worth a donation (unfair judging solely by the domain name). With the current SSL issue with Electrum servers, I don't know which to trust and connect to... Is there a list of trusted Electrum servers?
atweiden (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
April 17, 2014, 04:05:38 PM
 #6

Quote
What do you mean by an "auxiliary" menu?

An additional screen not shown by default.

On the server selection screen, maybe a link to a website, keybase.io or github profile, a short blurb, whatever it may be.

This, combined with prompting GUI users some 20% of the time with a straightforward and easily avoided or disabled donation screen.
sd
Hero Member
*****
Offline Offline

Activity: 730
Merit: 500



View Profile
April 18, 2014, 06:33:41 AM
 #7

So, I search through the server list and found all these servers with "not very serious" or unknown (to me at least) domain names. I could find only 2 servers with serious sounding names which is worth a donation (unfair judging solely by the domain name). With the current SSL issue with Electrum servers, I don't know which to trust and connect to... Is there a list of trusted Electrum servers?

You don't need to trust them, that's the beauty of the thing. They can't steal your coins as you are the only one with your private key(s). Any server your client lists should work and if it lags or doesn't function at all the client will tell you so.

I run a public server and I'd be very happy to receive donations to help run it but it's not mandatory or even expected. I run the cheapest dedicated server I could find that has good bandwidth and acceptable performance. High availability hardware just isn't needed as these servers store nothing that can't be re-downloaded. The costs involved in running one server are minimal.
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
April 18, 2014, 04:45:57 PM
 #8

You don't need to trust them, that's the beauty of the thing. They can't steal your coins as you are the only one with your private key(s).

Normally that's the case but the heartbleed bug meant that if you were using Linux and were connected to a malicious server it could read your seed. Most of the time the seed is encrypted but it's not designed to withstand bruteforcing. Then there are the times when you are sending bitcoins and seed is decrypted to sign the transaction.
sd
Hero Member
*****
Offline Offline

Activity: 730
Merit: 500



View Profile
April 18, 2014, 07:28:36 PM
 #9

You don't need to trust them, that's the beauty of the thing. They can't steal your coins as you are the only one with your private key(s).

Normally that's the case but the heartbleed bug meant that if you were using Linux and were connected to a malicious server it could read your seed. Most of the time the seed is encrypted but it's not designed to withstand bruteforcing. Then there are the times when you are sending bitcoins and seed is decrypted to sign the transaction.

It's my understanding that heartbleed attacks against clients are at best impractical. Of course paranoia is a good thing and we should all upgrade openssl and regenerate our seeds.

Heartbleed was the worst security hole I've seen for a very long time.
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1004


Core dev leaves me neg feedback #abuse #political


View Profile
April 19, 2014, 09:11:30 PM
 #10

It takes 2GB of RAM minimum, and about 50GB of free disk space to house the patricia tree and blockchain.

Electrum's python console although limited to ASCII welcome text is nonetheless an opportunity for server ops to build a relationship with users, and it works to a limited extent. Small donations are coming in.

It may not be the optimal method, however I favor the overall approach since it means all donations are fully consensual with a minimum of UI cruft.

The server has copy of blockchain.  I am just curious. Is this only for reading wallet balances ?  When transaction is sent, can't we just broadcast that to nodes without knowledge of blockchain?

ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
April 20, 2014, 08:02:56 AM
 #11

It's my understanding that heartbleed attacks against clients are at best impractical.

Attacks from server to client are indeed impractical.
When a client attacks a server, it can initiate as many connections as it wants, and it will read a bit of server data on each time.
However, a malicious server cannot do that: it needs to wait until a client connects to it, and then it can perform the attack only once, because this will close the connection.

This makes the attack impractical. However, since it cannot be ruled out, you should still upgrade openssl if you run Electrum from python source.

Electrum: the convenience of a web wallet, without the risks
krizniq
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
December 10, 2015, 09:01:19 AM
 #12

it's pitty that for that long time period is here no discussion about this topic whatsoever.

I'm running full bitcoin node + electrum, of course public, and cost's are not "that small", they are not extremely high but also not so low. In these days you really need at minimum 250gigs SSD and a lots of ram. Building of server with good performance cost around 1-1.5-2btc (in time being is 1btc apprx.400usd). Then some electricity, but that's not main part. Main part is time spend of installing/setting/monitoring/tweaking and so on.

For me, miners got all fees even from electrum tx, but without electrum operators, electrum will die, so why they can't earn some fraction also? /Or to have some advantages in the network, like immediate own tx processing for free or so. I can imagine a lot of possible scenarios how to reward server operators, but design is targeted to miners, which is also pitty because ordinary Joe is not able to mine anything, even tx in these days.

I'm running my server mostly because I want my electrum to be processed by my server, but I also like to serve to public as I want to support the network. That basicly means that I'm not expecting any donations, but frankly it would cheer anybody up as this is sign of understanding what one is doing and it's being appreciated by another one.

K.

Looking for investment tip? XBY OMG and ADX, thank me later Wink

If you love me -> BTC: 1JLwEteSwyV3uUXN9dVvSqBnt3nbTHeS6i | ETH 0xb3F6aCa84d2513A444FABcd4dbFb256a82FdE610 Thanks! Cheesy
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!