1 2015-02-28 00:19:25 <phantomcircuit> im not seeing how a2d0fc65 could ever actually trigger
2 2015-02-28 00:19:50 <phantomcircuit> IsInitialBlockDownload is called early enough that it's virtually certain headers haven't yet been downloaded
3 2015-02-28 00:20:08 <phantomcircuit> oh the timestamp
4 2015-02-28 00:20:16 <phantomcircuit> yeah nvm
5 2015-02-28 00:20:29 <phantomcircuit> the block height part is probably useless but the timestamp check works
6 2015-02-28 02:48:09 <phantomcircuit> anybody know what this is about
7 2015-02-28 02:48:09 <phantomcircuit> http://pastebin.com/raw.php?i=jyce5A7h
8 2015-02-28 02:58:15 <Luke-Jr> phantomcircuit: the 6th argument to CheckInputs is type bool, and a pointer to a vector is always true
9 2015-02-28 02:58:55 <Luke-Jr> did someone change an API in a way that silently accepts the old use? :/
10 2015-02-28 04:20:03 <sipa> phantomcircuit: yes
11 2015-02-28 04:21:38 <sipa> phantomcircuit, Luke-Jr: that looks broken
12 2015-02-28 05:27:56 <phantomcircuit> sipa, that explains a lot..
13 2015-02-28 05:28:42 <Luke-Jr> lol
14 2015-02-28 05:29:10 <Luke-Jr> phantomcircuit: so where is this code?
15 2015-02-28 05:29:37 <phantomcircuit> 3125189e src/main.cpp (Gavin Andresen 2015-02-26 15:27:11 -0500 1835) if (!CheckInputs(tx, state, view, fScriptChecks, flags, nScriptCheckThreads ? &vChecks : NULL))
16 2015-02-28 05:29:50 <Luke-Jr> oh, it's in master, just a diff line no
17 2015-02-28 05:30:16 <Luke-Jr> you know your git repo is too big when fatal: ambiguous argument '3125189e': unknown revision or path not in the working tree.
18 2015-02-28 05:30:47 <phantomcircuit> 3125189ec545c3a6c7183a1f71aee9a50c1e383d
19 2015-02-28 05:30:55 <Luke-Jr> e790c370 src/main.h (Pieter Wuille 2014-09-14 04:48:32 +0200 287) bool CheckInputs(const CTransaction& tx, CValidationState &state, const CCoinsViewCache &view, bool fScriptChecks,
20 2015-02-28 05:31:01 <Luke-Jr> thanks
21 2015-02-28 05:31:22 <Luke-Jr> phantomcircuit: eh, I don't have that commit at all O.o
22 2015-02-28 05:31:27 <phantomcircuit> hmm
23 2015-02-28 05:31:35 <phantomcircuit> i wonder if my local git is screwed up somehow
24 2015-02-28 05:31:40 <Luke-Jr> or mine
25 2015-02-28 05:31:59 <Luke-Jr> e790c370 src/main.cpp (Pieter Wuille 2014-09-14 04:48:32 +0200 1829) if (!CheckInputs(tx, state, view, fScriptChecks, flags, false, nScriptCheckThreads ? &vChecks : NULL))
26 2015-02-28 05:32:13 <phantomcircuit> github says it cant find it anywhere
27 2015-02-28 05:32:14 <phantomcircuit> o.o
28 2015-02-28 05:32:17 <Luke-Jr> so mine has the boolean missing in yours
29 2015-02-28 05:32:36 <Luke-Jr> phantomcircuit: you must be on a local branch?
30 2015-02-28 05:33:38 <phantomcircuit> yeah i some how managed to set gavins branch as my local master
31 2015-02-28 05:33:39 <phantomcircuit> weird
32 2015-02-28 05:33:54 <phantomcircuit> anyways i bet that explains his performance improvement
33 2015-02-28 05:34:00 <phantomcircuit> gmaxwell, ^
34 2015-02-28 05:36:40 <gmaxwell> sorry, not paying attention, whats this?
35 2015-02-28 05:36:55 <phantomcircuit> oh yeah i remember i cherry picked his commits
36 2015-02-28 05:37:11 <Luke-Jr> gmaxwell: sounds like phantomcircuit is doing a bad merge :p
37 2015-02-28 05:37:15 <phantomcircuit> gmaxwell, there's a bug in gavins patch around the CheckInputs stuff
38 2015-02-28 05:37:22 <phantomcircuit> Luke-Jr, i am but also there's a bug
39 2015-02-28 05:37:25 <phantomcircuit> i think
40 2015-02-28 05:37:55 <Luke-Jr> I agree changing APIs in dangerous ways should be avoided, but that just looks like a bad merge to me.. maybe not.
41 2015-02-28 05:37:55 <phantomcircuit> lets find out
42 2015-02-28 05:39:03 <Luke-Jr> phantomcircuit: confirmed gavinandresen's current branch does not have that buggy line
43 2015-02-28 05:39:13 <Luke-Jr> if (!CheckInputs(tx, state, view, fScriptChecks, flags, false, nScriptCheckThreads ? &vChecks : NULL))
44 2015-02-28 05:39:15 <phantomcircuit> oh darn just me then
45 2015-02-28 05:39:25 <phantomcircuit> k i'll go back to breaking git then
46 2015-02-28 05:39:45 <phantomcircuit> (and yeah it's not there)
47 2015-02-28 05:41:00 <phantomcircuit> hmm wonder how i did that
48 2015-02-28 05:43:06 <Luke-Jr> had his old branch and cherry-picked it onto a newer master?
49 2015-02-28 05:43:30 <phantomcircuit> something like that
50 2015-02-28 05:58:34 <phantomcircuit> huh
51 2015-02-28 05:59:01 <phantomcircuit> i removed some of the checkpointing logic and replaced it with a comparison go the best header
52 2015-02-28 05:59:08 <phantomcircuit> massive performance fail
53 2015-02-28 05:59:20 <phantomcircuit> but using virtually no cpu time
54 2015-02-28 06:00:43 <phantomcircuit> ah
55 2015-02-28 06:00:50 <phantomcircuit> IsInitialBlockDownload was returning false
56 2015-02-28 06:01:04 <phantomcircuit> i guess the time based thing doesn't work...
57 2015-02-28 06:08:54 <phantomcircuit> hmm no it wasn't
58 2015-02-28 06:08:58 <phantomcircuit> what the heck
59 2015-02-28 06:09:20 <phantomcircuit> + 47.54% 47.48% bitcoin-msghand bitcoind [.] _ZL15IsSuperMajorityiPK11CBlockIndexj â
60 2015-02-28 06:09:21 <phantomcircuit> wat
61 2015-02-28 06:21:08 <phantomcircuit> nvm im just not used to the time for a network sync
62 2015-02-28 06:22:42 <phantomcircuit> hmm actually
63 2015-02-28 07:55:00 <midnightmagic> 29
64 2015-02-28 07:56:09 <sipa> 39
65 2015-02-28 07:57:41 <moa> 50
66 2015-02-28 07:58:44 <midnightmagic> :-) sorry. that's me switching windows and my system shifting focus for a brief moment that coincides with my typed command.
67 2015-02-28 08:01:42 <phantomcircuit> switching away from checkpoints and simply towards using the pindexBestHeader was pretty easy
68 2015-02-28 08:03:33 <phantomcircuit> 1can anybody see this
69 2015-02-28 08:04:19 <sipa> yes
70 2015-02-28 08:04:47 <phantomcircuit> comcast updated the firmware on my modem
71 2015-02-28 08:17:41 <phantomcircuit> >.>
72 2015-02-28 08:17:43 <phantomcircuit> comcast has completely hosed their network
73 2015-02-28 08:17:45 <phantomcircuit> im getting arp requests on my lan for other peoples public ips
74 2015-02-28 08:19:57 <phantomcircuit> sipa, https://github.com/pstratem/bitcoin/commit/64efd3e282af9a86152d901585321eea2d8bf7c5
75 2015-02-28 08:20:39 <phantomcircuit> by assuming that blocks are valid upto 2016 blocks before the tip there's a huge speed up
76 2015-02-28 08:20:43 <Luke-Jr> phantomcircuit: wat? how does comcast have access to your LAN? O.o
77 2015-02-28 08:20:57 <phantomcircuit> Luke-Jr, their router
78 2015-02-28 08:21:00 <Luke-Jr> â¦
79 2015-02-28 08:21:08 <midnightmagic> i think he means the edge of his lan.
80 2015-02-28 08:21:11 <phantomcircuit> i have a segregated lan for 99% of stuff
81 2015-02-28 08:21:33 <phantomcircuit> im having connectivity issues so i went to figure out what was going on
82 2015-02-28 08:21:39 <phantomcircuit> and well
83 2015-02-28 08:21:45 <phantomcircuit> absolute insanity
84 2015-02-28 08:21:50 <sipa> phantomcircuit: lol, i'm sure you grt a huge speedup that way
85 2015-02-28 08:22:02 <sipa> phantomcircuit: or do you mean even before the last checkpoint?
86 2015-02-28 08:22:25 <phantomcircuit> sipa, no i dont
87 2015-02-28 08:22:27 <phantomcircuit> heh
88 2015-02-28 08:23:15 <phantomcircuit> actually i dont need to disable the checkpoint checks to get the speed up
89 2015-02-28 08:23:26 <phantomcircuit> just change the fScriptChecks flag
90 2015-02-28 08:23:56 <phantomcircuit> i was going to remove the checkpoints entirely but then i'd have to replicate the progress estimation
91 2015-02-28 08:24:42 <midnightmagic> phantomcircuit: In my case if I attempt to answer any of those arp for not-my IP it doesn't work; also, the ethernet mac for the asker is identical for all of the hundreds of arps and dozens of seeming-gateways that exist.
92 2015-02-28 08:26:34 <phantomcircuit> im thinking they exploded their global routing table or something
93 2015-02-28 08:31:14 <phantomcircuit> sipa, in general i think removing the checkpoints entirely is a good idea
94 2015-02-28 08:31:31 <phantomcircuit> currently their only real purpose it to reduce the work necessary for IBD
95 2015-02-28 08:31:48 <phantomcircuit> and prevent a specific dos issue
96 2015-02-28 08:31:54 <phantomcircuit> which is only present during ibd
97 2015-02-28 08:32:03 <phantomcircuit> (although i admit i cant think of a solution to that one)
98 2015-02-28 08:32:50 <gmaxwell> headers first already solves that dos.
99 2015-02-28 08:34:09 <Luke-Jr> I think I would be comfortable with skipping sig checks on all-but-the-last-2016 blocks as an opt-in feature, if it helps that much
100 2015-02-28 08:34:31 <Luke-Jr> that's like $10mil to break
101 2015-02-28 08:35:00 <phantomcircuit> gmaxwell, hmm does it?
102 2015-02-28 08:35:02 <Luke-Jr> perhaps a bit low, but the limited use might make it an acceptable tradeoff to some people
103 2015-02-28 08:35:13 <Luke-Jr> limited use of the risk*
104 2015-02-28 08:35:14 <phantomcircuit> i guess so
105 2015-02-28 08:35:35 <phantomcircuit> Luke-Jr, im thinking for 99% of applications $10m is enough
106 2015-02-28 08:35:46 <Luke-Jr> yeah, probably
107 2015-02-28 09:32:06 <Guest61302> voglio installare un software autonomo per accettare bitcoin sul mio sito(multiseller)come posso fare?
108 2015-02-28 09:33:48 <sipa> english please
109 2015-02-28 09:37:15 <Guest61302> I have a website (Multiseller) I want to set only bitcoin, with wallet, escrow and the possibility of receiving and sending bitcoins, how can I do? can anyone help?
110 2015-02-28 20:31:18 <ceedz> What sort of values are other people getting for $ bitcoin-cli estimatefee 2
111 2015-02-28 20:31:25 <ceedz> I'm seeing 0.00038910, which seems way too high?
112 2015-02-28 22:00:59 <_2_brooke> hello
113 2015-02-28 22:01:26 <_2_brooke> xenog do you like sex
114 2015-02-28 22:14:16 <phantomcircuit> https://github.com/bitcoin/bitcoin/compare/master...pstratem:no_checkpoints?expand=1
115 2015-02-28 22:14:33 <phantomcircuit> aside from the progress estimation stuff
116 2015-02-28 22:14:41 <phantomcircuit> removing checkpoints was pretty easy
117 2015-02-28 22:34:55 <gmaxwell> phantomcircuit: I'd put a work based term in that fscriptcheck, lest someone find some awful vulnerability that arises from a lack of scriptchecks (think things like the duplicate coinbase overwrite bug), and its pratically exploitable against new nodes. Just a term which is functionally equal to && diff_at_best_header > 2^32 or something. I'd also raise the time to 8064 or so because there is no ne
118 2015-02-28 22:35:01 <gmaxwell> ed to be greedy. 8064 blocks at 2000 signatures per block at 50,000 ecdsa per second (which is a pretty conservative performance number post upgrade to secp256k1) is 322 wallclock seconds.
119 2015-02-28 22:44:17 <phantomcircuit> gmaxwell, not sure if that really helps
120 2015-02-28 23:24:42 <phantomcircuit> gmaxwell, https://github.com/bitcoin/bitcoin/pull/5842
121 2015-02-28 23:35:34 <maaku> phantomcircuit: that PR allows arbitrary theft of coins if you can reorg more than 8064 blocks
122 2015-02-28 23:36:13 <phantomcircuit> maaku, yes im aware
123 2015-02-28 23:36:22 <phantomcircuit> checkpoints are not a security feature
124 2015-02-28 23:36:35 <DrGrid> Is there a documentation on libsecp256k1, other than the source code?
125 2015-02-28 23:36:38 <phantomcircuit> im fairly certain an 8064 block reorg would be catastrophic regardless
126 2015-02-28 23:38:39 <maaku> phantomcircuit: catastrophic? sure. but it's a huge violation of the social contract to change bitcoin such that the consensus rules *in principle* could allow arbitrary rewrites of the UTXO set
127 2015-02-28 23:40:23 <phantomcircuit> maaku, that's exactly what the checkpoints do already
128 2015-02-28 23:40:46 <phantomcircuit> (violate the social contract that is)
129 2015-02-28 23:40:56 <maaku> they do not allow arbitrary theft
130 2015-02-28 23:41:46 <maaku> and this is more than an academic issue - there are perverse incentive structures. i could create an (invalid) block assigning the 1 million oldest coins to the largest mining pools, then get them to mine on my fork instead
131 2015-02-28 23:43:06 <phantomcircuit> oh actually
132 2015-02-28 23:43:12 <phantomcircuit> this doesn't allow arbitrary utxo changes
133 2015-02-28 23:43:23 <phantomcircuit> you cant create new coins or anything
134 2015-02-28 23:43:53 <maaku> correct i was too lose with terminology
135 2015-02-28 23:44:20 <maaku> but it allows anyone to spend any output so long as it occurs more than N blocks back into a reorg
136 2015-02-28 23:44:57 <maaku> DrGrid: not that i'm aware of
137 2015-02-28 23:45:15 <phantomcircuit> maaku, this could be instrumented to detect a large reorg and run script validation for that
138 2015-02-28 23:45:27 <phantomcircuit> but not if there isn't a known competing fork
139 2015-02-28 23:46:05 <phantomcircuit> maaku, 8064 blocks is ~200k BTC at the current block reward
140 2015-02-28 23:46:07 <maaku> phantomcircuit: it would need to do that at the very least
141 2015-02-28 23:46:20 <maaku> i'll think some more and see if it's vulnerable in other ways
142 2015-02-28 23:46:24 <phantomcircuit> that would be a fairly significant opportunity cost for any attacker
143 2015-02-28 23:46:38 <phantomcircuit> and the attack itself would likely destroy any value in the stolen coins
144 2015-02-28 23:46:44 <maaku> phantomcircuit: not if it involves a guaranteed theft of 1+ million dormant coins
145 2015-02-28 23:47:11 <DrGrid> pity, well everything is there, so I'll chow through.
146 2015-02-28 23:48:03 <phantomcircuit> maaku, i really cant see that being profitable
147 2015-02-28 23:48:08 <phantomcircuit> under any circumstances
148 2015-02-28 23:48:18 <maaku> phantomcircuit: re: value destruction, that's a hand-wavy argument. maybe that's the case, maybe not. it's a political question
149 2015-02-28 23:49:16 <maaku> e.g. you coudl spin it as removing uncertainty by recycling lost coins from the early days, so we have a more certain monetary base. or somesuch.
150 2015-02-28 23:49:16 <phantomcircuit> maaku, alternatively i think the script validation could be run in parallel such that an attack like that would eventually be discovered
151 2015-02-28 23:49:25 <phantomcircuit> but i really dont see the point
152 2015-02-28 23:50:40 <zooko> I really like that goal of improving public knowledge of the size of the effective monetary base.
153 2015-02-28 23:50:41 <zooko> BTW
154 2015-02-28 23:50:48 <zooko> I've written a few private emails about that to maaku in the past. :-)
155 2015-02-28 23:50:51 <maaku> phantomcircuit: don't see the point? really? the point is that the bitcoin ledger and the rules for updating it over time are consistent
156 2015-02-28 23:51:05 <zooko> Sorry if that's basically tangential to the argument y'all are having...
157 2015-02-28 23:51:21 <maaku> zooko: yeah well that's why everyone should be using freicoin ;)
158 2015-02-28 23:51:25 <zooko> :-)
159 2015-02-28 23:51:28 <phantomcircuit> maaku, it does introduce a potentially much more lucrative attack than existed before
160 2015-02-28 23:52:03 <zooko> maaku: I still don't understand why you think demurrage is different than monetary base expansion.
161 2015-02-28 23:52:09 <zooko> I have an email in my "inbox"
162 2015-02-28 23:52:30 <zooko> which I call my "inbox" although it is like 3000 letters deep and has many years or decades of sedimentary layers of things that I think I ought to make time for
163 2015-02-28 23:52:49 <zooko> and one of them is "re-re-read this letter for maaku explaining why he thinks demurrage is different from monetary base expansion". âº
164 2015-02-28 23:52:56 <phantomcircuit> the psychology of demurrage seems to be different to that of monetary base expansion despite them being economically identical
165 2015-02-28 23:53:03 <phantomcircuit> but that is really ot
166 2015-02-28 23:53:08 <zooko> phantomcircuit: Ah: psychology! That ...
167 2015-02-28 23:53:22 <zooko> Oh sorry, I thouight I was in the -wizards channel where such stuff is arguably topical. :-)
168 2015-02-28 23:53:24 <maaku> phantomcircuit: so there's two issues. first, a two-month reorg would allow theft of any coin. secondly, it would allow selective hard-fork partition of the network
169 2015-02-28 23:53:47 <maaku> by revealing a partial reorg to some nodes, and the full reorg to others
170 2015-02-28 23:54:19 <phantomcircuit> maaku, i guess this could be an optional off by default "i have less than 200k btc to steal"
171 2015-02-28 23:55:03 <maaku> phantomcircuit: but it's the whole utxo set that can be stolen, making it a communal issue
172 2015-02-28 23:55:48 <phantomcircuit> maaku, ok
173 2015-02-28 23:55:58 <phantomcircuit> i'll add random spot checking
174 2015-02-28 23:56:05 <phantomcircuit> 1% should be enough
175 2015-02-28 23:57:31 <maaku> well that's the whole probablistic validation question, which would still get a nack from me
176 2015-02-28 23:58:04 <maaku> i'm kinda hoping someone else will chime in here with their opinions though (gmaxwell? sipa?)
177 2015-02-28 23:58:17 <phantomcircuit> maaku, im thinking they're both afk
178 2015-02-28 23:59:15 <maaku> i think probabalistic validation could be safe, but not until we have things like fraud proofs in place
179 2015-02-28 23:59:51 <maaku> right now if you spot check 1%, all that does is make a probabalistic hard fork