Bitcoin Forum
November 06, 2024, 01:43:26 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Decentralizing mining with pooled-solo mining  (Read 1579 times)
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
May 31, 2013, 04:51:12 PM
 #1

Right now between two to four running the largest pools control Bitcoin in the short term. That's a lot of hashing power in the hands of very, very few people. In addition pools have little incentive to run secure operations, and many pools have been hacked with their funds stolen. Those hacks could just have easily been used to attack the network itself.

This needs to change.

Pooled-solo mining is a concept Gregory Maxwell, Luke Dashjr and I were discussing at the conference two weeks ago. (credit goes to Greg and Luke; I was mostly just listening) Basically the idea is that miners with mining equipment run a local Bitcoin node and use that node to construct the blocks they mine - the same as if they were solo mining. The pools job is then to only track shares and organize payouts.

If the pool gets hacked the worst that can happen is miners are ripped off, rather than Bitcoin itself being attacked. With pooled-solo mining even a pool with a majority of hashing power wouldn't be able to do much harm to Bitcoin. (depending on the implementation they may be able to blacklist specific transactions - the pool needs to know what transactions are in the share to credit fees properly)

Tech-wise Luke created getblocktemplate last year as a means to audit mining pools. I'm sure Greg and Luke can explain the nitty gritty details better than I can, but essentially the plan is to take getblocktemplate and extend it as required for pooled-solo mining. This will include pool and miner software initially, and later improvements to GUIs and what not to make the whole process easier.


With the success of my recent video project I also want to make this Keep Bitcoin Free's next project, specifically funding a developer (likely Luke) to make this happen. Additionally once software is written and easily usable a good follow-up would be a video and other media to promote the idea to miners. No guarantees we'll be able to come up with commercially competitive remuneration, but we can at least come up with a "Thank you" tip. But first lets discuss the technical requirements to get an idea of what the scope is.


Finally, for the record, a big part of the reason why myself and other Keep Bitcoin Free supporters are interested in doing this is very much to take power over the direction of the network from big pools and put it into the hands of thousands of individual miners. It's much easier to convince people that changes to Bitcoin, like increasing the blocksize, are directly impacting decentralization when individual miners are seeing that happen to themselves.

n8rwJeTt8TrrLKPa55eU
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
May 31, 2013, 05:01:40 PM
 #2

+1.

I'd donate.
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
May 31, 2013, 05:05:04 PM
 #3

+1.

I'd donate.


Thank you!

re: funding, right now jdillon has said he'd like to see the 10BTC he donated to the developers a few months back go to this effort, and has also said he and his partners would consider further matching funds. But most important is to figure out the scope of the work - bounties are very hard to get right so I'd rather do this as a more traditional contract. The video project worked very well in that regard.

That said the technical details need to be discussed more thoroughly first.

Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 31, 2013, 05:22:32 PM
 #4

The plan right now (but subject to revision as needed) is to use BIP 23's "transactions/add" mutation and Block Proposal support to allow fullnode miners to advertise their support for this.
The pool will then just skip sending the bulk transaction data, and expect the miner to send a proposal back with that supplied (fetched from a local bitcoind).
Then GBT mining can continue as normal.

doublec
Legendary
*
Offline Offline

Activity: 1078
Merit: 1005


View Profile
May 31, 2013, 10:34:18 PM
 #5

Why does BIP 23 include the "Logical Services" section? This doesn't seem to have anything to do with the core part of BIP 23. I think it'd be better to trim the BIP to be specific to the task required to make it more understandable and easier to implement.
Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 01, 2013, 12:03:37 AM
 #6

Why does BIP 23 include the "Logical Services" section? This doesn't seem to have anything to do with the core part of BIP 23. I think it'd be better to trim the BIP to be specific to the task required to make it more understandable and easier to implement.
BIP 23 is focussed on pooled mining. Logical services are an important feature for that.
I don't see how merely moving a section to another document helps...?

doublec
Legendary
*
Offline Offline

Activity: 1078
Merit: 1005


View Profile
June 01, 2013, 12:19:10 AM
 #7

BIP 23 is focussed on pooled mining. Logical services are an important feature for that.
I don't see how merely moving a section to another document helps...?
Ok, I thought BIP 23 was for the feature discussed here.
Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 01, 2013, 12:51:30 AM
 #8

BIP 23 is focussed on pooled mining. Logical services are an important feature for that.
I don't see how merely moving a section to another document helps...?
Ok, I thought BIP 23 was for the feature discussed here.
BIP 23 is a collection of optional extensions on top of the base GBT protocol.
Part of BIP 23 (transactions/remove and proposals) specifies how this can work.

tnkflx
Sr. Member
****
Offline Offline

Activity: 349
Merit: 250


View Profile
June 01, 2013, 10:33:05 PM
 #9

So, are you going to try and have all pools switch to GetBlockTemplate after the biggest ones switched to Stratum?

| Operating electrum.be & us.electrum.be |
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!