sipa changed the topic of #bitcoin-wizards to: This channel is for discussing theoretical ideas with regard to cryptocurrencies, not about short-term Bitcoin development | http://bitcoin.ninja/ | This channel is logged. | For logs and more information, visit http://bitcoin.ninja
sausage_factory has quit [Ping timeout: 240 seconds]
eddiewang has quit [Remote host closed the connection]
eddiewang has joined #bitcoin-wizards
tiagotrs has quit [Ping timeout: 248 seconds]
eddiewang has quit [Ping timeout: 248 seconds]
eddiewang has joined #bitcoin-wizards
bxbxb has quit [Ping timeout: 264 seconds]
bxbxb has joined #bitcoin-wizards
AaronvanW has quit []
CheckDavid has quit [Quit: Connection closed for inactivity]
oleganza has quit [Quit: oleganza]
forrestv has joined #bitcoin-wizards
MaxSan has quit [Ping timeout: 248 seconds]
MaxSan has joined #bitcoin-wizards
oleganza has joined #bitcoin-wizards
Chris_Stewart_5 has quit [Ping timeout: 240 seconds]
oleganza has quit [Quit: oleganza]
dnaleor has joined #bitcoin-wizards
Guest76289 has quit [Remote host closed the connection]
Chris_Stewart_5 has joined #bitcoin-wizards
dnaleor has quit [Quit: Leaving]
praxeology has joined #bitcoin-wizards
Dyaheon has quit [Ping timeout: 255 seconds]
Dyaheon has joined #bitcoin-wizards
Chris_Stewart_5 has quit [Ping timeout: 260 seconds]
cottenio has quit [Read error: Connection reset by peer]
cottenio_ has joined #bitcoin-wizards
cottenio_ is now known as cottenio
Noldorin has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
thrmo has joined #bitcoin-wizards
anon616 has quit [Remote host closed the connection]
anon616 has joined #bitcoin-wizards
oleganza has joined #bitcoin-wizards
oleganza has quit [Quit: oleganza]
legogris has quit [Remote host closed the connection]
<sipa>
stevenroose: the cleanstack rule is that there can only be exactly 1 item on the stack left after execution
<sipa>
stevenroose: the reason is that you can otherwise just prepend extra pushes to a scriptSig
<ryan-c>
stevenroose: the value on the stack does not need to be 1, just nonzero
<stevenroose>
makes sense. thanks
<stevenroose>
sipa: now that you're here: what's your position on a softfork to delay fee payout (can be as simple as 1 block) in order to mitigate fee manipulation attacks?
airbreather has joined #bitcoin-wizards
Noldorin has quit [Ping timeout: 246 seconds]
airbreather has quit [Read error: Connection reset by peer]
adiabat has quit [Quit: WeeChat 1.4]
<sipa>
stevenroose: how exactly would you do it?
<sipa>
stevenroose: i'm in favor of pay-forward schemes where every block can only take a certain fraction of the fees paid by its transactions, and the rest goes to subsequent blocks
<sipa>
from the viewpoint that as a tx creator you not only want to pay someone to include your transaction, but also want to incentivize others to build on top of it
<sipa>
however, i don't think that fundamentally solves anything, just weakens the effects of fee rate variance in the mempool
<stevenroose>
I didn't think too much about implementation details. I would think about enforcing that the fee part is spent to a special output that is only spendable in the coinbase of the next block
<stevenroose>
but apparently (I asked some weeks ago) a coinbase cannot have a second input
<sipa>
and also the outputs of a coinbase tx cannot be spent until 100 blocks later
<sipa>
so you need a second 'special' transaction that does the fee forwarding
<stevenroose>
ah that's an old consensus rule
<sipa>
it would be much easier with a hardfork change that allowed coinbases to consume the outputs of other coinbases before maturity
<stevenroose>
f.e.
<stevenroose>
and that would allow coinbases to have multiple inputs
<stevenroose>
yeah the 100 blocks rule is hard
airbreather has joined #bitcoin-wizards
<stevenroose>
what is the reasoning to split the fee reward in parts and give a part to the miner?
<stevenroose>
how about require an anyone can spend output that has the fee
<stevenroose>
so that basically the miner of block n+100 spends it
<stevenroose>
would delay fees for 100 blocks, but in principle, 1 or 100 is the same
<stevenroose>
a miner still has the same chance to find block n as block n+100 (even though his hashrate might vary)
<stevenroose>
n+1 instead of n*
<sipa>
if the feerate of mempool txn varies over time, you want to make sure that the fee income of miners stays relatively constant
<sipa>
if there is high variance in payouts, you may incentivize miners to not build on top of another block, but instead fork of earlier
<stevenroose>
hmm, you mean that miners will orphan empty blocks?
<stevenroose>
or just the block with the lowest fee if two blocks arrive at approx the same time?
<stevenroose>
that makes sense. that makes a lot more sense for n+1 as for n+100
<stevenroose>
with n+1 you get the reward in the block you built on, that's never a good idea
<sipa>
say there was 30 BTC worth of fees in the mempool, but in a small number of transactions
<sipa>
the rest of the mempool is low feerate
<sipa>
a miner creates a block A that contains all high fee txn, and as many low fee ones as possible
<sipa>
it takes a reward of 42.5 BTC
<sipa>
the next miner will not want to build on top of this block, as it only can take 12.5 + epsilon BTC
<sipa>
so even if a miner only has a 12.5/42.5 chance of winning, he'll want to create an alternative A' that grabs the same 30 BTC of txn rather than building on top of A
<stevenroose>
that is in the current case, right?
<sipa>
yes
<sipa>
but if you say *all* fees go to the next block rather than the current block, you haven't solved anything i think
<stevenroose>
creating an alternative A' is tricky. I was thinking if two miners (accidentally or on purpose) build a block around the same time, with a delayed payout at n+1, all miners will build on the block with the highest fees
<gmaxwell>
no one has found an incentive compatible solution to fee bypass that doesn't require things like the network specifying fee amounts (e.g. hardcoded economic paramter)
<sipa>
and the lower the subsidy goes, the more that this becomes a problem...
<stevenroose>
gmaxwell: what do you mean with fee bypass?
<stevenroose>
if the fee payout is in the long future (n+100 f.e.), what are the incentives for picking a block to build on. you have very little knowledge about what your chances are to get block n+100 or n+101, except just average hashrate of the last some blocks
<stevenroose>
incentives are more real with the current systme and with n+1 because you know what fee you will get based on the actions you take
<gmaxwell>
stevenroose: users can always bypass the fee system and pay the miners directly, e.g. by paying to an address with a well known private key that miners can just sweep, or by writing transactions that pay to specific large miners.
<gmaxwell>
stevenroose: if you are a miner and you can choose between two transactions one which pays 0.5 to you and another that pays 0.1 to you but 0.8 to a fee forward pool.. which will you choose?
<stevenroose>
oh yeah, that one
<gmaxwell>
you'll generally choose the one that pays more, so users can pay less in fees if they bypass and miners can make more.
<stevenroose>
yeah that would be very bad for small miners
<gmaxwell>
though sure, I agree miners should be able to pay forward, the obvious thing to do is to have a hardfork that lets coinbase txn spend other coinbase outputs without a maturity constraint... but its really unclear to me if any forwarding scheme can be constructed that doesn't just have an obvious equlibrium state of no one using the network built in fee mechenism to pay fees at all.
<stevenroose>
true, forgot about that
<stevenroose>
and a network-enforced fee schedule would be a mess
chjj has quit [Ping timeout: 276 seconds]
MaxSan has joined #bitcoin-wizards
shesek has quit [Ping timeout: 240 seconds]
eddiewan_ has joined #bitcoin-wizards
AaronvanW has quit [Remote host closed the connection]
eddiewan_ has quit [Remote host closed the connection]
AaronvanW has joined #bitcoin-wizards
eddiewan_ has joined #bitcoin-wizards
eddiewan_ has quit [Remote host closed the connection]
eddiewan_ has joined #bitcoin-wizards
Belkaar has quit [Ping timeout: 252 seconds]
Belkaar has joined #bitcoin-wizards
Belkaar has joined #bitcoin-wizards
Belkaar has quit [Changing host]
priidu has quit [Ping timeout: 248 seconds]
onabreak_ has joined #bitcoin-wizards
Guyver2 has quit [Quit: Going offline, see ya! (www.adiirc.com)]
onabreak has quit [Ping timeout: 260 seconds]
eddiewan_ has quit [Remote host closed the connection]
eddiewan_ has joined #bitcoin-wizards
eddiewan_ has quit [Remote host closed the connection]
eddiewan_ has joined #bitcoin-wizards
shesek has joined #bitcoin-wizards
shesek has joined #bitcoin-wizards
shesek has quit [Changing host]
chjj has joined #bitcoin-wizards
Chris_Stewart_5 has joined #bitcoin-wizards
eddiewan_ has quit [Remote host closed the connection]
eddiewan_ has joined #bitcoin-wizards
eddiewan_ has quit [Ping timeout: 252 seconds]
eddiewan_ has joined #bitcoin-wizards
adiabat has joined #bitcoin-wizards
eddiewan_ has quit [Remote host closed the connection]
eddiewan_ has joined #bitcoin-wizards
prime_ has joined #bitcoin-wizards
eddiewan_ has quit [Ping timeout: 248 seconds]
Chris_Stewart_5 has quit [Ping timeout: 248 seconds]
airbreather_ has joined #bitcoin-wizards
airbreather has quit [Ping timeout: 252 seconds]
Chris_Stewart_5 has joined #bitcoin-wizards
Chris_Stewart_5 has quit [Ping timeout: 240 seconds]
prime_ has quit [Ping timeout: 260 seconds]
mn3monic has quit [Ping timeout: 260 seconds]
mn3monic has joined #bitcoin-wizards
mn3monic has quit [Changing host]
mn3monic has joined #bitcoin-wizards
eddiewan_ has joined #bitcoin-wizards
chjj has quit [Ping timeout: 240 seconds]
eddiewan_ has quit [Remote host closed the connection]