Bitcoin Forum
May 26, 2024, 08:43:50 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: P2P block template checks  (Read 955 times)
Sergio_Demian_Lerner (OP)
Hero Member
*****
expert
Offline Offline

Activity: 554
Merit: 632


View Profile WWW
December 12, 2012, 01:57:59 PM
 #1

What about using the P2P network to do the work? It's more like the Bitcoin way.


The protocol would be like this:

1. A Miner X creates a block B with (reduced) PoW = Target / 50 (50 times less PoW). This ensures very few "template" blocks will be broadcast.
2. Miner starts working o the real target difficulty on block B (does not wait for votes)
3. The miner X spreads the block B in the network (with reduced PoW)
4. Nodes emit votes in a new type of message saying whether B is valid/invalid, specifying also their software/protocol version.
 Vote = < hash(B), prg_id, True/False >  (aprox. 30 bytes long)
5. Votes are relayed for a short period of time after block B was received (e.g. 30 seconds). Afterwards votes are discarded.
6. Miner collects votes and estimates the acceptance ratio.
7. If acceptance ratio is good, keeps working on the target PoW, if not, drops the block B and starts with another block.


The acceptance ratio could be computed filtering for noisy/forged votes (e.g. if for the same prog_id 90% votes are positive, then it's considered 100% positive).
cunicula
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
December 12, 2012, 02:24:17 PM
 #2

Who gets to vote? Can't I just make lots of cheap nodes. Operate them honestly so that they are in everyone's good books and then abuse their voting power to double-spend. Swap IP addresses, rinse, and repeat.
Sergio_Demian_Lerner (OP)
Hero Member
*****
expert
Offline Offline

Activity: 554
Merit: 632


View Profile WWW
December 12, 2012, 11:48:05 PM
 #3

Who gets to vote? Can't I just make lots of cheap nodes. Operate them honestly so that they are in everyone's good books and then abuse their voting power to double-spend. Swap IP addresses, rinse, and repeat.

True.
Maybe only the last x miners with differen prog_ids are able to vote.

E.g.: If the last miners were:

Block n-5: A SatoshiClient 0.7
Block n-4: B XClient
Block n-3: C YClient
Block n-2: A SatoshiClient 0.7
Block n-1: C YClient

Then a miner working on block n collects votes only from A,B,C.

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!