1 2012-12-19 00:00:23 RazielZ has quit (Ping timeout: 246 seconds)
   2 2012-12-19 00:02:10 <stealth222> if there were a field in the transaction which stored the type of encoding used in the signature (which was part of the structure that is signed) it would get rid of this issue while still affording flexibility in encoding
   3 2012-12-19 00:02:33 <stealth222> but perhaps it isn't really a serious problem
   4 2012-12-19 00:02:44 <stealth222> and such a solution requires a hardfork
   5 2012-12-19 00:02:57 <sipa> stealth222: it wouldn't solve a thing
   6 2012-12-19 00:03:10 <sipa> because every implementation would still be required to support every encoding
   7 2012-12-19 00:03:34 <stealth222> it wouldn't solve the OpenSSL issues - but it would solve the issue Luke-Jr brought up
   8 2012-12-19 00:03:41 <sipa> and the solution is easy: just allow one canonical encoding
   9 2012-12-19 00:03:47 <sipa> and that doesn't require a hardfork
  10 2012-12-19 00:03:55 <gmaxwell> yea, thats a nutty solution. :P
  11 2012-12-19 00:04:21 <gmaxwell> (allowing _more_ encodings.. erk, that just means more code that has to be exactly right which people won't adequately test)
  12 2012-12-19 00:05:27 <phantomcircuit> gmaxwell, clearly there should be some sort of exhaustive testing
  13 2012-12-19 00:05:35 <stealth222> sipa: one canonical encoding was where we started - but then you talked about how you liked the flexibility that allowed for things like compressed pubkeys
  14 2012-12-19 00:05:41 <phantomcircuit> say a bruteforce search of the key space to verify correctness!
  15 2012-12-19 00:05:42 * phantomcircuit runs
  16 2012-12-19 00:05:57 <sipa> stealth222: we didn't start with one canonical encoding
  17 2012-12-19 00:05:59 <stealth222> I guess multiple pubkey formats are ok...just not multiple signature formats
  18 2012-12-19 00:06:12 <sipa> stealth222: we started with code that produced one type of serialized data, but accepted many
  19 2012-12-19 00:06:30 <sipa> stealth222: i want code that produces just one type, and accepts just one type
  20 2012-12-19 00:06:51 <stealth222> it was a suggestion I made a lot earlier "stealth222: is it possible to take any encoding that OpenSSL accepts and transform it into a cannonical one?"
  21 2012-12-19 00:07:08 <sipa> that's not what i mean
  22 2012-12-19 00:07:17 <gmaxwell> And it turned out to be 'fortunate' in that case. But the fact that sometimes a broken fork makes a better spoon does not mean you should wish your forks all be broken.
  23 2012-12-19 00:07:27 <sipa> i mean making it simply illegal on the network to use any but the canonical encoding
  24 2012-12-19 00:07:42 <stealth222> right, that's how it should be ideally
  25 2012-12-19 00:07:59 <sipa> so no need to transform anything - wallet software would simply not be allowed to produce weird stuff
  26 2012-12-19 00:08:44 <stealth222> I guess the pubkey issue is separate - that cannot be modified except by the person who originally signed the transaction
  27 2012-12-19 00:08:50 <sipa> stealth222: see https://github.com/bitcoin/bitcoin/blob/master/src/script.cpp#L271
  28 2012-12-19 00:09:15 <stealth222> right, I see
  29 2012-12-19 00:09:29 <sipa> that code is not active right now
  30 2012-12-19 00:09:34 <gmaxwell> stealth222: it can still be problematic, just not as problematic.
  31 2012-12-19 00:09:52 <gmaxwell> E.g. if there were valdating nodes that didn't accept compressed public keys, someone could have forked the network by writing one.
  32 2012-12-19 00:10:08 <stealth222> yes, I see what you're saying
  33 2012-12-19 00:10:43 <sipa> at least now it is known, and people can test their software for the ability to verify compressed pbukesy
  34 2012-12-19 00:11:02 <stealth222> my software got tripped up initially by that :)
  35 2012-12-19 00:11:05 <stealth222> but I did fix it
  36 2012-12-19 00:11:07 <gmaxwell> (more likely than you might guess— there are patents related to compressed public keys (which are, fortunately only applicable to other curves and probably invalid) so some people have a reflexive "don't use them at all" plus they take more code to implement.)
  37 2012-12-19 00:11:51 <gmaxwell> (okay, I guess you'd guess it pretty likely!)
  38 2012-12-19 00:12:25 <gmaxwell> and really the concern there was that for a long time we just didn't know about it.. because it was behavior hidden inside openssl.
  39 2012-12-19 00:12:55 <stealth222> so there's something to be said for not trusting third-party libraries to validate inputs :)
  40 2012-12-19 00:13:43 <gmaxwell> Right. They're just often written with different goals in mind, even if they are excellent software. ... er not that I'm implying anything about openssl. :P
  41 2012-12-19 00:13:57 <sipa> if bitcoin would have defined its own format for pubkeys and signatures, and transformed that from/to ssl when creating/checking, the code would be a lot easier, actually
  42 2012-12-19 00:14:14 <sipa> that's something that would be considered a bad idea in most software, but here it'd make sense
  43 2012-12-19 00:16:21 <stealth222> or at least decided upon a single standard format and enforced it
  44 2012-12-19 00:16:26 <gavinandresen> we're about to bite off another huge pail of worms with X.509 certificates in the payment protocol proposal, by the way....
  45 2012-12-19 00:17:42 <gmaxwell> stealth222: we have a single standard format, and openssl looks like it enforces it. Writing your own enforcement would fall into sipa's "something that would be considered a bad idea in most software" bin.  Also, it's a little harder to get surely correct behavior from enforcement rather than implementation.
  46 2012-12-19 00:18:26 <gmaxwell> e.g. if you define what you do, and you all use that defintion its automatically the same everywhere. If you instead write a filter you may be vulnerable to what you didn't think to filter.
  47 2012-12-19 00:18:49 <sipa> gavinandresen: at least those are not bound by the pitfalls of distributed consensus
  48 2012-12-19 00:19:08 <sipa> gavinandresen: if the other partner doesn't support the encoding, the transaction will just fail
  49 2012-12-19 00:19:20 <gavinandresen> sipa: true, only merchant and customer need to agree on validity.
  50 2012-12-19 00:19:24 <gmaxwell> I wonder if I could generally say that any time you MOST tight-bounded behavior from software you should not use third party code.
  51 2012-12-19 00:19:31 <gmaxwell> er MUST
  52 2012-12-19 00:19:42 <sipa> does not compute
  53 2012-12-19 00:20:35 <gavinandresen> meh.  some things are straightforward enough that third party code is fine (e.g. standard hashing algorithms, AES encryption....)
  54 2012-12-19 00:22:14 <sipa> i must say i'm beginning to like the idea of having PKI certificates that can specify a base pubkey, and allow payment requests to use a pubkey that is provably derived from it
  55 2012-12-19 00:24:54 mmoya has quit (Ping timeout: 245 seconds)
  56 2012-12-19 00:24:58 <gavinandresen> sipa: mmm.  we could encode the master public key in one of the Subject Alternative Names in the certificate....
  57 2012-12-19 00:25:51 <donnchac> Sorry to bother you guys again, I'm just trying to find more information about the "block callback" function. I can't find any references to it in the standard Satoshi client.
  58 2012-12-19 00:25:59 <sipa> donnchac: -blocknotify
  59 2012-12-19 00:26:07 <donnchac> Thanks :)
  60 2012-12-19 00:26:13 freakazoid has joined
  61 2012-12-19 00:26:13 <sipa> gavinandresen: it would mean metadata attached to every output, though
  62 2012-12-19 00:26:39 <sipa> gavinandresen: so even if v1 of the payment protocol doesn't support it, maybe keep that open for future extensibility
  63 2012-12-19 00:26:39 <gavinandresen> sipa: ?
  64 2012-12-19 00:26:59 <sipa> as you'll need a proof for every output that it uses a key that is derived from the base pubkey
  65 2012-12-19 00:27:35 <gavinandresen> sipa: you mean the use-the-blockchain-as-the-payment-communication-channel case?
  66 2012-12-19 00:27:41 <sipa> gavinandresen: no
  67 2012-12-19 00:27:49 <gavinandresen> ... then I'm not following.
  68 2012-12-19 00:27:54 <sipa> gavinandresen: i mean the outputs in the payment request message
  69 2012-12-19 00:28:00 <sipa> *checks terminology*
  70 2012-12-19 00:28:50 <gavinandresen> oh, I assume that the Output.script 's would be left out, and derived by the customer from the base key and hash(payment data)
  71 2012-12-19 00:29:20 <sipa> oh, i see
  72 2012-12-19 00:29:23 <donnchac> sipa: using the blocknotify would I just use this to call a standalone script in my webapp which would retrieve recent transactions and use that to update live bitcoin tally in my webapp's DB?
  73 2012-12-19 00:29:27 <gavinandresen> I see, you're thinking of the case where the merchant includes multiple Outputs for some reason
  74 2012-12-19 00:29:57 <sipa> gavinandresen: yes
  75 2012-12-19 00:30:44 <sipa> gavinandresen: and specifies himself which multiplier to use (which is more sane, imho, for example he can make sure they're from a determinstic chain he chooses)
  76 2012-12-19 00:30:45 <gavinandresen> sipa: yeah.  I STILL waffle on whether allowing multiple Outputs is worth the extra complexity.
  77 2012-12-19 00:31:02 <sipa> though i like the simplicity of having the sender derive it
  78 2012-12-19 00:31:48 <gavinandresen> donnchac: if it is a webapp, you might -blocknotify 'curl http://localhost:8888/newblock?arguments_to_ping_your_web_app'
  79 2012-12-19 00:32:54 freakazoid has quit (Read error: Connection reset by peer)
  80 2012-12-19 00:33:22 freakazoid has joined
  81 2012-12-19 00:38:29 owowo has quit (Quit: sayonara)
  82 2012-12-19 00:44:04 dparrish has quit (Ping timeout: 245 seconds)
  83 2012-12-19 00:44:53 dparrish has joined
  84 2012-12-19 00:45:15 <sipa> gavinandresen: i think we need to add a bytecode script language to the certificate to enumerate the valid output scripts, and script data in the paymentrequest.output that is passed as input to the txout-script-generating-script
  85 2012-12-19 00:45:27 <sipa> that'd at least by gangnam style
  86 2012-12-19 00:45:33 <sipa> i mean satoshi style
  87 2012-12-19 00:45:38 <sipa> *be
  88 2012-12-19 00:48:13 wizkid057 has quit (Read error: Connection reset by peer)
  89 2012-12-19 00:48:24 <gavinandresen> sure. We just need OP_ECCMULTIPLY and a pseudo-op OP_PUSHPAYMENTHASH....
  90 2012-12-19 00:49:23 <gavinandresen> Actually, I guess OP_ECCMULTIPLY could be a pseudo-op just interpreted in payment request Outputs, too
  91 2012-12-19 00:49:32 wizkid057 has joined
  92 2012-12-19 00:49:36 <sipa> haha
  93 2012-12-19 00:49:41 D34TH has quit (Quit: Leaving)
  94 2012-12-19 00:50:00 <gavinandresen> :)
  95 2012-12-19 00:50:14 <MC1984> OP_GANGNAM_STYLE
  96 2012-12-19 00:50:50 <sipa> should be OPAN_GANGNAM_STYLE (
  97 2012-12-19 00:51:52 wizkid057 has quit (Client Quit)
  98 2012-12-19 00:53:18 <sipa> ^ remember that for april first
  99 2012-12-19 00:54:34 <donnchac> gavinanderson: I assummed just make a curl callback to the webapp, can I provide data with the callback from bitcoind, I assume not. So the webapp just gets notified there is a new block and it is then up to the webapp to get the info it needs about new transactions by querying bitcoind via the JSON-RPC method
 100 2012-12-19 00:54:39 <donnchac> .
 101 2012-12-19 00:54:49 skeledrew has quit (Ping timeout: 272 seconds)
 102 2012-12-19 00:54:53 maaku has joined
 103 2012-12-19 00:55:21 <sipa> donnchac: %s gets replaced by the block's hash
 104 2012-12-19 00:57:39 <donnchac> Okay perfect, and the webapp just needs to ensure it doesn't miss any transactions itself?
 105 2012-12-19 00:58:04 <donnchac> Sorry about all the spoon feeding :)
 106 2012-12-19 01:01:11 wizkid057 has joined
 107 2012-12-19 01:04:05 <gavinandresen> somebody should publish some example code of keeping a transaction database up-to-date using -blocknotify.  It is not trivial because of block-chain re-orgs
 108 2012-12-19 01:05:08 <midnightmagic> lol, and if they do, it would be really nice if the orphans and/or expired branched stayed around for querying purposes. :)
 109 2012-12-19 01:05:25 <gavinandresen> midnightmagic: sure.
 110 2012-12-19 01:05:27 <donnchac> Anyone want to take up that offer, or would anyone like to release an excerpt of their code which deals with this kind of functionality.
 111 2012-12-19 01:05:47 <donnchac> I don't want to reinvent the wheel, especially if I would do it incorrectly.
 112 2012-12-19 01:06:27 TD has quit (Quit: TD)
 113 2012-12-19 01:06:37 <gmaxwell> gavinandresen: it's really hard to get right and handle all the corner cases.
 114 2012-12-19 01:06:38 e0s_ has joined
 115 2012-12-19 01:07:36 <gmaxwell> I think you have to keep a table of height->block hashes so you can tell how far back you need to process for reorgs.
 116 2012-12-19 01:07:54 <gavinandresen> gmaxwell: shouldn't be THAT hard... just keep track of the block chain, if you get notified of a block who's parent is not your current tip, walk back to where it forked, mark all transactions on old chain as 0-confirmation, then walk forward on new chain adding transactions....
 117 2012-12-19 01:08:38 <gmaxwell> right, thats what I was thinking— but it means you need a pretty solid grasp of how the chain works. Which I'd classify as hard compared to everything else that person would need to know.
 118 2012-12-19 01:08:45 <gavinandresen> agreed
 119 2012-12-19 01:09:31 <donnchac> The whole -blocknotify schema for tracking payments seems to be less than ideal. Maybe it would be good if implementing more transaction callbacks in bitcoind should be prioritised?
 120 2012-12-19 01:09:41 <gavinandresen> the easy way out is to just record transactions when they are 6-confirmations deep, and assume that you'll never get a 6-deep re-org on the main network.
 121 2012-12-19 01:09:51 <gmaxwell> donnchac: transaction callbacks _do not solve this_
 122 2012-12-19 01:10:14 <gmaxwell> gavinandresen: block explorer does something like that.
 123 2012-12-19 01:10:45 <gmaxwell> I think for every new block it checks the last 14 blocks or so.. if there is a reorg longer than that the world ends.
 124 2012-12-19 01:11:08 <gmaxwell> (I know this because I broke it on testnet several times)
 125 2012-12-19 01:12:58 wizkid057 has quit (Remote host closed the connection)
 126 2012-12-19 01:14:26 wizkid057 has joined
 127 2012-12-19 01:16:42 LargoG has quit (Ping timeout: 276 seconds)
 128 2012-12-19 01:18:28 LargoG has joined
 129 2012-12-19 01:21:56 <stealth222> donnchac, I have built a class which connects to a bitcoind node and provides onTx and onBlock handlers
 130 2012-12-19 01:22:00 <stealth222> but I haven't published it
 131 2012-12-19 01:22:04 <stealth222> thinking about publishing it
 132 2012-12-19 01:23:09 <sipa> i think such code already exists
 133 2012-12-19 01:23:10 <gmaxwell> again.  an _ontx_ callback does not do what you need to accomplish to safely keep an application txn database in sync.
 134 2012-12-19 01:23:21 <stealth222> I'm sure I'm not the only one who has written something like that, sipa
 135 2012-12-19 01:23:30 <stealth222> there's really a desperate need for that functionality :)
 136 2012-12-19 01:23:54 <donnchac> That would be very helpfully! I think it would really help developers implement Bitcoin more directly in their apps and not have to rely on 3rd parties like BitPay etc. to do the heavy lifting
 137 2012-12-19 01:23:56 <gmaxwell> stealth222: we have onblock built into the reference client.
 138 2012-12-19 01:24:36 <gmaxwell> And onblock is sufficient, callback wise, to keep an application database insync.
 139 2012-12-19 01:24:42 <sipa> woah... we don't have any unit tests for CreateTransaction??
 140 2012-12-19 01:24:50 <donnchac> The whole JSON-RPC doesn't seem to cut it for this kind of functionality if the bitcoind "accounts" functionality is non scalable.
 141 2012-12-19 01:25:18 <stealth222> a couple problems I'm seeing with the reference client: 1) the callback executes a cmd which is both resource-inefficient as well as a potential security vulnerability. 2) the reference implementation does not have an indexed database that can be quickly queried to obtain all relevant information for arbitrary transactions quickly
 142 2012-12-19 01:25:22 <gmaxwell> donnchac: your problem isn't that accounts isn't scalable, its that it actually doesn't do what you want.
 143 2012-12-19 01:26:20 <gmaxwell> stealth222: "resource-inefficient" for something that happens once per ten minutes on average?
 144 2012-12-19 01:26:20 <stealth222> what exactly are you trying to do, donnchac?
 145 2012-12-19 01:26:37 <stealth222> for onblock, it's not a problem, gmaxwell - for ontx, it would be
 146 2012-12-19 01:26:59 <gmaxwell> stealth222: yes, I agree, but for what donnchac is wanting to do ontx is not what he wants.
 147 2012-12-19 01:27:13 <sipa> stealth222: you can quickly query any transaction you want; just not by address
 148 2012-12-19 01:27:32 <stealth222> precisely
 149 2012-12-19 01:27:53 <sipa> and even by txid is not a very nice solution, imho - as it requires an ever-growing database
 150 2012-12-19 01:27:57 <gmaxwell> stealth222: ... how is that going to help someone running a wallet service?
 151 2012-12-19 01:28:05 <donnchac> So I am looking to develop a freelancing site where people can pay with bitcoin. Users would send bitcoins to the web app and they would be stored linked to their account. When they agree on a deal those bitcoins would be locked in an "escrow" and released to the the freelancer once deliverables have been provided
 152 2012-12-19 01:28:28 <gmaxwell> stealth222: you very rapidly have many more addresses than there are txn in a block, so the sane thing to do is to grab the block transactions.
 153 2012-12-19 01:28:32 <stealth222> the wallet can be kept completely offline, gmaxwell - only the public keys are kept in a database against which incoming transactions are searched
 154 2012-12-19 01:28:41 <sipa> i think the solution is a nice an easy wallet library, which works as an SPV client, and you can connect to a trusted validation node
 155 2012-12-19 01:28:44 <donnchac> Just looking for what is the best practice to update accounts and keep everything in sync with the actual data from bitcoind
 156 2012-12-19 01:28:54 <stealth222> you can then alert applications of when payments are received (at 0-n confirmations)
 157 2012-12-19 01:29:29 <gmaxwell> stealth222: because you will have many more addresses than there are txn in a block it's more useful to dump whats in the block instead of query by address...
 158 2012-12-19 01:29:45 <gmaxwell> esp since you're only interested in scanning the blocks that have changed since you last scanned.
 159 2012-12-19 01:30:02 <gmaxwell> Unless you expect something to have a K-d tree index of addresses and height…
 160 2012-12-19 01:30:32 <stealth222> I guess onblock might be sufficient if you're not interested in tracking the network in realtime
 161 2012-12-19 01:30:39 <stealth222> and only care about confirmed transactions
 162 2012-12-19 01:30:50 <sipa> we do need support for watch-only addresses though
 163 2012-12-19 01:31:18 <gmaxwell> stealth222: unconfirmed transactions are quite dangerous... lots of subtle risks.
 164 2012-12-19 01:31:29 <donnchac> It might be, I would just need to be careful to manage reorgs in the block chain.
 165 2012-12-19 01:31:49 <stealth222> there are many online services where accepting unconfirmed transactions is perfectly fine - for instance, paying for a VPS
 166 2012-12-19 01:32:04 <stealth222> if it gets doublespent, kill the guy's account
 167 2012-12-19 01:32:04 <stealth222> simple
 168 2012-12-19 01:32:25 <gmaxwell> donnchac: there isn't any technical need in bitcoin to place funds with a third party to escrow them— doing so has big trust issues, and potentially legal and regulatory issues for the holder.
 169 2012-12-19 01:32:49 <gmaxwell> stealth222: yea, good job there... we just spent an hour talking about how anyone can 'doublespend' someone elses transactions. :P
 170 2012-12-19 01:33:04 <gmaxwell> Thats what I mean about subtle risks.
 171 2012-12-19 01:33:14 <donnchac> How would you prepose exchanging the coins in a secure manner?
 172 2012-12-19 01:33:32 <donnchac> without a trusted 3rd party holding them in escrow?
 173 2012-12-19 01:33:36 <stealth222> if someone changes the signature but the transaction is still valid and the outputs are the same, the merchant still gets paid
 174 2012-12-19 01:33:40 <gmaxwell> donnchac: Users can author escrow transactions.
 175 2012-12-19 01:33:53 <gmaxwell> stealth222: You're not following me.
 176 2012-12-19 01:34:12 <stealth222> I guess I'm not. could you elaborate?
 177 2012-12-19 01:34:22 <donnchac> So would the best solution for me be to log pending/unconfirmed transactions and only accept and confirm them once I have recieved say, 6 subsequent blocks on that chain?
 178 2012-12-19 01:34:28 <gmaxwell> stealth222: if you'd had this fantastic idea three hours ago you would have implimented the detection that was triggered by a different txid most likely because you weren't aware of the malleability.
 179 2012-12-19 01:34:54 <stealth222> I wasn't saying kill the guy's account literally
 180 2012-12-19 01:34:59 <stealth222> it's more like a credit relationship
 181 2012-12-19 01:35:23 <stealth222> moreover, the maleability has a simple workaround in this case
 182 2012-12-19 01:35:48 <gmaxwell> but yes, in some cases it can be fine— but people need to be very cautious. Personally I would use mempool polling for unconfirmed transactions instead of trying to pick them up from the network.
 183 2012-12-19 01:36:19 <stealth222> when I send the bitcoins to a service provider, I would like to see my invoice updated to "payment pending" at the very least
 184 2012-12-19 01:36:25 <gmaxwell> Less likely to get tripped up by transactons that are very unlikely to confirm, and you can also see when they've left the mempool.
 185 2012-12-19 01:36:53 <stealth222> moreover, the merchant might want to send an automated email telling the customer that the payment has been received and is pending confirmation
 186 2012-12-19 01:37:11 <gmaxwell> ::nods::
 187 2012-12-19 01:37:26 rdponticelli has joined
 188 2012-12-19 01:37:53 <gmaxwell> Never said there wasn't a use for it— but it doesn't do much of anything useful for keeping a transaction database in sync.
 189 2012-12-19 01:38:21 <donnchac> Okay, I was hoping there would be a safe way to implement near realtime feedback and tracking of transfers.
 190 2012-12-19 01:38:23 <jgarzik> sipa: yes, data-driven unit tests for create-transaction would be nice, especially
 191 2012-12-19 01:38:42 <donnchac> I assumed this is the kind of functionality that would already have been developed by someone.
 192 2012-12-19 01:39:52 <gmaxwell> donnchac: it's been implemented by many parties, in their own money making services.
 193 2012-12-19 01:40:08 <stealth222> it's such a useful feature it should almost be standard :)
 194 2012-12-19 01:40:14 <gmaxwell> There isn't just some call that could be done to bitcoin, though— it really has to be part of the application.
 195 2012-12-19 01:41:28 <donnchac> I understand that, but I thought that bitcoind would expose more than just a block-notify callback and that there would be at least some sample implementation of this kind of polling and transaction tracking publicily/open source
 196 2012-12-19 01:42:06 <stealth222> donnchac: if you're interested in using my library, PM me
 197 2012-12-19 01:42:18 <stealth222> that goes for anyone else
 198 2012-12-19 01:43:20 <gmaxwell> What do you expect it to expose? Ignoring unconfirmed transactions, blocknotify/getblock is all that bitcoind should need to have for a tracking app. I agree its unfortunate that there are no open users of it.
 199 2012-12-19 01:46:28 <donnchac> I suppose it would be very convienient if bitcoind could be configured to make a callback after a particular number of confirmations of a transaction in its wallet.
 200 2012-12-19 01:46:33 <gmaxwell> sipa: hm. kind of a bummer that in current git you can't <getblock {penultimate block}> and getrawtransaction each result anymore.
 201 2012-12-19 01:46:53 <gmaxwell> donnchac: blocknotify, listsinceblock
 202 2012-12-19 01:46:59 <sipa> gmaxwell: feel free to implement a txid index :)
 203 2012-12-19 01:47:09 <gmaxwell> sipa: doesn't need one for that case!
 204 2012-12-19 01:47:23 <gmaxwell> sipa: e.g. getblocktransaction <blockhash> <txid>
 205 2012-12-19 01:47:25 copumpkin has quit (Ping timeout: 250 seconds)
 206 2012-12-19 01:47:52 <donnchac> for example have it configured for 1,6 confirmations. Call back /tx_recv?id=[TX_ID]&confirm=6
 207 2012-12-19 01:47:55 <sipa> gmaxwell: yup, with the risk of applications go depend on that, with slow fetching and complains :)
 208 2012-12-19 01:48:06 copumpkin has joined
 209 2012-12-19 01:48:14 <gmaxwell> donnchac: thats almost that exactly that— you'd just call it every block and it's empty if there is nothing new.
 210 2012-12-19 01:48:21 <donnchac> But I agree a lot of that is probably better implemented in individual applications
 211 2012-12-19 01:49:08 <donnchac> Okay :) Thanks for all the advice. I'll try read threw the docs some more with these starting points
 212 2012-12-19 01:49:13 <gmaxwell> donnchac: Good luck!
 213 2012-12-19 01:49:29 <donnchac> Much appreciate the help guys.
 214 2012-12-19 01:49:33 <gmaxwell> donnchac: please do report back what you learn, I spent a bunch of time saying "no don't do that" but your feedback is really helpful.
 215 2012-12-19 01:50:58 <donnchac> Will do!
 216 2012-12-19 01:55:39 ofg has quit (Quit: Leaving)
 217 2012-12-19 01:58:07 <wizkid057> ok, finally getting around to seeing how long a full node setup takes from scratch using git head
 218 2012-12-19 01:59:00 <sipa> wizkid057: use -connect or -loadblock
 219 2012-12-19 01:59:14 <wizkid057> cheating
 220 2012-12-19 01:59:25 <sipa> well, yes
 221 2012-12-19 01:59:26 <gmaxwell> no, not unless you want to make 50 measurments.
 222 2012-12-19 01:59:37 <sipa> but we know the block fetching mechanism is a hack that barely works anymore
 223 2012-12-19 02:00:00 * wizkid057 shrugs
 224 2012-12-19 02:00:03 <gmaxwell> — without connect to a good node (or loadblock) you're luck of the draw. so the time could span many hours extra.
 225 2012-12-19 02:00:06 <sipa> and in many situation, on git head it's the bottleneck
 226 2012-12-19 02:00:18 <wizkid057> well, I added my local node and Eligius as addnodes
 227 2012-12-19 02:00:24 <sipa> won't help
 228 2012-12-19 02:00:34 <sipa> or at least, won't necessarily help
 229 2012-12-19 02:00:38 <gmaxwell> e.g. if you spend most of your time pulling from some satcom connected node in south africa.
 230 2012-12-19 02:00:47 <wizkid057> well, thats as much as I'm going to cheat
 231 2012-12-19 02:01:11 <gmaxwell> wizkid057: it's fine, but your result may not represent anything in particular.
 232 2012-12-19 02:01:34 <wizkid057> i'm mainly curious as to the block processing times post-satoshidice
 233 2012-12-19 02:01:44 <gmaxwell> sure, but you won't be measuring that.
 234 2012-12-19 02:01:57 <gmaxwell> You'll be measuring whichever random node you're pulling from most likely.
 235 2012-12-19 02:02:00 <wizkid057> well, i can compare CPU usage
 236 2012-12-19 02:02:17 <sipa> if you only receive one block every 5 seconds, CPU usage will be low
 237 2012-12-19 02:02:19 <wizkid057> and everyone has been saying forever now that the download isnt the bottleneck
 238 2012-12-19 02:02:26 <wizkid057> sipa: cpu time them
 239 2012-12-19 02:02:27 <wizkid057> *then
 240 2012-12-19 02:02:32 <gmaxwell> wizkid057: yes, it is now in githead.
 241 2012-12-19 02:03:06 <sipa> and certainly with parallel sigcheck enabled
 242 2012-12-19 02:03:12 <sipa> (which isn't in git head yet)
 243 2012-12-19 02:03:23 <gmaxwell> It was disk IO, and we fixed that, and now it's often your peer's responsiveness (latency as much as throughput) and if not that cpu.
 244 2012-12-19 02:03:32 <jgarzik> sig cache impacts block processing times
 245 2012-12-19 02:03:38 <sipa> jgarzik: hardly
 246 2012-12-19 02:03:40 <gmaxwell> By "we" I mean mostly sipa.
 247 2012-12-19 02:03:50 <jgarzik> sipa: greatly
 248 2012-12-19 02:04:02 <gmaxwell> jgarzik: for new blocks not IBD.
 249 2012-12-19 02:04:15 <sipa> oh, for new blocks it's day vs night
 250 2012-12-19 02:04:18 <jgarzik> sipa: I often see greatly reduced checks thanks to caching
 251 2012-12-19 02:04:22 <jgarzik> yeah
 252 2012-12-19 02:04:22 <sipa> but for IBD it's hardly hurts
 253 2012-12-19 02:04:28 <jgarzik> agreed
 254 2012-12-19 02:04:28 <wizkid057> hmm
 255 2012-12-19 02:04:43 <wizkid057> rpc not work until the chain is loaded now or something?
 256 2012-12-19 02:04:53 <gmaxwell> if you want to see it scream grab the parallel sigchecking and halcode. pulls too.
 257 2012-12-19 02:05:00 <sipa> wizkid057: always been that way
 258 2012-12-19 02:05:10 <wizkid057> i used to be able to getinfo
 259 2012-12-19 02:05:18 <sipa> not until the DB was loaded
 260 2012-12-19 02:05:26 <gmaxwell> wizkid057: nah, it has to connect the db first.
 261 2012-12-19 02:05:28 <wizkid057> i mean, while its downloading
 262 2012-12-19 02:05:40 <sipa> oh, that should work fine
 263 2012-12-19 02:05:42 <wizkid057> i'm watching it download blocks (on 52k already in 6 minutes)
 264 2012-12-19 02:05:50 <wizkid057> in debug log
 265 2012-12-19 02:05:50 <sipa> slow!
 266 2012-12-19 02:05:52 <gmaxwell> wizkid057: works fine for me.
 267 2012-12-19 02:05:56 <gmaxwell> yea, wow. thats slow.
 268 2012-12-19 02:06:00 <wizkid057> 65k rather
 269 2012-12-19 02:06:11 <sipa> i typically see 140k blocks in 3 minutes
 270 2012-12-19 02:06:15 <sipa> from local disk, that is
 271 2012-12-19 02:06:16 <wizkid057> lol
 272 2012-12-19 02:06:22 <wizkid057> well ofc from local disk
 273 2012-12-19 02:06:27 <wizkid057> thats a fake test :P
 274 2012-12-19 02:06:54 <sipa> it's a very real test for measuring how long it will take for people to upgrade their nodes :)
 275 2012-12-19 02:07:16 <gmaxwell> 12/17/12 03:28:27 SetBestChain: new best=00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 height=1  work=8590065666  tx=2  date=01/09/09 02:54:25
 276 2012-12-19 02:07:19 <gmaxwell> 12/17/12 03:29:27 SetBestChain: new best=0000000006502bbeba998efd13a8dfa7fb6f213da62143f5cddc4b709daa2cc2 height=65000  work=1266146729122629  tx=73412  date=07/09/10 03:
 277 2012-12-19 02:07:19 <wizkid057> not a real test for when random user discovers bitcoin and installs the client
 278 2012-12-19 02:07:42 <sipa> wizkid057: agree, but there'll be several changes before release of 0.8 anyway
 279 2012-12-19 02:07:43 <gmaxwell> (that a over the network sync, but it was -connect to a known not-slow node)
 280 2012-12-19 02:07:51 <wizkid057> hmm... yeah, and RPC is giving me only 403's...
 281 2012-12-19 02:07:56 <wizkid057> with correct user/pass
 282 2012-12-19 02:08:10 <sipa> sure it's correct?
 283 2012-12-19 02:08:21 skeledrew has joined
 284 2012-12-19 02:09:09 <gmaxwell> wizkid057: is 34ea321ccdb234fe695f6279e3d53cce31c28f4a killing you?
 285 2012-12-19 02:09:18 t7 has quit (Quit: Konversation terminated!)
 286 2012-12-19 02:09:33 <wizkid057> nope
 287 2012-12-19 02:09:38 <wizkid057> rpcpassword is a keyboard mash
 288 2012-12-19 02:10:38 <gmaxwell> right ports?
 289 2012-12-19 02:11:01 <wizkid057> http://pastebin.com/6SPLF2ZD
 290 2012-12-19 02:12:06 <wizkid057> i assume it should still use values from bitcoin.conf
 291 2012-12-19 02:12:34 <gmaxwell> why are you giving it a datadir parameter in any case?
 292 2012-12-19 02:12:38 <wizkid057> well
 293 2012-12-19 02:12:43 <wizkid057> just to be sure
 294 2012-12-19 02:12:50 <wizkid057> same result without it
 295 2012-12-19 02:13:24 <sipa> should be the same, indeed
 296 2012-12-19 02:13:29 <sipa> unless -testnet
 297 2012-12-19 02:13:34 <wizkid057> nope
 298 2012-12-19 02:13:46 <wizkid057> wizkid057@wizroute:~$ ps ux | grep bitcoind
 299 2012-12-19 02:13:46 <wizkid057> 1000     24942 59.1 55.4 1207268 998576 ?      SLsl 20:45   9:40 bitcoin/src/bitcoind -daemon
 300 2012-12-19 02:14:23 <gmaxwell> is this a fresh keyboard mash?
 301 2012-12-19 02:14:33 <wizkid057> passwd is 28 alphanumeric
 302 2012-12-19 02:14:34 <gmaxwell> it has issues with some html specialchars in the rpcpassword.
 303 2012-12-19 02:15:14 <wizkid057> well, not like I cant change it
 304 2012-12-19 02:15:26 <wizkid057> rpcuser=wizrouteuser1
 305 2012-12-19 02:15:26 <wizkid057> rpcpassword=kjshf8796ihjkhkjHuy56765gjhG
 306 2012-12-19 02:16:49 <gmaxwell> looks great to me.
 307 2012-12-19 02:17:30 <wizkid057> yeah, dunno why its 403'ing me
 308 2012-12-19 02:17:33 <sipa> no other bitcoind listening?
 309 2012-12-19 02:17:43 <wizkid057> nope, no bitcoind on this machine at all except this one
 310 2012-12-19 02:17:54 <sipa> very strange
 311 2012-12-19 02:17:56 doublec has quit (Quit: leaving)
 312 2012-12-19 02:18:13 <wizkid057> tcp        0      0 127.0.0.1:2833          0.0.0.0:*               LISTEN      24942/bitcoind
 313 2012-12-19 02:18:13 <wizkid057> tcp6       0      0 ::1:2833                :::*                    LISTEN      24942/bitcoind
 314 2012-12-19 02:18:25 Jiffy has quit (Ping timeout: 272 seconds)
 315 2012-12-19 02:18:26 <sipa> looks perfect
 316 2012-12-19 02:18:29 <wizkid057> correct process, correct port
 317 2012-12-19 02:18:31 doublec has joined
 318 2012-12-19 02:18:41 doublec has quit (Client Quit)
 319 2012-12-19 02:18:45 <gmaxwell> crazy iptables dnat rule? :P
 320 2012-12-19 02:18:56 <wizkid057> not on that port
 321 2012-12-19 02:18:56 <wizkid057> lol
 322 2012-12-19 02:19:06 EPiSKiNG- has joined
 323 2012-12-19 02:19:45 <sipa> http://xkcd.com/341/ ?
 324 2012-12-19 02:20:11 doublec has joined
 325 2012-12-19 02:20:32 <wizkid057> haha
 326 2012-12-19 02:21:44 <sipa> bitcoind.conf didn't change after you started bitcoind, right?
 327 2012-12-19 02:21:53 <wizkid057> actually
 328 2012-12-19 02:22:05 <wizkid057> gmaxwell is partially correct it seems
 329 2012-12-19 02:22:05 <wizkid057> lol
 330 2012-12-19 02:22:40 maaku has quit (Quit: maaku)
 331 2012-12-19 02:24:41 * gmaxwell never believes the (l)users for good reason! :P
 332 2012-12-19 02:25:15 <wizkid057> gmaxwell: my iptables is insane complicated
 333 2012-12-19 02:26:02 <wizkid057> somewhere in there, there is a module interpretting it as http traffic, sending it to my proxy, and nat'ing from my WAN interface IP to localhost on interface lo
 334 2012-12-19 02:26:24 <wizkid057> which... is broken
 335 2012-12-19 02:27:44 skeledrew1 has joined
 336 2012-12-19 02:28:19 <wizkid057> root@wizroute:~# iptables-save  | wc -l
 337 2012-12-19 02:28:19 <wizkid057> 519
 338 2012-12-19 02:29:15 skeledrew has quit (Ping timeout: 260 seconds)
 339 2012-12-19 02:29:24 <wizkid057> there we go
 340 2012-12-19 02:29:47 <jgarzik> BTW, the current iptables gadgetry that compiles rules directly into machine instructions is pretty cool
 341 2012-12-19 02:29:59 <jgarzik> </offtopic>
 342 2012-12-19 02:30:04 <wizkid057> :D
 343 2012-12-19 02:30:32 <wizkid057> admittedly, I had a buddy of mine setup my http catching stuff and such
 344 2012-12-19 02:30:40 <wizkid057> so I don't fully understand it
 345 2012-12-19 02:30:43 <wizkid057> but it works
 346 2012-12-19 02:30:48 <wizkid057> ... usually
 347 2012-12-19 02:30:49 <sipa> jgarzik: ooh, didn't know that
 348 2012-12-19 02:31:02 <sipa> like varnish does :)
 349 2012-12-19 02:31:57 <wizkid057> hmm
 350 2012-12-19 02:32:07 <wizkid057> seems I have a lot of packets routing through the wrong interfaces
 351 2012-12-19 02:32:10 * wizkid057 sighs
 352 2012-12-19 02:32:46 denisx has quit (Quit: denisx)
 353 2012-12-19 02:35:43 wizkid057 has quit (Read error: Connection reset by peer)
 354 2012-12-19 02:37:19 wizkid057 has joined
 355 2012-12-19 02:37:29 <wizkid057> iptables fail :P
 356 2012-12-19 02:38:36 <phantomcircuit> jgarzik, there's security issues with it related to using it
 357 2012-12-19 02:39:09 <phantomcircuit> that was a fairly redundantly redundant sentence
 358 2012-12-19 02:40:12 slush1 has joined
 359 2012-12-19 02:40:38 <gmaxwell> phantomcircuit: are you thinking of the BFP compiler being used to get executible code in kernel memory to bypass the additional kernel mode execute disable stuff in the lastest cpus?
 360 2012-12-19 02:40:47 <phantomcircuit> yes
 361 2012-12-19 02:40:55 <jgarzik> that's something different
 362 2012-12-19 02:40:59 <gmaxwell> ^
 363 2012-12-19 02:42:00 <phantomcircuit> ah
 364 2012-12-19 02:42:05 <phantomcircuit> live and learn
 365 2012-12-19 02:42:47 <sipa> no need for all that difficulty stuff; just use /dev/exynos-mem
 366 2012-12-19 02:43:18 donnchac has left ("Sleeping, Thanks again for the help and advice everyone")
 367 2012-12-19 02:45:26 nethershaw has quit (Read error: Connection reset by peer)
 368 2012-12-19 02:45:29 e0s__ has joined
 369 2012-12-19 02:45:49 <wizkid057> 2012-12-19T01:45:40 SetBestChain: new best=00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048  height=1  work=8590065666  tx=2  date=2009-01-09T02:54:25
 370 2012-12-19 02:45:50 <wizkid057> 2012-12-19T02:33:55 SetBestChain: new best=00000000000009e203e255c4140a95a0500325b40c17dac0982837d4cbfef5ed  height=137153  work=51437118718226147970  tx=1083972  date=2011-07-20T07:29:53
 371 2012-12-19 02:45:51 <wizkid057> so far
 372 2012-12-19 02:47:08 <gmaxwell> so.. about 45 minutes so far?
 373 2012-12-19 02:47:17 <wizkid057> yeah, give or take
 374 2012-12-19 02:47:27 <sipa> my guess is that 40 of those 45 where spent waiting for blocks
 375 2012-12-19 02:47:31 <sipa> *were
 376 2012-12-19 02:47:32 <stealth222> I just extended gettransaction <txid> to work for transactions that are not in your wallet. rpcwallet.cpp starting line 1193, http://pastebin.com/hZAw7VYa
 377 2012-12-19 02:47:50 <stealth222> would it be possible to get this feature added to MAIN?
 378 2012-12-19 02:47:52 <sipa> stealth222: you reimplemented getrawtransaction, you mean?
 379 2012-12-19 02:47:59 <stealth222> oh...lol
 380 2012-12-19 02:48:01 <wizkid057> well, i'll stop it and -connect my machine and see what happens (gigabit lan)
 381 2012-12-19 02:48:07 <gmaxwell> behold, the suckyness of your peers:
 382 2012-12-19 02:48:07 <gmaxwell> 12/17/12 03:28:27 SetBestChain: new best=00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 height=1  work=8590065666  tx=2  date=01/09/09 02:54:25
 383 2012-12-19 02:48:11 <gmaxwell> 12/17/12 03:32:32 SetBestChain: new best=00000000000009e203e255c4140a95a0500325b40c17dac0982837d4cbfef5ed height=137153  work=51437118718226147970  tx=1083972  date=07/20
 384 2012-12-19 02:48:32 <stealth222> wait, does getrawtransaction give JSON?
 385 2012-12-19 02:48:36 <sipa> yes
 386 2012-12-19 02:48:37 <gmaxwell> yes.
 387 2012-12-19 02:48:45 <wizkid057> it does?
 388 2012-12-19 02:48:46 <gmaxwell> (with the verbose argument)
 389 2012-12-19 02:48:56 <wizkid057> oh, wow
 390 2012-12-19 02:49:06 <wizkid057> i've been doing getrawtransactions then decoderawtransaction :P
 391 2012-12-19 02:49:13 <gmaxwell> we explicitly don't do that on getrawtransaction to avoid people getting screwed because they think if getrawtransaction returns the txn is theirs.
 392 2012-12-19 02:49:27 <gmaxwell> er don't do that on gettransaction*
 393 2012-12-19 02:50:03 <stealth222> I see. nevermind :)
 394 2012-12-19 02:50:56 <stealth222> I'm so used to having my wallet be completely separate from my relay/block chain nodes
 395 2012-12-19 02:51:03 <stealth222> that I sometimes forget how other people use bitcoin
 396 2012-12-19 02:51:04 <stealth222> lol
 397 2012-12-19 02:53:53 <wizkid057> going more quickly with -connect to my local machine
 398 2012-12-19 02:54:04 <wizkid057> not gmaxwell quick, but, quicker
 399 2012-12-19 02:54:49 <gmaxwell> wizkid057: if it's not as quick as my numbers above then thats interesting.
 400 2012-12-19 02:55:00 <gmaxwell> especially considering thats far below the top checkpoint.
 401 2012-12-19 02:56:34 <wizkid057> 2012-12-19T02:38:49 SetBestChain: new best=0000000000000044c7b6a5511c0b2ae64ec545abccac8053f31cf7bba23bb886  height=138000  work=57588416401850432161  tx=1130286  date=2011-07-25T18:17:58
 402 2012-12-19 02:56:37 <wizkid057> 2012-12-19T02:44:30 SetBestChain: new best=0000000000000a3290f20e75860d505ce0e948a1d1d846bec7e39015d242884b  height=150000  work=147961445995450882498  tx=1718407  date=2011-10-20T13:44:51
 403 2012-12-19 02:57:03 <gmaxwell> 12/17/12 03:34:10 SetBestChain: new best=0000000000000a3290f20e75860d505ce0e948a1d1d846bec7e39015d242884b  height=150000  work=147961445995450882498  tx=1718407  date=10/2
 404 2012-12-19 02:57:22 <gmaxwell> hm. much slower. interesting.
 405 2012-12-19 02:57:28 <gmaxwell> Tell me about this system?
 406 2012-12-19 02:58:05 <sipa> Was it abused as a child?
 407 2012-12-19 02:58:25 <wizkid057> its not a monster... Core2 Duo 2.6GHz w/2GB/ram
 408 2012-12-19 02:58:31 <wizkid057> just my router machine
 409 2012-12-19 02:58:55 <wizkid057> bitcoind is not maxing the CPU, though
 410 2012-12-19 02:59:09 <gmaxwell> No, it won't until it gets to the signature validation above 210000.
 411 2012-12-19 02:59:28 <gmaxwell> (well, and will only use one core unless you have the parallel validation pull request)
 412 2012-12-19 02:59:36 <gmaxwell> wizkid057: whats the OS?
 413 2012-12-19 03:00:24 <wizkid057> debian, kernel 2.6.32-5-amd64
 414 2012-12-19 03:00:24 <sipa> at least something with iptables :)
 415 2012-12-19 03:01:22 <sipa> disk?
 416 2012-12-19 03:01:34 <wizkid057> some random drive, not sure
 417 2012-12-19 03:01:35 <sipa> though that shouldn't matter much at this point
 418 2012-12-19 03:01:43 <sipa> ok, no network or encrypted stuff
 419 2012-12-19 03:02:16 <wizkid057>  Model=WDC WD2500BEVT-60A23T0, FwRev=02.01A02, SerialNo=WD-WX61A80P0068
 420 2012-12-19 03:02:35 <wizkid057> so, 250GB western digital SATA drive
 421 2012-12-19 03:02:38 <sipa> won't be the problem :)
 422 2012-12-19 03:02:48 <sipa> how much is the CPU usage?
 423 2012-12-19 03:02:56 <gmaxwell> my numbers are on a fast E3-1230 with lots of ram and a fast ssd, so I expect faster but the difference is more than I'd expect.
 424 2012-12-19 03:03:02 <wizkid057> sipa: ~20%
 425 2012-12-19 03:03:20 <wizkid057> 20-30% really
 426 2012-12-19 03:03:25 <sipa> 20% of one core, or of all cores?
 427 2012-12-19 03:03:35 <gmaxwell> wizkid057: is this node listening?
 428 2012-12-19 03:03:44 <sipa> with -connect it shouldn't be
 429 2012-12-19 03:03:52 <sipa> unless enabled explicitly
 430 2012-12-19 03:03:58 <wizkid057> gmaxwell: its probably trying, but, iptables wont let it
 431 2012-12-19 03:04:08 <gmaxwell> wizkid057: so getinfo shows one connection?
 432 2012-12-19 03:04:37 <wizkid057> yeah
 433 2012-12-19 03:05:32 Kiba has joined
 434 2012-12-19 03:05:33 <Kiba> hello
 435 2012-12-19 03:05:42 <wizkid057> sipa: looks like its using avg of between 20-30% of one core, spikes to 100% for short moments, then back
 436 2012-12-19 03:05:46 <Kiba> bitcoin-qt is like never ever syncing
 437 2012-12-19 03:06:05 <Kiba> I got 8 peers connected
 438 2012-12-19 03:06:07 nethershaw has joined
 439 2012-12-19 03:06:08 <wizkid057> ~400MB of ram
 440 2012-12-19 03:06:24 <gmaxwell> Kiba: what is your current block height?
 441 2012-12-19 03:06:33 <gmaxwell> ;;bc,blocks
 442 2012-12-19 03:06:34 <gribble> 212402
 443 2012-12-19 03:06:49 <Kiba> and Warning: Displayed Transaction may not be correct! You may need to upgrade, or other nodes may need to upgrade.
 444 2012-12-19 03:07:08 <sipa> yet another corrupted block chain index :'(
 445 2012-12-19 03:07:09 <wizkid057> blockexplorer.com has been incorrect for days, btw
 446 2012-12-19 03:07:14 <sipa> wizkid057: we know
 447 2012-12-19 03:07:17 <Kiba> 209859
 448 2012-12-19 03:07:29 <wizkid057> 212729
 449 2012-12-19 03:07:35 <gmaxwell> Kiba: search your debug.log for Invalid
 450 2012-12-19 03:07:43 <Kiba> yes, sir
 451 2012-12-19 03:08:04 <Kiba> InvalidChainFound
 452 2012-12-19 03:08:14 <wizkid057> hmm... what was the satoshidice starting height?
 453 2012-12-19 03:08:25 <wizkid057> was in the upper 180k wasnt it?
 454 2012-12-19 03:08:40 <gmaxwell> Kiba: go find the earliest instance of that, and pastebin a dozen lines before and after or so.
 455 2012-12-19 03:09:02 <sipa> wizkid057: i think so
 456 2012-12-19 03:09:02 <wizkid057> hmm.. maybe before then
 457 2012-12-19 03:09:08 <gmaxwell> sipa: I wish I understood why BDB seems to have gone from being pretty reliable to not being reliable at all for many people.
 458 2012-12-19 03:09:44 <sipa> gmaxwell: indeed; i myself never encountered any problems, ever (except when the locks ran out, or some easily identifable problems like deleting database/)
 459 2012-12-19 03:09:57 <wizkid057> sipa: looks like 176781 has the first SD txn
 460 2012-12-19 03:10:16 <sipa> wizkid057: at how many transactions are you now?
 461 2012-12-19 03:10:30 <wizkid057> 2012-12-19T02:58:36 SetBestChain: new best=000000000000043f3db8ff44c587e4ebabb298a9ea978c11133416e464fd193d  height=177391  work=305347815834450590288  tx=2926205  date=2012-04-27T04:33:53
 462 2012-12-19 03:10:54 <Kiba> gmaxwell: mkay
 463 2012-12-19 03:11:09 <stealth222> theymos's node died?
 464 2012-12-19 03:11:23 <jgarzik> I always wondered if BDB's problems were largely on Windows
 465 2012-12-19 03:11:42 <stealth222> BDB looks ugly on any platform :p
 466 2012-12-19 03:12:12 <wizkid057> you know, i've always been curious
 467 2012-12-19 03:12:17 <Kiba> http://pastie.org/5550356
 468 2012-12-19 03:12:21 <stealth222> is BDB going to be completely replaced by LevelDB?
 469 2012-12-19 03:12:28 <Kiba> tachikomas!
 470 2012-12-19 03:12:28 <sipa> wallet is still BDB... for now
 471 2012-12-19 03:12:29 <wizkid057> what is the "work" value in the SetBestChain debug.log line?
 472 2012-12-19 03:12:38 <sipa> wizkid057: expected number of hashes
 473 2012-12-19 03:12:46 <sipa> in the chain until that block
 474 2012-12-19 03:12:52 <wizkid057> ah
 475 2012-12-19 03:13:01 <wizkid057> so, sum of block difficulties * 2**32 ?
 476 2012-12-19 03:13:02 <sipa> it's 668976227326636550981 now
 477 2012-12-19 03:13:08 <sipa> wizkid057: approximately, yes
 478 2012-12-19 03:13:13 <stealth222> is the wallet the only thing that's still BDB?
 479 2012-12-19 03:13:17 <sipa> yes
 480 2012-12-19 03:13:20 <stealth222> I understand the binary compatibility requirements here
 481 2012-12-19 03:13:28 <stealth222> any other reasons to keep it?
 482 2012-12-19 03:13:43 <sipa> lazyness
 483 2012-12-19 03:13:50 <sipa> (read: no replacement was written yet)
 484 2012-12-19 03:14:06 impulse has quit (Read error: Operation timed out)
 485 2012-12-19 03:14:08 Ukto has joined
 486 2012-12-19 03:14:22 <sipa> but we want to git rid of there as well
 487 2012-12-19 03:14:25 paraipan has quit (Quit: Saliendo)
 488 2012-12-19 03:14:27 <Ukto> is there any chance of a listtransactions <bitcoinaddress> ?
 489 2012-12-19 03:14:47 <wizkid057> ah here we go... CPI usage rising as we pass 180k...
 490 2012-12-19 03:14:51 <wizkid057> *CPU
 491 2012-12-19 03:14:54 <gmaxwell> Kiba: well I wanted lines before it too, but that looks like enough... looks like your blockchain file itself is corrupted.
 492 2012-12-19 03:15:02 <Kiba> boohooe
 493 2012-12-19 03:15:09 * Kiba goes delete the file
 494 2012-12-19 03:15:24 <Kiba> what is it? blk*.dat?
 495 2012-12-19 03:15:32 <sipa> yes
 496 2012-12-19 03:15:37 <sipa> blk000* and blkindex
 497 2012-12-19 03:15:40 <stealth222> listtransactions <bitcoinaddress> and listunspenttxouts <bitcoinaddress> would be sweet
 498 2012-12-19 03:15:44 <wizkid057> Ukto: cant you getaccount bitcoinaddress, listtransactions accounts ?
 499 2012-12-19 03:15:46 <gmaxwell> wizkid057: 180?? what version of bitcoin are you running?
 500 2012-12-19 03:16:22 <Ukto> wizkid057: no, not my wallet
 501 2012-12-19 03:16:39 <sipa> stealth222: that last one is reasonable, it only requires an address-based index for the UTXO set
 502 2012-12-19 03:16:44 <wizkid057> gmaxwell: git clone https://github.com/bitcoin/bitcoin.git ; cd bitcoin/src ; make -f makefile.unix USE_UPNP=
 503 2012-12-19 03:16:49 <sipa> wizkid057: from when?
 504 2012-12-19 03:16:56 <wizkid057> hour ago?
 505 2012-12-19 03:17:01 <sipa> oh, weird
 506 2012-12-19 03:17:31 <stealth222> sipa: would it be possible to query arbitrary bitcoin addresses? or only ones belonging to the wallet?
 507 2012-12-19 03:17:37 <stealth222> only the former is useful to me right now
 508 2012-12-19 03:17:38 impulse has joined
 509 2012-12-19 03:17:58 <sipa> stealth222: both require an index that is not necessary for normal operation
 510 2012-12-19 03:18:12 <sipa> stealth222: so it would be optional to have such an index anyway, and it needs to be implemented of course
 511 2012-12-19 03:18:15 <Kiba> will bitcoin take over the world?
 512 2012-12-19 03:19:05 <wizkid057> 2012-12-19T03:02:39 SetBestChain: new best=00000000000004ff83b6c10460b239ef4a6aa320e5fffd6c7bcedefa8c78593c  height=180000  work=322814099992850108886  tx=3142020  date=2012-05-13T18:21:11
 513 2012-12-19 03:19:06 <wizkid057> 2012-12-19T03:06:53 SetBestChain: new best=000000000000026f9f99ccde88c96bdedf5870b5c36a3657f6eb735a3be5423c  height=180800  work=328769446535555022486  tx=3286753  date=2012-05-19T20:00:49
 514 2012-12-19 03:19:06 <sipa> stealth222: but i think for several (but not all) use cases, watch-only addresses in a wallet could do a lot
 515 2012-12-19 03:19:22 <wizkid057> 4 minutes to do 800 blocks
 516 2012-12-19 03:19:22 <stealth222> what do you mean by watch-only?
 517 2012-12-19 03:19:47 <sipa> stealth222: pretend they are yours, and have all RPC calls work as if they were yours
 518 2012-12-19 03:19:54 <sipa> stealth222: but only not able to spend coins from them
 519 2012-12-19 03:19:57 <stealth222> oh, I see
 520 2012-12-19 03:20:01 <stealth222> yeah, that makes sense
 521 2012-12-19 03:20:06 <stealth222> that could be useful for sure
 522 2012-12-19 03:20:33 <stealth222> anyone working on that?
 523 2012-12-19 03:20:38 <sipa> no
 524 2012-12-19 03:20:46 <stealth222> can I volunteer? :)
 525 2012-12-19 03:20:47 <sipa> it's not hard, but it's not a priority
 526 2012-12-19 03:20:55 <sipa> sure
 527 2012-12-19 03:21:36 <Ukto> wizkid057: when polling bitcoind every minute looking for new deposits, trying to keep from having check ALL transactions aginst the db fore recognition
 528 2012-12-19 03:21:41 <Ukto> will get heavy on the sql server pretty quick
 529 2012-12-19 03:22:23 <wizkid057> Ukto: i figured the bitcoind accounts stuff would handle that
 530 2012-12-19 03:22:24 <Ukto> I have a project that will take 10,000's of deposits over time from ppl
 531 2012-12-19 03:22:27 e0s__ has quit (Remote host closed the connection)
 532 2012-12-19 03:22:27 eoss has quit (Remote host closed the connection)
 533 2012-12-19 03:22:27 e0s_ has quit (Remote host closed the connection)
 534 2012-12-19 03:22:30 <Ukto> 1 address
 535 2012-12-19 03:22:46 Hasimir- has joined
 536 2012-12-19 03:22:51 <Ukto> how do I mark a transaction and set it to not show it next list?
 537 2012-12-19 03:22:53 <Ukto> if it does?
 538 2012-12-19 03:23:03 <Ukto> otherwise it doesnt handle it
 539 2012-12-19 03:23:12 <wizkid057> i think thats unsafe
 540 2012-12-19 03:23:34 <Ukto> still, I dont want to have to run 10,000+ select statements every minute
 541 2012-12-19 03:23:41 <wizkid057> i think listtransactions purposely doesnt have any "dont show already shown" stuff because status of transactions can change
 542 2012-12-19 03:23:43 <Ukto> to check all transactions
 543 2012-12-19 03:24:20 <wizkid057> sounds like you need a custom database tailored to this purpose
 544 2012-12-19 03:24:24 <wizkid057> and not SQL
 545 2012-12-19 03:24:41 <Ukto> listrtransactions doesnt even have a min confirms field
 546 2012-12-19 03:25:07 <wizkid057> gmaxwell: my local node hasnt been updated in ages... wonder if that could be a slowdown?
 547 2012-12-19 03:25:11 Hasimir has quit (Ping timeout: 244 seconds)
 548 2012-12-19 03:25:14 <Ukto> or a max confirms for that matter which would be better
 549 2012-12-19 03:25:23 <wizkid057> min/max confirms?
 550 2012-12-19 03:25:28 <wizkid057> what good would that do?
 551 2012-12-19 03:25:41 <Ukto> if i could set max confirms 250, thats plenty of leway
 552 2012-12-19 03:25:46 <Ukto> and not have to check ALL deposits ever made
 553 2012-12-19 03:25:50 <wizkid057> oh oh
 554 2012-12-19 03:25:50 <sipa> wizkid057: what version is it?
 555 2012-12-19 03:25:55 <Ukto> and cut back the sql queries
 556 2012-12-19 03:25:57 <wizkid057> sipa: not telling... lol
 557 2012-12-19 03:26:05 freakazoid has quit (Ping timeout: 248 seconds)
 558 2012-12-19 03:26:05 <wizkid057> its embarassingly outdated
 559 2012-12-19 03:26:06 <wizkid057> lol
 560 2012-12-19 03:26:18 <gmaxwell> Ukto: you mean you want listsinceblock ?
 561 2012-12-19 03:26:39 <wizkid057> sipa: actually, not that bad i guess: "version" : 60103,
 562 2012-12-19 03:26:41 <Ukto> gmaxwell: for a specific address
 563 2012-12-19 03:26:47 <sipa> wizkid057: good enough
 564 2012-12-19 03:27:10 <gmaxwell> wizkid057: I can't think of anything specific since then... my tests were against a 0.7.1 node.
 565 2012-12-19 03:27:29 <wizkid057> dunno
 566 2012-12-19 03:27:35 <wizkid057> its definitely faster than before, though
 567 2012-12-19 03:27:47 <wizkid057> at 184300
 568 2012-12-19 03:27:59 <sipa> 800 blocks in 4 minutes... that's only 2 blocks per second
 569 2012-12-19 03:28:09 <sipa> i do more than that after the checkpoint on a single core
 570 2012-12-19 03:28:10 <wizkid057> sipa: its sped up since then for some reason
 571 2012-12-19 03:28:49 <wizkid057> 2012-12-19T03:13:26 SetBestChain: new best=00000000000007be8b15bd307b7bc04aa22369e4079c12914a415f6c96ab2844  height=183000  work=344193715259143008966  tx=3721560  date=2012-06-04T16:13:37
 572 2012-12-19 03:28:49 <wizkid057> 2012-12-19T03:15:15 SetBestChain: new best=000000000000060405a235c6b968ccb18fd6b3800ae9742c2524e28863367359  height=184000  work=351008948950763208291  tx=3934378  date=2012-06-11T04:02:23
 573 2012-12-19 03:30:11 <Ukto> err
 574 2012-12-19 03:30:18 <gmaxwell> okay, ten blocks per second sounds somewhat saner.
 575 2012-12-19 03:30:30 <wizkid057> wow, we split blkNNNN at 134217728 bytes now?
 576 2012-12-19 03:30:38 <Ukto> if i do listsinceblock 210000 it should only show transactions that appeared on/after 210000 right ? :/
 577 2012-12-19 03:30:57 <sipa> wizkid057: yes
 578 2012-12-19 03:32:11 <wizkid057> Ukto: need a hash not a height
 579 2012-12-19 03:32:34 <Ukto> the help said blockid :P
 580 2012-12-19 03:32:43 <Ukto> took that as height
 581 2012-12-19 03:32:53 <Ukto> still, seems should be optional between them
 582 2012-12-19 03:33:45 <Ukto> incrimenting the height is alot easier then wasting an rpc call to first getblockhash
 583 2012-12-19 03:33:55 <wizkid057> Ukto: well, hash for a height can change
 584 2012-12-19 03:34:08 <Ukto> .. what?
 585 2012-12-19 03:34:16 <wizkid057> Ukto: orphaned blocks
 586 2012-12-19 03:34:36 <Ukto> but so far never after 6 blocks later, right?
 587 2012-12-19 03:34:54 <sipa> so far never after more than 2 blocks
 588 2012-12-19 03:34:59 <Ukto> that should be impossible w/o a 51% right?
 589 2012-12-19 03:35:06 <sipa> it's always possible
 590 2012-12-19 03:35:11 <wizkid057> sipa: havent there been some huge reorgs in the past?
 591 2012-12-19 03:35:14 <Ukto> hehe
 592 2012-12-19 03:35:20 <Ukto> i guess i wrote an oxymoron
 593 2012-12-19 03:35:39 <sipa> wizkid057: some because of bugs, yes
 594 2012-12-19 03:35:43 <sipa> but in normal cases, not afaik
 595 2012-12-19 03:36:22 <Ukto> i check the blockhash, and use it for public verification of data. adter about 2~3 months, if the blockhash changed, it wont matter anymore
 596 2012-12-19 03:36:39 <wizkid057> probably not
 597 2012-12-19 03:36:47 <wizkid057> but can never be too careful
 598 2012-12-19 03:37:08 <Ukto> if it changes, all it does is cause someone to say "hey... thats not wht I see in the blockchain"
 599 2012-12-19 03:37:09 Arnavion has quit (Quit: Arnavion)
 600 2012-12-19 03:37:14 <wizkid057> probably safest to account for this stuff now, while its in front of you and easy, then it will be after the hack :P
 601 2012-12-19 03:37:14 <Ukto> payouts are already completed and done
 602 2012-12-19 03:37:19 <sipa> the problem is that there's an mismatch between how people do transactions in real life, and in bitcoin
 603 2012-12-19 03:37:30 <sipa> at some point you're going to consider the transaction as completed
 604 2012-12-19 03:37:38 <Ukto> I am just using the blockhash as a random data source
 605 2012-12-19 03:37:42 <sipa> and you probably don't even care about it being reversed after that anyway
 606 2012-12-19 03:37:56 <Ukto> that shows I didnt "make it up"
 607 2012-12-19 03:37:58 ByteUnit has quit (Quit: Tik Tak, a clockwork orange?, what the fuck)
 608 2012-12-19 03:38:08 <Ukto> and am not controling the choices
 609 2012-12-19 03:38:09 <sipa> Ukto: you know miners have very strong control over blocks, right?
 610 2012-12-19 03:38:18 <Ukto> yes
 611 2012-12-19 03:38:31 <phantomcircuit> sipa, is there anyway reasonable way to detect a reversal?
 612 2012-12-19 03:38:55 <sipa> phantomcircuit: number of confirmations drops to 0?
 613 2012-12-19 03:39:01 <phantomcircuit> i actually have one of the (very few) services where accepting 0 confirmations and then cancelling if it doesn't either confirm or gets double spent
 614 2012-12-19 03:39:07 <phantomcircuit> makes sense
 615 2012-12-19 03:39:10 <Ukto> phantomcircuit: which should only happen within 10 blocks
 616 2012-12-19 03:39:17 <Ukto> _should_
 617 2012-12-19 03:39:17 <sipa> "should"
 618 2012-12-19 03:39:32 <phantomcircuit> i dont actually give a crap about how many blocks
 619 2012-12-19 03:39:42 <Ukto> if it happens past that point.. then something major happened :P
 620 2012-12-19 03:41:10 <phantomcircuit> it's self correcting
 621 2012-12-19 03:41:57 <Ukto> wizkid057: think of those bitcoin lotto sites that use blockhash for their 'winning numbers' to show proof that they are not picking the winners. They only need the data to stay correct for at least a few weeks. the longer the better obviously.
 622 2012-12-19 03:42:10 <Ukto> thats an equivlent to what I am using it for
 623 2012-12-19 03:42:49 <Ukto> get the blockhash at 12 confirms, do X with it, leave it stored as reference
 624 2012-12-19 03:42:58 <Ukto> if it changes matter it is of no consequence
 625 2012-12-19 03:44:31 <wizkid057> gotcha
 626 2012-12-19 03:44:53 <wizkid057> on block 194k btw
 627 2012-12-19 03:46:20 <gmaxwell> Ukto: using a blockhash for that is not a good idea, as it can be rigged. There are plenty of ways of doing nothing up my sleeve randomness. that don't require a blockhash.
 628 2012-12-19 03:47:07 fiesh has quit (Ping timeout: 252 seconds)
 629 2012-12-19 03:47:13 <wizkid057> gmaxwell: rigging the blockhash at these difficulties would likely be more costly than whatever ukto is using it for
 630 2012-12-19 03:47:57 fiesh has joined
 631 2012-12-19 03:48:05 <gmaxwell> I dunno what ukto is using it for, but if you only need 1 bit of rigging and can pick which blocks you'll use, then its not that costly. (12.5 btc per instance, I guess)
 632 2012-12-19 03:56:52 sipa has quit (Quit: leaving)
 633 2012-12-19 04:09:22 slush2 has joined
 634 2012-12-19 04:11:38 sipa has joined
 635 2012-12-19 04:11:56 slush has quit (Ping timeout: 265 seconds)
 636 2012-12-19 04:22:28 <wizkid057> sipa: wow, we are CRAWLING > 210000
 637 2012-12-19 04:23:21 <wizkid057> 2012-12-19T04:08:53 SetBestChain: new best=000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e  height=210000  work=628963747775700992096  tx=9344662  date=2012-11-28T15:24:38
 638 2012-12-19 04:23:21 <wizkid057> 2012-12-19T04:11:08 SetBestChain: new best=000000000000003a40908c4d853d07e1327922111f94ae635097a31b2f6a31bc  height=210050  work=629702259120380064096  tx=9357591  date=2012-11-28T22:22:23
 639 2012-12-19 04:23:41 <wizkid057> has a core maxed
 640 2012-12-19 04:25:29 <phantomcircuit> wizkid057, satoshi dice in action
 641 2012-12-19 04:25:36 [7] has quit (Disconnected by services)
 642 2012-12-19 04:25:45 TheSeven has joined
 643 2012-12-19 04:26:20 <sipa> 130s for 50 blocks?
 644 2012-12-19 04:26:24 <sipa> that's ridiculous
 645 2012-12-19 04:26:50 <sipa> well... maybe not, on my CPU i do 2-3 blocks per second on a single core
 646 2012-12-19 04:27:34 <sipa> still 6x slower
 647 2012-12-19 04:27:47 <wizkid057> yeah, crazy slow
 648 2012-12-19 04:28:04 <wizkid057> that the database? or some type of verification?
 649 2012-12-19 04:28:15 <sipa> purely signature checks
 650 2012-12-19 04:28:16 <sipa> ECDSA
 651 2012-12-19 04:28:22 <wizkid057> way to disable?
 652 2012-12-19 04:28:37 <sipa> you shouldn't :)
 653 2012-12-19 04:28:57 <wizkid057> pretty sure my local bitcoind did the work already
 654 2012-12-19 04:29:03 <wizkid057> no sense doing it again
 655 2012-12-19 04:29:30 ZephyrVo1 has joined
 656 2012-12-19 04:29:35 <sipa> search for CS_AFTER_CHECKPOINT in a call to CheckInputs in main.cpp, and replace it by CS_NEVER
 657 2012-12-19 04:29:44 ZephyrVo1 has quit (Client Quit)
 658 2012-12-19 04:29:54 ZephyrVo1 has joined
 659 2012-12-19 04:30:15 <wizkid057> main.cpp:1628:            if (!tx.CheckInputs(view, CS_AFTER_CHECKPOINT, fStrictPayToScriptHash ? SCRIPT_VERIFY_P2SH : SCRIPT_VERIFY_NONE))
 660 2012-12-19 04:30:22 <sipa> yup
 661 2012-12-19 04:31:05 ZephyrVo1 has quit (Client Quit)
 662 2012-12-19 04:31:16 ZephyrVo1 has joined
 663 2012-12-19 04:31:23 <wizkid057> so, the initial speedup was fake because it wasnt actually verifying stuff?
 664 2012-12-19 04:31:32 <gmaxwell> ...
 665 2012-12-19 04:31:42 <gmaxwell> wizkid057: this has long been the behavior.
 666 2012-12-19 04:31:56 <gmaxwell> The speedup is all in the transaction database handling.
 667 2012-12-19 04:32:16 <wizkid057> hm
 668 2012-12-19 04:32:26 <wizkid057> why not a distributed hash table?
 669 2012-12-19 04:32:28 <wizkid057> :D
 670 2012-12-19 04:32:48 vampireb has quit (Quit: Lost terminal)
 671 2012-12-19 04:33:01 * gmaxwell stabs wizkid057 in the face
 672 2012-12-19 04:33:06 <sipa> wizkid057: it was verifying tons of stuff, just not the scripts
 673 2012-12-19 04:33:32 <sipa> but indeed ECDSA checks is the most expensive part, and it's only done after the last checkpoint
 674 2012-12-19 04:33:34 <wizkid057> well, i'll compile this out, let it catch up, then compile it in
 675 2012-12-19 04:33:43 <gmaxwell> wizkid057: the verfication it does is sufficient to constrain inflation and to build a valid txout set, it just doesn't validate whos spending what before the checkpoint.
 676 2012-12-19 04:33:43 <sipa> parallel script checking helps, though :)
 677 2012-12-19 04:34:03 <gmaxwell> though I still want to uncover why its slow for you. may have an interesting cause.
 678 2012-12-19 04:34:16 <gmaxwell> but I'm not sure of where to start— benchmark patch would be helpful there I guess.
 679 2012-12-19 04:34:36 <sipa> benchmark is merged :)
 680 2012-12-19 04:34:47 <sipa> wizkid057: can you pass -benchmark when running?
 681 2012-12-19 04:35:03 <wizkid057> sure
 682 2012-12-19 04:35:04 <sipa> it should dump some timing statistics in debug.log
 683 2012-12-19 04:35:49 <sipa> you didn't accidentally remove/overwrite -O2 when compiling, or something like that?
 684 2012-12-19 04:35:54 agricocb has quit (Remote host closed the connection)
 685 2012-12-19 04:36:00 <sipa> hmm... 32 bit or 64 bit system?
 686 2012-12-19 04:36:15 <wizkid057> 64-bit
 687 2012-12-19 04:36:20 <wizkid057> and I didnt mess with the makefile
 688 2012-12-19 04:36:22 <sipa> ok
 689 2012-12-19 04:36:31 agricocb has joined
 690 2012-12-19 04:36:46 ZephyrVo1 has quit (Quit: WeeChat 0.3.9.2)
 691 2012-12-19 04:37:11 ZephyrVo1 has joined
 692 2012-12-19 04:39:30 <wizkid057> i guess -daemon doesnt work with -benchmark?
 693 2012-12-19 04:39:36 <sipa> it should
 694 2012-12-19 04:39:44 <wizkid057> its not ;)
 695 2012-12-19 04:39:51 <sipa> why do you think so?
 696 2012-12-19 04:40:08 <wizkid057> actually
 697 2012-12-19 04:40:17 <wizkid057> i'm just going to stop saying stuff isnt working
 698 2012-12-19 04:40:27 <wizkid057> bitcoin/src/bitcoind -deamon -benchmark -connect=192.168.5.54
 699 2012-12-19 04:40:29 <wizkid057> lol
 700 2012-12-19 04:40:55 <sipa> when a block is processed, you should see some timings in debug.log
 701 2012-12-19 04:41:32 <wizkid057> http://pastebin.com/YF9ybGYW
 702 2012-12-19 04:42:49 <gmaxwell> wow, those connect numbers seem really slow.
 703 2012-12-19 04:43:38 <sipa> yeah, too bad there's no way to see script vs the rest in his version of the code
 704 2012-12-19 04:43:50 <sipa> (added by parallel)
 705 2012-12-19 04:43:59 <wizkid057> i can merge whatever
 706 2012-12-19 04:44:12 <wizkid057> there a branch that does what you want?
 707 2012-12-19 04:44:18 ZephyrVo1 has quit (Quit: WeeChat 0.3.9.2)
 708 2012-12-19 04:44:24 <sipa> merge my 'hal' and 'parallel' branches
 709 2012-12-19 04:45:30 * sipa -> zZzZ
 710 2012-12-19 04:46:55 <gmaxwell> 2160
 711 2012-12-19 04:47:06 <sipa> ;;bc,calc 2000000
 712 2012-12-19 04:47:06 <gribble> use the 'gentime' command instead
 713 2012-12-19 04:47:10 <gmaxwell> er. 2060
 714 2012-12-19 04:47:12 <sipa> ;;gentime 2000000
 715 2012-12-19 04:47:13 <gribble> The average time to generate a block at 2000000.0 Mhps, given difficulty of 3370181.79928, is 2 hours and 37 seconds
 716 2012-12-19 04:47:20 <sipa> ;;gentime 2000
 717 2012-12-19 04:47:21 <gribble> The average time to generate a block at 2000.0 Mhps, given difficulty of 3370181.79928, is 11 weeks, 6 days, 18 hours, 23 minutes, and 30 seconds
 718 2012-12-19 04:47:39 <gmaxwell> wizkid057: https://github.com/bitcoin/bitcoin/pull/2060.patch  and https://github.com/bitcoin/bitcoin/pull/2061.patch
 719 2012-12-19 04:47:54 <gmaxwell> wizkid057: git am those bad boys.
 720 2012-12-19 04:48:25 <wizkid057> gmaxwell: i already merged sipa's hal + parallel... add those patches on top?
 721 2012-12-19 04:48:37 <sipa> no, those are those two patches
 722 2012-12-19 04:48:59 <sipa> ;;gentime 2
 723 2012-12-19 04:48:59 <gribble> The average time to generate a block at 2.0 Mhps, given difficulty of 3370181.79928, is 229 years, 25 weeks, 6 days, 7 hours, 45 minutes, and 4 seconds
 724 2012-12-19 04:49:11 <wizkid057> so, no need to patch those
 725 2012-12-19 04:49:15 jaromil has quit (Ping timeout: 260 seconds)
 726 2012-12-19 04:49:35 TwilightSparklee has joined
 727 2012-12-19 04:50:49 <wizkid057> commmpillllliiiinnnnng
 728 2012-12-19 04:51:11 TwilightSparklee has quit (Read error: Connection reset by peer)
 729 2012-12-19 04:51:45 TwilightSparklee has joined
 730 2012-12-19 04:53:28 TwilightSparkl-1 has joined
 731 2012-12-19 04:55:09 jaromil has joined
 732 2012-12-19 04:56:44 TwilightSparklee has quit (Ping timeout: 256 seconds)
 733 2012-12-19 04:57:13 sgornick has joined
 734 2012-12-19 04:58:45 <wizkid057> sipa: this is faster
 735 2012-12-19 04:59:08 <wizkid057> but, presumably because its using both cores now
 736 2012-12-19 04:59:38 jaromil has quit (Ping timeout: 246 seconds)
 737 2012-12-19 04:59:59 <wizkid057> http://pastebin.com/HP375B6r
 738 2012-12-19 05:02:09 TwilightSparkl-1 has quit (Quit: Colloquy for iPhone - http://colloquy.mobi)
 739 2012-12-19 05:14:11 freakazoid has joined
 740 2012-12-19 05:33:13 elkingrey has joined
 741 2012-12-19 05:35:49 jaromil has joined
 742 2012-12-19 05:40:19 jaromil has quit (Ping timeout: 245 seconds)
 743 2012-12-19 05:45:33 <gmaxwell> Hey, testnet is going to start having node discovery problems.
 744 2012-12-19 05:45:44 <gmaxwell> We probably need to get seednodes / dnsseed working for it. :(
 745 2012-12-19 05:46:38 Hasimir- is now known as Hasimir
 746 2012-12-19 05:46:39 Hasimir has quit (Changing host)
 747 2012-12-19 05:46:39 Hasimir has joined
 748 2012-12-19 05:46:53 <gmaxwell> irc.lfnet.org is now suppressing /who is all the bitcoin idling channels, including #bitcoinTEST
 749 2012-12-19 05:46:56 <gmaxwell> er #bitcoinTEST3
 750 2012-12-19 05:48:26 Arnavion has joined
 751 2012-12-19 05:51:23 libcoin has quit (Quit: Leaving.)
 752 2012-12-19 05:52:51 jaromil has joined
 753 2012-12-19 05:55:00 <MC1984> Composed of about 300 atoms suspended in space, the "ion-crystal" device "has the potential to be the most powerful computer ever developed, beating the computational capacity of any existing machine by 10^80 times
 754 2012-12-19 05:55:08 <MC1984> that sounds bad for encryption
 755 2012-12-19 05:55:15 <MC1984> its pretty bad isnt it
 756 2012-12-19 05:55:34 <etotheipi_> does it run linux?
 757 2012-12-19 05:57:08 <MC1984> its probably sensationalised bullshit
 758 2012-12-19 05:57:11 <phantomcircuit> MC1984, so far the "best" quamtum computer publically disclosed could only factor the number 15
 759 2012-12-19 05:57:14 <MC1984> i hope
 760 2012-12-19 05:57:33 jaromil has quit (Ping timeout: 248 seconds)
 761 2012-12-19 05:57:44 <etotheipi_> "best" "quantum" "computer"
 762 2012-12-19 05:57:46 <phantomcircuit> which sort of makes me question whether it was actually a quantum computer or not because the difference in # of operations between a quantum computer and a conventional computer here would be a rounding error
 763 2012-12-19 05:58:45 <MC1984> quantum computers could be total bullshit and we would never know because they only thing that can verify a result is another QC
 764 2012-12-19 05:59:02 <MC1984> quantum computers are great, ACCORDING TO QUANTUM COMPUTERS
 765 2012-12-19 05:59:15 <phantomcircuit> gmaxwell, why was lfnet used
 766 2012-12-19 05:59:25 <phantomcircuit> the last time i checked the *only* thing on it was bitcoin clients
 767 2012-12-19 05:59:55 <phantomcircuit> MC1984, wrong there are entire classes of problems which can be solved on a quantum computer in a reasonable amount of time which you could pretty much never solve on a conventional computer
 768 2012-12-19 06:00:05 <phantomcircuit> solving one of those problems proves you've built a qc
 769 2012-12-19 06:00:27 <MC1984> what if the answer is wrong
 770 2012-12-19 06:00:59 <phantomcircuit> hard to answer easy to verify
 771 2012-12-19 06:01:30 <MC1984> how to verify if its never been answered before
 772 2012-12-19 06:02:50 <MC1984> am i being stupid again
 773 2012-12-19 06:02:59 <phantomcircuit> yes
 774 2012-12-19 06:03:05 <MC1984> ok
 775 2012-12-19 06:04:50 <gmaxwell> phantomcircuit: freenode kicked us off.
 776 2012-12-19 06:06:22 <phantomcircuit> https://bitcointalk.org/index.php?topic=1735.msg21433#msg21433
 777 2012-12-19 06:06:23 <phantomcircuit> ahaha
 778 2012-12-19 06:06:26 <phantomcircuit> that's great
 779 2012-12-19 06:08:24 <MC1984> cia false flaggin erryday
 780 2012-12-19 06:08:33 <MC1984> WL does take bitcoin now
 781 2012-12-19 06:09:08 <gmaxwell> yea, ever since gavin presented about it at the cia.
 782 2012-12-19 06:09:10 <gmaxwell> :P
 783 2012-12-19 06:10:50 <phantomcircuit> https://bitcointalk.org/index.php?topic=215.0
 784 2012-12-19 06:10:50 <MC1984> as if we dont know gavin is a plant
 785 2012-12-19 06:10:51 <phantomcircuit> ah yes
 786 2012-12-19 06:11:14 gmaxwell has quit (Quit: leaving)
 787 2012-12-19 06:12:26 gmaxwell has joined
 788 2012-12-19 06:12:43 <gmaxwell> oops. /query and /quit are not the same.
 789 2012-12-19 06:14:39 <MC1984> thats a strange mask
 790 2012-12-19 06:15:00 <phantomcircuit> oh wow i just found the tom williams thread there crazy people tried to find him
 791 2012-12-19 06:15:14 <phantomcircuit> seems like they accused pretty much everybody of being tom
 792 2012-12-19 06:15:16 <phantomcircuit> lol
 793 2012-12-19 06:15:19 toffoo has quit ()
 794 2012-12-19 06:15:28 <phantomcircuit> sometimes i forget how ridiculous this all is
 795 2012-12-19 06:15:56 <MC1984> as if the real world is any less ridiculous
 796 2012-12-19 06:16:20 <MC1984> as if USD is
 797 2012-12-19 06:16:34 <phantomcircuit> possibly not the thing itself
 798 2012-12-19 06:16:40 <phantomcircuit> but certainly the community around it :P
 799 2012-12-19 06:17:01 <MC1984> welcome to the internet enjoy your stay
 800 2012-12-19 06:35:44 <jgarzik> gmaxwell: I thought we knew the lfnet IRC admin?
 801 2012-12-19 06:35:53 <jgarzik> gmaxwell: isn't that laszlo?
 802 2012-12-19 06:36:08 <jgarzik> if not laszlo, I'm pretty sure it was _somebody_ we could ping
 803 2012-12-19 06:37:39 <jgarzik> gmaxwell: Regardless, I can set up a static DNS seed @ dnspark very quickly
 804 2012-12-19 06:39:47 <gmaxwell> I've asked on #lfnet on lfnet, but haven't had response yet.
 805 2012-12-19 06:45:04 <jgarzik> gmaxwell: email sent, cc'd you
 806 2012-12-19 06:53:03 freakazoid has quit (Ping timeout: 255 seconds)
 807 2012-12-19 07:08:03 pusle has quit (Remote host closed the connection)
 808 2012-12-19 07:18:46 jaromil has joined
 809 2012-12-19 07:20:36 freakazoid has joined
 810 2012-12-19 07:24:07 nibor_ has joined
 811 2012-12-19 07:27:20 freakazoid has quit (Remote host closed the connection)
 812 2012-12-19 07:27:31 ciphermonk has joined
 813 2012-12-19 07:27:43 nibor has quit (Ping timeout: 264 seconds)
 814 2012-12-19 07:27:52 freakazoid has joined
 815 2012-12-19 07:33:04 gfinn has quit (Ping timeout: 276 seconds)
 816 2012-12-19 07:33:43 LargoG has quit (Ping timeout: 276 seconds)
 817 2012-12-19 07:37:15 freakazoid has quit (Ping timeout: 260 seconds)
 818 2012-12-19 07:39:11 Jamesz has joined
 819 2012-12-19 07:43:53 Luke-Jr has quit (Ping timeout: 260 seconds)
 820 2012-12-19 07:46:21 Luke-Jr has joined
 821 2012-12-19 07:53:26 libcoin has joined
 822 2012-12-19 07:57:04 forgot has joined
 823 2012-12-19 07:57:11 gfinn has joined
 824 2012-12-19 08:02:29 BlueMatt has quit (Ping timeout: 246 seconds)
 825 2012-12-19 08:02:50 Graet has quit (Ping timeout: 246 seconds)
 826 2012-12-19 08:02:56 ZephyrVo1 has joined
 827 2012-12-19 08:04:26 BlueMatt has joined
 828 2012-12-19 08:04:33 ovidiusoft has joined
 829 2012-12-19 08:04:48 Guest63180 has joined
 830 2012-12-19 08:06:18 ZephyrVo1 has quit (Remote host closed the connection)
 831 2012-12-19 08:06:44 ZephyrVo1 has joined
 832 2012-12-19 08:07:20 BlackPrapor has joined
 833 2012-12-19 08:08:47 BlueMatt has quit (Ping timeout: 246 seconds)
 834 2012-12-19 08:09:17 Guest63180 is now known as Graet
 835 2012-12-19 08:09:33 Graet has quit (Changing host)
 836 2012-12-19 08:09:34 Graet has joined
 837 2012-12-19 08:09:56 BlueMatt has joined
 838 2012-12-19 08:11:43 CodesInChaos has joined
 839 2012-12-19 08:13:13 ZephyrVo1 has quit (Remote host closed the connection)
 840 2012-12-19 08:13:32 ZephyrVo1 has joined
 841 2012-12-19 08:16:25 ZephyrVo1 is now known as ZephyrVoid
 842 2012-12-19 08:16:48 ZephyrVoid has quit (Client Quit)
 843 2012-12-19 08:17:02 ZephyrVoid has joined
 844 2012-12-19 08:18:21 CodesInChaos has quit (Ping timeout: 248 seconds)
 845 2012-12-19 08:25:13 ThomasV has joined
 846 2012-12-19 08:30:24 ZephyrVoid has quit (Quit: WeeChat 0.3.9.2)
 847 2012-12-19 08:31:09 ZephyrVoid has joined
 848 2012-12-19 08:40:06 BlackPrapor has joined
 849 2012-12-19 08:41:05 <Ukto> hwo could you rig the blockhash ?
 850 2012-12-19 08:42:22 mmoya has joined
 851 2012-12-19 08:42:42 BlackPrapor has joined
 852 2012-12-19 08:43:05 BlackPrapor has quit (Ping timeout: 265 seconds)
 853 2012-12-19 08:44:51 BlackPrapor has quit (2!~BlackPrap@94.41.10.79.dynamic.ufanet.ru|Ping timeout: 252 seconds)
 854 2012-12-19 08:47:25 <forrestv> sipa, can you look at https://github.com/bitcoin/bitcoin/pull/2115/files ?
 855 2012-12-19 08:57:39 BlackPrapor has quit (3!~BlackPrap@136.169.210.247|Remote host closed the connection)
 856 2012-12-19 09:00:40 PhantomSpark has joined
 857 2012-12-19 09:13:06 ThomasV has quit (Quit: Quitte)
 858 2012-12-19 09:17:43 ciphermonk has quit (Ping timeout: 276 seconds)
 859 2012-12-19 09:18:57 ciphermonk has joined
 860 2012-12-19 09:19:24 m0mchil has quit (Quit: Leaving)
 861 2012-12-19 09:19:34 Jamesz has quit (Ping timeout: 252 seconds)
 862 2012-12-19 09:22:12 sacredchao has quit (Remote host closed the connection)
 863 2012-12-19 09:22:53 jdnavarro has joined
 864 2012-12-19 09:22:56 Jamesz has joined
 865 2012-12-19 09:23:06 abrkn has joined
 866 2012-12-19 09:23:26 m0mchil has joined
 867 2012-12-19 09:28:34 darkip3 has joined
 868 2012-12-19 09:29:35 sacredchao has joined
 869 2012-12-19 09:29:57 darkip has quit (Ping timeout: 252 seconds)
 870 2012-12-19 09:39:09 abrkn\ has joined
 871 2012-12-19 09:39:15 abrkn is now known as Guest45381
 872 2012-12-19 09:41:28 abrkn\ has quit (Remote host closed the connection)
 873 2012-12-19 09:43:09 Guest45381 has quit (Ping timeout: 255 seconds)
 874 2012-12-19 09:43:16 novusordo has quit (Ping timeout: 260 seconds)
 875 2012-12-19 09:43:45 root2_ has joined
 876 2012-12-19 09:45:22 drizztbsd has joined
 877 2012-12-19 09:45:30 root2 has quit (Ping timeout: 255 seconds)
 878 2012-12-19 09:45:36 unknown45682 has quit (Read error: Connection reset by peer)
 879 2012-12-19 09:45:45 Jamesz has quit (Ping timeout: 256 seconds)
 880 2012-12-19 09:46:02 unknown45682 has joined
 881 2012-12-19 09:58:31 one_zero has quit ()
 882 2012-12-19 10:00:19 denisx has joined
 883 2012-12-19 10:04:38 AlexWaters has quit (Ping timeout: 246 seconds)
 884 2012-12-19 10:07:40 forgot has quit (Quit: 暂离)
 885 2012-12-19 10:08:16 rdymac has joined
 886 2012-12-19 10:37:29 AlexWaters has joined
 887 2012-12-19 10:52:28 RainbowDashh has joined
 888 2012-12-19 10:57:29 AlexWaters has quit (Ping timeout: 246 seconds)
 889 2012-12-19 10:57:45 Kiba has quit (Ping timeout: 272 seconds)
 890 2012-12-19 10:58:30 Jamesz has joined
 891 2012-12-19 10:59:15 BlackPrapor has joined
 892 2012-12-19 11:00:51 darkip3 has quit (Read error: Connection reset by peer)
 893 2012-12-19 11:01:03 darkip has joined
 894 2012-12-19 11:01:27 darkip is now known as Guest42025
 895 2012-12-19 11:04:24 BlackPrapor has joined
 896 2012-12-19 11:06:20 <stealth222> anyone here?
 897 2012-12-19 11:06:49 <sturles> No
 898 2012-12-19 11:07:16 BlackPrapor has quit (Ping timeout: 260 seconds)
 899 2012-12-19 11:08:34 <stealth222> lol
 900 2012-12-19 11:13:44 t7 has joined
 901 2012-12-19 11:18:00 Diapolo has joined
 902 2012-12-19 11:19:38 slush1 has quit (Remote host closed the connection)
 903 2012-12-19 11:21:03 brwyatt is now known as brwyatt|Away
 904 2012-12-19 11:21:13 ciphermonk has quit (Ping timeout: 276 seconds)
 905 2012-12-19 11:25:06 AlexWaters has joined
 906 2012-12-19 11:26:01 Diapolo has left ()
 907 2012-12-19 11:27:38 nethershaw has quit (Read error: Connection reset by peer)
 908 2012-12-19 11:27:44 nethershaw has joined
 909 2012-12-19 11:31:26 AlexWaters has quit (Ping timeout: 246 seconds)
 910 2012-12-19 11:43:58 PhantomSpark has quit (Ping timeout: 276 seconds)
 911 2012-12-19 11:47:29 PhantomSpark has joined
 912 2012-12-19 11:49:35 MrTiggr has joined
 913 2012-12-19 11:49:36 MrTiggr has quit (Excess Flood)
 914 2012-12-19 11:50:04 MrTiggr has joined
 915 2012-12-19 11:50:04 MrTiggr has quit (Excess Flood)
 916 2012-12-19 11:53:21 dvide has joined
 917 2012-12-19 11:53:51 Tiggr has joined
 918 2012-12-19 11:54:28 Tiggr has quit (Changing host)
 919 2012-12-19 11:54:28 Tiggr has joined
 920 2012-12-19 11:55:32 AlexWaters has joined
 921 2012-12-19 11:57:11 Tiggr is now known as MrTiggr
 922 2012-12-19 12:04:47 rdymac has quit (Quit: This computer has gone to sleep)
 923 2012-12-19 12:05:02 freewil has quit (Quit: Leaving)
 924 2012-12-19 12:05:32 slush has joined
 925 2012-12-19 12:05:34 rdymac has joined
 926 2012-12-19 12:08:57 slush2 has quit (Ping timeout: 255 seconds)
 927 2012-12-19 12:10:14 darkip3 has joined
 928 2012-12-19 12:10:19 slush has quit (Ping timeout: 264 seconds)
 929 2012-12-19 12:11:09 pigeons has quit (Quit: leaving)
 930 2012-12-19 12:11:17 Guest42025 has quit (Ping timeout: 252 seconds)
 931 2012-12-19 12:11:25 cosurgi has quit (Ping timeout: 250 seconds)
 932 2012-12-19 12:14:34 pigeons has joined
 933 2012-12-19 12:22:44 paraipan has joined
 934 2012-12-19 12:28:31 donnchac has joined
 935 2012-12-19 12:44:03 rdymac has quit (Quit: This computer has gone to sleep)
 936 2012-12-19 12:51:48 daybyter has joined
 937 2012-12-19 13:00:02 agricocb has quit (Quit: Leaving.)
 938 2012-12-19 13:02:14 CodesInChaos has joined
 939 2012-12-19 13:22:42 GMP has joined
 940 2012-12-19 13:30:51 meLon has quit (Ping timeout: 255 seconds)
 941 2012-12-19 13:32:31 RazielZ has joined
 942 2012-12-19 13:34:36 Diapolo has joined
 943 2012-12-19 13:49:11 Tiggr has joined
 944 2012-12-19 13:51:13 Tiggr has quit (Client Quit)
 945 2012-12-19 13:51:19 MrTiggr has quit (Ping timeout: 265 seconds)
 946 2012-12-19 13:51:39 CodesInChaos has quit (Ping timeout: 255 seconds)
 947 2012-12-19 13:54:36 ThomasV has joined
 948 2012-12-19 14:05:16 slush has joined
 949 2012-12-19 14:06:20 Supa has joined
 950 2012-12-19 14:06:36 <Supa> why is the dev team filled with a bunch of fuckin losers ?
 951 2012-12-19 14:14:28 m00p has joined
 952 2012-12-19 14:15:28 <Diapolo> I first read sipa ^^.
 953 2012-12-19 14:20:35 nonick has joined
 954 2012-12-19 14:22:06 m00p has quit (Ping timeout: 246 seconds)
 955 2012-12-19 14:23:52 darkee has quit (!~darkee@gateway/tor-sasl/darkee|Ping timeout: 276 seconds)
 956 2012-12-19 14:25:15 agricocb has joined
 957 2012-12-19 14:26:00 CodesInChaos has joined
 958 2012-12-19 14:26:23 Diapolo has left ()
 959 2012-12-19 14:28:53 <t7> hehe me too
 960 2012-12-19 14:31:17 <sipa> those damn devs!
 961 2012-12-19 14:31:50 <kinlo> why do you think you are a loser sipa ? :p
 962 2012-12-19 14:32:58 rdponticelli has quit (Ping timeout: 276 seconds)
 963 2012-12-19 14:35:44 m00p has joined
 964 2012-12-19 14:36:27 ciphermonk has joined
 965 2012-12-19 14:40:57 Supa has left ()
 966 2012-12-19 14:43:26 datagutt has joined
 967 2012-12-19 14:55:16 rdponticelli has joined
 968 2012-12-19 15:00:16 rdponticelli has quit (Ping timeout: 276 seconds)
 969 2012-12-19 15:06:45 libcoin has quit (Quit: Leaving.)
 970 2012-12-19 15:08:22 libcoin has joined
 971 2012-12-19 15:10:36 libcoin has quit (Client Quit)
 972 2012-12-19 15:17:19 ThomasV has left ("Leaving")
 973 2012-12-19 15:17:29 CodesInChaos has quit (Ping timeout: 260 seconds)
 974 2012-12-19 15:17:39 ThomasV has joined
 975 2012-12-19 15:17:45 freewil has joined
 976 2012-12-19 15:17:49 Azelphur has quit (Excess Flood)
 977 2012-12-19 15:18:37 Azelphur has joined
 978 2012-12-19 15:19:47 Matt_von_Mises has joined
 979 2012-12-19 15:21:50 LargoG has joined
 980 2012-12-19 15:26:05 <Matt_von_Mises> To read from blk0001.dat, it seems it just contains blocks one after the other including the message headers?
 981 2012-12-19 15:27:20 rdponticelli has joined
 982 2012-12-19 15:30:07 m00p has quit (Remote host closed the connection)
 983 2012-12-19 15:30:30 <m0mchil> used znort's blockparser to check sum of all UTXO - 10567357.18910617
 984 2012-12-19 15:30:34 <jgarzik> Matt_von_Mises: correct.  blk000?.dat is a stream of {pchMessageStart}{nSize}{CBlock}
 985 2012-12-19 15:31:06 <jgarzik> Matt_von_Mises: v0.8 may append zeroes after the very last block in the file
 986 2012-12-19 15:31:07 <m0mchil> whoever took the remainder to 10 570 000 to return it immediately to the authorities
 987 2012-12-19 15:31:26 <Matt_von_Mises> jgarzik: OK thanks.
 988 2012-12-19 15:32:07 rdponticelli has quit (Ping timeout: 276 seconds)
 989 2012-12-19 15:41:16 <stealth222> when I try to do a git pull, I'm getting:
 990 2012-12-19 15:41:19 <stealth222> fatal: You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).
 991 2012-12-19 15:41:20 <stealth222> Please, commit your changes before you can merge.
 992 2012-12-19 15:41:30 <stealth222> but then I git commit and get:
 993 2012-12-19 15:41:39 <stealth222> # On branch master
 994 2012-12-19 15:41:39 <stealth222> # Your branch and 'origin/master' have diverged,
 995 2012-12-19 15:41:39 <stealth222> # and have 2 and 3 different commit(s) each, respectively.
 996 2012-12-19 15:41:41 <stealth222> #
 997 2012-12-19 15:41:43 <stealth222> nothing to commit (working directory clean)
 998 2012-12-19 15:41:53 <stealth222> this is extremely frustrating - anyone have any suggestions?
 999 2012-12-19 15:42:40 <denisx> sounds like your cherry pick had a conflict
1000 2012-12-19 15:43:07 <stealth222> so how do I undo?
1001 2012-12-19 15:43:20 <stealth222> I want to go back to the state that is at my remote
1002 2012-12-19 15:43:41 <sipa> git reset --hard yourremote/yourbranch
1003 2012-12-19 15:44:31 <stealth222> thank you! :)
1004 2012-12-19 15:45:04 <gmaxwell> m0mchil: blame gavinandresen and midnightmagic. :)
1005 2012-12-19 15:45:18 EPiSKiNG- has quit ()
1006 2012-12-19 15:46:19 <m0mchil> gmaxwell: what did they do?
1007 2012-12-19 15:47:40 <Ukto> gmaxwell: hwo could you rig the blockhash ?
1008 2012-12-19 15:47:57 <gmaxwell> m0mchil: things that resulted in some fees gettng burned
1009 2012-12-19 15:48:43 <gmaxwell> Ukto: by mining blocks which meet whatever criteria you like.
1010 2012-12-19 15:49:01 <gmaxwell> (by throwing out ones that don't)
1011 2012-12-19 15:49:35 <m0mchil> A check for outputs+fees == inputs was rejected? Instead of <= ?
1012 2012-12-19 15:49:59 <Ukto> but dont you have to find the block?
1013 2012-12-19 15:50:03 <gmaxwell> m0mchil: the network rule is <=.
1014 2012-12-19 15:50:05 <Ukto> first ?
1015 2012-12-19 15:50:54 Nicksasa is now known as MrHighsta
1016 2012-12-19 15:51:16 <m0mchil> gmaxwell: but what is the advantage over == ?
1017 2012-12-19 15:51:17 <Ukto> wait, so the "blockhash", is that the hash of that won the "block" ?
1018 2012-12-19 15:52:05 <gmaxwell> Ukto: sure. and that means that someone with 30% of the hashpower (e.g. by controlling a pool or via a hashpower buying servce), can make 1 bit of selection 15% of the time at a cost of half a block subsidy (12.5 btc now) on average when successful. Probably somewhat less because they could still race for it.
1019 2012-12-19 15:52:43 <sipa> m0mchil: not splitting the network :)
1020 2012-12-19 15:52:45 rdponticelli has joined
1021 2012-12-19 15:53:09 <sipa> m0mchil: i haven't seen an actual good reason though, except compatibility
1022 2012-12-19 15:53:28 <gmaxwell> m0mchil: <= is sufficient, and it's just how it is and can't easily be changed. There aren't any major advantages, though it may make rule enforcement a little easier.
1023 2012-12-19 15:53:39 <Ukto> was the 'sure' in answer to my question that the 'hash' that is found that gets teh 'block' is what becomes the 'blockhash' ?
1024 2012-12-19 15:53:50 <m0mchil> sipa: no, seriously... I see, it was this way and can't be changed because of existing transactions
1025 2012-12-19 15:53:54 <gmaxwell> E.g. > is somewhat easier to exclude.
1026 2012-12-19 15:54:36 <gmaxwell> Ukto: it was to 'but dont you have to find the block', but the answer to so the "blockhash", is that the hash of that won the "block" is yes too.
1027 2012-12-19 15:54:54 <Ukto> ah k
1028 2012-12-19 15:55:01 <Ukto> hrm
1029 2012-12-19 15:55:41 <Ukto> i think you would be pretty hardpressed to get the eaxct block you want though, but using a service like hashpower could def. increase the chances
1030 2012-12-19 15:56:30 <Ukto> althgough it would be hard enough to normally find the block, but to mine for a winner AND exact placements of numbers/letters?
1031 2012-12-19 15:56:47 <gmaxwell> Ukto: you can't get 'the exact' but you can control 1 bit worth of output for moderate cost as I described.
1032 2012-12-19 15:57:06 ciphermonk has quit (Remote host closed the connection)
1033 2012-12-19 15:57:15 <Ukto> in this case, I am taking the blockhash, droppping the leters, and only using the last 3 numbers remaining
1034 2012-12-19 15:57:25 <gmaxwell> it doesn't matter how you mutate it.
1035 2012-12-19 15:57:27 <Ukto> in specific order
1036 2012-12-19 15:57:28 rdponticelli has quit (Ping timeout: 276 seconds)
1037 2012-12-19 15:57:59 <Ukto> that wouldnt fall under 1 bit worth now would it?
1038 2012-12-19 15:58:04 <m0mchil> pity... it would've been nice to have this enforced, being sure that at some height sum of spendable outputs equals generation
1039 2012-12-19 15:58:06 <gmaxwell> ..
1040 2012-12-19 15:58:20 <Ukto> the more exact it has to search for, the more impossible it would become?
1041 2012-12-19 15:58:30 <Ukto> sorry if I am not understanding fully, thats why I am here, and sking
1042 2012-12-19 15:58:32 <Ukto> asking*
1043 2012-12-19 15:58:41 random_cat has quit (Remote host closed the connection)
1044 2012-12-19 15:58:43 <sipa> Ukto: what decision will you be basing on it?
1045 2012-12-19 15:58:56 <gmaxwell> Ukto: You're asking a question devoid of context, so it's hard to give a useful answer.
1046 2012-12-19 15:59:54 <gmaxwell> For example, if you use the value to select between N orderings of winnings, I can make one half of those orderings more likely than another half through mining... at moderate cost.
1047 2012-12-19 16:00:13 random_cat has joined
1048 2012-12-19 16:00:18 <Ukto> the question outright would now be, how difficult would it be for someone to mine a winning block were the last 3 numbers in it, in order, what they wanted?
1049 2012-12-19 16:00:23 <gmaxwell> There are ways to do secure coin tosses that don't require bitcoin and aren't vulnerable to this.
1050 2012-12-19 16:00:40 <Ukto> i agree
1051 2012-12-19 16:00:47 <Ukto> but this is something specifically for bitcoin :)
1052 2012-12-19 16:01:25 <gmaxwell> Ukto: thats hard but usually irrelevant— they can't pick an exact value, but they can bias the selection.  e.g. I can't pick who wins the lottery, but I can make my friends more likely than everyone else.
1053 2012-12-19 16:01:42 <Ukto> so if I told you 5 blocks from now, the last 3 numbers of the hash (dropping hte letters) has to be 321, how hard woudl it be to make that happen?
1054 2012-12-19 16:02:15 <gmaxwell> Okay, you're not speaking concretely enough so I'm not going to play any more guessing games.
1055 2012-12-19 16:02:26 <Ukto> thats all there was
1056 2012-12-19 16:02:28 <Ukto> no guessing
1057 2012-12-19 16:03:02 <Ukto> i am just asking how hard/easy it would be to forcefully manipulate/mine a block where the last 3 numerics of the blockhas was an extact 3 numbers in order
1058 2012-12-19 16:03:18 <sipa> Ukto: the cost is 25000 BTC * chance_for_match
1059 2012-12-19 16:04:00 <Ukto> sipa: I feel like I am getting trolled. :P
1060 2012-12-19 16:04:03 <gmaxwell> yes, there is— you're asking overly specific questions without describing the payoff matrix. So while I can answer the direct question I'm reasonably confident that doing so will make you less knowledgeable than if I didn't.
1061 2012-12-19 16:04:06 <Ukto> to some extent
1062 2012-12-19 16:04:10 <sipa> so for 250 BTC you can buy a 1% chance
1063 2012-12-19 16:04:52 <Ukto> gmaxwell: can I pm you?
1064 2012-12-19 16:05:07 <Ukto> I will be happy to give a full break down
1065 2012-12-19 16:05:24 <Ukto> very quick and simple
1066 2012-12-19 16:05:30 <gmaxwell> E.g. say you and I were to bet that the hash 5 blocks from now wouldn't end n 321. It would be fairly costly for me to make more likely to end in that, but it would be quite cheap for you to make it more likely that it wouldn't end in that.
1067 2012-12-19 16:05:34 <Ukto> in fact i already said it but
1068 2012-12-19 16:05:45 <Ukto> alright
1069 2012-12-19 16:05:47 <Ukto> let me put it this way
1070 2012-12-19 16:05:49 <gmaxwell> And so the system can be cheaply cheated.
1071 2012-12-19 16:05:55 <gmaxwell> (in that example)
1072 2012-12-19 16:06:12 <Ukto> lets say you have the number 123. and if you can get the last three numerics of the block has to be 123 in order, ingoring alphas, you win 5,000 btc
1073 2012-12-19 16:06:17 <Ukto> how doable is forcing it
1074 2012-12-19 16:06:21 <Ukto> end of story
1075 2012-12-19 16:06:25 libcoin has joined
1076 2012-12-19 16:06:34 <Ukto> thats all there is to it, theres nothing else
1077 2012-12-19 16:07:03 <Ukto> after that block hits or does not it, the number changes to (random 3) for X blocks from then
1078 2012-12-19 16:07:09 <gmaxwell> Why do I only have number 123?  Why don't I bet multiple times and have 128-1152?
1079 2012-12-19 16:07:34 <Ukto> you could bet multiple times, and get 533, 612, 164, 327
1080 2012-12-19 16:07:39 <Ukto> each bet costs more
1081 2012-12-19 16:07:54 <Ukto> the odds are currently 1/1000 of winning
1082 2012-12-19 16:08:04 <Ukto> which is fairly good for what I am doing
1083 2012-12-19 16:08:13 <Ukto> but, regardless of the odds based on number of entries
1084 2012-12-19 16:08:31 <Ukto> your saying they get 10~20 sets of 3 numbers
1085 2012-12-19 16:08:34 <Ukto> look for ANY of those
1086 2012-12-19 16:08:35 <Ukto> right?
1087 2012-12-19 16:08:35 <gmaxwell> Ukto: well what you're describing is slightly more likely to pay better 000 to begin with, so I'd want that number for sure.
1088 2012-12-19 16:09:24 <Ukto> yeah, looking at it that way, I can see where it can be easily abused, and forced now
1089 2012-12-19 16:11:48 <gmaxwell> Ukto: I'd have to sit down and work out the payoffs, but it's pretty straight forward: by betting multiple times I can control my baseline odds of winning. By buying/controlling hashpower I can throw out blocks that don't make one of my accounts win in the hopes that I or someone else will find a block that does. The loss of tossing a block is 25 BTC times how likely you are to do it. If I'm half the betters I only need 1 bit of selection on
1090 2012-12-19 16:12:06 <gmaxwell> Moreover, if I'm a pool operator and a little dishonest, I don't even have to pay the 25 BTC.
1091 2012-12-19 16:12:16 <Ukto> corect
1092 2012-12-19 16:12:23 <Ukto> blockhash would not fit my needs
1093 2012-12-19 16:12:40 <gmaxwell> I instead lose half the pool fees I collect (+ whatever loss of miners I get from having 'bad luck' due to this activity)
1094 2012-12-19 16:13:00 <denisx> we need a new channel, like bitcoin-gambling
1095 2012-12-19 16:14:35 <gmaxwell> well this also applies to the whole exosystem... someone creating a big (e.g. 5000 btc) lottery thing like this would be bad because it would create a bigger market for dishonest mining. (and god knows— give some regulator an excuse to claim that bitcoin == gambling)
1096 2012-12-19 16:15:02 <Ukto> liek satoshi dice doesnt already?
1097 2012-12-19 16:15:07 <Ukto> have you seen their numbers this month?
1098 2012-12-19 16:15:42 <Ukto> i am not making something thats ment to get rich off of
1099 2012-12-19 16:15:50 <Ukto> i am making something thats ment for honest fun
1100 2012-12-19 16:16:02 <Ukto> and have some returns worth playing, but not mega millions winner
1101 2012-12-19 16:16:14 <gmaxwell> Ukto: if you want to have a lottery with defined participants just use a regular cryptographic coin flip. Everyone transmits a hash of a random value. Once everyone has seen these hashes and agrees, then everyone discloses the numbers that hashed to the random values, you compose and hash those, and you get your group random value.
1102 2012-12-19 16:16:35 <Ukto> yup
1103 2012-12-19 16:16:46 <Ukto> but does not apply to my situation unfortunately
1104 2012-12-19 16:17:16 <gmaxwell> Ukto: welp, I suggest you go find some cryptographer to consult for you before you invent another insecure system. :)
1105 2012-12-19 16:17:52 <Ukto> :P
1106 2012-12-19 16:18:08 <Ukto> You sure have a way with people, you know that? hehe
1107 2012-12-19 16:18:20 <Ukto> but
1108 2012-12-19 16:18:24 <Ukto> Thank you for answering my qusetions
1109 2012-12-19 16:18:42 da2ce7 has joined
1110 2012-12-19 16:19:51 AlexWaters has quit (Ping timeout: 246 seconds)
1111 2012-12-19 16:20:13 PhantomSpark has quit (Ping timeout: 276 seconds)
1112 2012-12-19 16:20:24 da2ce7_d has quit (Ping timeout: 246 seconds)
1113 2012-12-19 16:21:48 OneEyed has quit (Quit: WeeChat 0.3.9.2)
1114 2012-12-19 16:23:34 OneEyed has joined
1115 2012-12-19 16:24:51 paybitcoin has joined
1116 2012-12-19 16:26:55 paybitcoin1 has quit (Ping timeout: 255 seconds)
1117 2012-12-19 16:28:10 RainbowDashh has quit (Quit: Computer has gone to sleep.)
1118 2012-12-19 16:34:47 Jiffy has joined
1119 2012-12-19 16:36:32 AlexWaters has joined
1120 2012-12-19 16:39:33 freewil has quit (Quit: Leaving)
1121 2012-12-19 16:40:43 libcoin has quit (Quit: Leaving.)
1122 2012-12-19 16:44:16 freewil has joined
1123 2012-12-19 16:44:51 rdymac has joined
1124 2012-12-19 16:45:21 Jiffy has quit (Remote host closed the connection)
1125 2012-12-19 16:46:53 stealth222 has quit (Remote host closed the connection)
1126 2012-12-19 16:47:59 t7 has quit (Read error: Connection reset by peer)
1127 2012-12-19 16:51:24 brunner1 has joined
1128 2012-12-19 16:51:29 brunner1 has left ()
1129 2012-12-19 16:52:55 freewil has quit (Quit: Leaving)
1130 2012-12-19 16:53:19 <helo> allowing people to win more than the block reward based on some characteristic of the block hash encourages dishonest mining
1131 2012-12-19 16:54:14 <helo> if the prizes are less than the reward, maybe it wouldn't be bad
1132 2012-12-19 16:55:53 rdymac has quit (Quit: This computer has gone to sleep)
1133 2012-12-19 16:58:35 <helo> using only info in the blockchain to determine prizes at least allows the paying node to be well hidden
1134 2012-12-19 16:59:11 BurtyB has quit (Read error: Connection reset by peer)
1135 2012-12-19 16:59:41 rdymac has joined
1136 2012-12-19 16:59:47 BurtyB has joined
1137 2012-12-19 17:00:22 freewil has joined
1138 2012-12-19 17:01:49 Jiffy has joined
1139 2012-12-19 17:02:34 jdnavarro has quit (Ping timeout: 272 seconds)
1140 2012-12-19 17:26:11 gozoner has joined
1141 2012-12-19 17:27:39 D34TH has joined
1142 2012-12-19 17:27:39 D34TH has quit (Changing host)
1143 2012-12-19 17:27:39 D34TH has joined
1144 2012-12-19 17:36:02 Jiffy_ has joined
1145 2012-12-19 17:36:03 Jiffy has quit (Read error: Connection reset by peer)
1146 2012-12-19 17:37:54 BlueMatt has quit (Ping timeout: 246 seconds)
1147 2012-12-19 17:40:25 BlueMatt has joined
1148 2012-12-19 17:40:44 Connected has joined
1149 2012-12-19 17:43:03 <sipa> Qt 5!
1150 2012-12-19 17:45:19 libcoin has joined
1151 2012-12-19 17:48:35 Jiffy_ has quit (Read error: Connection reset by peer)
1152 2012-12-19 17:48:58 Jiffy_ has joined
1153 2012-12-19 17:56:06 BlueMatt has quit (Ping timeout: 246 seconds)
1154 2012-12-19 17:56:56 BlueMatt has joined
1155 2012-12-19 17:57:12 <gmaxwell> sipa: I thought of another way we can encourage people to generate IsCanonicalScript() passing transactions... when someone recieves a non-canonical txn, flag it in the gui with a <weird txn>  that you can click on and it asks you to tell the party who sent you the txn to go to <forum post about IsCanonicalScript()>. Might be a way to mop up the unidentified straggling implementations.
1156 2012-12-19 17:57:45 <sipa> gmaxwell: well, first thing we should do is test how many non-standard ones are still being created
1157 2012-12-19 17:58:00 <sipa> since last time we identified two big offenders, which should be fixed now
1158 2012-12-19 17:59:57 Connected has quit (Remote host closed the connection)
1159 2012-12-19 18:00:57 <gmaxwell> ::nods:: Certantly, I meant after the big offenders were gone, of course—  though we're going to have this excercise again for the even/oddness... and that will be harder to clean up.
1160 2012-12-19 18:01:02 Jiffy_ has quit (Read error: Connection reset by peer)
1161 2012-12-19 18:02:04 Jiffy has joined
1162 2012-12-19 18:04:34 jdnavarro has joined
1163 2012-12-19 18:05:33 impulse has quit (Ping timeout: 265 seconds)
1164 2012-12-19 18:05:58 <sipa> gmaxwell: first 22 transactions accepted to my mempool... none violate
1165 2012-12-19 18:06:00 <sipa> weird
1166 2012-12-19 18:06:14 * sipa wonders whether the verifier works at all
1167 2012-12-19 18:06:15 AlexWaters has quit (Ping timeout: 246 seconds)
1168 2012-12-19 18:07:02 impulse has joined
1169 2012-12-19 18:07:12 AlexWaters has joined
1170 2012-12-19 18:07:24 meLon has joined
1171 2012-12-19 18:08:00 BlueMatt has quit (Ping timeout: 246 seconds)
1172 2012-12-19 18:09:57 BlueMatt has joined
1173 2012-12-19 18:11:18 daybyter has quit (Quit: Konversation terminated!)
1174 2012-12-19 18:13:36 <sipa> several hundreds, and no fail canonical checks :s
1175 2012-12-19 18:14:31 ThomasV has quit (Quit: Leaving)
1176 2012-12-19 18:17:57 larsig has joined
1177 2012-12-19 18:19:34 drizztbsd has quit (Remote host closed the connection)
1178 2012-12-19 18:22:13 maaku has joined
1179 2012-12-19 18:23:59 gozoner has quit (Quit: Computer has gone to sleep.)
1180 2012-12-19 18:27:48 libcoin has quit (Quit: Leaving.)
1181 2012-12-19 18:29:59 Guest42025 has joined
1182 2012-12-19 18:30:00 darkip3 has quit (Read error: Connection reset by peer)
1183 2012-12-19 18:34:21 <Pucilowski> Is there a java API out there for determnistic address creation? One that also allows a public seed that only allows public keys to be generated.
1184 2012-12-19 18:42:09 <sipa> gmaxwell: two non-canonical ones out of over 1200
1185 2012-12-19 18:42:56 <sipa> in 45 minutes
1186 2012-12-19 18:43:00 * sipa likes
1187 2012-12-19 18:45:30 <sipa> let's see how many i accumulate in a day or so
1188 2012-12-19 18:45:58 <sipa> if it's really that low, maybe we can even propose not relaying them anymore in 0.8 already...
1189 2012-12-19 18:46:20 <gmaxwell> haha. now add the even/odd check. :P But yes, at that rate it does sound like something 0.8 could stop relaying.
1190 2012-12-19 18:46:41 <sipa> gmaxwell: that means it'll be 601 failures in 1200 :)
1191 2012-12-19 18:46:42 denisx has quit (Quit: denisx)
1192 2012-12-19 18:47:26 <etotheipi_> sipa: what other things are you looking for?
1193 2012-12-19 18:47:34 <sipa> etotheipi_: ?
1194 2012-12-19 18:47:35 <etotheipi_> I fixed the signature (r,s) bytes
1195 2012-12-19 18:47:40 <sipa> i know
1196 2012-12-19 18:47:46 <etotheipi_> anything else?
1197 2012-12-19 18:47:59 <sipa> the other proposed change is requiring s to be always even
1198 2012-12-19 18:48:18 <etotheipi_> how/why?
1199 2012-12-19 18:48:22 <sipa> (you can take the complement modulo the curve order if it's not, without invalidating the signature)
1200 2012-12-19 18:48:25 <sipa> removing malleability
1201 2012-12-19 18:48:46 <etotheipi_> that seems to be taking it kind of far, don't you think?
1202 2012-12-19 18:48:57 <gmaxwell> etotheipi_: suggestions on the simplest possible code for people to conform would be helpful.
1203 2012-12-19 18:48:58 <etotheipi_> I could also just use a different random number and produce a completely different s
1204 2012-12-19 18:49:02 <sipa> i don't want *any* malleability, ideally
1205 2012-12-19 18:49:19 <gmaxwell> etotheipi_: uh. it's not taking it kind of far, it's preventing _third party_ malleability, which is a vulnerability.
1206 2012-12-19 18:49:32 <etotheipi_> oh
1207 2012-12-19 18:50:04 <gmaxwell> self-malleability is fine, there are lots of things in a transaction you can change to make a different one, even if our signatures were determinstic.
1208 2012-12-19 18:50:52 Matt_von_Mises has quit (Quit: Leaving.)
1209 2012-12-19 18:51:00 Grishnakh has quit (Read error: No route to host)
1210 2012-12-19 18:51:23 <sipa> sure, the problem is that anyone on the network can do that transformation without invalidating the signature
1211 2012-12-19 18:51:29 <etotheipi_> okay
1212 2012-12-19 18:51:32 <etotheipi_> I get it
1213 2012-12-19 18:51:38 Grishnakh has joined
1214 2012-12-19 18:51:47 <etotheipi_> it just seems like an awful lot of implementation details
1215 2012-12-19 18:51:57 <etotheipi_> and no longer the behavior of any default libraries
1216 2012-12-19 18:52:05 <sipa> indeed :(
1217 2012-12-19 18:52:05 <etotheipi_> err.. standard
1218 2012-12-19 18:52:44 <etotheipi_> your forcing people who already have ECDSA implementations to dig into the math and add extra operations... it doesn't sit right with me
1219 2012-12-19 18:52:50 <etotheipi_> (I know it's simple, but tha'ts not the point)
1220 2012-12-19 18:53:39 slush has quit (Ping timeout: 244 seconds)
1221 2012-12-19 18:54:35 knotwork has quit (Remote host closed the connection)
1222 2012-12-19 18:54:49 t7 has joined
1223 2012-12-19 18:55:57 knotwork has joined
1224 2012-12-19 18:55:57 knotwork has quit (Changing host)
1225 2012-12-19 18:55:57 knotwork has joined
1226 2012-12-19 18:56:20 jeronal38 has joined
1227 2012-12-19 18:57:15 jeronal38 has quit (Client Quit)
1228 2012-12-19 18:57:32 tonikt has joined
1229 2012-12-19 18:59:27 <gmaxwell> etotheipi_: thats why I said "suggestions on the simplest possible code for people to conform would be helpful."
1230 2012-12-19 18:59:34 slush has joined
1231 2012-12-19 19:00:48 freakazoid has joined
1232 2012-12-19 19:07:24 ThomasV has joined
1233 2012-12-19 19:13:20 slush has quit (Ping timeout: 264 seconds)
1234 2012-12-19 19:14:57 gozoner has joined
1235 2012-12-19 19:23:37 tonikt has quit (Read error: Connection reset by peer)
1236 2012-12-19 19:23:52 meLon has quit (Remote host closed the connection)
1237 2012-12-19 19:24:11 nibor has joined
1238 2012-12-19 19:27:18 nibor_ has quit (Ping timeout: 246 seconds)
1239 2012-12-19 19:28:28 <helo> maybe repackage openssl's quirky behavior into a standalone lib, and reimplement it in various languages so they can share the suck?
1240 2012-12-19 19:28:52 rdymac has quit (Ping timeout: 256 seconds)
1241 2012-12-19 19:29:14 toffoo has joined
1242 2012-12-19 19:29:48 <phantomcircuit> helo, im nto sure that's possible honestly
1243 2012-12-19 19:30:06 <phantomcircuit> testing and verifying correctness is hugely expensive
1244 2012-12-19 19:31:27 <gmaxwell> helo: that doesn't solve the problem at all.
1245 2012-12-19 19:31:55 <gmaxwell> The concern about the weirdness with non-canonical signatures is not just that it makes it harder to write a safe node— though it does— its that it makes it so that third parties can modify your transactions.
1246 2012-12-19 19:32:19 libcoin has joined
1247 2012-12-19 19:33:24 <gmaxwell> fortunately there isn't currently any obvious way to profit from doing that... but it can be a nuisance at a minimum.
1248 2012-12-19 19:34:18 <helo> so when a node receives a transaction, they could modify it and distribute the modified one instead?
1249 2012-12-19 19:34:25 <gmaxwell> Correct.
1250 2012-12-19 19:34:29 <gmaxwell> Or a miner.
1251 2012-12-19 19:34:33 <helo> what can they modify?
1252 2012-12-19 19:34:58 copumpkin has quit (Ping timeout: 252 seconds)
1253 2012-12-19 19:35:00 <gmaxwell> they can change between any of the signature encodings openssl will accept. Which changes the txnid.
1254 2012-12-19 19:35:33 copumpkin has joined
1255 2012-12-19 19:35:37 <gmaxwell> and results in something that looks like a double spend, but isn't really— which may or may not be accepted by the recipents wallet (depending on how their signature validation code is implemented).
1256 2012-12-19 19:36:37 <gmaxwell> It isn't currently an urgent problem, but it's why we'd take the route of forcing everything into a canonical form instead of trying to get everyone to copy openssl's specific permissiveness.
1257 2012-12-19 19:38:51 <helo> so at some point there will be blockheight-dictated acceptable sig encodings?
1258 2012-12-19 19:39:02 Matt_von_Mises has joined
1259 2012-12-19 19:43:21 gfinn is now known as thaymos
1260 2012-12-19 19:43:33 thaymos is now known as gfinn
1261 2012-12-19 19:50:36 <gmaxwell> helo: I think thats likely. But thats a ways off.
1262 2012-12-19 19:51:52 <gmaxwell> First we would make them non-standard— non-relayed and non-mined. And once that is good and settled then thinking can begin about making it enforced. But I think the latter part is probably only interesting once all the malleability is out, and unfortunately there is one kind that all current signers produce randomly.
1263 2012-12-19 19:56:35 Jamesz has quit (Ping timeout: 245 seconds)
1264 2012-12-19 19:58:20 Gladamas has quit (Ping timeout: 260 seconds)
1265 2012-12-19 20:01:01 MrHighsta is now known as Nicksasa
1266 2012-12-19 20:01:36 davout has joined
1267 2012-12-19 20:03:42 gozoner has quit (Ping timeout: 246 seconds)
1268 2012-12-19 20:06:21 Eslbaer has joined
1269 2012-12-19 20:18:00 rdponticelli has joined
1270 2012-12-19 20:18:28 CodesInChaos has joined
1271 2012-12-19 20:23:58 rdponticelli has quit (Ping timeout: 276 seconds)
1272 2012-12-19 20:33:39 harkon has joined
1273 2012-12-19 20:35:32 CodesInChaos has quit (Ping timeout: 265 seconds)
1274 2012-12-19 20:41:25 denisx has joined
1275 2012-12-19 20:45:30 denisx_ has joined
1276 2012-12-19 20:45:30 denisx has quit (Read error: Connection reset by peer)
1277 2012-12-19 20:45:31 denisx_ is now known as denisx
1278 2012-12-19 20:50:45 meLon has joined
1279 2012-12-19 20:50:45 meLon has quit (Changing host)
1280 2012-12-19 20:50:45 meLon has joined
1281 2012-12-19 20:51:56 davout_ has joined
1282 2012-12-19 20:53:45 davout has quit (Ping timeout: 246 seconds)
1283 2012-12-19 20:56:37 davout has joined
1284 2012-12-19 20:56:37 davout has quit (Changing host)
1285 2012-12-19 20:56:37 davout has joined
1286 2012-12-19 20:56:38 davout_ has quit (Ping timeout: 250 seconds)
1287 2012-12-19 20:59:07 <sipa> gmaxwell: i think therr is one very widely possible malleability left: extra data elements in the input scripts
1288 2012-12-19 21:08:20 BTCOxygen has joined
1289 2012-12-19 21:08:36 <sipa> with a relatively easy but perhaps controversial fix: require that the final stack has only one element left, which must be nonzero
1290 2012-12-19 21:09:01 <sipa> hmm... may be incompatible with some multisig stuff
1291 2012-12-19 21:12:39 Eliel has quit (Quit: foo)
1292 2012-12-19 21:13:04 Eliel has joined
1293 2012-12-19 21:13:52 Eliel has quit (Client Quit)
1294 2012-12-19 21:25:28 harkon has quit (Read error: Operation timed out)
1295 2012-12-19 21:26:02 jdnavarro has quit (Remote host closed the connection)
1296 2012-12-19 21:27:06 harkon has joined
1297 2012-12-19 21:32:07 Eliel has joined
1298 2012-12-19 21:34:14 yellowhat has joined
1299 2012-12-19 21:35:12 copumpkin has quit (Ping timeout: 246 seconds)
1300 2012-12-19 21:35:55 copumpkin has joined
1301 2012-12-19 21:37:17 unknown45682 has quit (Read error: Connection reset by peer)
1302 2012-12-19 21:37:43 unknown45682 has joined
1303 2012-12-19 21:38:11 rdponticelli has joined
1304 2012-12-19 21:43:17 rdponticelli has quit (Ping timeout: 276 seconds)
1305 2012-12-19 21:44:47 one_zero has joined
1306 2012-12-19 21:50:28 davout_ has joined
1307 2012-12-19 21:53:45 davout has quit (Ping timeout: 246 seconds)
1308 2012-12-19 21:57:20 <midnightmagic> what are these microtransactions that mike hearn is talking about in his talk at bitcoin 2012?
1309 2012-12-19 21:57:39 <midnightmagic> is this related to what gavin is doing?
1310 2012-12-19 21:57:48 <midnightmagic> https://www.youtube.com/watch?v=mD4L7xDNCmA
1311 2012-12-19 21:59:53 davout_ is now known as davout
1312 2012-12-19 21:59:54 davout has quit (Changing host)
1313 2012-12-19 21:59:54 davout has joined
1314 2012-12-19 22:00:19 <gmaxwell> sipa: we need to think carefully about the use of NOPs in the future and how that interacts. (in particular, how it interacts with using them to add another cryptographic signature type)
1315 2012-12-19 22:02:47 ovidiusoft has quit (Remote host closed the connection)
1316 2012-12-19 22:04:35 ovidiusoft has joined
1317 2012-12-19 22:11:55 gjs278 has quit (Remote host closed the connection)
1318 2012-12-19 22:12:19 gjs278 has joined
1319 2012-12-19 22:13:36 <gavinandresen> gmaxwell: if we re-define a NOP in the future we should bump the transaction.version number; if you get a transaction.version you don't understand, consider it non-standard but accept it if it gets into a block.
1320 2012-12-19 22:13:48 <gavinandresen> (and validates, of course)
1321 2012-12-19 22:13:54 <gavinandresen> (under the old rules)
1322 2012-12-19 22:18:38 gozoner has joined
1323 2012-12-19 22:20:41 skeledrew1 has quit (Ping timeout: 260 seconds)
1324 2012-12-19 22:28:52 unknown45682 has quit ()
1325 2012-12-19 22:30:05 <gmaxwell> oh beautful, that should allow us to close down the malleability for everything without burdening the future.
1326 2012-12-19 22:32:07 rdponticelli has joined
1327 2012-12-19 22:34:54 joe- has joined
1328 2012-12-19 22:35:51 maaku has quit (Quit: maaku)
1329 2012-12-19 22:37:53 rdponticelli has quit (Ping timeout: 276 seconds)
1330 2012-12-19 22:38:00 maaku has joined
1331 2012-12-19 22:42:03 rdponticelli has joined
1332 2012-12-19 22:43:36 sh4kad4rk has joined
1333 2012-12-19 22:45:11 BlackPrapor has quit (2!~BlackPrap@136.169.210.247|Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/)
1334 2012-12-19 22:51:36 <forrestv> sipa, any comments on the updated pullreq? https://github.com/bitcoin/bitcoin/pull/2115
1335 2012-12-19 22:58:45 nibor has quit (Remote host closed the connection)
1336 2012-12-19 22:59:22 <kuzetsa> what's the idea behind the "keypool" line of the bitcoin.conf file anyway? the comments say something about: "...so wallet backups will be valid for both prior transactions and several dozen future transactions..."
1337 2012-12-19 22:59:41 <kuzetsa> I suspect... is it related to the "change" addreses or something?
1338 2012-12-19 23:02:24 <gmaxwell> kuzetsa: not just change, though that too.
1339 2012-12-19 23:02:43 <gmaxwell> e.g. you make a backup. then 10 seconds later you get a new address from bitcoin so someone can pay you.
1340 2012-12-19 23:02:52 <gmaxwell> It would be nice if that didn't invalidate your backup.
1341 2012-12-19 23:02:58 <gmaxwell> And it doesn't— because of the keypool.
1342 2012-12-19 23:04:30 <kuzetsa> right
1343 2012-12-19 23:04:38 Matt_von_Mises has quit (Quit: Leaving.)
1344 2012-12-19 23:05:48 <gmaxwell> It just precomputes the next N addresses that it will use, so they end up in the backup and if you repeat backups at least every N addresses that you consume your backups will be good.
1345 2012-12-19 23:06:17 <kuzetsa> yeah
1346 2012-12-19 23:09:03 <kuzetsa> mind if I quote you on that?
1347 2012-12-19 23:09:29 <kuzetsa> I mean, it sounds factual / common sense, but I like your explaination better than I would've worded it.
1348 2012-12-19 23:09:53 <gmaxwell> fine with me
1349 2012-12-19 23:17:28 <midnightmagic> oh, that's interesting. CWallet::ReserveKeyFromKeyPool() and the rpc calls getnewaddress() keypoolrefill() fillthe keypool immediately with new keys.
1350 2012-12-19 23:17:45 <midnightmagic> I thought they didn't top up until it was heading towards empty
1351 2012-12-19 23:18:33 <kuzetsa> Thanks gmaxwell ---> https://bitcointalk.org/index.php?topic=86854.msg1410337#msg1410337 (( going AFK for a bit though ))
1352 2012-12-19 23:20:15 sh4kad4rk has quit ()
1353 2012-12-19 23:24:19 <gmaxwell> midnightmagic: oh no, that wouldn't be good. It fills when it can— though if you're encrypted it can't fill if you're locked and getnewaddress though it will fill when you unlock.
1354 2012-12-19 23:25:26 larsig has quit (Ping timeout: 264 seconds)
1355 2012-12-19 23:26:06 ovidiusoft has quit (Ping timeout: 248 seconds)
1356 2012-12-19 23:27:25 agricocb has quit (Remote host closed the connection)
1357 2012-12-19 23:27:33 <midnightmagic> gmaxwell: Well.. for some definition of "empty": anyway I didn't realise at all that every key consumed appears to generate a fresh key in the keypool. I do see that there is a keygen thread started in walletpassword() which implies eventually it will be possible to retrieve a key from the keypool before the keypool is fully topped up; but currently it looks like the process is synchronous. That suggests to me that it was only
1358 2012-12-19 23:27:39 <midnightmagic> done to facilitate longer-term periods for backups.
1359 2012-12-19 23:29:38 <midnightmagic> holy crap you talk a lot. it takes forever to grep back for old things you've said. :)
1360 2012-12-19 23:30:15 <Jouke> I have once heard that mtgox used the satoshi-client, but doesn't anymore because the walletformate didn't scale to such proportions. Is this still the case?
1361 2012-12-19 23:30:22 ThomasV has quit (Ping timeout: 248 seconds)
1362 2012-12-19 23:30:40 <midnightmagic> Jouke: it seems to scale horizontally..
1363 2012-12-19 23:31:12 <Jouke> What does that mean?
1364 2012-12-19 23:32:12 <midnightmagic> Even if MagicalTux didn't have customizations, I think he could just put 20-50 individual bitcoind instances behind a load balancer
1365 2012-12-19 23:32:14 <gmaxwell> you can run multiple bitcoinds to scale— but it would be kind of crazy to do something like mtgox with bitcoind's wallet code as it stands today.  Though you should think twice before doing something like that yourself, mtgox lost thousands of btc through buggy software plus their R&D costs.
1366 2012-12-19 23:33:15 <midnightmagic> I don't really blame him for keeping all that stuff secret, but I'm hoping that one day some of it will make it back out to the public.
1367 2012-12-19 23:34:12 <gmaxwell> assuming the reference client eventually splits the wallet and backend it seems like it would be easy to replace the wallet with a DB feeder for that kind of usage.
1368 2012-12-19 23:34:30 <Jouke> How would you guys handle such a large number of accounts with private keys?
1369 2012-12-19 23:35:00 <midnightmagic> do I have more than just myself helping? :-)
1370 2012-12-19 23:35:08 <Jouke> no :P
1371 2012-12-19 23:35:13 davout has quit (Remote host closed the connection)
1372 2012-12-19 23:35:31 <midnightmagic> then.. I wouldn't. and I would give a hard stare to anyone who asked me to. :-)
1373 2012-12-19 23:35:48 <Jouke> damnit :P
1374 2012-12-19 23:36:02 <midnightmagic> But we're talking mtgox volume.
1375 2012-12-19 23:36:22 <midnightmagic> I just would hesitate before attempting that on my own.
1376 2012-12-19 23:37:58 <Jouke> I am contemplating a setup where all accounts are wallets by some BitcoinJ-program.
1377 2012-12-19 23:38:08 <gmaxwell> mtgox scale? I'd use blocknotify and getblock to synch a table in a database with the whole blockchain. (and I'd partition the table by block height and by address).
1378 2012-12-19 23:38:23 <midnightmagic> If I have another person or two, then I would attempt to split the wallet off to an "external" service, which appears to be a stretch goal of the reference client.
1379 2012-12-19 23:38:33 <gmaxwell> and I'd have that database replicated as needed to scale it up.
1380 2012-12-19 23:39:00 <Jouke> like blockhchain.info.
1381 2012-12-19 23:40:19 <gmaxwell> it seems that blockchain.info does a lot of their own parsing of the bitcoin protocol and I'd try as hard as I could to avoid that.
1382 2012-12-19 23:40:43 RazielZ has quit (Ping timeout: 246 seconds)
1383 2012-12-19 23:41:09 <Jouke> I recently read something about a bitcoin client that stored a pruned version of the blockchain in a database.
1384 2012-12-19 23:41:28 <Jouke> But it was some sort of windows only software.
1385 2012-12-19 23:41:30 <gmaxwell> a pruned version would very much not be what you want for mtgox.
1386 2012-12-19 23:41:35 <Jouke> not?
1387 2012-12-19 23:41:38 <pigeons> the regular client does, ultraprune is merged into recent git pulls
1388 2012-12-19 23:42:13 <midnightmagic> Jouke: You may be thinking of an active database of unspent transactions which I believe is either coming in a near-future release or has been released, and that is useful for block processing speedups.
1389 2012-12-19 23:42:28 <pigeons> had to convert the whole blockchain to new db format
1390 2012-12-19 23:42:40 <midnightmagic> that doesn't really help you much with mammoth wallets.
1391 2012-12-19 23:42:57 <Jouke> gmaxwell: why wouldn't I want a pruned blockchain?
1392 2012-12-19 23:43:18 <midnightmagic> you would. but not if you want to tame giant wallet bottleneck issues.
1393 2012-12-19 23:43:45 rdymac has joined
1394 2012-12-19 23:44:48 <gmaxwell> Jouke: because if you're importing random addresses (which mtgox does) and want to see the historic transactions.
1395 2012-12-19 23:45:40 rdymac has quit (Client Quit)
1396 2012-12-19 23:46:31 rdymac has joined
1397 2012-12-19 23:47:03 <Jouke> gmaxwell: I thought that pruned blockchains still had the relevant historic transactions.
1398 2012-12-19 23:47:56 <gmaxwell> by definition a pruned blockchain is missing transactions whos outputs are consumed.
1399 2012-12-19 23:48:02 agricocb has joined
1400 2012-12-19 23:48:20 <Jouke> yes, why does mtgox need those?
1401 2012-12-19 23:48:56 <gmaxwell> to show history on imported keys. (or perhaps they don't do that?)
1402 2012-12-19 23:48:56 maaku has quit (Read error: Connection reset by peer)
1403 2012-12-19 23:49:15 maaku has joined
1404 2012-12-19 23:49:47 <Jouke> I don't think so. Afaik they only use the private key to directly create a transaction to a new address owned by mtgox.
1405 2012-12-19 23:50:11 dvide has quit ()
1406 2012-12-19 23:50:34 <gmaxwell> Ah. The other issue is that handling reorgs is much more complicated if your table is just utxo.
1407 2012-12-19 23:51:22 <Jouke> hmmm
1408 2012-12-19 23:52:09 <gmaxwell> I pay you.. then you spend that coin.. so its out of the utxo set.. then there is a reorg.. and the txn never existed, and you need to lower my balance (or totally freeze my account)
1409 2012-12-19 23:52:40 <gmaxwell> not insoluable but it moves more of the bitcoin corner cases into the visibility of the application.
1410 2012-12-19 23:53:27 <Jouke> Contemplating a lot of bitcoinJwallets again.
1411 2012-12-19 23:55:04 <gmaxwell> whatever you're building you should plan on throwing it out and doing it over again once you're successful and know what you really need.
1412 2012-12-19 23:55:19 <gmaxwell> I'd optimize for minimizing effort and avoiding having to touch bitcoin corner cases.
1413 2012-12-19 23:55:33 <gmaxwell> and less for scale. Scale is a good problem to have.
1414 2012-12-19 23:55:52 DutchBrat has quit (Read error: Connection reset by peer)
1415 2012-12-19 23:56:34 <gmaxwell> I've previously run bitcoind with all transactions on the network in my wallet.  I should try that again.. bet it's a bit more explody now. :P
1416 2012-12-19 23:58:30 <Jouke> If only the satoshiclient was able to reuse the blockchainfiles. I would just have a bitcoind instance for every customer