public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* Re: [bitcoin-dev] Reducing energy consumption and increasing security at the same time
       [not found] <mailman.3482.1575825776.25512.bitcoin-dev@lists.linuxfoundation.org>
@ 2019-12-09  0:45 ` Runchao Han
  2019-12-09  9:47   ` Cheng Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Runchao Han @ 2019-12-09  0:45 UTC (permalink / raw)
  To: Cheng Wang; +Cc: bitcoin-dev

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

Hi Cheng,

This is an interesting proposal!
While the incentive analysis is sound, I have two concerns:

## What if a guy keeps mining easy blocks to launch 51% attacks?

With PoLW, a miner can sacrifice the coinbase reward as much as possible to mine blocks faster.
If the blockchain follows the longest chain rule, PoLW may make 51% attacks much easier.
An easy way of fixing this is to choose the chain with most work rather than most blocks.

## What if the coinbase tx is no longer the majority of mining reward, but the fx fee?

This might happen in the future.
A possible solution is to limit the number of txs for easy blocks.
For example, if a miner chooses to mine blocks N times easier, he can only include txs of which the total size is <= (block_size - metadata_size) / N.

Best regards,
Runchao

> Date: Sun, 8 Dec 2019 11:43:49 +0100
> From: Cheng Wang <cheng@alephium.org>
> To: bitcoin-dev@lists.linuxfoundation.org
> Subject: [bitcoin-dev] Reducing energy consumption and increasing
> 	security	at the same time
> Message-ID:
> 	<CAJgZxF4G_BjJ=OhuzhjfZtkePnEc2hz8DMZzFzWKBNh17XhBeQ@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Everyone,
> 
> I would like to share my serious work on reducing the energy consumption of
> PoW without sacrificing security. My new type of algorithm is called PoLW.
> For a practical system where mining is profitable, PoLW could actually
> improve the security of the system.
> 
> The idea is to shift part of the external cost of mining in the physical
> world (mainly energy consumption) to the internal cost of the network. In
> PoLW, the miners are able to give up part of the coinbase reward so as to
> get weight (> 1) for the block hash they produce. The total cost of
> generating a new block would still be equal to maximal coinbase reward in
> equilibrium.
> 
> I analyzed two algorithms in the paper: linear PoLW and exponential PoLW.
> Linear PoLW could reduce energy consumption by a factor close to 1/2 in
> equilibrium, while exponential PoLW could reduce energy consumption by an
> arbitrary factor in equilibrium.
> 
> In a practical system, mining is usually (if not always) profitable. If we
> transition from PoW to PoLW, the external costs of mining would decrease
> and the internal costs will increase. However, the decrease in external
> costs would be less than the increase in internal costs since mining is
> profitable. The total cost of block generation would get higher, therefore,
> the security will increase.
> 
> Of course, we could not decrease the external costs of any existing system
> by a factor close to zero immediately. There is a section in my paper
> discussing this particularly. The principle of applying PoLW is that
> keeping the absolute external cost increasing all the time, but the
> percentage of external cost in the total cost gets lower eventually.
> 
> This work is based on solid math calculation, and I am looking forward to
> feedback and discussions. My paper is available at:
> https://github.com/alephium/research/raw/master/polw.pdf
> 
> It's inspired by the recent great paper of Itay, Alexander, and Ittay:
> https://arxiv.org/abs/1911.04124
> 
> Best,
> Cheng Wang


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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bitcoin-dev] Reducing energy consumption and increasing security at the same time
  2019-12-09  0:45 ` [bitcoin-dev] Reducing energy consumption and increasing security at the same time Runchao Han
@ 2019-12-09  9:47   ` Cheng Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Cheng Wang @ 2019-12-09  9:47 UTC (permalink / raw)
  To: Runchao Han; +Cc: bitcoin-dev

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

Hi Runchao,

- 1st question regarding double spending:

We won't allow a miner to sacrifice coinbase reward as much as possible for
a practical system. This will be achieved by setting a dynamic upper bound
for the number of rewards the miner could sacrifice. The upper bound would
be related to the actual mining difficulty (not the weighted one) of the
recent mining epoch.

In Section 8 of the paper, I discussed quite a lot about how to select
system parameters and how to transition the current PoW systems to PoLW.
Just for an example, for Bitcoin, we might transition from giving up 0
coinbase reward to giving up maximal 10% coinbase reward. In the long term,
if the value of Bitcoin goes as comparable to gold, we could allow the
miners to give up more rewards. The network could adjust these bounds
solely based on the internal state (i.e. the actual mining difficulty).

In short, PoLW could reduce the energy consumption of Bitcoin in
equilibrium from coinbase reward to even sub-linear. Still, the absolute
energy consumption would be kept at a sufficiently high level.

- 2nd question regarding tx fees:

We could simply reduce this problem to purely coinbase reward by adding tx
fees into the maximal coinbase reward. When the tx fees dominant miner's
profits, we could simply allow negative coinbase reward (i.e. miners spend
coins for the coinbase transaction).

Note that, using PoLW, we could remove the halving mechanism, as PoLW is
adaptive already.

Best, Cheng!

On Mon, Dec 9, 2019 at 1:45 AM Runchao Han <runchao.han@monash.edu> wrote:

> Hi Cheng,
>
> This is an interesting proposal!
> While the incentive analysis is sound, I have two concerns:
>
> ## What if a guy keeps mining easy blocks to launch 51% attacks?
>
> With PoLW, a miner can sacrifice the coinbase reward as much as possible
> to mine blocks faster.
> If the blockchain follows the longest chain rule, PoLW may make
> 51% attacks much easier.
> An easy way of fixing this is to choose the chain with most work rather
> than most blocks.
>
> ## What if the coinbase tx is no longer the majority of mining reward, but
> the fx fee?
>
> This might happen in the future.
> A possible solution is to limit the number of txs for easy blocks.
> For example, if a miner chooses to mine blocks N times easier, he can only
> include txs of which the total size is <= (block_size - metadata_size) / N.
>
> Best regards,
> Runchao
>
> Date: Sun, 8 Dec 2019 11:43:49 +0100
> From: Cheng Wang <cheng@alephium.org>
> To: bitcoin-dev@lists.linuxfoundation.org
> Subject: [bitcoin-dev] Reducing energy consumption and increasing
> security at the same time
> Message-ID:
> <CAJgZxF4G_BjJ=OhuzhjfZtkePnEc2hz8DMZzFzWKBNh17XhBeQ@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Everyone,
>
> I would like to share my serious work on reducing the energy consumption of
> PoW without sacrificing security. My new type of algorithm is called PoLW.
> For a practical system where mining is profitable, PoLW could actually
> improve the security of the system.
>
> The idea is to shift part of the external cost of mining in the physical
> world (mainly energy consumption) to the internal cost of the network. In
> PoLW, the miners are able to give up part of the coinbase reward so as to
> get weight (> 1) for the block hash they produce. The total cost of
> generating a new block would still be equal to maximal coinbase reward in
> equilibrium.
>
> I analyzed two algorithms in the paper: linear PoLW and exponential PoLW.
> Linear PoLW could reduce energy consumption by a factor close to 1/2 in
> equilibrium, while exponential PoLW could reduce energy consumption by an
> arbitrary factor in equilibrium.
>
> In a practical system, mining is usually (if not always) profitable. If we
> transition from PoW to PoLW, the external costs of mining would decrease
> and the internal costs will increase. However, the decrease in external
> costs would be less than the increase in internal costs since mining is
> profitable. The total cost of block generation would get higher, therefore,
> the security will increase.
>
> Of course, we could not decrease the external costs of any existing system
> by a factor close to zero immediately. There is a section in my paper
> discussing this particularly. The principle of applying PoLW is that
> keeping the absolute external cost increasing all the time, but the
> percentage of external cost in the total cost gets lower eventually.
>
> This work is based on solid math calculation, and I am looking forward to
> feedback and discussions. My paper is available at:
> https://github.com/alephium/research/raw/master/polw.pdf
>
> It's inspired by the recent great paper of Itay, Alexander, and Ittay:
> https://arxiv.org/abs/1911.04124
>
> Best,
> Cheng Wang
>
>
>

-- 
Cheng Wang
# Love math and coding
# Founder of Alephium; Proposed BlockFlow algorithm
# Proposed the first linear-time asynchronous Byzantine consensus algorithm

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bitcoin-dev] Reducing energy consumption and increasing security at the same time
@ 2019-12-08 10:43 Cheng Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Cheng Wang @ 2019-12-08 10:43 UTC (permalink / raw)
  To: bitcoin-dev

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

Hi Everyone,

I would like to share my serious work on reducing the energy consumption of
PoW without sacrificing security. My new type of algorithm is called PoLW.
For a practical system where mining is profitable, PoLW could actually
improve the security of the system.

The idea is to shift part of the external cost of mining in the physical
world (mainly energy consumption) to the internal cost of the network. In
PoLW, the miners are able to give up part of the coinbase reward so as to
get weight (> 1) for the block hash they produce. The total cost of
generating a new block would still be equal to maximal coinbase reward in
equilibrium.

I analyzed two algorithms in the paper: linear PoLW and exponential PoLW.
Linear PoLW could reduce energy consumption by a factor close to 1/2 in
equilibrium, while exponential PoLW could reduce energy consumption by an
arbitrary factor in equilibrium.

In a practical system, mining is usually (if not always) profitable. If we
transition from PoW to PoLW, the external costs of mining would decrease
and the internal costs will increase. However, the decrease in external
costs would be less than the increase in internal costs since mining is
profitable. The total cost of block generation would get higher, therefore,
the security will increase.

Of course, we could not decrease the external costs of any existing system
by a factor close to zero immediately. There is a section in my paper
discussing this particularly. The principle of applying PoLW is that
keeping the absolute external cost increasing all the time, but the
percentage of external cost in the total cost gets lower eventually.

This work is based on solid math calculation, and I am looking forward to
feedback and discussions. My paper is available at:
https://github.com/alephium/research/raw/master/polw.pdf

It's inspired by the recent great paper of Itay, Alexander, and Ittay:
https://arxiv.org/abs/1911.04124

Best,
Cheng Wang

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-12-09  9:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mailman.3482.1575825776.25512.bitcoin-dev@lists.linuxfoundation.org>
2019-12-09  0:45 ` [bitcoin-dev] Reducing energy consumption and increasing security at the same time Runchao Han
2019-12-09  9:47   ` Cheng Wang
2019-12-08 10:43 Cheng Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox