Bitcoin Forum
September 27, 2018, 10:18:09 PM *
News: ♦♦ New info! Bitcoin Core users absolutely must upgrade to previously-announced 0.16.3 [Torrent]. All Bitcoin users should temporarily trust confirmations slightly less. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: P2P block template checks  (Read 868 times)
Sergio_Demian_Lerner
Hero Member
*****
expert
Offline Offline

Activity: 540
Merit: 510


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).
1538086689
Hero Member
*
Offline Offline

Posts: 1538086689

View Profile Personal Message (Offline)

Ignore
1538086689
Reply with quote  #2

1538086689
Report to moderator
Make a difference with your Ether.
Donate Ether for the greater good.
SPRING.WETRUST.IO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1538086689
Hero Member
*
Offline Offline

Posts: 1538086689

View Profile Personal Message (Offline)

Ignore
1538086689
Reply with quote  #2

1538086689
Report to moderator
cunicula
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1003


GOeureka.io


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
Hero Member
*****
expert
Offline Offline

Activity: 540
Merit: 510


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:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!