Proposal for wallets to help strengthen loyal mining & devs

6 166
Avatar for btcfork
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

This proposal is mainly in the context of the BCH "funding debate", but there is no reason its concepts could not be applied to other blockchains.

The "wallets enabling easier donations by users" is not a new suggestion, but the 2nd part of my proposal covers an added mechanism to reward loyal miners. I've not seen that proposed, but in case someone already did before, I'm not necessarily claiming novelty here, I just want to bring the discussion to the light.

Getting holders and users to open their wallets is what will sustainably fund Bitcoin Cash infrastructure

I'll just put this thesis right at the front.

Short term, it may be the more enlightened and loyal miners, big businesses, users and large holders that will finance Bitcoin Cash roadmap development, but long term, the base needs to be broadened.

We like to keep things voluntary, but most people are sensible, and if explained how it translates into better infrastructure and more adoption, they do not object to voluntarily financing Bitcoin Cash development.

A few are greedy and purely focused on immediate gains and that will never change, but most of the real BCH community I've met or talked to are not like that.

First part of the proposal: Wallets include convenient recurring donation capabilities to user-configurable recipients

Wallet developers get to pre-configure the defaults like to whom, how much and how often, and decide whether they make this opt-in or opt-out, but it should remain optional.

User-configurable means the user remains in absolute control of

  • a) whether they want to donate anything at all on some recurring basis

  • b) to whom they want to donate, if they do

  • c) the modalities like whether it is as separate automatically suggested transactions every so often, or as some kind of small added-on transaction fees, etc.

It is important to give good information like summaries about donation that the user has made using such mechanisms.

This first part of the proposal covers any measures that would make it more convenient for users to donate to their favorite (✔) development teams (✔) adoption organizations (✔) charities etc.

The next part is more about addressing the mining pool / mining / infrastructure funding problem specifically (under the assumption that it is mining pools and miners who know quite well about what the system needs are there, and are prepared to channel funds onwards to protocol developers, library maintainers and whoever else maintains "the commons".

Second part of the proposal: Wallet tracking which miners mined the users blocks, and make it easy for user to reward loyal miners of their choice

I first proposed this on Twitter in a series of tweets here

https://twitter.com/btcfork/status/1228304379079512064
https://twitter.com/btcfork/status/1228304896635654144
Who mined BCH blocks in last 7 days, from https://cash.coin.dance/blocks

This would need wallets to present to their users an overview of who mined their transactions (perhaps over a selectable time window or certain number of last transactions), and present that information to the user.

We are all familiar with what the overall mining pool pictures look like.
Wallets could display similar, but based on "who mined YOUR transactions in the last month" or suchlike.

They might not need to display it graphically at all - it could just be a list of the top 5 or 10 pools that have mined the user's transactions, from which a user could then select the pools that they feel are reliable Bitcoin Cash miners to whom they would feel comfortable supporting with a little extra fees.

Pools who are unidentified would tend to lose out because of lack of name recognition. This would give an advantage to loyal pools which are not afraid of revealing their identity while supporting Bitcoin Cash.

For this part of the proposal to work, wallets would need to access some kind of service that would give them "good enough" information about who mined which blocks that their user's transactions were in.

It is not about achieving 100% identification. I still absolutely want miners / pools to be able to remain anonymous and not be forced to disclose their identities if they do not want to. This is part of privacy, but we must acknowledge the potential for "dark hash" to misbehave, and this scheme could help disincentivize that.

A user cannot predict who will mine their tx, how will this work?

Correct - they cannot know in advance.

Therefore, the additional (voluntary) rewards emitted by wallets would not be pre-included, they would be "sent back in time" to the addresses of well-buried coinbases of the user's preferred miners. Coinbases only become available for miners to move after 100 blocks (so-called "maturity").

It would be quite easy for a wallet to include a little additional fee output going to the preferred miners most recent coinbase that is older than 100 blocks.

A call for help to build a service that wallets can use to make this happen

Ideally, we build an open service that any wallet can access to help them correlate past blocks with "best guess" miner information from sources like Coin.dance, Blockchair or others, which already use heuristics like coinbase messages, coinbase output addresses etc. to identify which mining pool or miner mined a block.

These are just "smart guesses" - and that is ok.

What I'd like to build is an open API that delivers either simply fused information from such sources, or (in a more ambitious form), an open API backed by a machine learning classifier (boosted decision tree or neural net) that is continuously trained by such existing data sources.

"Open API" here means the source code (and training data) would be open source / open access.

Over to the wallets

What can we do to start this?

Well, I'm thinking about putting out a bounty for help in developing aspects of this.

This includes one or more plugins for Electron Cash, to demonstrate the concept, but before we can implement the second part, as I described we need to get a basic API server set up that wallets (like EC) could use.

I need your feedback for this (scope and dimensioning of bounties), and I'd be happy if there are any volunteers (or bounty hunters) who might feel inclined to help join together to develop such things.

There is also going to be a U-DID 'funding request' schema that I will put out shortly, which could help wallet developers request funding if they come forward with a technical proposal (i.e. a good plan) to implement this on any BCH wallet.

I hope you enjoyed this proposal, please leave your suggestions in the comments!


Wallet photo by Nicolas J Leclercq on Unsplash

Sponsors of btcfork
empty
empty

3
$ 0.05
$ 0.05 from @Big-Bubbler
Avatar for btcfork
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

Comments

Thank you

$ 0.00
4 years ago

ok ill try again here, because i still havent seen any indication that you know what im talking about. Lets say im some retarded miner that hates BCH, for example Slush. But i still do switch mining of course. I know that when i mine BCH people wont send me these extra donations. So each time i mine on BTC i identify myself as Slush, but when i mine on BCH i am going to pretend i am Antpool. What are you going to do about it? I am not saying nothing can be done about it, quite the contrary. I am saying it is quite easy to fix, but as things are now, the miner identification we have is not enough for this proposal to work.

$ 0.00
4 years ago

Yeah, it's easy enough to address such a problem when it happens.

I'm not a miner, but I guess it's not a new problem since pool miners would claim they don't get paid enough if another pool fake mines lookalike blocks, and last time I went on some pool sites, the good ones published the blocks that they mined, so that their miners could verify they are getting paid correctly.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

The first part sounds great. If people were going to donate to miners, since anti-BCH miners mine BCH and even harm BCH by gaming the code, I would not think "who mined the BCH blocks" would be a good way to determine which miners deserve such donations. The miners that I would think deserve some support would be the ones that lost some potential profit to mine BCH during the BSV attack. They may also be the ones trying to donate block rewards to developers. Miners get paid to mine. That's why the donations from miners to developers topic is so "hot" these days.

$ 0.00
4 years ago

I would not think "who mined the BCH blocks" would be a good way to determine which miners deserve such donations

That's why the proposal is not simply "reward whoever mined your blocks", but leaves the choice open to the user to apply their human intelligence, and is not static, but dynamic - users can re-evaluate their preferences anytime upon learning new information.

Miners who are gaming the protocol to leave 5hr block confirmation gaps might fare badly.

$ 0.00
User's avatar btcfork
This user is who they claim to be.
We have manually verified this user via some other channel.
4 years ago

Sounds great, but, I would not expect most people to pay close attention to a donation system that can be set to work on automatic.

$ 0.00
4 years ago