User:Genjix/Meetings/3 Jan 2012

From Bitcoin Wiki
Revision as of 22:44, 14 March 2015 by Taras (talk | contribs) (Taras moved page /3 Jan 2012 to Meetings/3 Jan 2012)
Jump to navigation Jump to search

Agenda:

  • OP_EVAL

Log:

20:55 < genjix> we still has 10 mins
20:55 < luke-jr> or better still, 7 Anuary 
20:55 < genjix> BlueMatt: good idea
20:55 <@gribble> New news from bitcoinrss: gavinandresen opened pull request 743 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/743>
20:55 < sipa> what's wrong with you people? just use 0x4D2238D0
20:55 < gavinandresen> There's an RFC for dates... I think 3 Jan 2012  adheres to the standard
20:56 < luke-jr> 2012-01-03 does too
20:56 < genjix> hoooo lol i put 2011
20:56 < sipa> the first days of the next year actually belong to the previous one
20:56 < sipa> everybody knows that
20:57 < gavinandresen> I like eleven, but I don' t think I'll get away with dating my checks  34 Dec 2011
20:57 < luke-jr> :P
20:58 < genjix> so i guess there is no new OP_EVAL now
20:59 < genjix> instead there's a new script template which will be evaluated implicitly
20:59 < sipa> the magic hash script
20:59 < jrmithdobbs> gavinandresen: that rfc basically makes every known human date format "valid" and is a bitch
21:00 -!- diki [diki@46.40.126.253] has quit [Ping timeout: 276 seconds]
21:00 < sipa> fine; meating time?
21:00  * BlueMatt still thinks we should add a flagging OP_NOP1 to the front
21:00 < sipa> meeting!
21:00 < phantomcircuit> gavinandresen, there are several RFCs for dates
21:00 < gavinandresen> mmmm, meat
21:00 < genjix> yep
21:00 < sipa> i definitely wouldn't mind an OP_NOP1 in front
21:01 < gavinandresen> I'm firmly against putting an extra byte in front.
21:01 < genjix> i would like an OP_NOP1 too if simply for the future when things become muddled.
21:01 < justmoon> I'm against adding an extra byte and using up OP_NOP1 for no good reason
21:01 < gavinandresen> ... but is that the first item on the agenda?  Is there an agenda?
21:01 < justmoon> if you mean that script add OP_NOP to the front
21:01 < genjix> the python mantra: in the face of ambiguity, avoid the temptation to guess
21:01 < justmoon> i.e. if you *don't* want code replacement to happen
21:02 < justmoon> add OP_NOP
21:02 < sipa> justmoon: it's not using up; OP_NOP1 can still be used to signify other "special" scripts later
21:02 < genjix> OP_NOP1 = this script, OP_NOP1 OP_NOP1 = another script, ...
21:02 < justmoon> sipa: well, I'm trying to use the logic of the people who are in favor of the OP_NOP1
21:03 < justmoon> sipa: i.e. that people are going to want to actually use some awkward script you should never use in practice
21:03 < sipa> justmoon: i don't like giving a special meaning to an otherwise ordinary and perfectly valid script
21:03 < justmoon> sipa: I don't like adding a byte purely to make you happy
21:03 < sipa> fair point
21:03 < genjix> yeah there's also the issue of blockchain bloat
21:04 < luke-jr> I don't think scripts should be special-cased.
21:04 < gavinandresen> I don't like adding extra rules to the BIP that say what happens if the first byte is OP_NOP1 and the next ones are NOT HASH <> EQUAL
21:04 < genjix> and then what gavin said about extra rules
21:04 -!- Carmivore [~carmivmor@ec2-184-73-17-110.compute-1.amazonaws.com] has quit [Remote host closed the connection]
21:05 < genjix> ok, well i dont feel too strongly about having the byte. it would be nice. whatever.
21:05 < luke-jr> I prefer the original OP_EVAL.
21:05 < luke-jr> with recursion fixed.
21:05 < gavinandresen> I hate to bring it up.... but the byte could be in the scriptSig
21:06 < luke-jr> gavinandresen: so an attacker can just say "don't execute this" and bypass the whole thing?
21:06 < genjix> so you're saying that OP_DUP OP_HASH160 <> OP_EQUAL would be valid?
21:06 < genjix> what's to stop me spending that
21:06 < justmoon> o_O - I think gavin just means putting the OP_NOP1 marker byte somewhere else
21:06 < gavinandresen> luke-jr: you're right, that wouldn't work.  never mind
21:07 < genjix> what's the timescale for this last idea?
21:07 < genjix> because it is pretty good imo and is good enough
21:07 <@BlueMatt> who wants to volunteer to implement it?
21:07 < justmoon> genjix: two weeks delay compared to OP_EVAL
21:07 < genjix> and it's simple enough that there doesn't seem to be any problems
21:08 < sipa> i don't like "doesn't seem to be"
21:09 < justmoon> *crickets*
21:09 < genjix> well the other ideas all had nagging feelings for me
21:09 < gavinandresen> I implemented it yesterday, it is only about 20 lines of code to do the validation
21:09 < Eliel> how does the current version react to transactions with one of the reserved opcodes in them?
21:09 < genjix> but this one is nice it seems
21:09 < genjix> Eliel: well in bitcoin there are a bunch of OP_NOP... which are ignored
21:09 < Eliel> ah, ok, so those are the reserved ones.
21:09 < genjix> the idea was before to replace them, but now there won't be any new OPs introduced
21:10 < justmoon> gavinandresen: does EvalScript() need any modification at all for PayToScriptHash?
21:10 < gavinandresen> justmoon: no
21:10 < justmoon> yeah, so that's something I really like
21:10 < gavinandresen> justmoon: It is all done a level higher, in VerifyScript
21:10 < justmoon> exactly
21:10 < gmaxwell> meh, byte bloat.
21:10 < genjix> so the old transaction was DUP HASH160 <pubkey hash> EQUALVERIFY CHECKSIG : <sig> <pubkey>.
21:10 -!- Carmivore [~carmivmor@ec2-50-16-157-158.compute-1.amazonaws.com] has joined #bitcoin-dev
21:10 < genjix> the new one is like:
21:11 < Eliel> I'd personally favor redefining one of the NOPS but that wouldn't be backwards compatible I guess. perhaps have this hackiness be temporary measure so you can cut out even more bytes in the future once all clients have support?
21:11 <@BlueMatt> gavinandresen: oh, is there a pull?
21:11 < genjix> DUP HASH160 <hash of code> EQUAL : <sig> <<pubkey hash> CHECKSIG>
21:11 < gavinandresen> BlueMatt: no pull yet, still testing/polishing.  And waiting for the results of this meeting
21:12 < gavinandresen> genjix:  No, new would be:    HASH160 <> EQUAL
21:12 < genjix> and the client sees the output script and understands implicitly to execute the top stack item at the end or start
21:12 <@BlueMatt> so, what, do we vote on if we are all good with this solution?
21:12 < gavinandresen> (no need to DUP)
21:12 < genjix> ok
21:12 < luke-jr> what is the current spec we're discussing?
21:12 < sipa> magic hash script
21:12 < sipa> or how is it called?
21:12 < luke-jr> so exactly the worst possible option
21:12 < luke-jr> ?
21:12 < genjix> magic hash script will do :p
21:12 < justmoon> sipa: PayToScriptHash
21:13 <@BlueMatt> (for the record /me is lagging by anywhere from 10 to 60 sec, so dont expect responses...)
21:13 -!- coblee [~coblee@173-167-113-73-sfba.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds]
21:14 < genjix> i think the only checks done during block validation which regard the scripts are the sig ops count
21:14 -!- spaola [~spaola@unaffiliated/ne0futur/bot/spaola] has quit [Quit: ne0futur]
21:14 -!- dvide [jack@87-194-145-96.bethere.co.uk] has quit [Ping timeout: 260 seconds]
21:14 -!- rjk2 [rjk@rjk.happy-customers.bitvps.com] has quit [Quit: Over and out]
21:15 < luke-jr> and what if i really want my data to be DATA and NOT a script?
21:15 <@BlueMatt> in the interest of time (since Id assume most people understand the current magic hash script idea pretty well) can we vote on using an OP_NOP1, and then vote on the final solution?
21:15 < justmoon> luke-jr: OP_NOP OP_HASH160 <> OP_EQUAL
21:15 < sipa> then don't place it in a place that is declared by the protocol to contain a script?
21:16 < genjix> eh i prefer not voting on dangerous issues.
21:16 < gavinandresen> luke-jr: or OP_RIPEMD160 <> OP_EQUAL
21:16 -!- spaola [~spaola@unaffiliated/ne0futur/bot/spaola] has joined #bitcoin-dev
21:16 < justmoon> luke-jr: or OP_HASH160 <> OP_EQUALVERIFY OP_1
21:16 < gmaxwell> genjix: likewise.
21:16 < luke-jr> and how about if I want to use a single SHA256 for the hash?
21:16 < justmoon> but I guess gavinandresen's way saves one byte ;)
21:17 < genjix> luke-jr: just put a NOP in there?
21:17 < luke-jr> no, I mean for a script
21:17 <@BlueMatt> luke-jr: so that you get regular-looking addresses
21:17 < sipa> i'm not too sure about hardcoding HASH160 as hash-function
21:17 < sipa> but i guess it's equally easy to extend it in the future if necessary
21:17 < justmoon> hmm
21:17 < genjix> wait
21:17 < luke-jr> OP_EVAL was far better than this ugly thing
21:18 < sipa> (note that secp256k1 only has 128 bits of security anyway)
21:18 < gavinandresen> Yeah, we're already in the HASH160 boat.
21:18 -!- dvide [jack@87-194-145-96.bethere.co.uk] has joined #bitcoin-dev
21:18 < genjix> why not define OP_X to be OP_HASH160 + ... + OP_EQUAL?
21:18 < genjix> OP_X ...
21:18 <@BlueMatt> if you dont hardcode hash function, you have to put hash function in addresses...
21:18 < genjix> OP_X <code hash>
21:18 < gmaxwell> I'm not super keen on the hardcoded hash either. But, meh.
21:18 -!- user__ [~user@201.86.150.60.dynamic.adsl.gvt.net.br] has joined #bitcoin-dev
21:18 < gmaxwell> BlueMatt: nah, the address can imply OP_HASH160 without putting it in the script.
21:18 < sipa> BlueMatt: no, the address type defines the function
21:18 < justmoon> sipa: that doesn't necessarily means it's weaker than RIPE160
21:18 < genjix> that would solve the extra rules, the ambiguity and wanting a marker byte
21:18 -!- ByteCoin [~ByteCoin@188-223-73-61.zone14.bethere.co.uk] has joined #bitcoin-dev
21:19 < genjix> it is a composition of operations
21:19 < gavinandresen> genjix: because having old clients half-validate the transaction is valuable.
21:19 < genjix> ah damn that's right
21:19 < gmaxwell> genjix: ++++
21:19 < gmaxwell> oh
21:19 < luke-jr> how about prepending the script data with <script version> and <hash type> ?
21:19 <@BlueMatt> sipa: yea, and youd have to change the address type...
21:19 < genjix> yeah i lost it there :p
21:19 < sipa> justmoon: no, indeed, but assuming RIPEMD160 + SHA256 is secure, you don't lose any of secp256k1's security by only using 160 bits
21:19 < justmoon> gavinandresen: I recently argued that half-validation really is no validation, so...
21:20 < gavinandresen> luke-jr: ... and while we're at it, lets change the standard DUP HASH160 <> EQUALVERIFY transaction too... NOT.
21:20 -!- b4epoche_ [~textual@dssl.mne.psu.edu] has joined #bitcoin-dev
21:20 < luke-jr> gavinandresen: I mean only for the eval'd scripts
21:21 < justmoon> sipa: right, it's the "assuming RIPEMD160 + SHA256 is secure" part that I wanted to point out
21:21 -!- b4epoche [~textual@dssl.mne.psu.edu] has quit [Ping timeout: 240 seconds]
21:21 -!- b4epoche_ is now known as b4epoche
21:22 < sipa> i have no problem with the current proposal as such, assuming we can still do some nice, more extensive script-tweaking by introducing a more complete OP_EVAL (with possibly changed script language inside) later
21:22 < sipa> however, i fear that will not happen at all then
21:22 < justmoon> sipa: why not?
21:22 < genjix> i think the script system is going to die
21:22 < sipa> there won't be any need
21:22 < genjix> why hasten the inevitable
21:22 < sipa> i hope it doesn't
21:22 < justmoon> sipa: I have no problem with having an OP_EVAL, just with having it be needed for the very basic use case of moving scripts to the scriptSig
21:22 < gavinandresen> sipa: I know of at least two mining pool operators who are excited about a better scripting system...
21:23 -!- diki [diki@46.40.126.253] has joined #bitcoin-dev
21:23 < sipa> good then
21:23 < gmaxwell> I also hope it doesn't. Script is one of the most mindblowing and exciting parts of the system.
21:23 < sipa> exactly
21:23 < sipa> (and underexplored)
21:23 < luke-jr> special-casing a specific template = fail
21:24 < justmoon> more than not die I'm hoping that one day you'll be able to use it on the p2p network
21:24 < genjix> yeah lol
21:24 < gmaxwell> In order to grow bitcoin we need a big tent, too. And scripts make our tent bigger.
21:24 < gavinandresen> Agreed, but I also agree with roconnor-- nobody fully understands it  (CODESEPARATOR has to have a use... right?  right?)
21:24 < genjix> @luke-jr
21:24 -!- BlueMatt [~matt@unaffiliated/bluematt] has quit [Ping timeout: 252 seconds]
21:24 < gmaxwell> gavinandresen: thats why I'm not currently opposed to IsStandard... dampens down the scarriest stuff.
21:25 < groffer> is the question of eliminating IsStandard off topic for this meeting?
21:25 < genjix> no way lol
21:25 < justmoon> gmaxwell: there are ways to slowly expand IsStandard, that was my main argument for static analyzability
21:25 < gavinandresen> I had a couple of other things on my agenda:  first, what to do with BIP 12.  Outdate/rewrite, or update?
21:26 < genjix> might be good for hisotorical purposes to keep it around
21:26 < luke-jr> gavinandresen: BIP 12 is fine IMO
21:26 < sipa> if we eliminate it, the only reasonable way is in steps... first incresasing number of scripts, maybe later have a list of safe instructions that are always permitted, then ...
21:26 < genjix> but reject it
21:26 < sipa> i'd just add a new BIP
21:26 < genjix> sipa: how about a new script system that is phased in somehow
21:26 < gavinandresen> Rejecting and adding a new BIP sounds good to me, I can write it up.
21:27 < sipa> it's a different proposal altogether
21:27 < genjix> yep thats the way
21:27 < luke-jr> I gtg
21:27 < genjix> keep the old one for history
21:27 < luke-jr> hopefully there won't be a final decision made today - or at least not one that sucks
21:27 < luke-jr> bbl
21:28 < groffer> sipa: IsStandard is not applied to the blockchain itself
21:28 < groffer> it creates a false sense of security
21:28 < gavinandresen> Second, I think we should think about rules for counting CHECKMULTISIG sigOps when the CHECKMULTISIG is 'hidden' inside the scriptSig
21:28 < gmaxwell> groffer: It makes any 'attack' involving funky txn costly.
21:29 -!- BlueMatt [~matt@unaffiliated/bluematt] has joined #bitcoin-dev
21:29 -!- mode/#bitcoin-dev [+o BlueMatt] by ChanServ
21:29 < gmaxwell> groffer: in practice it's effective. I don't think anyone here thinks isstandard protects us from outright vulnerabilties.
21:29 -!- chrisb__ [~chrisb__@host86-164-166-37.range86-164.btcentralplus.com] has joined #bitcoin-dev
21:29 < groffer> gmaxwell: just pass the !IsStandard txns to eligius - they will mine it
21:29 < gmaxwell> groffer: rather it lets us discover "opps, add really subtracts, lets fix that because it's unused"
21:29 < MC1984> so this is where the real action is
21:29 < gmaxwell> groffer: no, not really. They'll mine some of them, sometimes, maybe.
21:30 < justmoon> gavinandresen: I liked your proposal from the other day, count OP_1 - OP_16 followed by OP_CHECKMULTISIG as such and a lone OP_CHECKMULTISIG as 20
21:30 < gavinandresen> justmoon: great, I'll make that part of the BIP  (and will have to write that code...)
21:30 < sipa> justmoon: is that backward compatible?
21:31 < sipa> it makes things that were illegal legal
21:31 < justmoon> sipa: yes, as long as it applies only to the script literal
21:31 < sipa> in that case, agree
21:31 < gavinandresen> Yes, and it will have to be enforced only after the "full validation switchover" date.
21:31 < gavinandresen> Which was my other agenda item:  how much to slip the rollout?
21:31 -!- nhodges [u3985@gateway/web/irccloud.com/x-ygihttxbcrrqgiaa] has joined #bitcoin-dev
21:32 < CIA-100> bips: genjix master * r7c1296b / bip-0012.md : BIP0012: Accepted -> Withdrawn. To be replaced by new proposal. - http://git.io/Zym2Pw https://github.com/genjix/bips/commit/7c1296b7b62b5a9c09668e1fd66817596d91e6d3
21:32 < justmoon> gavinandresen: don't slip it at all, live dangerously!
21:32 < justmoon> I kid I kid
21:32 < gavinandresen> I'm proposing two weeks, so we look at the blockchain on Feb 1 for miner support, and, assuming 50+% support, rollout Feb 15
21:32 < genjix> sounds good
21:32 < sipa> what % do we require?
21:32 < sipa> 60%, 70% ?
21:32 < genjix> 50.01% :)
21:32 < gavinandresen> Good question.  Eleven is my favorite number.... so 61% ?
21:33 < justmoon> the bitcoin paper says 51% will do the job pretty quickly, doesn't it?
21:33 < genjix> haha
21:33 < gavinandresen> Oooh, yeah, 50.11%
21:33 < genjix> XD
21:33 < sipa> not too close to 50%...
21:33 < justmoon> gavinandresen: I really thought your favorite number would be 12 now
21:33 -!- baz [~barry@109.144.226.199] has joined #bitcoin-dev
21:33 < gavinandresen> blasphemy
21:34 < justmoon> but that question was serious - do we care about 51% vs 70%?
21:34 < roconnor> I propose two months; also how specifically are you going to measure support and what will your sampling error be?
21:34 < justmoon> I guess the measurement isn't perfectly accurate
21:34 < genjix> roconnor: ask miners to put a string in their coinbase as a vote
21:34 < gavinandresen> roconnor: I'll be asking the miners to put a string in their coinbase transactions
21:35 < justmoon> I agree with roconnor as a developer but would like to distance myself from his position for political reasons (i.e. not being lynched)
21:35 < gavinandresen> roconnor: ... and I've got a tool that tells me how many of the previous N blocks had a given string.
21:35 < justmoon> two weeks sounds ok to me
21:35 < roconnor> gavinandresen: and the N you plan to use is?
21:36 < gavinandresen> roconnor: about 24 hours.  But I'll take a look at 24, 48, and maybe more, just to see variance
21:36 < genjix> lets say 80% confidence
21:36 < genjix> so i guess 1.5 sigma?
21:36 < gmaxwell> genjix: it should be something like x% confidence on y% with y picked so that we don't reduce 6 confirms to less than 5 confirms security.
21:36 < sipa> ;;bc,help
21:36 <@gribble> Alias bc,24hprc, Alias bc,altprofit, Alias bc,avgprc, Alias bc,bcm, Alias bc,bitpenny, Alias bc,blockdiff, Alias bc,blocks, Alias bc,bounty, Alias bc,btceur, Alias bc,btcgbp, Alias bc,btcguild, Alias bc,btcrub, Alias bc,btcto, Alias bc,calc, Alias bc,calcd, Alias bc,channels, Alias bc,convert, Alias bc,deepbit, Alias bc,diff, Alias bc,diffchange, Alias bc,eligius, Alias bc,estimate, Alias (2 more messages)
21:36 < MC1984> this al sounds so hacky teehee
21:36 < sipa> ;;bc,diffchange
21:36 <@gribble> Estimated percent change in difficulty this period | 4.69534022467 % based on data since last change | 8.01215569553 % based on data for last three days
21:36 < genjix> yeah maybe hypothesis testing is better here
21:37 < gmaxwell> MC1984: thats because almost any criteria is acceptable.
21:37 < sipa> ;;bc,stats
21:37 <@gribble> Current Blocks: 160487 | Current Difficulty: 1159929.4972244 | Next Difficulty At Block: 161279 | Next Difficulty In: 792 blocks | Next Difficulty In About: 5 days, 7 hours, 9 minutes, and 36 seconds | Next Difficulty Estimate: 1214392.13348545 | Estimated Percent Change: 4.69534022467
21:37 -!- jon_corzine [48c67aa6@gateway/web/freenode/ip.72.198.122.166] has joined #bitcoin-dev
21:37 < gavinandresen> Can we assign one of you to figure out what x and y aught to be?
21:37 -!- larg78 [~bender32@184-99-167-125.tcso.qwest.net] has joined #bitcoin-dev
21:37 < genjix> sure we can do that
21:37 < sipa> gavinandresen: what about using an entire 2016-wide list of blocks
21:37 < genjix> however it comes down to what amount of blocks come from which sources
21:38 < genjix> i'm guessing mining pools are the majority of blocks
21:38 < genjix> so it doesnt matter too much.
21:38 < sipa> let's say from the 3rd to the 4th difficulty change from now
21:38 < genjix> so the variance isnt going to be huge in sampling rates
21:38 < genjix> because we have a large sample for a small population
21:39 < LightRider> I'm getting a large number of log files in bitcoin/database is that normal?
21:39 < gavinandresen> LightRider: yes, they'll get cleaned up if you restart
21:39 <@BlueMatt> LightRider: yes, patches welcome
21:39 < LightRider> ok thanks
21:40 < gmaxwell> sipa: one option is to use a criteria similar to one we might use if we were making this automatic.
21:40 < genjix> BlueMatt: you want the log files kept. they are from WAL
21:40 <@BlueMatt> genjix: yea, but you want to limit the log files after stuff has been committed (takes too much disk during initial download)
21:42 < genjix> if the new standard is documented then thats good
21:42 < genjix> and the documentation is the code
21:43 < genjix> reading the code helped me understand bitcoin, not forum or wiki posts because they can be ambiguous or unclear
21:43 < ByteCoin> I'd like to point out an apparent inconsistency in the decisionmaking over the functionality enabled by OP_EVAL. Casascius' original proposal changed the way in which OP_CHECKSIG worked in a roughly analogous fashion to what Gavin is suggesting now. The proposal was rejected in favour of OP_EVAL at the time which was seen to be "cleaner".
21:44 < sipa> yes, the current proposal is ugly, no doubt about it
21:44 < sipa> the magic hash, i mean
21:44 < genjix> yeah well whoever writes the BIP or code, gets to set the standard
21:44 < ByteCoin> So why is the current "magic hash" proposal in danger of being adopted while Casascius' was rejected?
21:45 < gmaxwell> This is still a general mechensism for pay to script if less general than OP_EVAL.
21:45 < justmoon> it's ugly because of being backwards compatible - arguably the txout should have contained a hash of the script to begin with
21:45 < justmoon> and then instead of scriptPubKey we would have right now a nHashType and scriptPubKeyHash
21:45 < gmaxwell> where IIRC Casascius' was not pay to script.. it was pay to a hashes of address sets which is _far_ less general.
21:45  * BlueMatt takes this opportunity to point out that with an OP_NOP1, it becomes 100% less ugly
21:45 < justmoon> which is what the new proposal is
21:45 < genjix> imagine in the future if the input eval-script was a new custom script system in bitcoin
21:46 < gmaxwell> justmoon: right, I think we should have always been pure pay to script(-hash).
21:46 < ByteCoin> I agree too.
21:47 < justmoon> so that's how i see this proposal - maybe future documentations won't even think of the scriptPubKey as a script anymore
21:47 < genjix> yeah i mean all that junk with hash type would not be needed
21:47 < justmoon> as such I don't think it's "ugly" just cause it's "magic"
21:47 < justmoon> anyway
21:47 < gmaxwell> (and I think a year or so for now I may find myself calling for miners to stop mining any new pay-to-address outputs, depending how addoption goes)
21:47 < genjix> the bitcoin standard is on its path to becoming complicated and obtuse
21:48 < genjix> gogogo
21:48 < gmaxwell> genjix: as are all production systems. There are worse fates. :)
21:48 < genjix> it's inevitable
21:48 < sipa> there is a certain truth there
21:49 < sipa> we do not lose anything by adooting the current proposal for basically everything
21:49 < sipa> except 23 bytes
21:49 < genjix> well it's good *right now*
21:49 < justmoon> sipa: how do we lose 23 bytes?
21:49 < genjix> but 100 small paper-cuts
21:50 < gmaxwell> justmoon: it's like losing 10 pounds.
21:50 < sipa> justmoon: that is assuming you just put the script in scriptSig, and use the magic hash script in the scriptPubKey
21:50 < sipa> you can do optimizations of course, as you don't need the address anymore, but can do a pay-to-pubkey directly
21:51 < roconnor> how many bytes fit in a typical QR-code or whatever 2-D bar code is popular?
21:51 < gavinandresen> Speaking of old, crufty stuff we'd like to get rid of... anybody want to start an informational BIP to keep track of changes we want to make if/when a 'hard' blockchain split is scheduled?
21:51 < justmoon> roconnor: depends on the size
21:51 < genjix> gavinandresen: maybe an informal list is better
21:51 < genjix> then when it comes we make a proper BIP
21:51 < roconnor> justmoon: naturally
21:51 < justmoon> roconnor: the absolute max is like 4k or so, but those guys are HUGE
21:51 < genjix> what do you think?
21:51 < justmoon> or even more if you lower the error correction level
21:52 < justmoon> (don't quote me, speaking from memory)
21:52 < justmoon> http://www.denso-wave.com/qrcode/vertable4-e.html
21:52 < justmoon> there you can see the tables for the largest ones
21:52 < gavinandresen> genjix: ok.  I just fear that if it is a wiki page we'll be constantly removing "I want my bitcoin client to clean my room for me" -type features
21:52 < justmoon> 23k is absolute max
21:53 < genjix> ok lets see what happens. if it gets bad, ill lock the page
21:53 < sipa> justmoon: 23k in a QR code? no way
21:53 < roconnor> what I don't quite get is why, if people want send-to-script, don't people just send to script?
21:53 < justmoon> sipa: that's bits, but yes
21:53 < Eliel> could the proposal also include support for only having the hash in txout, no opcodes at all? To be enabled once significant majority of users have migrated.
21:53 < genjix> https://en.bitcoin.it/wiki/Hardfork_Wishlist
21:54 < genjix> Eliel: not backwards compatible
21:54 < gmaxwell> ByteCoin: where is your post on flipping the chanin direction to instead approve trees of open txn?
21:54 < Eliel> genjix: hence, won't be enabled until significant majority of users are compatible.
21:54 < genjix> ok thats a hard change
21:54 < jim618> justmoon: Andreas Schildbach did some work on having tx as QR codes - said he started having scanning problems above about 1KB
21:54 <@nanotube> <roconnor> I propose two months... <- i would agree that more time rather than less time is better. we don't lose anything by leaving more time for eyes to look at things and point out the stupid stuff.
21:55 < ByteCoin> gmaxwell: On the forum probably titled "Most of the block chain can be forgotten"
21:55 <@BlueMatt> gavinandresen: about 1 in 10 times when compiled with DEBUG_LOCKORDER you get a boost::interprocess::lock_exception on exit (last log line is DBFlush(true), so I dont think it matters, just thought Id tell you)
21:55 < justmoon> jim618: yeah, doesn't surprise me
21:55 < sipa> nanotube: the question is whether we will look at it for longer, if it is two months instead of two weeks
21:55 < justmoon> jim618: you need like a Canan 7D or something to scan one of those big ones :D
21:55 < genjix> ok so lets call the meeting "officially" finished in case people wanna leave :p
21:55 < justmoon> Canon*
21:56 <@BlueMatt> genjix: did we get anything done?
21:56 < roconnor> sipa: 2 months worked for debugging OP_EVAL ;)
21:56 < justmoon> yeah, let's recap decisions made
21:56 < ByteCoin> gmaxwell: Alternatively it might be titled "Balance sheets"
21:56 <@nanotube> sipa: yes, and i was basically voting for 2 months, rather than 2 weeks. :)
21:56 < justmoon> (if any)