1 2016-06-03 09:55:19 <renlord> hi, I've got a question related to the implementation of reject messages implemented in Core. I am curious why is a reject message not sent when a conflict tx is relayed to a node? I didn't quite follow the comment in the code.
2 2016-06-03 09:57:14 <phantomcircuit> renlord, only if you take altcoins off your linkedin
3 2016-06-03 09:59:00 <renlord> uh ok.
4 2016-06-03 10:00:33 <renlord> Done. :/
5 2016-06-03 10:09:18 <phantomcircuit> renlord, that was a joke
6 2016-06-03 10:09:27 <phantomcircuit> renlord, where in main.cpp?
7 2016-06-03 10:10:15 <renlord> 4779 ~ 4781
8 2016-06-03 10:10:36 <renlord> checks explicitly if the state is greater than CONFLICT_INTERNAL
9 2016-06-03 10:11:01 <renlord> *REJECT_INTERNAL
10 2016-06-03 10:34:59 <phantomcircuit> renlord, mempools contents are supposed to be confidential
11 2016-06-03 10:35:05 <phantomcircuit> renlord, a reject would leak that
12 2016-06-03 10:35:07 <phantomcircuit> so
13 2016-06-03 10:35:09 <phantomcircuit> no response
14 2016-06-03 10:37:46 <renlord> why should mempool contents be confidential? and if that is the case why do we have a "mempool" message then?
15 2016-06-03 10:53:55 <phantomcircuit> renlord, there shouldn't be a mempool command
16 2016-06-03 10:54:13 <phantomcircuit> it was merged by someone who has not contributed anything in literally years
17 2016-06-03 11:00:50 <renlord> oh, how interesting. So the mempool protocol message is just left there for legacy purposes?
18 2016-06-03 11:00:59 <renlord> and by design, it was never meant to be there at the first place?
19 2016-06-03 11:03:10 <phantomcircuit> renlord, each nodes mempool is unique basically
20 2016-06-03 11:03:21 <phantomcircuit> you'll get different answers on this if you ask different people
21 2016-06-03 12:00:56 <renlord> is it possible for a mempool to store conflicting transactions? I built a custom node that talks the Bitcoin protocol and probed some nodes with mempool messages and what I got was that some nodes stored conflicting txs in their mempools, especially nodes with BTCC as their user agent. Just wondering if this is possible or I've got a bug somewhere.
22 2016-06-03 12:02:04 <phantomcircuit> renlord, yes but i dont really see why
23 2016-06-03 12:02:16 <phantomcircuit> the goal for the mempool is to match what miners will actually mine
24 2016-06-03 12:02:44 <phantomcircuit> renlord, oh if you're asking whether current node software does that
25 2016-06-03 12:02:47 <phantomcircuit> no it does not
26 2016-06-03 12:03:17 <phantomcircuit> uh you mean conflicting results in the response from the same node or from different nodes?
27 2016-06-03 12:03:26 <renlord> same node.
28 2016-06-03 12:03:44 <renlord> 12.99 and 12.1 nodes seem to return mempools containing conflicting transactions
29 2016-06-03 12:03:55 <renlord> Satoshi's
30 2016-06-03 12:04:05 <phantomcircuit> that shouldn't be possible
31 2016-06-03 12:04:12 <phantomcircuit> 12.99 means they built the client themselves
32 2016-06-03 12:04:19 <phantomcircuit> so who knows what kind of crazy patches there are
33 2016-06-03 12:04:40 <phantomcircuit> but really nodes on the network can use whatever insane logic they want to setup their mempool
34 2016-06-03 12:04:58 <phantomcircuit> i have 8 nodes which reject transactions that dont start with 00-08
35 2016-06-03 12:05:08 <phantomcircuit> (ie node 0 requires 0, 1 1, 2 2, etc)
36 2016-06-03 12:05:49 <renlord> og ok
37 2016-06-03 12:06:01 <renlord> Classic nodes, i know for sure dont accept RBF transactions
38 2016-06-03 12:12:57 <phantomcircuit> shrug
39 2016-06-03 12:13:04 <phantomcircuit> they're not run by real users
40 2016-06-03 12:13:42 <phantomcircuit> https://bitcointalk.org/index.php?topic=1399908.0
41 2016-06-03 12:14:28 <renlord> oh lol
42 2016-06-03 12:35:54 <renlord> the results i got from testnet is a lot more conformant to expectations. Mainnet is all over the place
43 2016-06-03 12:43:42 <renlord> phantomcircuit, are transactions inserted and removed from mempool atomically when new potentially conflicting transactions arrive?
44 2016-06-03 12:44:23 <renlord> could that explain why I could see conflicting transactions in inv replies when i sent out mempool messages
45 2016-06-03 20:42:48 <Hillary_Clinton> hi how did the bitcoin foundation members meet?
46 2016-06-03 20:48:57 <luke-jr> Hillary_Clinton: off-topic; the Bitcoin Foundation has nothing to do with Bitcoin development.
47 2016-06-03 20:50:14 <Hillary_Clinton> luke-jr: ok
48 2016-06-03 23:50:39 <adiabat> Hi - I've got a questions about OP_CHECKSEQUENCEVERIFY
49 2016-06-03 23:51:12 <adiabat> I'm looking at the cpp code but I'm not super familiar with it so figured I'd ask here -
50 2016-06-03 23:51:22 <adiabat> does the argument to OP_CSV have to be 4 bytes long?
51 2016-06-03 23:52:17 <luke-jr> adiabat: I would *expect* it needs to be the shortest length for the given number.
52 2016-06-03 23:52:50 <adiabat> ok; for seconds-based, it'd have to be 3 bytes
53 2016-06-03 23:53:08 <luke-jr> would it?
54 2016-06-03 23:53:16 <adiabat> or maybe 4? because you have to assert bit 23
55 2016-06-03 23:53:23 <adiabat> err 22
56 2016-06-03 23:53:45 <adiabat> but for block-height based, bit 31 is 0, and bit 22 is also 0
57 2016-06-03 23:54:53 <adiabat> the nSequence field itself is always fixed at 4 bytes, so I wasn't sure if the comparison also wants the top item of the stack to be 4 bytes. I know it checks for 5 bytes maximum.