--- Day changed Sun Oct 04 2015 01:18 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has joined #bitcoin-core-dev 01:36 -!- n0n0_ [~n0n0@x4d066f08.dyn.telefonica.de] has joined #bitcoin-core-dev 02:12 -!- BashCo_ [~BashCo@unaffiliated/bashco] has quit [Remote host closed the connection] 02:28 -!- adam3us [~Adium@195.138.228.14] has quit [Quit: Leaving.] 02:31 -!- adam3us [~Adium@109.200.48.141] has joined #bitcoin-core-dev 02:51 -!- NLNico [~NLNico@unaffiliated/nlnico] has joined #bitcoin-core-dev 04:09 < sipa> phantomcircuit: no, that can't happen with the block index afaik, as the flushing and pruning logic are aware of each other 04:10 < sipa> phantomcircuit: but for the wallet... i guess that's possible 04:32 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has quit [Quit: Leaving.] 04:43 -!- belcher_ [~user@unaffiliated/belcher] has joined #bitcoin-core-dev 04:58 -!- paveljanik [~paveljani@79-98-72-216.sys-data.com] has joined #bitcoin-core-dev 04:58 -!- paveljanik [~paveljani@79-98-72-216.sys-data.com] has quit [Changing host] 04:58 -!- paveljanik [~paveljani@unaffiliated/paveljanik] has joined #bitcoin-core-dev 05:22 -!- dcousens [~anon@c110-22-219-15.sunsh4.vic.optusnet.com.au] has joined #bitcoin-core-dev 05:26 < morcos> phantomcircuit: sipa: yeah wumpus and i went through the block index / pruning logic a week or so ago, and it is a tiny bit scary, but it works. i promised him i'd write it up in an issue, its still on my to do list. we'll check into the wallet 05:27 < morcos> actually i guess for the block index, is more about just commenting the code as to why it works, so no one changes it 05:27 < CodeShark> after the 0.12 release, I propose we work towards breaking out headers sync as the first part of modularizing and encapsulating the consensus code :) 05:27 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has joined #bitcoin-core-dev 05:28 < CodeShark> we should have a standalone module that can do a headers sync and provide query and subscription services 05:31 < CodeShark> not necessarily even as a standalone library - just a unit that can be built along with a simple demo app that only uses stable dependencies 05:34 < CodeShark> I had designed such an interface but it can probably be done even better: https://github.com/ciphrex/mSIGNA/blob/master/deps/CoinQ/src/CoinQ_blocks.h#L79 05:35 < CodeShark> all the protocol rule changes (including versionbits) can naturally be fit into this 05:42 < CodeShark> I'll write up a more detailed document if enough people seem sufficiently interested to make this worthwhile pursuing and encourage anyone to join in 05:43 < sipa> CodeShark: synchronization is very different from consensus :) 05:43 < CodeShark> this obviously needs to be done in coordination with all our other refactoring efforts 05:43 < CodeShark> sipa, I should clarify... 05:43 < CodeShark> I meant block header consensus - this example I'm sharing has no networking code 05:44 < CodeShark> it allows you to insert block headers (that can come from any source) and it can validate PoW, timestamp, and version 05:45 < CodeShark> and can allow clients to subscribe to signals for events...and we can plug in modules for doing more verification with actual block data 05:46 < CodeShark> then we'll have total flexibility - we can do headers-only sync...or we can do full validation...or anything in between 05:46 < sipa> CodeShark: i've suggested something similar, by moving full validation to a separate module with its own state 05:47 < randy-waterhouse> a hybrid node 05:47 < sipa> which uses the main signals to trigger full validation 05:47 < CodeShark> yeah, I think it's the way to go 05:49 < sipa> i think my point is that that interface already exists 05:49 < sipa> and we should reuse it 05:49 < CodeShark> can I see it? 05:49 < sipa> but rather than extract header validation from it 05:50 < sipa> move full validation out of it 05:50 < sipa> eh, look at main.h, there is a signals interface 05:52 < sipa> though i'd start with the wallet 05:52 < sipa> allow it to have its own "active block", which can be different from that of main 05:53 < sipa> ot only subscribes to updatetip events, and then requests the block data asynchronously to sync 05:53 < sipa> full validation can work the same way, but needs a slightly more featureful interface, where it can mark a block as invalid 05:54 < sipa> CodeShark: also, i disagree with moving more logic into basic data structure classes 05:55 < sipa> we've been moving the opposite direction mostly, because it really interferes with modularization 05:55 < CodeShark> well, it doesn't have to be implemented in the interface classes - we can either use templates or inheritance or something ;) 05:55 < sipa> bleh, even uglier 05:55 < CodeShark> or delegation 05:55 < CodeShark> why uglier? 05:56 < sipa> let me give an example to elaborate, so we're talking about the same thing 05:56 < sipa> imagine ctransaction had a sign function 05:56 < sipa> sounds awesome, very useful and elegant 05:56 < CodeShark> oh, that's not what I'm saying at all!!! 05:56 < CodeShark> I actually think that's hideous 05:57 < sipa> you were saying the block should have a function to ask what bips apply to it 05:57 < CodeShark> CTransaction should just contain the transaction data in a way that's easily accessible by the app and provide serialization 05:57 < sipa> i think that's very similar 05:57 < sipa> ok, we agree there 05:59 < CodeShark> regarding asking what bips apply, we need to maintain an index for this...so it seems like it would be convenient to have the same entrypoints we use to grab other block header info...but there are several alternatives to this 06:00 < CodeShark> and in fact, it makes sense to NOT build this logic into the core header consensus stuff 06:00 < CodeShark> at least not directly 06:00 < sipa> good :) 06:01 < CodeShark> I'd even leave room for flexibility on PoW and timestamp verification :) 06:03 < CodeShark> and if we want to go further, we can even make the header structure itself abstract 06:03 < CodeShark> the key structural element at this level is the notion of a block header tree 06:04 < CodeShark> which branch is "active" and the rules we apply to connect new headers needn't be specified at this level 06:06 < CodeShark> this stuff can be provided by a number of different mechanisms 06:07 < sipa> it makes more sense to do a writeup together with some minimal idea for code changes then talk here 06:08 < sipa> irc is good for discussion, but not really for monologue 06:08 < CodeShark> yeah :) 06:09 < CodeShark> so google docs? 06:10 < sipa> or issue 06:10 < sipa> or a branch 06:12 < CodeShark> I'd like to approach this from both directions, top-down and bottom up. I'd like to consider high level architectural stuff to set some goals...and then consider the practical implementation issues...and then put together a plan that can get us to our goals in incremental steps that are palatable 06:13 < sipa> so i prefer a high-level plan (without code) to show the intent, and then low-level changes that help get therr 06:13 < CodeShark> yes, absolutely agreed - the high-level plan should be much more about diagrams and ideas than about code 06:15 < CodeShark> we'll inevitably need to make some design decisions along the way that are largely determined by practical considerations...but our ultimate objectives should be clear 06:19 < CodeShark> moreover, we don't need to spell out all the individual steps up front - it is sufficient that we specify a few initial steps that, regardless of what we decide later, move us in the right direction 06:19 < CodeShark> but we should have a basic plan 06:21 -!- sipa [~pw@unaffiliated/sipa1024] has left #bitcoin-core-dev [] 06:21 < CodeShark> ? 07:30 -!- NLNico [~NLNico@unaffiliated/nlnico] has quit [Quit: Leaving] 08:51 -!- CodeShark [~CodeShark@cpe-76-167-237-202.san.res.rr.com] has quit [] 08:51 -!- CodeShark_ is now known as CodeShark 09:10 -!- n0n0__ [~n0n0@x4d067290.dyn.telefonica.de] has joined #bitcoin-core-dev 09:13 -!- n0n0_ [~n0n0@x4d066f08.dyn.telefonica.de] has quit [Ping timeout: 250 seconds] 10:05 -!- pigeons [~pigeons@94.242.209.214] has quit [Ping timeout: 244 seconds] 10:12 -!- BashCo [~BashCo@unaffiliated/bashco] has joined #bitcoin-core-dev 10:27 -!- BashCo [~BashCo@unaffiliated/bashco] has quit [Remote host closed the connection] 10:35 -!- pigeons [~pigeons@94.242.209.214] has joined #bitcoin-core-dev 10:35 -!- pigeons is now known as Guest22695 11:07 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has quit [Ping timeout: 272 seconds] 11:32 -!- ParadoxSpiral_ [~ParadoxSp@p508B95A3.dip0.t-ipconnect.de] has joined #bitcoin-core-dev 11:35 -!- ParadoxSpiral [~ParadoxSp@p508B9429.dip0.t-ipconnect.de] has quit [Ping timeout: 250 seconds] 11:52 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has joined #bitcoin-core-dev 12:07 -!- jl2012 [~jl2012@unaffiliated/jl2012] has joined #bitcoin-core-dev 12:09 < GitHub106> [bitcoin] jgarzik pushed 1 new commit to master: https://github.com/bitcoin/bitcoin/commit/3ab3de8ba1a63d5ec0f97ae12e660d9730c60156 12:09 < GitHub106> bitcoin/master 3ab3de8 Jeff Garzik: qa/pull-tester/rpc-tests.py: chmod 0755... 12:24 -!- jl2012 [~jl2012@unaffiliated/jl2012] has quit [Read error: Connection reset by peer] 12:25 -!- jl2012 [~jl2012@unaffiliated/jl2012] has joined #bitcoin-core-dev 12:25 -!- gribble [~gribble@unaffiliated/nanotube/bot/gribble] has quit [Disconnected by services] 12:26 -!- Anduck_ [~anduck@unaffiliated/anduck] has joined #bitcoin-core-dev 12:26 -!- GAit_Alt [~GAit@2-228-102-100.ip191.fastwebnet.it] has joined #bitcoin-core-dev 12:27 -!- stonecoldpat1 [~a9380004@janus-nat-128-240-225-56.ncl.ac.uk] has joined #bitcoin-core-dev 12:28 -!- Guest1235 [~ubuntu@ec2-52-0-91-57.compute-1.amazonaws.com] has joined #bitcoin-core-dev 12:29 -!- aj_ [aj@cerulean.erisian.com.au] has joined #bitcoin-core-dev 12:29 -!- grubles_ [~grubles@coin.pizza] has joined #bitcoin-core-dev 12:29 -!- grubles_ is now known as Guest78185 12:30 -!- baldur_ [~baldur@pool-173-52-43-219.nycmny.fios.verizon.net] has joined #bitcoin-core-dev 12:30 -!- GAit [~GAit@2-228-102-100.ip191.fastwebnet.it] has quit [Ping timeout: 260 seconds] 12:30 -!- challisto [~challisto@unaffiliated/challisto] has quit [Ping timeout: 260 seconds] 12:30 -!- evoskuil [~evoskuil@c-73-225-134-208.hsd1.wa.comcast.net] has quit [Ping timeout: 260 seconds] 12:30 -!- baldur [~baldur@pool-173-52-43-219.nycmny.fios.verizon.net] has quit [Ping timeout: 260 seconds] 12:30 -!- isis [~isis@abulafia.patternsinthevoid.net] has quit [Ping timeout: 260 seconds] 12:30 -!- grubles [~grubles@unaffiliated/grubles] has quit [Ping timeout: 260 seconds] 12:30 -!- evoskuil [~evoskuil@73.225.134.208] has joined #bitcoin-core-dev 12:30 -!- GAit_Alt is now known as GAit 12:30 -!- challisto [~challisto@unaffiliated/challisto] has joined #bitcoin-core-dev 12:31 -!- GAit is now known as Guest11115 12:32 -!- Anduck [~anduck@unaffiliated/anduck] has quit [Ping timeout: 240 seconds] 12:32 -!- aj [aj@cerulean.erisian.com.au] has quit [Ping timeout: 240 seconds] 12:32 -!- stonecoldpat [~a9380004@janus-nat-128-240-225-56.ncl.ac.uk] has quit [Read error: Connection reset by peer] 12:32 -!- Guest1234 [~ubuntu@ec2-52-0-91-57.compute-1.amazonaws.com] has quit [Ping timeout: 240 seconds] 12:34 -!- isis [~isis@abulafia.patternsinthevoid.net] has joined #bitcoin-core-dev 12:35 -!- gribble [~gribble@unaffiliated/nanotube/bot/gribble] has joined #bitcoin-core-dev 12:39 -!- Guest78185 is now known as grubles 12:39 -!- grubles [~grubles@coin.pizza] has quit [Changing host] 12:39 -!- grubles [~grubles@unaffiliated/grubles] has joined #bitcoin-core-dev 12:44 -!- grubles [~grubles@unaffiliated/grubles] has quit [Quit: leaving] 13:15 -!- gribble [~gribble@unaffiliated/nanotube/bot/gribble] has quit [Read error: Connection reset by peer] 13:16 -!- adam3us1 [~Adium@195.138.228.78] has joined #bitcoin-core-dev 13:18 < gmaxwell> If we're going to backport BIP65 to 0.8 we should also apply lowS signatures there, (a28fb70e45d764e558966ba3b02bd16e02b11c14 from 0.9). 13:18 -!- adam3us [~Adium@109.200.48.141] has quit [Ping timeout: 255 seconds] 13:30 -!- gribble [~gribble@unaffiliated/nanotube/bot/gribble] has joined #bitcoin-core-dev 13:36 < btcdrak> are there any miners on 0.8? 13:36 < gmaxwell> who knows? 13:40 -!- Anduck_ is now known as Anduck 13:50 -!- ParadoxSpiral_ [~ParadoxSp@p508B95A3.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 14:03 -!- randy-waterhouse [~kiwigb@opentransactions/dev/randy-waterhouse] has quit [Quit: Leaving.] 14:39 -!- n0n0__ [~n0n0@x4d067290.dyn.telefonica.de] has quit [Ping timeout: 272 seconds] 15:27 -!- dcousens [~anon@c110-22-219-15.sunsh4.vic.optusnet.com.au] has quit [Remote host closed the connection] 15:35 -!- fkhan [weechat@gateway/vpn/mullvad/x-sctfgutvdtvqpuex] has quit [Read error: Connection reset by peer] 15:54 -!- fkhan [weechat@gateway/vpn/mullvad/x-gprnhghujoehtoec] has joined #bitcoin-core-dev 16:29 < maaku> one would hope not, but one should not operate based on hope 16:29 -!- CodeShark [~androirc@cpe-76-167-237-202.san.res.rr.com] has quit [Read error: Connection reset by peer] 16:56 -!- CodeShark [~androirc@cpe-76-167-237-202.san.res.rr.com] has joined #bitcoin-core-dev 16:59 < Luke-Jr> I think we moved the last 0.8 miners off it during the BIP66/OpenSSL fiasco 16:59 < Luke-Jr> although we never quite figured out why their 0.8 was mining the problematic txns 17:15 -!- CodeShark is now known as CodeShark_ 17:15 -!- CodeShark [CodeShark@cpe-76-167-237-202.san.res.rr.com] has joined #bitcoin-core-dev 17:33 -!- dcousens [~anon@c110-22-219-15.sunsh4.vic.optusnet.com.au] has joined #bitcoin-core-dev 18:20 -!- CodeShark [CodeShark@cpe-76-167-237-202.san.res.rr.com] has quit [] 18:21 -!- CodeShark_ is now known as CodeShark 18:21 -!- belcher_ [~user@unaffiliated/belcher] has quit [Quit: Leaving] 18:34 -!- droark [~droark@caraway.whatbox.ca] has joined #bitcoin-core-dev 19:51 -!- Guest22695 is now known as pigeons 20:14 -!- CodeShark is now known as CodeShark_ 20:14 -!- CodeShark [CodeShark@cpe-76-167-237-202.san.res.rr.com] has joined #bitcoin-core-dev 20:35 -!- tripleslash_e is now known as tripleslash 20:44 -!- challisto [~challisto@unaffiliated/challisto] has quit [Quit: Leaving] 21:05 -!- challisto [~challisto@unaffiliated/challisto] has joined #bitcoin-core-dev 22:59 -!- aj_ is now known as aj 23:20 < gmaxwell> Luke-Jr: we know why that miner was problematic, they disabled script validation. 23:20 < Luke-Jr> gmaxwell: was that confirmed? 23:20 < Luke-Jr> afaik it was just speculated.. 23:22 < gmaxwell> I confirmed it. 23:22 < Luke-Jr> interesting.