Bitcoin Forum
June 21, 2024, 07:01:29 PM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Mining recycling for Anti-spam [mining with dedication]  (Read 141 times)
swfsql (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
April 10, 2018, 05:20:05 AM
 #1

[text also on github: https://github.com/swfsql/btc-opinions/blob/gh-pages/pow-recycling.md]

Was reading this: hackingdistributed.com/2017/02/23/green-blockchains#piecework-recycling-pows

And this looks like a good idea. Under messages or bandwidth flooding, requiring some PoW for simple message passing helps.
One way to have that is to recycle mining. On the other hand, mining tends to be, even if inneficient, maxed out (have higher hashrate than otherwise).

Assume a standard node Std, and a low-end, average joe node Joe. If Joe can afford to do _any_ tx validation, he does; if he can't, he doesn't--just go with the coinbase. Then Joe and Std trade bitcoin addresses public keys, such that: 
**Ja** -> _JA_ {**Ja** is Joe's private key, _JA_ is it's public key} 
**Sa** -> _SA_ {**Sa** is Std's private key, and so on..} 

Then Joe grabs _SA_ and uses it as a private key **Ja'**, so: 
**Ja'** -> _JA'_ {so that "private key" has it's own public key} 
and then: 
**Jb** = **Ja** + **Ja'** {Joe sums his and "his other" private key (on Std's knowledge), getting a new private key} 
**Jb** -> _JB_ {and that has a public key} 
_JB_ = _JA_ + _JA'_ {and such public key is also the sum of _JA_ and _JA'_; learned about this magic from mimblewimble} 

Then Joe may mine and target the coinbase to an address that comes from _JB_. Even if he doesn't mine in time, he keeps mining it, until he gets enought PoW required by Std. Or, he still keeps his best PoW form each mining round, and stashes it, until it's enought PoW as a folded sum of PoW iterations. Also, if he has many connected peers, he may spend each mining round to one of his peers (since each would have a different _SA_ or **Ja'**).

Assuming Joe fails to mine in time, he can still announce Std that round's header, with his best work proof. Since Std has _SA_ or **Ja'**, he also has _JA'_. If they exchanged both _JA_ and _SA_ among each other, Std may verify that _JB_ is indeed _JA_ + _SA_, so it was indeed a work trying to prove to Std (to himself). 
Joe still has **Jb**, whereas Std doesn't, so Joe's rewards should be safe if he actually mines it. 

So each node may track the peers "dedicated" Proof of Work, recycled from mining, as an anti-spam measure.
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
April 10, 2018, 11:21:12 AM
 #2

Fighting spam is exactly what PoW was invented for, it was used for this first and then Bitcoin came later, inspired by it.
You should check out Hashcash, this was a protocol proposed to help fight email spam, but the industry chose centralized solutions instead.
Without it, Bitcoin would have never existed.

But I see that you are proposing a single mining system where you get rewards in Bitcoin for your anti-spam efforts.
This is a bad idea in my opinion, as giving the attacker a way to profit from his work in another system gives him a reason not to care on how much spam he sends, since he will return a profit on them through mining.

I have been think about this a lot when I was first introduced to Bitcoin and for now I came to a conclusion that PoW in Bitcoin mining shouldn't be reused for anything else, as it decreases the security of both systems, for the sake of efficiency.

PoW is by nature "wasteful", it has to be.  If it has any other purpose, it means it is not proving that you put in the work for this block, email, etc.
But that you simply used work from some other system as a lie that you actually put in work in this new system.

Mining with some special restrictions, as you provided, does bring benefits to security, but it provides more problems in mining, since you can't mine in pools any longer. Everything has it's price.

Using an independent PoW system would provide the actual proof that you put in the work for that exact message.
Using a different hashing algorithm is also very useful, so miners can't reuse their ASIC rigs to create a lot of spam in short period of time.
Same as with altcoins.

So imagine every such message protocol as a cryptocurrency itself where you need to think of it's security in the same way.
swfsql (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
April 10, 2018, 01:48:40 PM
Last edit: April 10, 2018, 02:23:01 PM by swfsql
 #3

Hi aleksej, I meant not to change bitcoin mining in any way, but for nodes to, instead of throwing the best PoW away (when failing to mine that round's block), to send the failed block to one connected peer (this will work better for small blocks, with just a handful of transactions in the block's body).

With that particular coinbase and considering the exchanged information, the connected peer can verify that the failed block's miner was doing it dedicated to that peer. Since the miner must choose who is getting his dedication on each round, this seems suitable for preventing spam. And it will increase the network's hashrate. I believe a higher hashrate is certainly good for the network.

This doesn't change the reward mechanism, but would be a soft-fork instead, where nodes will require higher dedication (when under message or bandwidth stress) in order to communicate with other peers at all.

This is the idea that a failed block is still lightly useful (not for Bitcoin purposes, but for networking): a spammer will increase bitcoin's hashrate, increasing it's security. On the other hand, as you said, "miners are allowed to spam"; and "spammers may get rewarded" (by actually mining bitcoin), which kind of sucks, but well..

edit:
> But I see that you are proposing a single mining system where you get rewards in Bitcoin for your anti-spam efforts.

Well, mining has always been spam prevention: preventing blockchain block insertion spam. And also functions to increase older data immutability certainty.
PoW has always been used for more than one purpose..

edit: if some block limit of ~100kB is considered (for dedicatory purposes), then it's likely that "actual miners" won't bother letting go of 900kB for a "you may spam the network free pass card". That is, anti-spam + mining would intersect under 100kB, but >100kB would still be just plain mining. Since "serious business" miners will have more than enough "dedication credit", they won't miss it.
This will at least lower bitcoin rewards for lucky spammers.
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!