--- Log opened Wed Jan 08 00:00:01 2020 01:14 -!- viasil [~viasil@95.174.67.172] has quit [Ping timeout: 258 seconds] 01:19 -!- viasil [~viasil@95.174.67.172] has joined #braidpool 02:52 -!- belcher [~belcher@unaffiliated/belcher] has joined #braidpool 03:22 -!- CubicEarth [~CubicEart@c-67-168-1-172.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 03:23 -!- CubicEarth [~CubicEart@c-67-168-1-172.hsd1.wa.comcast.net] has joined #braidpool 03:23 -!- viasil [~viasil@95.174.67.172] has quit [Ping timeout: 265 seconds] 03:28 -!- viasil [~viasil@95.174.67.172] has joined #braidpool 04:01 -!- jungly [~quassel@host97-200-static.8-79-b.business.telecomitalia.it] has joined #braidpool 05:32 -!- viasil [~viasil@95.174.67.172] has quit [Ping timeout: 260 seconds] 05:38 -!- viasil [~viasil@95.174.67.172] has joined #braidpool 07:42 -!- viasil [~viasil@95.174.67.172] has quit [Ping timeout: 260 seconds] 07:47 -!- viasil [~viasil@95.174.67.172] has joined #braidpool 09:08 -!- jungly [~quassel@host97-200-static.8-79-b.business.telecomitalia.it] has quit [Remote host closed the connection] 13:24 < bsm1175321> Watched this, thanks nothingmuch: https://www.youtube.com/watch?v=thyoplWeX1o 13:28 < bsm1175321> paper: http://timroughgarden.org/papers/bitcoin.pdf 13:29 < bsm1175321> First part is pedantic and kind of irrelevant, but it gets better from there. 13:30 < bsm1175321> Basically, latency breaks incentive compatibility, which I think we all know. I've made this argument in my talks. 13:30 < bsm1175321> And because of that, withholding attacks can work. 13:31 < bsm1175321> Therefore it's necessary to have a time parameter beyond which withheld blocks are rejected. So that within some short-ish window, everything is fair and incentive compatible, as long as blocks are reported in a timely manner with respect to this time parameter. 13:32 < bsm1175321> Question is how to know that this time has passed, given that a blockchain or DAG has no decentralized clock. 13:33 < bsm1175321> In a strict blockchain this time parameter is the block time. In a DAG it has to be something else. 13:34 < bsm1175321> This is the point of "relative work weighting" I've brought up in previous talks...a "time" can be defined on the DAG as long as there isn't a 51% miner. 13:35 < bsm1175321> So blocks naming a very old parent can be included but shouldn't receive a block reward, and this is a function of h_i/(sum_j h_j) given miner with hash h_i and all other miners having hashes h_j 13:36 < bsm1175321> Blocks naming old parents should be included for the purpose of healing network splits, but unfortunately there's no way to tell the difference between a network split and a withholding attack, so some subset of miners can't be paid in such a case. 13:45 < bsm1175321> "Smuggling shares into short epochs" is impossible by construction in a DAG -- due to the directedness and cryptographic dependence of parents. Shares that are not ancestors of the successful block should not be paid. 13:45 < bsm1175321> Not sure why he harps on that...it's impossible in any reasonable construction. 13:48 < bsm1175321> The big contribution from this paper is the proposal: PPS for the first D shares, then switch to Proportional for any more shares required to get to the successful block. 13:48 < bsm1175321> https://en.bitcoin.it/wiki/Comparison_of_mining_pools 13:49 < bsm1175321> I think this is only relevant if payments must be calculated at the time the valid block is mined. 13:50 < bsm1175321> One proposal I've made is to do ex-post-facto computation of rewards with a long look-back. 13:50 < bsm1175321> e.g. in bitcoin the coinbase maturity is 100 blocks. Instead, do the *computation* of rewards 100 blocks later. (or equivalent, on the DAG) 23:56 -!- viasil [~viasil@95.174.67.172] has quit [Ping timeout: 240 seconds] 23:57 -!- viasil [~viasil@95.174.67.172] has joined #braidpool --- Log closed Thu Jan 09 00:00:04 2020