public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Conrad Burchert <conrad.burchert@googlemail•com>
To: Ilya Eriklintsev <erik.lite@gmail•com>
Cc: bitcoin-dev@lists•linuxfoundation.org
Subject: Re: [bitcoin-dev] BIP Idea : DDoS resistance via decentrilized proof-of-work
Date: Thu, 22 Jun 2017 14:02:45 +0200	[thread overview]
Message-ID: <CADc9zGD6mGMzUgsJ5QOnXwe9X7jgjZz1WTB7RqK_kxCoRfhXBA@mail.gmail.com> (raw)
In-Reply-To: <CA+Yhp0Uv3zrg28G7QcgXPSv4Md9j2U-=SROJqWAOqvW_tCu=bQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6800 bytes --]

As soon as there is competition for block space, people will likely
outsource creating the proof of work on the transaction to "transaction
miners". This would likely result in giving a fee to those transaction
miners. If those are the same miners as those mining the block, we are back
at the current system.

Put in other words: We are already doing this, you are paying the miner for
a piece of the proof of work of the block. If you want to mine instead of
paying, just mine a block and use a part of the block reward to pay the fee
for another transaction.

This also does not work to prevent spam. Instead of paying the transaction
fee you can just pay someone to mine proof-of-work on your spam
transactions, resulting in roughly the same cost. There is no reason a
normal user would be better in doing this than a spammer, likely it is the
other way around as the spammer is a more reliable customer for a miner.

2017-06-21 11:55 GMT+02:00 Ilya Eriklintsev via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org>:

> Hello everyone,
>
> recently I have got an idea that in my opinion will improve bitcoin
> network, making it better store-of-value for growing cyberspace and
> cryptoeconomy. Sorry for longread below and thank you for your time.
>
> *Decentralized proof-of-work and DDoS resistance for Bitcoin*
>
> *Abstract*
>
> By introducing some new block validation rules it is possible to make
> Bitcoin network more secure, decentralized and DDoS resistant. The idea is
> to modify simple proof-of-work puzzle in such a way that user transactions
> could be hardened with the same proof-of-work algorithm thus incentivising
> all the miners to include that particular transaction. Such mechanism will
> effectively give a handicap to every miner who includes "mined" transaction
> into next block, increasing probability of him getting block reward.
>
> *Problems and motivation*
>
> This document will address the issue of a continuous DDoS attack targeting
> the Bitcoin network, e.g. full nodes mempools constantly being overflowed
> with transactions carrying small value reduce system primary ability to
> transfer value (and hence making it perfect store of value). Valid
> transactions are cheap to create (in the sense of computational effort
> required) and no adequate mechanism exist to make transaction total value
> increase probably of its confirmation by the network.
>
> Currently, miners decide which transactions to include in blocks because
> it's them who are securing Bitcoin network providing proof-of-work
> certificates stored inside every block header. Miners have to store the
> whole blockchain at all times, so one of the costs is storage which grows
> linearly with the transaction size (blockchain size as well). Another cost
> is network bandwidth which depends directly on the size of data to be
> communicated over.
>
> The only incentive a person who wants to transfer his bitcoins is allowed
> to use is setting of transaction fee, that is going directly to the miner.
> This solution probably was intended to utilize free market (as implied by
> Satoshi introducing sequence numbers) to determine appropriate fees, but
> that is obviously not the case, in the current bitcoin network operating in
> full block capacity mode. This fee market deviates significantly from a
> free market premise (also attempts being made to make it closer, e.g. in
> BIP125 where Replace-By-Fee signaling is supposed to help in replacing
> "stuck" transactions with noncompetitive fee).
>
> Currently, bitcoin network is susceptible to the DDoS attack of a kind.
> Adversary creating and translating into the network a lot of transactions
> carrying small value (e.g. only miners fee), will be able to impair the
> ability to transfer value for everyone in the world, should he has enough
> money to pay the fees. Miners would continue to work providing security for
> the network and new blocks will consist of transaction transferring
> negligible value. It's a major drawback because the cost of such attack
> doesn't grow asymmetrically with the cost of BTC asset.
>
> *Proposed solution*
>
> So how do we incentivize all miners to include our transaction carrying a
> lot of value in the next block? The only thing a miner supposed to do to
> get a reward is to produce Hashcash proof-of-work, thus providing
> cryptographic security guarantees for the whole Bitcoin blockchain. What if
> including our transaction in a block would reduce effort requirements for
> the miner produce valid block?
>
> We could do so by extending the concept of proof-of-work, in such a way
> that we do not sacrifice security at all. Here are both descriptions
> proof-of-work as-is and to-be:
>
> Standart proof-of-work: hash(previous block hash + current block target +
> current block metadata + current block transactions) < target
>
> Decentralized proof-of-work: hash(previous block hash + current block
> target + current block metadata + current block transactions) - sum( FFFF -
> hash( previous block hash + raw_tx ) ) < target
>
> It is possible to imagine completely mining agnostic proof-of-work, for
> example, the following PoW would do:
>
> Distributed (mining-agnostic) proof-of-work: sum( FFFF - hash( previous
> block hash + current block target + current block metadata + signed_tx ) )
> < target
>
> Described protocol change could be implemented as user activated soft-fork
> (described in BIP148), introducing new blocks with the modified
> proof-of-work concept.
>
> *Economic reasoning*
>
> An adversary whose goal is to prevent the network from transferring value
> will have to compete with good users hash rate using same equipment good
> miners will use. And it's far more complicated than competing with others
> using the money to pay transaction fees.
>
> In order to investigate probable consequences of protocol upgrade and
> stability of implied economical equilibrium, we need an adequate game
> theoretical model. Such model and numerical simulation results should be
> obtained and studied before any protocol change could be considered by the
> community.
>
> To me it seems like a win-win solution for everyone owning BTC:
>
> Miners benefit: as the result DDoS attack will be stopped, Bitcoin becomes
> perfect store-of-value finally. Political decentralization of hash rate
> will be incentivized as mining equipment becomes relevant to every user.
> Users benefit: miners will have direct incentives to include transactions
> deemed important by their sender and supported by some amount of
> proof-of-work.
>
> Sincerely yours, Ilya Eriklintsev.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>

[-- Attachment #2: Type: text/html, Size: 7517 bytes --]

  reply	other threads:[~2017-06-22 12:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-21  9:55 Ilya Eriklintsev
2017-06-22 12:02 ` Conrad Burchert [this message]
2017-06-22 13:41   ` Ilya Eriklintsev
2017-06-22 13:47 ` John Hardy
2017-06-22 14:18   ` Ilya Eriklintsev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADc9zGD6mGMzUgsJ5QOnXwe9X7jgjZz1WTB7RqK_kxCoRfhXBA@mail.gmail.com \
    --to=conrad.burchert@googlemail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=erik.lite@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox