1 2013-08-22 00:03:42 <Pucilowski> I connected to the mtgox websocket stream and I'm being fed trades/depth updates as soon as I connect without even subscribing to any channels. Is this normal?
  2 2013-08-22 00:07:43 <phantomcircuit> Pucilowski, yes those are the default channels
  3 2013-08-22 00:07:48 <phantomcircuit> since 99% of people want that info
  4 2013-08-22 00:22:08 <warren> btw, does solo GBT mining still require an external block notify?
  5 2013-08-22 01:39:30 <gbg> Shameless self-promotion:  http://bitcoinbriefcase.com
  6 2013-08-22 02:04:05 <warren> https://github.com/bitcoin/bitcoin/pull/2906  how do you folks feel about this patch?
  7 2013-08-22 02:07:17 <gmaxwell> warren: "meh". I told codeshark it needs a list at least!
  8 2013-08-22 02:07:42 <CodeShark> can you elaborate on this "list"?
  9 2013-08-22 02:07:45 <gmaxwell> I also "meh" at this still not having done anything useful for tor/hs peers.
 10 2013-08-22 02:07:57 <gmaxwell> CodeShark: listbannedhosts
 11 2013-08-22 02:08:01 <warren> ahhh
 12 2013-08-22 02:08:09 <warren> that would be helpful
 13 2013-08-22 02:08:14 <CodeShark> I could easily add that
 14 2013-08-22 02:09:15 <gmaxwell> sorry, thought you saw that before.
 15 2013-08-22 02:09:25 <CodeShark> no, must have been busy with something
 16 2013-08-22 02:09:28 <CodeShark> sorry :)
 17 2013-08-22 02:10:18 <gmaxwell> does anyone have any idea how banning can be made useful with HS peers? because right now just improving banning on IPv4 is not terribly useful. (not a reason to not take the patch, but it is a reason I don't care terribly much)
 18 2013-08-22 02:10:41 <CodeShark> my main use is in testing and debugging other code
 19 2013-08-22 02:11:44 <gmaxwell> CodeShark: oh if you're getting yourself banned you can just set the threshold impossibly high. :P
 20 2013-08-22 02:12:03 <CodeShark> gmaxwell: I also want to test bitcoind's misbehavior detection and DoS prevention while I'm at it
 21 2013-08-22 02:12:39 <CodeShark> to make this feature useful for banning/unbanning other people's nodes, we'd need to persist this data
 22 2013-08-22 02:14:48 <CodeShark> gmaxwell: also, I don't want to set the threshold high for untrusted nodes :)
 23 2013-08-22 02:16:53 <CodeShark> I'll tell you what, I'll add listbannednodes right now since it won't take me very long - but not sure I really want to spend too much time extending this further...I'd rather work on improving the networking code at a more fundamental level
 24 2013-08-22 02:19:17 <warren> Does anyone know where the leveldb git subtree now in bitcoin came from?  It doesn't match 1.12 upstream.
 25 2013-08-22 02:20:47 <gmaxwell> warren: it should match plus our patches now.
 26 2013-08-22 02:22:56 <warren> https://code.google.com/p/leveldb/source/list   1.12 here doesn't match the leveldb in https://github.com/bitcoin/bitcoin/commits/0.8.4
 27 2013-08-22 02:23:35 <warren> I have no idea where a02ddf9b14d145e88185ee209ab8b01d8826663a is coming from, no reference to it anywhere else
 28 2013-08-22 02:23:38 <warren> oleganza: hey
 29 2013-08-22 02:23:45 <oleganza> hey
 30 2013-08-22 02:23:52 <warren> oleganza: are you the one that submitted the Norwegian translation fixes?
 31 2013-08-22 02:23:59 <oleganza> nope
 32 2013-08-22 02:24:02 <warren> oh ok
 33 2013-08-22 02:24:15 <gmaxwell> warren: oh, you're asking where _this_ is? https://github.com/bitcoin/leveldb
 34 2013-08-22 02:24:22 <warren> oh!
 35 2013-08-22 02:24:30 <warren> k
 36 2013-08-22 02:24:38 <oleganza> i'm from st. petersburg, russia. It's close to Norway, but not that much :-)
 37 2013-08-22 02:25:24 <gmaxwell> warren: if you're mimicking us in ltcland, I recommend you establish your own leveldb fork (it can just be a copy of ours if you like) and track that.
 38 2013-08-22 02:26:17 <gmaxwell> (otherwise you depend on our leveldb repo, and thats kinda ugly)
 39 2013-08-22 02:26:17 <warren> Litecoin is unoriginal anyway.
 40 2013-08-22 02:27:59 <gmaxwell> uhh.
 41 2013-08-22 02:28:46 <gmaxwell> https://forum.filezilla-project.org/viewtopic.php?f=2&t=30240
 42 2013-08-22 02:29:35 <warren> "Haha, stupid Ask uses 16bit code."
 43 2013-08-22 02:36:24 <Arnavion> As much as botg is a dick to his users, his users don't seem to make his attitude seem misplaced...
 44 2013-08-22 02:39:03 <oleganza> hey guys, in script.cpp, does "valtype vchFalse(0)" mean that false value is an empty array, not a 1-byte array "0x00"?
 45 2013-08-22 02:40:53 <gavinandresen> oleganza: yes
 46 2013-08-22 02:41:14 <oleganza> thanks
 47 2013-08-22 02:41:48 <oleganza> i'm working on this, btw: https://github.com/oleganza/CoreBitcoin/blob/master/CoreBitcoin/BTCScriptMachine.m
 48 2013-08-22 02:46:09 <CodeShark> it's unfortunate that so little of the script's capabilities are being used and that the current state of affairs is that all "standard" transaction types require code to deal with those specific cases
 49 2013-08-22 02:46:54 <CodeShark> in much of what I've been working on I don't even bother with running a full scripting engine and just use simple pattern matching
 50 2013-08-22 02:47:40 <warren> Don't worry, Satoshi was infallible, and he will return one day in a beam of light and save us.
 51 2013-08-22 02:47:46 <CodeShark> lol
 52 2013-08-22 02:48:40 <gavinandresen> I've been saying for years: come up with a good use case, write code, test on testnet, and I'd be happy to enlarge the set of standard transactions.
 53 2013-08-22 02:48:51 <CodeShark> it seems if the protocol supports a scripting language it should be up to recipients to decide whether or not they want to accept a particular type of transaction, not up to the verification/relay nodes
 54 2013-08-22 02:49:07 <gmaxwell> CodeShark: sure, thats the end goal.
 55 2013-08-22 02:49:08 <gavinandresen> okey dokey
 56 2013-08-22 02:49:33 <CodeShark> the verification/relay nodes should faithfully run the script
 57 2013-08-22 02:49:43 <gmaxwell> CodeShark: they do, if its in a block.
 58 2013-08-22 02:50:00 <CodeShark> right, but it is not relayed as an individual tx
 59 2013-08-22 02:50:00 <jgarzik> well
 60 2013-08-22 02:50:14 <jgarzik> Satoshi himself said that a full script engine was not need, for thin clients
 61 2013-08-22 02:50:18 <gmaxwell> CodeShark: I mean you can go ahead and happily ignore the MULTIPLE TIMES THE ENTIRE NETWORK HAS BROKEN AS A RESULT OF BUGS WITH CRAZY SCRIPTS if you like but???
 62 2013-08-22 02:50:20 <jgarzik> just pattern matching
 63 2013-08-22 02:50:26 <CodeShark> jgarzik: yes, indeed
 64 2013-08-22 02:50:34 <CodeShark> the scripting engine is only needed for verification
 65 2013-08-22 02:50:44 <gavinandresen> speaking of standard transactions??? where are we at with OP_RETURN as standard transactions?
 66 2013-08-22 02:50:58 <CodeShark> and general verification, at that - if a thin client only accepts a particular type of transaction simple pattern matching will do just fine
 67 2013-08-22 02:51:31 <jgarzik> gavinandresen, I think it was waiting on sipa's pull req to prune such
 68 2013-08-22 02:51:43 <jgarzik> gavinandresen, which in turn make gettxoutset change its results
 69 2013-08-22 02:51:59 <CodeShark> gmaxwell: I understand the risk in supporting a full scripting language. but the sane alternatives seem to either implement it correctly so that THE NETWORK DOES NOT BREAK - or stick to simple pattern matching and a few standard types
 70 2013-08-22 02:52:00 <jgarzik> which in turn caused feathers to ruffle and murmur and harumph
 71 2013-08-22 02:52:09 <gavinandresen> "okey dokey"
 72 2013-08-22 02:52:28 <Eneerge> okie dookie
 73 2013-08-22 02:52:30 <gmaxwell> CodeShark: sure, and we'll get there eventually, more types have been added over time, and more will be added in the future.
 74 2013-08-22 02:52:35 <warren> harumph
 75 2013-08-22 02:52:48 <CodeShark> but if each type requires a special case to handle it we haven't really benefitted at all from a scripting language
 76 2013-08-22 02:52:50 <gavinandresen> OP_RETURN as standard transactions isn't high on my priority list, but lots of half-finished projects gets hard to keep track of
 77 2013-08-22 02:53:35 <gmaxwell> CodeShark: I do note that just in the last month non-standard txn have been used to break alternative implementations, I believe, three times.. as well as to demonstrate a serious XSS bug on blockchain.info...
 78 2013-08-22 02:54:35 <CodeShark> the bitcoin network is inherently fragile in this respect
 79 2013-08-22 02:54:47 <gavinandresen> gmaxwell: I did not know that.  Alt chains that got rid of IsStandard ?
 80 2013-08-22 02:54:50 <CodeShark> alternative implementations with even the subtlest of behavioral differences can produce a fork
 81 2013-08-22 02:54:51 <oleganza> gavinandresen: what are these OP_RETURN txs?
 82 2013-08-22 02:55:02 <gavinandresen> oleganza: provably unspendable outputs
 83 2013-08-22 02:55:19 <oleganza> who uses them?
 84 2013-08-22 02:55:30 <warren> oleganza: p2pool-13
 85 2013-08-22 02:56:29 <gmaxwell> gavinandresen: alternative bitcoin implementations... Some non-IsStandard txn got mined, since some miners take some of them (well, mostly eligius).  Bitcoin ruby got forked, electrum's server got forked twice,  and blockchain.info got javascript popups. :P
 86 2013-08-22 02:57:05 <jgarzik> and  at a minimum, python bugs founds
 87 2013-08-22 02:57:10 <CodeShark> it could be argued that it would be preferable for these bugs to arise sooner rather than later
 88 2013-08-22 02:57:10 <gavinandresen> oh, so it was infrastructure that just didn'thandle non-standard transactions in blocks?
 89 2013-08-22 02:57:13 <jgarzik> *found
 90 2013-08-22 02:57:28 <oleganza> where can i read more on their usage of OP_RETURN?
 91 2013-08-22 02:58:09 <oleganza> yep, i'd like OP_POPUPALERT
 92 2013-08-22 02:58:13 <CodeShark> lol
 93 2013-08-22 02:58:16 <gmaxwell> gavinandresen: yes. Just incorrect rules validation.
 94 2013-08-22 02:58:20 <gavinandresen> oleganza: https://github.com/bitcoin/bitcoin/pull/2738 which points to https://github.com/bitcoin/bitcoin/pull/1809 which has further links...
 95 2013-08-22 02:58:43 <gmaxwell> (well and the last what bc.i displayed transaction data as ascii with no escaping of html in it...)
 96 2013-08-22 02:58:57 <oleganza> oookay. Thanks again
 97 2013-08-22 02:59:04 <CodeShark> anyhow, it sort of sucks that nonstandard transactions are currently only a miner's game and that I as a recipient can't choose what types of transactions to support
 98 2013-08-22 02:59:54 <gmaxwell> so fix it, go write up example usages and tests and such and work through opcodes getting them reallowed.
 99 2013-08-22 03:00:07 <gavinandresen> yeah, what gmaxwell said....
100 2013-08-22 03:00:10 <CodeShark> and so much of the current codebase depends on a few special cases that moving to the fully general case doesn't seem like something that will happen anytime soon
101 2013-08-22 03:00:37 <oleganza> I had this funny idea recently about hash-equilibrium mutually-locked deposit tx. https://bitcointalk.org/index.php?topic=273539.msg2935099#msg2935099
102 2013-08-22 03:00:43 <justusranvier> That blockchain.info attack is nasty because you can't use their wallet and noscript at the same time.
103 2013-08-22 03:00:53 <gavinandresen> moving to a better "fully general" case in a year or three is more likely.
104 2013-08-22 03:01:29 <CodeShark> we might as well just support a few specific transaction types and screw the script - take the time to develop a better script
105 2013-08-22 03:01:47 <oleganza> tldr: two strangers want to trade $100-worth of stuff, they lock up $300 each in the blockchain. Then they trade how they want.
106 2013-08-22 03:02:01 <gmaxwell> CodeShark: what are you talking about?
107 2013-08-22 03:02:10 <gmaxwell> CodeShark: turning off isstandard works just fine right now.
108 2013-08-22 03:02:14 <gmaxwell> testnet runs that way.
109 2013-08-22 03:02:24 <CodeShark> gmaxwell: but most nodes won't relay nonstandard unless it's in a block
110 2013-08-22 03:02:27 <oleganza> The funds can only be unlocked by consent of both parties. Or destroyed by anyone if someone is misbehaving.
111 2013-08-22 03:02:28 <CodeShark> so it's next to useless
112 2013-08-22 03:02:35 <CodeShark> unless you're a miner
113 2013-08-22 03:02:53 <gmaxwell> CodeShark: What you're saying is not consistent with yourself.
114 2013-08-22 03:03:00 <oleganza> CodeShark: testnet relays everything if understand right
115 2013-08-22 03:03:05 <CodeShark> yes, testnet does
116 2013-08-22 03:03:20 <gmaxwell> "< CodeShark> and so much of the current codebase depends on a few special cases" != "< CodeShark> gmaxwell: but most nodes won't relay"
117 2013-08-22 03:04:05 <gmaxwell> CodeShark: if you have a new transaction type you want used you can have it usable by connecting to a specific node within hours. This is not an enormous barrier.
118 2013-08-22 03:05:26 <CodeShark> I think you guys are missing my point - I'm saying that if in practice (as in in actual commerce) only a handful of transactions are used and each type requires special handling, it would probably be smarter to not even support a general scripting language in the initial versions and take the time to develop a better one
119 2013-08-22 03:05:40 <CodeShark> and add it in a later version
120 2013-08-22 03:05:51 <oleganza> CodeShark: unfortunately, it's too late :-(
121 2013-08-22 03:05:56 <oleganza> i meant, :-)
122 2013-08-22 03:06:41 <CodeShark> by develop, I don't just mean hack together a few pieces of code - I'm talking about rigorous testing as well
123 2013-08-22 03:06:47 <gmaxwell> CodeShark: well, too late because we already have one.
124 2013-08-22 03:07:03 <gavinandresen> I'm having trouble imagining a fully general scripting system where each script form does NOT require special handling
125 2013-08-22 03:07:26 <gmaxwell> reciever side always would.
126 2013-08-22 03:07:48 <CodeShark> receiving transactions is a wholely separate application from full verification/relay
127 2013-08-22 03:07:55 <CodeShark> I'm talking about verification/relay
128 2013-08-22 03:07:57 <gmaxwell> etotheipi_: ah you can't talk. http://www.wikihow.com/Register-a-User-Name-on-Freenode
129 2013-08-22 03:08:24 <gmaxwell> CodeShark: there isn't any special casing in verification / relay.
130 2013-08-22 03:08:47 <gmaxwell> (except for the IsStandard thing preventing people from sneaking up nasty bloating crappy things on us.)
131 2013-08-22 03:08:49 <CodeShark> well, there is because nonstandard transactions don't get relayed by the vast majority of full nodes
132 2013-08-22 03:09:50 <CodeShark> unfortuntately, these special cases do pervade significant portions of the codebase of bitcoind
133 2013-08-22 03:10:01 <CodeShark> Solve() for instance
134 2013-08-22 03:10:10 <CodeShark> which is used by the bloom filters
135 2013-08-22 03:10:22 <oleganza> CodeShark: i have some plans for non-standard txs. I'll build my app using them. If they work fine and turn out to be useful, maybe more miners will accept them
136 2013-08-22 03:10:45 <oleganza> meanwhile they'll take an hour or two to confirm, but for my purposes it's fine
137 2013-08-22 03:11:01 <CodeShark> the wallet deals with special cases, but as we said earlier, it's fine for wallet apps to do so
138 2013-08-22 03:11:35 <oleganza> btw, I don't like the way bitcoind mixes protocol-specific functions and data with non-protocol-specific stuff.
139 2013-08-22 03:11:45 <gmaxwell> CodeShark: I don't have a freeking clue what you're talking about. The validation and relay code handles all valid transactions. The IsStandard stuff is just an initial test, and the node works just file if you comment it out.
140 2013-08-22 03:11:47 <CodeShark> oleganza: I look forward to checking it out
141 2013-08-22 03:11:49 <oleganza> makes it harder to distinguish what's in the protocol.
142 2013-08-22 03:12:27 <CodeShark> I meant Solver()
143 2013-08-22 03:12:48 <oleganza> but to me this C++ codebase is like a minefield, i'm not a c++ guru. I'd love to contribute some refactoring, it'd just take too much time for me to check if every little thing is not broken in some obscure way
144 2013-08-22 03:13:35 <gmaxwell> oleganza: I think we'd be disinterested in taking refactoring commits from a new contributor in any case.
145 2013-08-22 03:13:51 <gmaxwell> oleganza: More contributions would be great, but it would be best to focus on a small area at first.
146 2013-08-22 03:13:53 <CodeShark> there have been several refactoring efforts made - unfortunately, it's not the same thing to refactor code as it is to convince everyone that it works as reliably as the codebase that has already been field tested (even if it's not very clean)
147 2013-08-22 03:14:36 <oleganza> gmaxwell: yeah, it'd just take too much time from me. I'm better doing clearer ObjC impl (CoreBitcoin), learn how it works and maybe then I can contribute something to c++ source.
148 2013-08-22 03:15:04 <oleganza> (I'd personally prefer to have a C library version)
149 2013-08-22 03:15:09 <gmaxwell> Thats probably the last thing the world needs??? yet another bound to be incorrect implementation of the node software.
150 2013-08-22 03:15:33 <gmaxwell> Esp in a niche language thats only used heavily on one (and a half) platform.
151 2013-08-22 03:15:39 <gavinandresen> you're too cynical, gmaxwell.
152 2013-08-22 03:15:49 <oleganza> well, i myself simply cannot work with bitcoind codebase. I need C or ObjC one.
153 2013-08-22 03:16:02 <gavinandresen> If there are twenty-six of them, chances of one of them being correct might be greater
154 2013-08-22 03:16:19 <gmaxwell> gavinandresen: probably, but so far I have not seen an alternative implementation which isn't a danger to it users.
155 2013-08-22 03:16:22 <jgarzik> oleganza, git://github.com/jgarzik/picocoin.git
156 2013-08-22 03:16:24 <gmaxwell> er, its.
157 2013-08-22 03:16:28 <jgarzik> oleganza, C
158 2013-08-22 03:16:32 <gavinandresen> (might also be less, if 26 reimplementations means fewer people looking at each one...)
159 2013-08-22 03:16:46 <gmaxwell> gavinandresen: Indeed. :(
160 2013-08-22 03:16:53 <jgarzik> oleganza, that is the URL for "libccoin", a C bitcoin implementation, whose basics do work on big endian and little endian
161 2013-08-22 03:17:16 <gmaxwell> I was hoping that jeff's work would gather a bigger community around it hacking on it. Having a few big alternatives would be fantastic.
162 2013-08-22 03:17:34 <oleganza> jgarzik: thanks for picocoin, will check it out
163 2013-08-22 03:17:37 <gmaxwell> Having a large number of one person "learn bitcoin" projects is disappointing.
164 2013-08-22 03:17:44 <oleganza> libccoin afaik is very incomplete
165 2013-08-22 03:18:16 <oleganza> gmaxwell: well, what you'd recommend me doing if I want a neat wallet app with specific new features?
166 2013-08-22 03:18:21 <jgarzik> oleganza, it can fully verify a block chain
167 2013-08-22 03:18:30 <CodeShark> I think having a large number of one person "learn bitcoin" projects is wonderful
168 2013-08-22 03:18:31 <jgarzik> oleganza, that's not what I would call "incomplete"
169 2013-08-22 03:18:44 <oleganza> jgarzik: wow, i guess i looked in the wrong place then
170 2013-08-22 03:18:55 <gmaxwell> oleganza: use GCJ to compile bitcoinj  or work from jgarzik's codebase.
171 2013-08-22 03:19:11 <CodeShark> or write your own and learn something profound :)
172 2013-08-22 03:19:25 <jgarzik> oleganza, libccoin also passes most of the bitcoind test vector data
173 2013-08-22 03:19:29 <CodeShark> the knowledge you'll derive from writing your own implementation will make you a much better engineer regardless of what you apply yourself to later on
174 2013-08-22 03:19:43 <gavinandresen> ??? or be a complete lunatic and work on your own implementation and your own alt-chain???.
175 2013-08-22 03:19:43 <jgarzik> far beyond any other project besides bitcoind or bitsofproof or bitcoinj
176 2013-08-22 03:19:44 <gmaxwell> CodeShark: I should clarify. If they're labled as "learn bitcoin" thats great. I've yet to see one that does that. They advertise themselves mostly as the next coming of bitcoin.
177 2013-08-22 03:19:44 <oleganza> CodeShark: i noticed that already :-)
178 2013-08-22 03:20:15 <gmaxwell> CodeShark: (presumably if they're really just learning projects I never see them)
179 2013-08-22 03:20:15 <oleganza> bitcoin-ruby is one that does things quite differently from bitcoind
180 2013-08-22 03:20:32 <oleganza> and yet it works for guys very well (with occasional small, but fixable bugs)
181 2013-08-22 03:20:48 <oleganza> CoreBitcoin does things much closer to how bitcoind works
182 2013-08-22 03:20:53 <gmaxwell> oleganza: yes, and got forked a couple weeks ago, disrupting its big commercial users service.
183 2013-08-22 03:20:58 <oleganza> e.g. stack contains the same bits for bignums
184 2013-08-22 03:21:14 <oleganza> bitcoin-ruby has ruby native data types on stack
185 2013-08-22 03:21:23 <warren> https://github.com/bitcoin/bitcoin/pull/2922  umm....
186 2013-08-22 03:21:41 <warren> he wants this committed to 0.8.4, but he's confused.
187 2013-08-22 03:21:51 <CodeShark> gmaxwell: the entire state of affairs in bitcoin app development is rather amateurish generally at present, I'm sorry to say
188 2013-08-22 03:22:07 <CodeShark> the vast majority of services implemented are written rather poorly
189 2013-08-22 03:23:03 <gmaxwell> CodeShark: no worries, I'll just go implement a bitcoin node in spark-ada and everything will be great!
190 2013-08-22 03:23:39 <CodeShark> if your objective is to become a better engineer or learn ada or something like that, it might be just the vehicle to accomplishing your objective
191 2013-08-22 03:23:47 <CodeShark> if your objective is to run a secure business, it might not be
192 2013-08-22 03:24:03 <oleganza> imagine if the web was still running on mosaic and original NeXTStep WWW browser.
193 2013-08-22 03:24:28 <oleganza> Bitcoin requires bug-to-bug compatibility, but i don't see if it's impossible to have in several implementations
194 2013-08-22 03:24:40 <CodeShark> in any field related to computer security there's a LOT to be said for using implementations that have been tried and tested in the field
195 2013-08-22 03:24:41 <gmaxwell> oleganza: This is not a good comparison. The web is not a signal gigantic bit exact distributed algorithim.
196 2013-08-22 03:24:46 <oleganza> we just need to accurately decipher the spec from bitcoind code.
197 2013-08-22 03:24:52 <oleganza> which i have to do in objc impl.
198 2013-08-22 03:25:16 <gmaxwell> oh sure, it's possible to have multiple implementations.  No 'decipher the spec' is not sufficient (or, I suppose necessary)
199 2013-08-22 03:25:32 <CodeShark> but just because you are extremely conservative in adopting new approaches in your actual business deployments doesn't mean you need to be that conservative in your internal R&D
200 2013-08-22 03:25:40 <gmaxwell> oleganza: you can have all the spec you want, but it's just dead paper sitting on a desk. If nodes do something different then thats what you have to deal with.
201 2013-08-22 03:25:54 <oleganza> gmaxwell: that's why i said "decipher"
202 2013-08-22 03:26:13 <oleganza> i'm not implying having a scripture that everyone is checking with
203 2013-08-22 03:27:15 <oleganza> doing own impl makes a tradeoff: you have your own, easy to modify and use code (in your platform/app), but you may have occasional incompatibilities.
204 2013-08-22 03:27:40 <oleganza> if you deal with those quickly and not make yourself lose big bucks during downtime, then what's the problem?
205 2013-08-22 03:28:03 <gmaxwell> assuming it doesn't get you robbed and its just you using it... no biggie, indeed.
206 2013-08-22 03:28:21 <gmaxwell> though simple consensus failures can lead to theft too.
207 2013-08-22 03:28:27 <oleganza> e.g. if you have a shop that does need to react in seconds to a confirmed payment, then you can take time to have 1-2 hours fixing stuff
208 2013-08-22 03:29:00 <oleganza> once a year
209 2013-08-22 03:29:48 <oleganza> or even if someone doublespends you - software bugs happen all the time in other places and ppl lose some time/money on them too. It's all accounted for
210 2013-08-22 03:30:21 <gmaxwell> e.g. find a bug in bitcoin ruby, hack a single large pool to get 20% mining power. fork bitcoin ruby, mine 6 blocks blocks... depositing 1000 conflicted btc to the big entity using it, then withdraw. 1000 BTC profit, assuming they don't notice they're on a fork for 6 hours.
211 2013-08-22 03:30:54 <oleganza> same could be said about bitcoind
212 2013-08-22 03:31:06 <oleganza> find a bug in bitcoind, profit.
213 2013-08-22 03:31:20 <oleganza> well, no. I see your point
214 2013-08-22 03:31:43 <gmaxwell> Right. Certantly, software that deals with irreversable money is risky in general.
215 2013-08-22 03:31:46 <oleganza> anyway, you'd have to hack a pool
216 2013-08-22 03:31:51 <gmaxwell> But as a consensus system bitcoin has special risks.
217 2013-08-22 03:31:52 <oleganza> or buy yourself some a sic factory
218 2013-08-22 03:32:18 <gmaxwell> oleganza: well, you'd need to do that if you need six confirmations in a small amount of time.  Though you can also buy hashpower directly.
219 2013-08-22 03:32:20 <CodeShark> anytime you deploy a new piece of code that has not been throughly field tested upon which large sums of money depend you're taking a potential risk
220 2013-08-22 03:32:37 <gmaxwell> Though I think you can only buy about 10TH at the drop of a hat right now.
221 2013-08-22 03:32:44 <CodeShark> so it comes down to risk/benefit analysis - I think you're too pessimistic in thinking that there don't exist actually competent people out there gmaxwell and that everyone is a noob
222 2013-08-22 03:33:00 <oleganza> here's an idea: monitor for network-wide forks by not throwing away blocks with good PoW, but invalid contents.
223 2013-08-22 03:33:09 <gmaxwell> CodeShark: I think we have an existance proof that many people are noobs.
224 2013-08-22 03:33:16 <oleganza> so each node can check if there is something going on which it does not accept
225 2013-08-22 03:33:20 <CodeShark> many people ARE noobs - that doesn't mean they all are
226 2013-08-22 03:33:20 <oleganza> and warns the user
227 2013-08-22 03:33:40 <oleganza> so e.g. hacked pool can notice there is a lot of POW going on around them
228 2013-08-22 03:34:01 <oleganza> or like with march fork. people didn't notice this for 2 or 3 hours.
229 2013-08-22 03:34:17 <gmaxwell> oleganza: it was noticed instantly, what are you talking about?
230 2013-08-22 03:34:39 <oleganza> my fault, I though it was accidentally noticed a bit later.
231 2013-08-22 03:34:52 <oleganza> ok, never mind. Then we are fine.
232 2013-08-22 03:35:09 <oleganza> so when some 20% of hash power get forked, everyone will notice, right?
233 2013-08-22 03:35:16 <gmaxwell> oleganza: doesn't actually help, since you don't publish them to the whole network.
234 2013-08-22 03:35:40 <gmaxwell> oleganza: no, they could just be on an unlucky run or have some other boring glitch.
235 2013-08-22 03:36:14 <gmaxwell> the victim might notice if they have code to detect the forks and do something about them... but that code ends up inevitably untested since it's not testable on the mainnet.
236 2013-08-22 03:36:26 <gmaxwell> (go count the number of services that have a testnet version???)
237 2013-08-22 03:37:04 <oleganza> well, your plan does not *only* include a need for a bug in alt implementation. It also requires hacking a pool (which would be profitable already without any alt impl. hacks)
238 2013-08-22 03:37:51 <oleganza> of course, a business X can use alt impl, but all pools using some other impl or bitcoind
239 2013-08-22 03:38:05 <gmaxwell> oleganza: I gave that as an example, as I mentioned you can just buy hashpower on demand too. Though perhaps not enough if the victim would notice within 6 hours.
240 2013-08-22 03:38:38 <gmaxwell> and, if a pool is using the alt impl too then you don't need the hacking, you just fork a pool too.
241 2013-08-22 03:39:16 <gmaxwell> you also don't need to outright hack the pool, getting control of its network connectivity would be sufficient to get it to mine a fork for you.
242 2013-08-22 03:39:34 <oleganza> i mean to say, there is no good estimate why alt impl should totally suck and be totally unprofitable
243 2013-08-22 03:39:42 <CodeShark> gmaxwell: btw, refactored and added listbannednodes: https://github.com/bitcoin/bitcoin/pull/2906
244 2013-08-22 03:40:08 <oleganza> you'd have to have multi-factor attacks. Attack a network connectivity, or invest in hashpower, or hack a pool
245 2013-08-22 03:40:46 <gmaxwell> oleganza: yes, most high value attacks are multistep, just like most major industrial accidents.
246 2013-08-22 03:40:47 <oleganza> all of this moves risk well under 1% where it can be insured against.
247 2013-08-22 03:40:57 <oleganza> like bank robberies
248 2013-08-22 03:41:54 <oleganza> e.g. if an alt impl works 99,9% of the time, you simply make sure you don't lose >$N during downtime or disparity + extra sanity checks like watching other blocks around
249 2013-08-22 03:42:08 <oleganza> and insure against else for a premium.
250 2013-08-22 03:42:10 <oleganza> done
251 2013-08-22 03:42:15 <gmaxwell> bank robberies aren't just insured against, there is a littany of practices and accomidations that insurers require. I wouldn't be surprised to see an insurer require that a service not use a minority node implementation unless at least firewalled by popular ones from the network.
252 2013-08-22 03:42:31 <oleganza> why not
253 2013-08-22 03:42:46 <CodeShark> the weakest link in most bitcoin business practices is probably not the bitcoin software :p
254 2013-08-22 03:43:09 <CodeShark> it's other policies that are far more general
255 2013-08-22 03:43:16 <gmaxwell> oleganza: Attacks are not randomly distributed either,  A button that loses you 1 btc every time someone presses it but only gets pressed one in a million times, will rapidly find itself pressed a million times a second.
256 2013-08-22 03:43:19 <Krellan> gmaxwell: I finally got around to adding another field to getpeerinfo that contains the string from CNode::addrLocal
257 2013-08-22 03:43:26 <oleganza> but it does not reject the practicality of having more studied bitcoin "spec" and/or more platform-friendly API/implementation
258 2013-08-22 03:43:47 <gmaxwell> Krellan: woot.
259 2013-08-22 03:44:26 <gmaxwell> Krellan: wheres the pull request? :)
260 2013-08-22 03:44:27 <Krellan> Interestingly, addrLocal is not populated immediately, it seems to take a while to get filled in.  CAddress of it just gives "[::]:0".
261 2013-08-22 03:44:48 <Krellan> a few seconds go by, and then it gets filled in.  It seems filled in only under certain conditions in the exchange of the version message.
262 2013-08-22 03:45:04 <oleganza> anyway, if an alt implementation gives my business idea a place for efficient growth and there are people accepting the possible risk, we all increase net wealth.
263 2013-08-22 03:45:35 <CodeShark> I'm all for it, oleganza
264 2013-08-22 03:45:40 <oleganza> if it was easy and nice to build on bitcoind, i'd do it.
265 2013-08-22 03:45:43 <CodeShark> I'd be glad to help you out in any way I can :)
266 2013-08-22 03:45:48 <oleganza> but it's not, at least, not for me.
267 2013-08-22 03:46:20 <Krellan> and I don't think the implementation that fills in CNode::addrLocal is right: among other things, I have a node right now connected to my bitcoind that has an IPv6 addr but an IPv4 addrLocal!
268 2013-08-22 03:46:25 <oleganza> but you are making fair warnings, gmaxwell.
269 2013-08-22 03:46:43 <gmaxwell> oleganza: everything you've talked about doesn't need a node implementation, it just needs a wallet/client implementation, as far as I can tell.
270 2013-08-22 03:46:49 <oleganza> e.g. miner would lose a lot of money on a small fork if they use alt impl.
271 2013-08-22 03:46:58 <gmaxwell> oleganza: so perhaps you should do that instead if thats all you actually need.
272 2013-08-22 03:47:06 <oleganza> i myself need only wallet for now
273 2013-08-22 03:47:20 <oleganza> but i want to be able to read everything
274 2013-08-22 03:47:48 <Krellan> At least now it's revealed, which is an improvement.  Will make pull request now.  I named the field "peerlocal" to avoid breaking scripts that grep for addr.
275 2013-08-22 03:47:58 <oleganza> i don't think i should censor myself by not exposing "dangerous" full-node capabilities.
276 2013-08-22 03:48:07 <oleganza> to the poor little world
277 2013-08-22 03:48:30 <CodeShark> yeah, seriously - if someone stabs themselves with a knife do you blame the knife manufacturer?
278 2013-08-22 03:49:16 <CodeShark> we know we're dealing with potentially dangerous stuff - especially if we're handling large amounts of money
279 2013-08-22 03:49:48 <gmaxwell> You need a letter opener, but instead you build an industrial paper cutter, which is a harder task to get right and has more risk of injury if you get it wrong???
280 2013-08-22 03:50:17 <CodeShark> on the flipside, you might become a truly great industrial paper cutter manufactorer
281 2013-08-22 03:50:25 <CodeShark> *manufacturer
282 2013-08-22 03:50:29 <gmaxwell> and because you only really needed the letter opener, perhaps you don't put in the effort to make a really good industrail paper cutter. In any case, I'm not your boss. So you don't have to satisify me.
283 2013-08-22 03:51:21 <CodeShark> the only way to truly understand at the deepest level how bitcoin works is to write your own implementation, IMHO - or to at least have had sufficient experience developing similar systems so you know how you would do it if you had to
284 2013-08-22 03:51:28 <CodeShark> and this in itself is a worthy goal, IMHO
285 2013-08-22 03:51:48 <oleganza> CodeShark: learning is always good
286 2013-08-22 03:51:59 <CodeShark> if you can also make some bucks doing it, even better :)
287 2013-08-22 03:53:03 <CodeShark> I think aspiring developers should be encouraged to write their own implementations - that does NOT mean I would recommend businesses use them without having thoroughly reviewed and tested them
288 2013-08-22 03:53:23 <CodeShark> and most of them will surely be crap
289 2013-08-22 03:53:49 <gmaxwell> I have no opinion on what people do to learn, sounds fine to me.
290 2013-08-22 03:54:10 <gmaxwell> All my concerns arise when the software has effects on third parties. (using it for a major business or suggesting other people use it)
291 2013-08-22 03:55:02 <CodeShark> if you run a business and you decide to use some untested noobware and you lose money it's your damn fault
292 2013-08-22 03:55:14 <CodeShark> not the developer'
293 2013-08-22 03:55:27 <CodeShark> unless the developer missold it
294 2013-08-22 03:55:29 <gmaxwell> Depends on how the developer promoted it.
295 2013-08-22 03:55:31 <gmaxwell> Right.
296 2013-08-22 03:56:04 <oleganza> well, it's fraud if you claim your software is perfect and it turns out not to be so
297 2013-08-22 03:56:57 <Krellan> gmaxwell: Here you go https://github.com/bitcoin/bitcoin/pull/2923
298 2013-08-22 03:57:24 <phantomcircuit> oleganza, every EULA i have ever seen contains a generic disclaimer that the software is not fit for purpose
299 2013-08-22 03:57:26 <phantomcircuit> any purpose
300 2013-08-22 04:01:49 <CodeShark> I sure as hell put that on top of every piece of code I publish :)
301 2013-08-22 04:03:09 <Krellan> One nice thing about adding the readout for addrLocal is that it now shows whether a client has completed their version exchange yet or not.  Eventually all get filled in.
302 2013-08-22 04:15:58 <atweiden> gmaxwell: about coinjoin
303 2013-08-22 04:16:11 <atweiden> thoughts on nightweb? https://nightweb.net/
304 2013-08-22 04:16:28 <atweiden> basically i2p + bittorrent
305 2013-08-22 04:51:18 <oleganza> i think we should establish a committee that decides which software is safe to use and where. Then, we'll tell people to consult with that committee before using the software. Otherwise there's no way to ensure quality. Since the whole society will benefit from having such a quality check, we should force those who object to comply. For everyone's good.
306 2013-08-22 05:00:00 <tgs3> oleganza: sounds like job for EU beurocrafascists
307 2013-08-22 05:00:07 <tgs3> oleganza: and USA police could enforce it
308 2013-08-22 05:00:08 <oleganza> exactly
309 2013-08-22 05:00:17 <oleganza> i think they should meet together.
310 2013-08-22 05:00:20 <oleganza> oh, wait...
311 2013-08-22 05:00:42 <tgs3> didn't they meet at the ACTA-SOPA and Snowden-disk-smashing case
312 2013-08-22 05:01:19 <oleganza> my irony is spread to thin i guess.
313 2013-08-22 05:01:25 <oleganza> *too
314 2013-08-22 05:02:25 <oleganza> i think the argument "the world does not need yet another implementation" is not consistent with suggestion to "work from jgarzik's codebase."
315 2013-08-22 05:02:45 <k9quaint> I think we should establish a committee determine which people should be on the committee to decide which software is safe
316 2013-08-22 05:03:21 <oleganza> either we should all throw resources into The One Kosher Implementation, or there is no reason to discourage more folks throwing in their impls
317 2013-08-22 05:03:46 <oleganza> k9quaint: exactly
318 2013-08-22 05:04:34 <k9quaint> one question
319 2013-08-22 05:04:51 <k9quaint> can alternate personalities also sit on the committee?
320 2013-08-22 05:05:05 <oleganza> NO
321 2013-08-22 05:05:08 <oleganza> only kosher ones
322 2013-08-22 05:05:11 <gmaxwell> oleganza: No need to be whiny, ?????you said you needed a C callable implementation, I suggested one. Fewer, better tested, implementations are less risky than more less tested ones??? which is just the case.
323 2013-08-22 05:05:33 <oleganza> your suggestion is good
324 2013-08-22 05:05:37 <k9quaint> gmaxwell: do you want to be on the committee to form the committee?
325 2013-08-22 05:05:44 <oleganza> i just mean, it does not work well with your previous argument
326 2013-08-22 05:06:31 <oleganza> (sorry, I'm not being whiny, it's just irony to find some "world needs X" arguments on bitcoin forum)
327 2013-08-22 05:06:35 <gmaxwell> oleganza: if you think that, the I don't believe you understood my argument.
328 2013-08-22 05:06:59 <gmaxwell> But I see no need to argue.
329 2013-08-22 05:07:37 <oleganza> if your argument is picocoin is better tested than my code - i agree; and if it's safer to use for businesses - agree too
330 2013-08-22 05:08:13 <gmaxwell> oleganza: I don't think picocoin is good yet, in fact. But with you also working with it then perhaps someday it will be good.
331 2013-08-22 05:08:13 <oleganza> i just want to build my stuff too because it's convenient for me and some people using objc.
332 2013-08-22 05:08:49 <gmaxwell> And thats less likly for something written in objc, due to not being trivially C callable.
333 2013-08-22 05:08:51 <k9quaint> I wish someone would come up with a coin that didn't end in coin
334 2013-08-22 05:08:53 <oleganza> what I'm doing right now is actually a thorogh code review of bitcoind, bitcoin-ruby and bitcoinjs
335 2013-08-22 05:09:02 <oleganza> and i find some interesting differences in them.
336 2013-08-22 05:09:06 <oleganza> some of them are disturbing
337 2013-08-22 05:09:18 <k9quaint> everything written in javascript is disturbing
338 2013-08-22 05:09:58 <oleganza> basically, before writing a feature in objc, I check all its edge cases in these implementations.
339 2013-08-22 05:10:29 <oleganza> e.g. bitcoinjs still has this bug with "return 1;" from SignatureHash function
340 2013-08-22 05:10:52 <oleganza> it was recently discovered and fixed in bitcoin-ruby
341 2013-08-22 05:11:04 <gmaxwell> I would drop bitcoinjs from your comparison point and replace it with bitcoinj unless your goal is to also report bugs in bitcoinjs.
342 2013-08-22 05:11:50 <oleganza> yeah, bitcoinj i haven't checked much
343 2013-08-22 05:12:05 <gmaxwell> oleganza: it's not a newly known behavior and it's even one tested by the bitcoinblock tester. Any implemention that fails that ... shouldn't be used by anyone.
344 2013-08-22 05:12:27 <gmaxwell> :(
345 2013-08-22 05:16:18 <oleganza> gmaxwell: my suggestion is that implementations simply can by fixed. Not condemned.
346 2013-08-22 05:16:30 <oleganza> bitcoin-ruby was forked, then fixed. Life goes on, no one lost a cent.
347 2013-08-22 05:16:47 <oleganza> if it was unprofitable for coinbase to use bitcoin-ruby, they'd switch to bitcoind already
348 2013-08-22 05:17:12 <oleganza> but it actually provides them some production value. For them it's easier to parse/navigate transactions using bitcoin-ruby.
349 2013-08-22 05:17:28 <oleganza> they take their risks and it works for them
350 2013-08-22 05:17:44 <oleganza> just like no one has to use bitcoin at all. You can stick to paypal if it's good for you.
351 2013-08-22 05:17:45 <gmaxwell> I'm pretty comfortorable condemning software being used to handle millions of dollars in value when it hasn't even been tested with the conformance tests.
352 2013-08-22 05:18:07 <gmaxwell> I think thats professional negligence, but maybe I'm old fashioned.
353 2013-08-22 05:18:29 <oleganza> do you condemn software or people using/writing software? I cannot see how one can condemn bits
354 2013-08-22 05:18:48 <oleganza> ah, ok.
355 2013-08-22 05:19:31 <warren> github is dead
356 2013-08-22 05:19:34 <oleganza> "professional negligence" means I'm not acting responsibly towards society if I do another implementation and promote it without enough testing.
357 2013-08-22 05:19:38 <oleganza> ?
358 2013-08-22 05:19:41 <jgarzik> warren, wfm
359 2013-08-22 05:19:49 <gmaxwell> it's all unicorns for me.
360 2013-08-22 05:19:56 <jgarzik> ACTION just pushed his latest NIH project out to github, even!
361 2013-08-22 05:20:08 <warren> https://github.com/bitcoin/bitcoin/pull/2906  you don't see an amusing 500 error here?
362 2013-08-22 05:20:13 <oleganza> what do you mean by professional negligence then?
363 2013-08-22 05:20:14 <gmaxwell> jgarzik: your project is now unicorns.
364 2013-08-22 05:20:28 <k9quaint> github is 500 for me too
365 2013-08-22 05:20:34 <warren> gmaxwell: what's up with the sudden unicorn explosion
366 2013-08-22 05:21:05 <gmaxwell> warren: I don't know but I'm trying to come up with a synonym of 'fail' that rhymes with unicorn but nothing rhymes with unicorn.
367 2013-08-22 05:21:11 <jgarzik> hum
368 2013-08-22 05:21:22 <jgarzik> in the span of a few seconds, it died
369 2013-08-22 05:21:38 <gmaxwell> now I am getting unhappy squid cat things.
370 2013-08-22 05:21:39 <jgarzik> right when my glorious key/value database appeared
371 2013-08-22 05:21:45 <k9quaint> gmaxwell: capricorn
372 2013-08-22 05:21:49 <warren> gmaxwell: we failed to make the "DP" moniker stick.  try again with unicorn?
373 2013-08-22 05:21:54 <justusranvier> If you're worried about negligent software, why is there a Windows port for Bitcoin?
374 2013-08-22 05:21:57 <petertodd> Strange, oh the frontpage of github I notice even gravity died. Normally that stuff is pretty reliable.
375 2013-08-22 05:22:13 <jgarzik> petertodd, the git:// protocol died too
376 2013-08-22 05:22:18 <jgarzik> not just web
377 2013-08-22 05:22:37 <k9quaint> I am beginning to think there may be something wrong with Git
378 2013-08-22 05:22:39 <jgarzik> I've been meaning to make a remote mirror of all my stuff
379 2013-08-22 05:22:43 <gmaxwell> Good thing we use a DVCS so we don't have to worry about single points of failure
380 2013-08-22 05:22:52 <jgarzik> Linus pushes to 2-3 dfferent remote sites, for each push
381 2013-08-22 05:23:01 <k9quaint> gmaxwell: you know you want to condemn github :P
382 2013-08-22 05:23:08 <CodeShark> I always keep at least 2-3 mirrors of EVERYTHING
383 2013-08-22 05:23:08 <petertodd> I'll write you guys a tool that does git-over-blockchain.
384 2013-08-22 05:23:14 <gmaxwell> ACTION stabs
385 2013-08-22 05:23:32 <jgarzik> ACTION wonders if anybody mirrors github
386 2013-08-22 05:23:38 <jgarzik> or if mirrors are passe
387 2013-08-22 05:23:40 <k9quaint> gmaxwell: do you enunciate your condemnations by slamming your mouse onto your desk?
388 2013-08-22 05:23:50 <CodeShark> I mirror everything I put on github on at least two of my own servers
389 2013-08-22 05:23:50 <warren> I think I don't have the pull requests that I was looking at fetched yet.
390 2013-08-22 05:23:54 <gmaxwell> mouse? who uses a mouse?
391 2013-08-22 05:23:59 <warren> CodeShark: you wrote the RPC ban thing?
392 2013-08-22 05:24:12 <k9quaint> jgarzik: I write code in palindrome, no mirrors necessary
393 2013-08-22 05:24:17 <CodeShark> ACTION maybe...
394 2013-08-22 05:24:32 <Keefe> bitcointalk.org is having trouble too. related maybe?
395 2013-08-22 05:24:52 <gmaxwell> It was reported that the whole internet is currently on fire with ddos.
396 2013-08-22 05:24:55 <CodeShark> lol
397 2013-08-22 05:25:01 <k9quaint> gox is up, so it can't be serious
398 2013-08-22 05:25:05 <CodeShark> haha
399 2013-08-22 05:25:19 <SomeoneWeird> lol
400 2013-08-22 05:25:21 <Keefe> who cares about gox anymore :p
401 2013-08-22 05:25:24 <k9quaint> someone ping floods an iphone and gox is down
402 2013-08-22 05:26:07 <SomeoneWeird> hah
403 2013-08-22 05:26:47 <jgarzik> if CloudFlare has a hiccup, bitcoin is down
404 2013-08-22 05:28:04 <gmaxwell> jgarzik: which is very scarry... esp since all these sites turn over their ssl certs to cloudflare.
405 2013-08-22 05:28:07 <k9quaint> shit, bug tracking stuff still works *sigh*
406 2013-08-22 05:32:58 <jgarzik> vaguely tempted to sell Avalon #1, The World's First ASIC Miner
407 2013-08-22 05:33:10 <jgarzik> would make a nice museum piece
408 2013-08-22 05:34:12 <petertodd> jgarzik: and would ship on time
409 2013-08-22 05:34:37 <jgarzik> that too
410 2013-08-22 05:35:04 <phantomcircuit> lollll
411 2013-08-22 05:35:46 <gmaxwell> "first asic miner to have shipped on time .. twice!"
412 2013-08-22 05:36:32 <petertodd> of course, being someone with a BFL pre-order, I'll have to go to the forums and complain loudly that everyone else should cancel theirs until my one gets bumped up and ships early
413 2013-08-22 05:36:53 <gmaxwell> I found out that avalon actually intentionally delayed my shippment because they thought I sold them. Dweebs.
414 2013-08-22 05:36:59 <k9quaint> did someone say BFL pre-order?
415 2013-08-22 05:37:05 <k9quaint> ACTION stares at gmaxwell
416 2013-08-22 05:37:23 <petertodd> gmaxwell: good job
417 2013-08-22 05:38:17 <gmaxwell> (they thought I sold them because I changed the delivery address and delivery name (to my girlfriends, a requirement of shipping them to her office... because I was moving and didn't know where I'd be living by the time they shipped))
418 2013-08-22 05:38:34 <petertodd> figures
419 2013-08-22 05:39:05 <petertodd> your mom can now remind you that you should have married the girl and she should have changed her name, obviously
420 2013-08-22 05:39:19 <k9quaint> did she dump you right after the rigs arrived?
421 2013-08-22 05:39:25 <gmaxwell> k9quaint: hahahaha No.
422 2013-08-22 05:39:48 <petertodd> k9quaint: better to do the long-con there - can't get alimony if you're just a gf
423 2013-08-22 05:40:05 <gmaxwell> god knows, in california you probably can.
424 2013-08-22 05:40:07 <jgarzik> Yifu has tons of stories about inboxes full of whining miners ;p
425 2013-08-22 05:40:20 <petertodd> k9quaint: although in Canada in BC the laws are now so nutty that it's probably possible for your samesex roommate to get alimony...
426 2013-08-22 05:40:21 <jgarzik> all of whom want to pay X more to get bumped up in the queue, and whatnot
427 2013-08-22 05:40:26 <k9quaint> petertodd: you mean to say someone could get alimony out of gmaxwell? in what form pray tell?
428 2013-08-22 05:40:38 <petertodd> k9quaint: if they were smart, ASICs
429 2013-08-22 05:41:25 <k9quaint> hehe, Yifu's inbox is probably one of the more interesting ones on the planet
430 2013-08-22 05:41:30 <gmaxwell> I've lived 1/3 of my life with this person, I don't expect anything to change anytime soon.
431 2013-08-22 05:41:51 <k9quaint> wow, that would have been an awesome long con
432 2013-08-22 05:42:01 <petertodd> I've lived 3/3 or my life with this person, I don't expect anything to change anytime soon.
433 2013-08-22 05:42:04 <petertodd> ACTION looks in mirror
434 2013-08-22 05:42:17 <petertodd> k9quaint: mine would be an even more awesome long con
435 2013-08-22 05:42:42 <phantomcircuit> gmaxwell, you definitely cant get alimony as a gf... but you can probably get rent control
436 2013-08-22 05:42:58 <jgarzik> ACTION thinks that the petertodd identity is a pseudonym.
437 2013-08-22 05:43:05 <jgarzik> nobody cares that much about PGP signatures
438 2013-08-22 05:43:08 <jgarzik> in real  life
439 2013-08-22 05:43:59 <k9quaint> but which life is real?
440 2013-08-22 05:44:08 <k9quaint> this could all be just a simulation in some NSA listening post
441 2013-08-22 05:44:20 <gmaxwell> phantomcircuit: good thing that she pays the rent.
442 2013-08-22 05:44:24 <BW^-> sipa: around?
443 2013-08-22 05:44:45 <petertodd> Gah, stupid #bitcoin-dev rules ruining my joke.
444 2013-08-22 05:44:49 <phantomcircuit> gmaxwell, quick bump her and demand rent control
445 2013-08-22 05:45:01 <petertodd> "jdillon: you got me there, but that guy I hired for the conference sure was a good actor"
446 2013-08-22 05:45:22 <k9quaint> petertodd: you are a terrible sockpuppet
447 2013-08-22 05:45:56 <gmaxwell> jgarzik: if he is, he's got a fake ID too. But what do I know about canadian IDs.
448 2013-08-22 05:46:00 <petertodd> k9quaint: Yeah, I realized I was dressed all wrong at the conference when I saw luke.
449 2013-08-22 05:46:19 <gmaxwell> petertodd: hey, can canadian passports sign challenge strings?
450 2013-08-22 05:46:28 <petertodd> gmaxwell: Nope, and since when did I ever show you my ID
451 2013-08-22 05:46:37 <gmaxwell> petertodd: I thought you did! perhaps not!
452 2013-08-22 05:47:06 <k9quaint> perhaps his doppelganger did
453 2013-08-22 05:47:08 <petertodd> gmaxwell: I'm sure I never did - made a point of it with Adam when we exchanged fingerprints that he should verify me by who I am, not my government ID.
454 2013-08-22 05:47:28 <petertodd> gmaxwell: Pretty sure they can't, but I may be wrong.
455 2013-08-22 05:47:42 <BW^-> guys, in https://github.com/sipa/bitcoin/commit/4790f3c823a33fae44b82ef7962372e38b1b0131 for sipa's addrindex, he says "Maintain a salt to perturbate the address index (protection against   collisions)."
456 2013-08-22 05:47:49 <BW^-> why on earth would that be of interest to maintain??
457 2013-08-22 05:47:49 <gmaxwell> hm. I signed your pgp key. Did you really talk me into doing that?
458 2013-08-22 05:48:29 <gmaxwell> BW^-: Can you phrase your question another way?
459 2013-08-22 05:48:32 <petertodd> gmaxwell: Yes, and Adam too. Maybe you got my ID on the former, but I'm 100% sure Adam didn't.
460 2013-08-22 05:48:54 <BW^-> gmaxwell: well, if you have an address index, then you want the addresses in the index raw, so why would there ever be a need to salt it as to perturbate the index??
461 2013-08-22 05:49:06 <BW^-> maybe there's something about how the indexing is made that i don't understand
462 2013-08-22 05:49:21 <gmaxwell> BW^-: Because the index is indexed by compact keys. Did you read the code?
463 2013-08-22 05:49:31 <BW^-> gmaxwell: i'm doing in this moment.
464 2013-08-22 05:49:51 <BW^-> gmaxwell: absolutely only for ref now, what is the definition of compact key here?
465 2013-08-22 05:50:01 <gmaxwell> BW^-: doing so significantly reduces the size (IIRC like half). To avoid intentional collission attacks it's perturbed.
466 2013-08-22 05:50:27 <phantomcircuit> BW^-, im going to guess that the underlying data structure is a hash table
467 2013-08-22 05:50:30 <BW^-> gmaxwell: in which case could a collission otherwise happen?
468 2013-08-22 05:50:37 <phantomcircuit> in which case doing that is 100% necessary
469 2013-08-22 05:50:57 <BW^-> phantomcircuit: aha, a hashtable over/of the compact key
470 2013-08-22 05:51:44 <BW^-> also Q, sipa goes on and describes that "It indexes the use of every >8-byte data push in output script or consumed script - or in case of no such push, the entire script." -       i'm reading up on scripts now. just to ge the picture in an overview way, why did he apply this logic here?
471 2013-08-22 05:52:25 <phantomcircuit> he's making it as generic as possible
472 2013-08-22 05:52:26 <gmaxwell> So you can look up those objects too.
473 2013-08-22 05:52:31 <gmaxwell> BW^-: what are you working on?
474 2013-08-22 05:52:48 <phantomcircuit> lol the buttercoin people are hilarious
475 2013-08-22 05:52:53 <phantomcircuit> all talk no bank accounts
476 2013-08-22 05:54:30 <BW^-> gmaxwell: i just want to understand how this index works, as to be able to do lookups like the one in the "Transactions" section here http://blockchain.info/address/1MBHmaw38qGcuuSLGmkoMdTCy3ekBrfBTX
477 2013-08-22 05:57:28 <Keefe> github and bitcointalk load fine for me now
478 2013-08-22 05:57:30 <gmaxwell> BW^-: It extracts one or more keys from a transaction hashes them into a 64 bit lookup key, and inserts the key and relevant disk position pointer into an index.
479 2013-08-22 06:00:46 <BW^-> gmaxwell: so what the addrindex patch does, is that for every transaction registered in the blockchain, it extracts every btc address mentioned in it[s script] and makes an index for address -> disk position of the transaction lookups?
480 2013-08-22 06:01:25 <gmaxwell> not just addresses but also arbritary script data.
481 2013-08-22 06:02:16 <gmaxwell> keep in mind that the underlying bitcoin system (the blockchain) has no concept of addresses at all.
482 2013-08-22 06:04:59 <BW^-> gmaxwell: right - i will need to learn how this works out Now.  the underlying bitcoin system only has the scripts with its primitives, right?;     is there any like mechanistic introduction to how the scripts are made up and how they work out in the bigger picture, that i can read anywhere?
483 2013-08-22 06:06:36 <gmaxwell> https://en.bitcoin.it/wiki/Script
484 2013-08-22 06:09:14 <sipa> BW^-: now i am
485 2013-08-22 06:11:59 <gmaxwell> sipa: morning.
486 2013-08-22 06:26:14 <Krellan> I am thinking of adding support for ping time measurement, like p2pool does
487 2013-08-22 06:27:56 <gmaxwell> Krellan: p2pool does? where?
488 2013-08-22 06:28:01 <gmaxwell> Krellan: and that would be spiffy.
489 2013-08-22 06:29:01 <gmaxwell> Krellan: we might want to keep a response time in the node objects for use in priortizing peers to keep.
490 2013-08-22 06:29:34 <gmaxwell> (low latency has the nice property of being not possible to fake, at least)
491 2013-08-22 06:35:02 <Krellan> gmaxwell: http://localhost:9332/pings
492 2013-08-22 06:36:08 <Krellan> can I use a double in the structure returned by getpeerinfo? everything else there is ints/strings and wanted to be sure there wasn't a rule somewhere against it.
493 2013-08-22 06:37:06 <Krellan> I'm filling in the nonce for ping, keeping start time, adding pong parser to compare nonce, if it matches then that's a good ping, save the time. Show ping time in getpeerinfo.
494 2013-08-22 06:37:51 <Krellan> Going to add RPC command "ping" to force a ping to go out to all peers, to avoid having to wait around for the keepalive to fire.
495 2013-08-22 06:41:50 <gmaxwell> Krellan: cool, didn't realize that was there.
496 2013-08-22 06:42:36 <gmaxwell> Krellan: there isn't such a rule, but why? you're going to get the time data in the form of an int64, just difference it and keep the results as an integer.
497 2013-08-22 06:42:52 <Krellan> OK good point, shouldn't try to be fancy, it's RPC, not the place for user prettyprinting.
498 2013-08-22 06:44:02 <sipa> Krellan: we should revamp the keepalive/timeout/ping logic altogether, i think
499 2013-08-22 06:44:26 <gmaxwell> yea, even if you print it fancy in the interface, my personal prefernce is to keep the stored data as an int, at least if it started out as one.
500 2013-08-22 06:44:26 <sipa> i made a pullreq for that once, though i believe there were some comments and i haven't updated it anymore afterwards
501 2013-08-22 06:54:20 <Krellan> cosmetic thing: kind of looks weird to have conntime be in seconds but pingtime be in microseconds.
502 2013-08-22 06:56:58 <warren> CodeShark: locking needed on the list banned?
503 2013-08-22 06:57:22 <gavinandresen> I just merged the payment protocol pull request. If your Qt builds break, apt-get install libprotobuf-dev protobuf-compiler
504 2013-08-22 06:57:59 <warren> ACTION looks for the equivalent in fedora
505 2013-08-22 06:58:08 <warren> CodeShark: oh, I see you already realized it.
506 2013-08-22 06:58:42 <gavinandresen> OSX + MacPorts it is port install protobuf-cpp
507 2013-08-22 06:58:54 <gavinandresen> OSX + HomeBrew it is brew install protobuf
508 2013-08-22 07:00:27 <gmaxwell> Krellan: then make it ms on display.
509 2013-08-22 07:00:41 <gavinandresen> ??? Windows??? fetch http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2    ??? and build it and do the Windows thing so protoc is in your path
510 2013-08-22 07:02:09 <warren> gavinandresen: did you update the gitian descriptors for this?
511 2013-08-22 07:08:27 <Krellan> I could rename pingtime to pingms = also thinking of adding pingreq so users can see when a ping request is still outstanding (avoids ambiguously waiting)
512 2013-08-22 07:10:15 <BW^-> where can I read about the payment protocol and request features?
513 2013-08-22 07:31:31 <BW^-> https://en.bitcoin.it/wiki/Script says "Note that there is a small number of standard script forms that are relayed from node to node; non-standard scripts are accepted if they are in a block, but nodes will not relay them. " .
514 2013-08-22 07:32:09 <BW^-> does this mean that those 4-5 standard scripts are the only "templates" allowed, and that one *cannot* specify any script one wants to, because the system won't accept them and propagate them?
515 2013-08-22 07:34:54 <BW^-> what about the payment protocol and payment request features gavin just published, were they discussed anywhere?
516 2013-08-22 07:35:52 <fanquake> BW^- https://github.com/bitcoin/bitcoin/pull/2539
517 2013-08-22 07:44:05 <sipa> BW^-: and BIP 70
518 2013-08-22 07:44:12 <sipa> BW^-: and discussion on the mailinglist
519 2013-08-22 08:42:06 <gavinandresen> warren: yes, gitian descriptors updated.  There is new protobuf-win32.yml gitian descriptor that must be built for the win32 gitian build.
520 2013-08-22 08:47:44 <Krellan> Actually I like ping time in whole seconds, gives small decimal numbers like 0.30094600, looks very Bitcoin-like :)
521 2013-08-22 08:49:39 <warren> gavinandresen: ok cool
522 2013-08-22 08:57:33 <sipa> Krellan: for RPC output, i have no problem with ping time in floating-point seconds
523 2013-08-22 08:57:45 <sipa> internally, i'd rather use milli or microseconds
524 2013-08-22 09:02:36 <Krellan> sipa: good, that's what it is: internally it's microseconds (int64), output is decimal whole secs
525 2013-08-22 09:41:18 <Krellan> There, I have ping time support basically working.
526 2013-08-22 09:41:53 <Krellan> Not ready for pull request just yet, I have to disentangle it from another pull request, sigh.  And it needs some error flags that it can show to user.  https://github.com/Krellan/bitcoin/commit/fbc91c10d818432070ef8bac56b07707f43ef0b1
527 2013-08-22 09:42:44 <Krellan> Very interesting behavior noted: 1) many nodes simply reply with pong 0 no matter what nonce is sent, and 2) many nodes already send unique nonces, not 0, so there must be other patches floating around that people have applied, since upstream still sends hardcoded 0 for nonce.
528 2013-08-22 09:43:34 <sipa> Krellan: bitcoinj sends unique nonces afaik
529 2013-08-22 09:43:48 <Krellan> sipa: thanks for the info, that must be it.
530 2013-08-22 09:44:32 <Krellan> Surprised that there would be "broken" nodes out there that send a hardcoded 0 for pong, even when given a nonzero nonce for ping.
531 2013-08-22 09:45:20 <Krellan> gmaxwell: There, got ping time support working, just need to refine it a little before making pull request.
532 2013-08-22 10:05:43 <BW^-> https://en.bitcoin.it/wiki/Script : "Note that there is a small number of standard script forms that are relayed from node to node; non-standard scripts are accepted if they are ina block, but nodes will not relay them. " - what's the point with this?
533 2013-08-22 10:14:56 <BW^-> i mean, can't you use any arbitrary script in a transaction and it will be propagated like any transaction?
534 2013-08-22 10:17:02 <sipa> no
535 2013-08-22 10:17:15 <sipa> but it is valid
536 2013-08-22 10:17:22 <sipa> so if you get a miner to accept it, there is no problem
537 2013-08-22 10:25:34 <Luke-Jr> BW^-: some non-standard scripts can be used to DoS the network, so nodes ignore them when possible
538 2013-08-22 10:26:32 <BW^-> sipa: how get it to the miner in the first place?
539 2013-08-22 10:27:02 <BW^-> luke-jr: aha. what is the definition of standard vs. non-standard script, i mean, is there like a fixed set of scripts in BitcoinD with only the variable/constant content parts replacable, definining what's allowed?
540 2013-08-22 10:27:36 <Luke-Jr> BW^-: pretty much
541 2013-08-22 10:27:58 <Luke-Jr> BW^-: Eligius (only?) will accept direct relaying of non-standard transactions it deems "safe"
542 2013-08-22 10:28:27 <Luke-Jr> BW^-: also, the non-standard restrictions are entirely disabled on testnet, for development of new transaction types
543 2013-08-22 10:28:37 <Luke-Jr> (which would then be added to bitcoind's whitelist)
544 2013-08-22 10:30:47 <BW^-> ok
545 2013-08-22 10:31:21 <BW^-> luke-jr: where in BitcoinD's source is the definition of standard transaction implemented, so i can check?        also, is it documented anywhere - so https://en.bitcoin.it/wiki/Script + BIP 11 defines all of them?
546 2013-08-22 10:35:48 <Luke-Jr> BW^-: script.cpp
547 2013-08-22 10:41:09 <BW^-> luke-jr: which method in script.cpp determines if a script is standard?
548 2013-08-22 10:41:55 <Luke-Jr> it's named obviously. do your homework. -.-
549 2013-08-22 10:42:22 <BW^-> luke-jr: VerifyScript ???
550 2013-08-22 10:42:25 <Luke-Jr> sigh
551 2013-08-22 10:42:28 <runeks> Where in the source tree can I find the way the new target is calculated each 2016 blocks?
552 2013-08-22 10:42:30 <Luke-Jr> IsStandard
553 2013-08-22 10:42:43 <BW^-> *ah*. thanks.
554 2013-08-22 10:43:47 <Luke-Jr> runeks: main.cpp, GetNextWorkRequired
555 2013-08-22 10:44:58 <runeks> Luke-Jr: Thanks!
556 2013-08-22 10:51:47 <runeks> Looks like I have the right estimation in my code. As far as I can see new_diff is just (target_block_time / actual_block_time) * old_diff
557 2013-08-22 10:51:57 <runeks> So that should work barring some floating point imprecisions.
558 2013-08-22 10:53:57 <sipa> except "difficulty" does not exist at the protocol level
559 2013-08-22 10:54:16 <sipa> the computation is done in terms of the target hash
560 2013-08-22 10:54:23 <Luke-Jr> runeks: be careful about the last/first block of the new diff
561 2013-08-22 10:54:44 <Luke-Jr> sipa: meh, two ways to talk about the same number :P
562 2013-08-22 10:54:52 <sipa> if you only need an approximate solution, multiplying the observed average time factor with the difficulty is perfectly fine
563 2013-08-22 10:55:06 <runeks> Luke-Jr: First is if block_num % 2016 == 0 right?
564 2013-08-22 10:55:13 <sipa> i just mean that if you need it exactly, difficulty will not help you; but i don't know the context of the question
565 2013-08-22 10:55:37 <Luke-Jr> runeks: I'm not sure enough to say without looking into it :<
566 2013-08-22 10:56:03 <runeks> sipa: Yes I know that. But for my purposes it's just the estimation used for this: http://runeks.dk/bitcoin/diff.txt
567 2013-08-22 10:56:16 <runeks> So I figure the precision I lose is acceptable since it's just an estimation anyway.
568 2013-08-22 10:56:54 <sipa> sure
569 2013-08-22 10:57:17 <runeks> Although I'm not sure if Python's float type actually has enough precision for it to be irrelevant.
570 2013-08-22 10:57:34 <runeks> It's possible. The target is only 32 bits afterall.
571 2013-08-22 10:58:15 <runeks> But yeah, I guess it ahould en
572 2013-08-22 10:58:44 <runeks> But yeah, I guess the full target should end in all zeros, so I can only calculate the compact target using the difficulty.
573 2013-08-22 10:59:12 <Luke-Jr> sipa: since target is only a 23-bit precise float anyway, you can get a certain block target from it if you really had to :p
574 2013-08-22 10:59:37 <Luke-Jr> right, that
575 2013-08-22 11:18:47 <jgarzik> mornin'
576 2013-08-22 11:40:30 <sipa> ACTION haz block eruptorz
577 2013-08-22 11:43:59 <sipa> ;;genrate 330
578 2013-08-22 11:44:00 <gribble> The expected generation output, at 330.0 Mhps, given difficulty of 50810339.0483, is 0.00326624764823 BTC per day and 0.00013609365201 BTC per hour.
579 2013-08-22 11:58:32 <jeremias> was there a guide about how to copy the block chain data from trusted source?
580 2013-08-22 12:02:30 <t7> sipa: are they the little dongle things i heard about on the bitcoin podcast thing?
581 2013-08-22 12:02:45 <sipa> yes
582 2013-08-22 12:04:58 <sipa> they're so useless
583 2013-08-22 12:05:00 <sipa> and so cute
584 2013-08-22 12:06:59 <jgarzik> sipa, did you get yours today?
585 2013-08-22 12:22:26 <sipa> jgarzik: yes
586 2013-08-22 12:23:36 <warren> I'm confused by hte various PR's
587 2013-08-22 12:23:54 <warren> involving removing internal miner, getwork, GBT
588 2013-08-22 12:24:04 <warren> overlapping, one obsoletes another
589 2013-08-22 12:52:46 <jgarzik> warren, not overlapping, building upon, AFAICT
590 2013-08-22 14:13:50 <Matt_von_Mises> Hello. According to here -> https://en.bitcoin.it/wiki/Protocol_specification#getblocks the getblocks message contains a version field but I can't find where this is set anywhere in the bitcoin source code. I don't know what I'm missing but does anyone know where it is?
591 2013-08-22 14:43:48 <gribble> 5.081033904827648E7
592 2013-08-22 14:43:48 <sipa> ;;diff
593 2013-08-22 14:45:45 <etotheipi_> sipa: is there a list of gribble commands?
594 2013-08-22 14:47:01 <sipa> ;;help
595 2013-08-22 14:47:02 <gribble> The bot responds when you start a line with the ! character. A good starting point for exploring the bot is the !facts command. You can also visit the bot's website for a list of help topics and documentation: http://gribble.sourceforge.net/
596 2013-08-22 14:47:48 <etotheipi_> !facts
597 2013-08-22 14:47:51 <gribble> To see a nice sortable web view of all factoids, click here: http://gribble.dreamhosters.com/viewfactoids.php?db=%23bitcoin-dev || To see a list of the most popular factoids, run !rank || To search factoids, run !factoids search <yoursearchterm>
598 2013-08-22 14:47:54 <gribble> Admin, Alias, Anonymous, AutoMode, BadWords, BitcoinData, Channel, ChannelLogger, ChannelStats, Conditional, Config, Debug, Dict, Dunno, Factoids, Filter, Format, GPG, Games, Gatekeeper, Google, Internet, Later, Market, Math, MessageParser, Misc, Network, OTCOrderBook, Owner, Plugin, RSS, RatingSystem, Reply, Scheduler, Seen, Services, Status, String, Time, Topic, URL, Unix, User, (1 more message)
599 2013-08-22 14:47:54 <TheLordOfTime> ;;list
600 2013-08-22 14:48:01 <TheLordOfTime> there's a lot of commands inside those plugins
601 2013-08-22 14:48:13 <TheLordOfTime> etotheipi_, what exactly are you looking for in terms of the commands?
602 2013-08-22 14:48:23 <TheLordOfTime> because nanotube knows the commands more than I do although I could easily find out
603 2013-08-22 14:48:37 <TheLordOfTime> ;;help diff
604 2013-08-22 14:48:38 <gribble> (diff takes no arguments) -- Get current difficulty.
605 2013-08-22 14:48:41 <etotheipi_> TheLordOfTime: nothing in particular... I just realized I see people use it all the time, and have no idea how to use it myself
606 2013-08-22 14:48:48 <TheLordOfTime> hmmmmm i forget which plugin that's  in if any
607 2013-08-22 14:48:56 <TheLordOfTime> ;;apropos diff
608 2013-08-22 14:48:57 <gribble> Alias bc,p2pooldiff, Alias tn,diff, BitcoinData blockdiff, BitcoinData diff, BitcoinData diffchange, BitcoinData prevdiff, and BitcoinData prevdiffchange
609 2013-08-22 14:49:00 <etotheipi_> just curious what wisdom it has for me
610 2013-08-22 14:49:02 <etotheipi_> :)
611 2013-08-22 14:49:02 <TheLordOfTime> ahhhhhhhhh THAT plugin
612 2013-08-22 14:49:09 <sipa> ;;tblb 1200
613 2013-08-22 14:49:10 <gribble> The expected time between blocks taking 20 minutes and 0 seconds to generate is 2 hours, 2 minutes, and 50 seconds
614 2013-08-22 14:49:16 <sipa> ^- cool one
615 2013-08-22 14:49:19 <TheLordOfTime> etotheipi_, i think there's documentation on most used commands somewhere
616 2013-08-22 14:49:22 <TheLordOfTime> i'll check...
617 2013-08-22 14:49:40 <TheLordOfTime> etotheipi_, https://en.bitcoin.it/wiki/Gribble
618 2013-08-22 14:49:45 <TheLordOfTime> No clue what each command does though
619 2013-08-22 14:49:51 <etotheipi_> man, you guys are too helpful!  thanks
620 2013-08-22 14:50:13 <etotheipi_> ;;halfreward
621 2013-08-22 14:50:14 <gribble> Estimated time of bitcoin block reward halving: Thu Oct 20 23:50:06 2016 UTC | Time remaining: 3 years, 8 weeks, 4 days, 7 hours, and 0 seconds.
622 2013-08-22 14:50:26 <etotheipi_> ;;bc,xau
623 2013-08-22 14:50:27 <gribble> 1 XAU = 1373.100000000000 USD = 11.2549189553 BTC
624 2013-08-22 14:50:53 <nanotube> y'all are also welcome to play with it in pm or in #gribble, to avoid junking up -dev. :)
625 2013-08-22 14:51:05 <etotheipi_> heh, I was just about to apologize for spamming the dev list
626 2013-08-22 14:51:19 <etotheipi_> err.. dev channel
627 2013-08-22 14:51:22 <nanotube> heh
628 2013-08-22 14:51:41 <TheLordOfTime> :P
629 2013-08-22 14:51:53 <TheLordOfTime> nanotube, wait, you're actually awake at this hour?  You never respond to my pings usually here xD
630 2013-08-22 14:52:09 <TheLordOfTime> s/here/at this hour/
631 2013-08-22 14:55:18 <nanotube> ACTION hides :)
632 2013-08-22 14:56:47 <TheLordOfTime> heh
633 2013-08-22 14:58:48 <Cusipzzz> nanotube gets so many pms he has gribble screen them and randomly pass on 1% for his review
634 2013-08-22 14:59:30 <nanotube> Cusipzzz: randomly? gribble's been self-aware for years now. :P
635 2013-08-22 15:00:44 <Cusipzzz> no wonder mine never get through :/
636 2013-08-22 15:01:57 <nanotube> haha
637 2013-08-22 15:16:15 <Micha> iPhone|Has gavinandresen tagged anything later than 0.8.4rc2? I can't find branches/tags in the github mobile interface.
638 2013-08-22 18:33:42 <Krellan_> gmaxwell: I wrote up my thoughts about my experiment with adding ping time measurement/readout to bitcoind last night. https://bitcointalk.org/index.php?topic=279652.0
639 2013-08-22 18:33:59 <Krellan_> It works, but needs some polishing before it's ready for prime time.
640 2013-08-22 18:34:45 <gmaxwell> the other nonces are bitcoinj most likely.
641 2013-08-22 18:34:52 <Krellan_> Thanks
642 2013-08-22 18:35:04 <gmaxwell> the mismatches are an older version of bitcoind I think.
643 2013-08-22 18:35:11 <Krellan_> Any idea as to why I'd send a valid nonce with my ping but get back zero as a response?
644 2013-08-22 18:35:34 <gmaxwell> the mismatches are an older version of bitcoind I think. < That
645 2013-08-22 18:35:55 <gmaxwell> I think the first implementation had a stupid bug with the type of the response or something.
646 2013-08-22 18:35:57 <Krellan_> If client is really old (before nonces and pong were added) I send just the bare ping and don't even try to time measure it.
647 2013-08-22 18:36:36 <gmaxwell> As far as remembering nonces, I think you could just send a counter, or an encrypted counter.
648 2013-08-22 18:37:11 <gmaxwell> Krellan_: see c971112dfaeab836d8b626c862ede0059f5325b8
649 2013-08-22 18:37:37 <Krellan_> OK thanks.  I'll treat zero as acceptable, and flag it in my "pingstat" field so it can be known that it won't work with overlapped pings.
650 2013-08-22 18:38:13 <gmaxwell> "Any suggestions on what a reasonable ratelimit would be?"  avoid pinging a host within one second of the last time you pinged it.
651 2013-08-22 18:38:17 <Krellan_> Nice find!
652 2013-08-22 18:38:43 <gmaxwell> not a find, I remembered it. :P
653 2013-08-22 18:39:14 <gmaxwell> as far as (6), ... I dunno. there are some old bitcoinj peers that send pings super fast.
654 2013-08-22 18:39:28 <Krellan_> was talking with sipa last night about that.
655 2013-08-22 18:39:45 <Krellan_> good to know he found and fixed that bug.
656 2013-08-22 18:39:59 <Krellan_> I could probably simply ignore peers that send me a ping faster than once per second.
657 2013-08-22 18:41:48 <Krellan_> thinking of adding more bitfields to "pingstat": ping requested, ping sent, peer too old, peer nonce mismatch, peer zero nonce bug, ping successfully received.
658 2013-08-22 18:44:54 <Krellan_> Will work on it more tonight.