1 2016-01-20 00:00:22 <maaku> sipa: so the coinbase scriptWitness is transmitted with the block, but contains extra data not hashed as part of the witness tree?
  2 2016-01-20 00:00:33 <sipa> maaku: indeed
  3 2016-01-20 00:00:56 <maaku> ok thank you.
  4 2016-01-20 00:02:17 <sipa> it allows chaining future consensus structures into it
  5 2016-01-20 00:02:31 <sipa> in a way that doesn't require mining software to know what kinds of commitments are to be created
  6 2016-01-20 00:05:20 <maaku> sipa: right I'm coding up an alternative (specify the path up to 7-deep in a single byte) and want to make sure I understand the code there first
  7 2016-01-20 00:07:12 <sipa> maaku: i was planning to take that approach first too, but I believe it's wasteful for consensus commitments to do that
  8 2016-01-20 00:07:13 <sipa> maaku: i was planning to take that approach first too, but I believe it's wasteful for consensus commitments to do that
  9 2016-01-20 00:07:21 <sipa> non-consensus commitments can use a generic tree
 10 2016-01-20 00:07:22 <sipa> non-consensus commitments can use a generic tree
 11 2016-01-20 00:07:23 <Lauda> Sipa some people are seriously confused in regards to SegWit.
 12 2016-01-20 00:07:27 <sipa> non-consensus commitments can use a generic tree
 13 2016-01-20 00:07:29 <Lauda> Sipa some people are seriously confused in regards to SegWit.
 14 2016-01-20 00:08:22 <maaku> sipa: I'm not convinced that the witness tree is so privledged as to take a high-level slot in future trees
 15 2016-01-20 00:08:36 <maaku> e.g. more important than header commitments or aux mining proofs
 16 2016-01-20 00:16:19 <maaku> sipa: so you can encode an up-to-7-depth path in a single byte. the highest set bit is the level, and the bits below that determine left/right branching, right?
 17 2016-01-20 00:16:42 <maaku> 0b00000001 is the root 0b00000010 is the left branch of root, 0b00000011 is the right branch of root, etc.
 18 2016-01-20 00:16:59 <sipa> maaku: where does that byte go?
 19 2016-01-20 00:17:11 <maaku> so the proposal is this: between 0xaa21a9ed and the 32-byte root hash you put that byte
 20 2016-01-20 00:17:12 <maaku> so the proposal is this: between 0xaa21a9ed and the 32-byte root hash you put that byte
 21 2016-01-20 00:17:27 <maaku> and the scriptWitness for coinbase is up to 7 hashes for the other branches
 22 2016-01-20 00:18:26 <maaku> and for future extensions the commitment is checked to be at least 37 bytes, and the extra bytes between 0xaa21a9ed and the witnessPath, merkleRoot are ignored
 23 2016-01-20 00:19:23 <sipa> what other branches?
 24 2016-01-20 00:19:44 <maaku> so right now it would be [0xa21a9ed, witnessPath, merkleRoot]. after skip list header comments, maybe [0xaa21a9ed, skipListPath, witnessPath, merkleRoot]
 25 2016-01-20 00:20:17 <maaku> sipa: well the mining code now would be just [magic, 0x01, witness root] and witnessScript is empty
 26 2016-01-20 00:21:14 <maaku> but in the future we could have an arbitrary tree structure that gives preference to commitments that are more proof-size sensitive (e.g. stuff affecting mobile wallets or merged mining)
 27 2016-01-20 00:21:56 <maaku> and it's upgradeable because all the commitments really could be placed anywhere in the first 7 levels, but there'd be sensible defaults that results in a huffman-like tree structure
 28 2016-01-20 00:21:57 <maaku> and it's upgradeable because all the commitments really could be placed anywhere in the first 7 levels, but there'd be sensible defaults that results in a huffman-like tree structure
 29 2016-01-20 00:31:34 <viajero> what time zone is used for the logs?
 30 2016-01-20 00:31:54 <sipa> maaku: ok, need to get to the airport; i don't fully understand your proposal yet, so i can't comment
 31 2016-01-20 00:32:07 <viajero> (the logs of this channel)
 32 2016-01-20 00:32:33 <maaku> viajero: UTC I would presume
 33 2016-01-20 00:32:34 <maaku> viajero: UTC I would presume
 34 2016-01-20 00:32:47 <maaku> also whoever is maintaining the logs, lines are being logged in triplicate
 35 2016-01-20 00:32:51 <sipa> indeed, UTC
 36 2016-01-20 00:33:01 <maaku> sipa: ok safe travels
 37 2016-01-20 00:33:22 <viajero> yeah, needs soime fixing. very inconvenient to go through
 38 2016-01-20 00:33:23 <viajero> yeah, needs soime fixing. very inconvenient to go through
 39 2016-01-20 00:34:02 <Lauda> but forcing pruned blocks without witness by default. and only letting segwit implementations have the special parameter to enable archival mode.. not great"
 40 2016-01-20 00:34:02 <Lauda> "segwit. all the little fixes and future new features... great.
 41 2016-01-20 00:34:13 <Lauda> Does this have any negative (possible) effects?
 42 2016-01-20 00:34:14 <Lauda> Does this have any negative (possible) effects?
 43 2016-01-20 00:34:46 <maaku> Lauda: "forcing pruned blocks without witness by default" <-- ??
 44 2016-01-20 00:35:10 <Lauda> I have no idea what this is exactly supposed to mean.
 45 2016-01-20 00:35:11 <Lauda> I have no idea what this is exactly supposed to mean.
 46 2016-01-20 00:35:23 <sipa> the initial implementation will download, verify, and store all witnesses
 47 2016-01-20 00:35:26 <Lauda> People just have a general understanding of SegWit that is wrong.
 48 2016-01-20 00:35:50 <sipa> the only thing that changes is that it introduces a future mode where witnesses are kept less long than other block data
 49 2016-01-20 00:36:20 <Lauda> sipa they get deleted after some time or?
 50 2016-01-20 00:36:21 <Lauda> sipa they get deleted after some time or?
 51 2016-01-20 00:36:21 <maaku> So what sipa said. I *think* the quote might be talking about non-upgraded nodes.
 52 2016-01-20 00:36:30 <Lauda> Possibly yes.
 53 2016-01-20 00:36:31 <Lauda> Possibly yes.
 54 2016-01-20 00:36:50 <maaku> But the consequences of that are the same as with any other soft-fork. E.g. pre-P2SH clients don't understand the P2SH outputs
 55 2016-01-20 00:36:57 <sipa> about non-upgraded nodes, read: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-December/012014.html
 56 2016-01-20 00:42:56 <viajero> I haven't followed the recent core vs. classic drama closely but I was wondering if there already have been any efforts made to find a mediator who is trusted from both sides (like maybe nick szabo or anyone else who is willing and appropriate) to give it one last try to calm things down and find some kind of consensus without the danger of some kind of hostile takeover (classic) and half or more of the core team stepping down in the
 57 2016-01-20 00:42:56 <viajero> process?
 58 2016-01-20 00:43:22 <Lauda> Thanks again sipa, maaku
 59 2016-01-20 00:43:23 <Lauda> Thanks again sipa, maaku
 60 2016-01-20 00:54:48 <Lauda> Sipameaning those that dont even have a segwit client are left with shitty blocks of uncheckable data..
 61 2016-01-20 00:54:49 <Lauda> meaning the only way to get full with signature data.. is to upgrade to segwit implementation.. because to get archival data you need to push a parameter only available if your a segwit user.
 62 2016-01-20 00:54:49 <Lauda> Sipameaning those that dont even have a segwit client are left with shitty blocks of uncheckable data..
 63 2016-01-20 00:54:49 <Lauda> which is removing freedom of choice of differing implementations.. as it forces those who want to be archival nodes, to use segwit..
 64 2016-01-20 00:54:55 <Lauda> sipa*
 65 2016-01-20 00:54:56 <Lauda> sipa*
 66 2016-01-20 00:55:18 <sipa> point them to my ML post on the security of soft forks
 67 2016-01-20 00:55:24 <sipa> it's no so black and white
 68 2016-01-20 00:55:32 <Lauda> Done.
 69 2016-01-20 00:55:33 <Lauda> Done.
 70 2016-01-20 00:57:17 <maaku> Lauda: I'm sure someone could code up a client that downloaded that data but didn't validate it. Not sure what the point would be though.
 71 2016-01-20 00:57:37 <maaku> viajero: The problem is that the point of contention is political, not technical, it seems.
 72 2016-01-20 00:58:22 <maaku> There's a lot more going on than you can see on Reddit or the forums, and there are people acting as mediators as well as some direct conversations going on.
 73 2016-01-20 00:59:20 <viajero> maaku: yeah, I get the same impression.
 74 2016-01-20 01:00:23 <viajero> ok, so is the impression incorrect that the classic hardfork might get more than 75% anytime and things might fall appart son after (or at least, many core devs aren't willing to contribute to classic
 75 2016-01-20 01:00:25 <maaku> viajero: but the basic problem is political, and the stance of bitcoin core (as much as we can generalize a disparate group of developers) is that such decisions should be made on a technical, not political basis
 76 2016-01-20 01:00:47 <maaku> so.. what to do? I don't know. this is probably off topic for #bitcoin-dev but I'm not sure where to send it
 77 2016-01-20 01:01:18 <viajero> yeah, thats why I ended up here. didn't know where else to aks these questions
 78 2016-01-20 01:02:34 <Lauda> maaku so it would be possible to code a client that would  receive full txdata, with the signatures?
 79 2016-01-20 01:02:35 <Lauda> maaku so it would be possible to code a client that would  receive full txdata, with the signatures?
 80 2016-01-20 01:03:18 <sipa> Lauda: yes, obviously. any segwit supporting client will do that
 81 2016-01-20 01:03:35 <Lauda> sipa what about a client that does not support segwit?
 82 2016-01-20 01:03:49 <maaku> Lauda: why would you care to?
 83 2016-01-20 01:03:57 <Lauda> Just out of curiousity.
 84 2016-01-20 01:04:02 <sipa> they won't see the witness data
 85 2016-01-20 01:04:17 <sipa> but they also don't care about it
 86 2016-01-20 01:04:22 <Lauda> Someone mentioned it. So it is not possible for a client that does not support Segwit to see the witness data?
 87 2016-01-20 01:04:23 <Lauda> Someone mentioned it. So it is not possible for a client that does not support Segwit to see the witness data?
 88 2016-01-20 01:04:31 <maaku> Lauda: it is certainly possible
 89 2016-01-20 01:04:39 <maaku> Lauda: but it's meaningless to do.
 90 2016-01-20 01:04:40 <maaku> Lauda: but it's meaningless to do.
 91 2016-01-20 01:04:58 <sipa> of course it is "possible"... but that "possible" just means supporting segwit
 92 2016-01-20 01:05:23 <maaku> viajero: maybe the badly named bitcoin core slack? slack.bitcoincore.org
 93 2016-01-20 01:05:24 <Chiwawa_> imagine people wanted to stick with bitcoin-core 0.11 and not upgrade, will they be cut off from getting witness data, by defalt if segwit gets consensus?
 94 2016-01-20 01:05:25 <Chiwawa_> imagine people wanted to stick with bitcoin-core 0.11 and not upgrade, will they be cut off from getting witness data, by defalt if segwit gets consensus?
 95 2016-01-20 01:05:32 <maaku> (I'm not there though)
 96 2016-01-20 01:05:36 <viajero> my thinking is, that even if the contention is political, isn't it worth trying to find someone who mediates on "top level" before everything breaks apart?  is there even anyone who might fit in that role? (or is my impression just plain wrong that things are on the brink of falling apart?)
 97 2016-01-20 01:06:13 <maaku> Chiwawa_: they could certainly code up their wallet to get it, but again what's the point? are they going to check the witness themselves?
 98 2016-01-20 01:06:49 <Lauda> maaku with 'check the witness' you mean validate signatures?
 99 2016-01-20 01:06:50 <maaku> viajero: perhaps this post might give you some perspective on the other side : https://www.reddit.com/r/btc/comments/41fup9/to_core_developers_we_are_not_firing_you_we_are/cz2c02w
100 2016-01-20 01:06:52 <Lauda> or?
101 2016-01-20 01:07:05 <maaku> (the point being that if a political mediation was necessary, bitcoin's failed anyway regardless of the outcome)
102 2016-01-20 01:07:10 <maaku> Lauda: yes
103 2016-01-20 01:07:24 <Lauda> maaku can't they validate them in this specific case?
104 2016-01-20 01:07:25 <maaku> it's more than just ECDSA checks, but yes "check the signatures" is what I meant
105 2016-01-20 01:07:40 <maaku> Lauda: that's the only difference between a segwit and non-segwit client
106 2016-01-20 01:07:54 <Lauda> So a non-segwit client can get the signatures
107 2016-01-20 01:07:56 <Lauda> but is unable to
108 2016-01-20 01:07:59 <Lauda> validate them
109 2016-01-20 01:08:11 <Lauda> non-segwit client as in one coded to get them
110 2016-01-20 01:08:16 <maaku> Lauda: eeehhh this is really getting philosophical at this point
111 2016-01-20 01:08:30 <Lauda> Well let's say in theory
112 2016-01-20 01:08:36 <maaku> the segwit patch set does really two things (1) fetch the witness, (2) validate the witness
113 2016-01-20 01:08:47 <Lauda> Someone created a client that can download the data but does not support SegWit.
114 2016-01-20 01:08:54 <maaku> you only need to do (1) if you are going to do (2), otherwise you're downloading stuff you're never going to use anyway
115 2016-01-20 01:09:10 <maaku> and if you do (1) and (2) ... you're a segwit client
116 2016-01-20 01:09:27 <Lauda> In theory a non segwit client could do (1) but not (2), right?
117 2016-01-20 01:09:37 <maaku> see I don't know what "does not support segwit" means
118 2016-01-20 01:09:50 <maaku> can you explain what you mean?
119 2016-01-20 01:10:03 <Lauda> A client that does not want to use SegWit.
120 2016-01-20 01:10:07 <Lauda> A client that does not want to use SegWit.
121 2016-01-20 01:10:14 <maaku> what do you mean "use" segwit?
122 2016-01-20 01:10:19 <Lauda> implement?
123 2016-01-20 01:10:34 <maaku> are you talking about transaction validation, or transaction generation?
124 2016-01-20 01:10:38 <viajero> maaku: I read that already. thats one of the posts that gave me the impression that things might fall apart if classic wins. I personally would always support classic over core. but right now it seems that classic might win and what you are describing in your reddit post will actually happen very soon
125 2016-01-20 01:10:39 <viajero> maaku: I read that already. thats one of the posts that gave me the impression that things might fall apart if classic wins. I personally would always support classic over core. but right now it seems that classic might win and what you are describing in your reddit post will actually happen very soon
126 2016-01-20 01:10:54 <Lauda> maaku let's say Bitcoin Core 0.11
127 2016-01-20 01:11:00 <Lauda> can it do (1)?
128 2016-01-20 01:11:06 <Lauda> once SegWit is activated
129 2016-01-20 01:11:40 <maaku> viajero: i don't have a crystal ball
130 2016-01-20 01:11:45 <viajero> fuck, sorry. I would always support core over classic!!! my msitake....
131 2016-01-20 01:11:46 <viajero> fuck, sorry. I would always support core over classic!!! my msitake....
132 2016-01-20 01:12:00 <maaku> viajero: heh i figured from context that's what you meant
133 2016-01-20 01:12:01 <maaku> viajero: heh i figured from context that's what you meant
134 2016-01-20 01:12:19 <maaku> Lauda: no, but hypothetically you could back-port just the part that downloads the witness data
135 2016-01-20 01:12:23 <gijensen> How can Classic win if it has no code?
136 2016-01-20 01:12:24 <gijensen> How can Classic win if it has no code?
137 2016-01-20 01:12:29 <maaku> all you would do is waste disk space, but yes
138 2016-01-20 01:12:42 <maaku> gijensen: that is the essence of the issue
139 2016-01-20 01:13:18 <Lauda> maaku that's my question. It would be possibly to modify a client so that it does (1) without supporting SegWit? Because in order to do (2) it would have to implement changes necessary for SegWit.
140 2016-01-20 01:13:54 <viajero> well, as I understand it, it wins the moment it gets more than 75% hashing power. the crowd doesn't seem to care, that classic has no proper team of developers
141 2016-01-20 01:13:55 <viajero> well, as I understand it, it wins the moment it gets more than 75% hashing power. the crowd doesn't seem to care, that classic has no proper team of developers
142 2016-01-20 01:14:26 <maaku> gijensen: because core is all evil autocrats that took VC money and are perverting bitcoin to our own ends. so we'll take a demonstrably worse solution in every way and use that just because f*ck you core.
143 2016-01-20 01:14:42 <Lauda> viajero not sure if this is the right channel for that?
144 2016-01-20 01:14:51 <gijensen> viajero, I don't think it does that, I just looked at a diff, it seems to do nothing?
145 2016-01-20 01:14:52 <gijensen> viajero, I don't think it does that, I just looked at a diff, it seems to do nothing?
146 2016-01-20 01:15:11 <gijensen> maaku, that's what it looks like to me haha
147 2016-01-20 01:16:10 <maaku> Lauda: again it hinges on what you mean by "support segwit" -- you could for example take a segwit-validating client and make it only send to non-segwit addresses
148 2016-01-20 01:16:35 <maaku> just like you can take a current version of bitcoin core and make it only send to 1- addresses instead of 3- addresses