--- Day changed Sat Dec 23 2017 03:11 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 04:40 -!- coins123 [~coins123@37.176.90.30] has joined #joinmarket 04:40 -!- coins123 [~coins123@37.176.90.30] has quit [Changing host] 04:40 -!- coins123 [~coins123@unaffiliated/coins123] has joined #joinmarket 04:44 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 264 seconds] 04:51 -!- belcher_ [~belcher@unaffiliated/belcher] has joined #joinmarket 04:52 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 04:52 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 256 seconds] 05:21 -!- coins123 [~coins123@unaffiliated/coins123] has quit [Remote host closed the connection] 05:58 -!- undeath [~undeath@unaffiliated/undeath] has joined #joinmarket 07:23 -!- Giszmo [~leo@pc-204-28-214-201.cm.vtr.net] has joined #joinmarket 07:41 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has joined #joinmarket 08:35 -!- coins123 [~coins123@2.43.211.59] has joined #joinmarket 08:35 -!- coins123 [~coins123@2.43.211.59] has quit [Changing host] 08:35 -!- coins123 [~coins123@unaffiliated/coins123] has joined #joinmarket 10:02 < waxwing> after another prod on reddit, i'm working on bech32 destination addresses 10:03 < waxwing> kinda halfway along with python3, but decided to do that ^ first 10:03 < belcher_> ty, i was thinking about that too 10:07 < waxwing> wow bitflyer's transaction display on their blockexplorer is kinda magnificent 10:07 < waxwing> color coded scripts 10:16 < arubi> nice waxwing, that's a bunch of fees saved 10:19 < waxwing> arubi, just looking at destinations for now. 10:19 < waxwing> since people now have native supporting wallets. 10:20 < belcher_> yeah making it so every wallet can send to bech32 is the first step 10:20 < arubi> ohh, my bad. misread it as destination for cj + bech32 in the wallet. of course outbound destination is important too 10:20 < waxwing> arubi, can you point me at some testnet native txs now (i know there's tons of them but don't have links to hand) 10:20 < belcher_> p2sh took ages but maybe the incentives will make it go faster this time around 10:21 < belcher_> hold on i might know, from roasbeef's twitter page 10:21 < waxwing> well as for me i've shut down my JM maker, won't be bringing it back until things become sane, i'd advise others to do the same. only to prevent a noob making a very expensive tx without realising it. 10:21 < waxwing> but not like we can really shut it down, and yeah i know some people might still want to use it. 10:21 < arubi> I don't think I have any txids on hand actually 10:22 < arubi> if there was a way to search for 0014 in the scriptpubkey, that would work 10:23 < belcher_> https://blockchain.info/tx/514a33f1d46179b89e1fea7bbb07b682ab14083a276979f91038369d1a8d689b https://blockchain.info/tx/4ef47f6eb681d5d9fa2f7e16336cd629303c635e8da51e425b76088be9c8744c waxwing 10:23 < waxwing> cheers muchly. i'll try these on bitflyer since it looks cool :) 10:24 < belcher_> iv also shut down mine, because of the price runup its also more than im comfortable with keeping on a hot wallet 10:25 < waxwing> arubi, that was my (current) Q. I have written 0x00 0x14 as the defining characteristic, is that right always? 10:25 < waxwing> (i mean the script leading with that) 10:25 < arubi> for p2wpkh it is 10:26 < waxwing> yeah. 10:26 < waxwing> and 00 20 for p2wsh right 10:26 < arubi> right 10:34 -!- Giszmo [~leo@pc-204-28-214-201.cm.vtr.net] has quit [Quit: Leaving.] 10:38 < waxwing> can we call importaddress on bech32 (and if so, which version of Core did that start in)? i'm guessing maybe it's not in until 0.16? 10:39 < waxwing> i don't think it's a big headache if we can't, there's only one place where we might want to do that, for now, and we can avoid it 10:40 < belcher_> i think the Core PR for this isnt even merged yet 10:44 < waxwing> right, that one, i also believe that's the one, was just checking 10:44 < waxwing> so i'll just assume that's not available right now 10:50 < arubi> you could import the script itself specifically as *not* p2sh 10:51 < arubi> but I think it's better to wait for proper support 10:53 < arubi> fwiw core can pretty much do everything with native segwit scripts since 0.13.1, it just took some massaging to make the wallet learn everything it needs to know to spend the output. it took so long to activate on mainnet that now it seems we're just cruising to bech32 :) 10:54 < arubi> not that I'm complaining 10:56 < waxwing> arubi, oh i see; what's the rpc to import a script, rather than an address? 10:56 < waxwing> (but dont' worry about explaining right now, i'm not going to do it in this stage) 10:57 < belcher_> i think theres an 'importscript' or maybe 'importscriptpubkey' 10:58 < arubi> importaddress, and it has a 'false' value for the p2sh flag 10:58 < arubi> there's also a new importmulti which I haven't tried. it's a lot more extensive in what it can do 10:59 < arubi> right and importpubkey if you want the wallet to know the pubkey for the p2wpkh, although it's probably not required if you just wanna watch 11:03 < arubi> importaddress actually takes a hex script as input and by default it'll import as p2sh, but basically `testnet-cli importaddress 0014 "joinmarket-label" false false` should start watching a p2wpkh 11:04 < waxwing> ok thanks for that 11:04 < arubi> yw 11:05 < waxwing> ok seem to be able to convert scripts to addresses, yay for reference implementation and test vectors. 11:05 < arubi> +1 for test vectors everywhere 11:07 < waxwing> i was joking in #bitcoin that sipa should have put "Axa" and "Bilderberg" in his test vectors just to screw with people :p 11:07 < belcher_> hehe 11:08 < arubi> hehe, maybe find odd occurrences of AXA as hes in early blocks and post it on rbtc :) 11:08 < arubi> s/as hes/as hex/ 11:08 < arubi> it's just 3 bytes, somethings got to come up :) 11:15 -!- wumpus [~quassel@pdpc/supporter/professional/wumpus] has quit [Ping timeout: 260 seconds] 11:15 -!- wumpus [~quassel@pdpc/supporter/professional/wumpus] has joined #joinmarket 11:53 < waxwing> oh dear OTS started to really slow down git log --show-signature 12:03 < undeath> is the conclusion to keep the mnemonic extension as is? https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/104 12:15 < waxwing> i'll let belcher_ take that one. sorry trying to focus on bech32 now, and then python3. 12:15 < waxwing> well, or anyone else who has an opinion of course :) 12:15 < belcher_> yes undeath i think its important 12:16 < belcher_> for backups on paper and as a 2fa method 12:17 < undeath> my thought was, if you lose the extension you can still do a "desaster recovery" by exporting the bip32 master key 12:17 < undeath> and otherwise it would be nicer to not have a way of restoring the extension/password 12:18 < belcher_> bip32 master key cant be backed up one paper as easily 12:18 < undeath> desaster recovery :) 12:18 < belcher_> all wallets have showseed, it seems important 12:18 < undeath> if the extension gets lost you should then create a new wallet 12:18 < undeath> the bip32 just allows you to recover the old funds in that case 12:19 < undeath> the seed can still be restored in case you lose your paper scrap 12:19 < undeath> just not the extension/password 12:19 < belcher_> the extension is part of the seed, if only have the 12-word phrase but not the extension then the wallet is lost 12:20 < belcher_> what are your concerns about the extension? bceause its always in memory? 12:20 < undeath> well, it's not lost since you can do desaster recovery with the bip32 key :) 12:20 < undeath> I don't like that a password-like thing is stored in a reversible way 12:21 < undeath> which is what the extension is supposed to be from how I understand it 12:21 < belcher_> why? other stuff is stored in a reversible way too like the 12 word phrase and the bip32 master seed 12:21 < belcher_> are you worried about passwords being reused maybe? 12:22 < undeath> yes 12:22 < undeath> memorable passwords tend to be reused 12:23 < belcher_> im worried about a situation where a newb didnt write down the phrase + extension, then they see a reminder on reddit which tells them to use showseed now.. but then in joinmarket they couldnt use showseed anymore 12:23 < belcher_> fwiw electrum and other wallets also allow you to get the extension word in a showseed-like dialog 12:24 < undeath> tbf, I don't like the security of electrum's password hashing at all :) 12:24 < arubi> electrum does? fwiw I agree with undeath, the extension is supposed to be kept secret, like a 2fa 12:24 < arubi> arg, sorry, afk 12:25 < belcher_> it is kept secret, its encrypted just like the 12 word mnemonic phrase and everything else 12:26 < belcher_> im concerned about users not being able to use showseed, and the extension word feature is good because it allows 2fa paper backups 12:26 < undeath> the extension is already promoted as an expert feature, a noob should not end up with having it at all 12:26 -!- Chris_Stewart_5 [~chris@gateway/vpn/privateinternetaccess/chrisstewart5/x-62865615] has joined #joinmarket 12:26 < undeath> 2fa is a little far-streched maybe 12:27 < undeath> but well, ultimately that probably boils down to what it is 12:27 < belcher_> thats what its designed for, i use it myself and i know a few others (not to name names now) who use it 12:28 < belcher_> you can make a decoy wallet that way, have a coercion password that you give up with a small amount of money inside.. then a bigger password with the rest of your money 12:28 < undeath> so not to store a memorable string but just to save the extension someplace other than the seed? 12:28 < belcher_> i.e. 12 words + decoy password and 12 words + real password 12:28 < belcher_> what do you mean? 12:29 < undeath> I see your motivation 12:29 < belcher_> since those 12 words can end up holding enough money to buy the entire building, having them not even password protected seems risky to me 12:31 < undeath> I'm assuming people would use a memorable password that should only be inside their head while your assumption is merely to use it as a separately stored password string 12:32 < belcher_> seperately stored, you mean also on paper? 12:32 < belcher_> can you help me understand why the reversible method thing matters? is the situation that someone finds wallet.json and finds the decryption password 12:32 < undeath> that's up to the user entirely 12:33 < waxwing> belcher_, so i'll $5 wrench you twice, not once. got it :) 12:33 < undeath> if the extension is a reused password it might be worse for a use to have that extension disclosed than only having their bip32 master key disclosed 12:34 < undeath> *for a user 12:34 < waxwing> "I have an indeterminite number of plausible-enough decoy wallets" 12:34 < belcher_> waxwing dont worry i have an ak-47 ;) 12:34 < waxwing> then they just keep beating you until you die :) 12:34 < waxwing> lol, can't win really 12:34 < waxwing> "say hello to my little hash function!!" 12:34 < belcher_> oh i see, they read the extension word from memory, and thats a reused password and then they use it to get into the victim's gmail or online banking or bitstamp account 12:35 < undeath> yes, basically that 12:36 < belcher_> different discussion waxwing but iv found this influential https://github.com/libbitcoin/libbitcoin/wiki/Risk-Sharing-Principle mnemonic phrases / hash functions / multisig / whatever dont secure bitcoin, _people_ secure bitcoin and technology helps tip the balance towards the defender but you still always have to place yourself at risk 12:37 < belcher_> undeath maybe the idea of 'only decrypt the extension phrase when joinmarket is started with showseed' will be good? sorry i dont want to make you code more than necessary, since i know its your github fork 12:38 < undeath> I tried to avoid that because it would cause quite some clutter and I don't think you can reliably erase the user-supplied password from python's memory anyway 12:38 < belcher_> i mean like, only decrypt the extension from wallet.json with showseed 12:39 < belcher_> and maybe theres a separated field of the encrypted bip32 seed which is used to actually generate privkeys 12:39 < undeath> the new wallet uses full wallet encryption, but it has to keep all contents unencrypted in memory right now 12:39 < belcher_> another way could be a warning of "dont reuse this password anywhere else" ? 12:40 < belcher_> yes though thats only when you generate the wallet first time, when you just start joinmarket it wont need to decrypt the extension 12:41 < undeath> yes, it would need to implement some additional encryption besides the full wallet encryption 12:41 < belcher_> oh i see 12:42 -!- Chris_Stewart_5 [~chris@gateway/vpn/privateinternetaccess/chrisstewart5/x-62865615] has quit [Ping timeout: 248 seconds] 12:43 < undeath> but since the extension's encryption has to depend on the wallet password you're going to have a hard time trying to protect it from someone able to access your python interpreter's memory 12:43 < belcher_> hmm yes.. once they can read from RAM almost all bets are off really 12:43 < belcher_> joinmarket is a hot wallet, cant get away from that 12:44 < belcher_> how about a warning of "dont reuse this extension word for anything else, just like any other password" ? 12:44 < belcher_> idk what should we do, i find the extension word feature very useful but i understand the reading from memory issue 12:45 < belcher_> i just realized, you're thinking of VPSes or other shared servers, right? 12:45 < belcher_> i have joinmarket on a machine in my own home i realized 12:45 < belcher_> so if someone roots a VPS they can read all the ram 12:45 < undeath> shared servers or hacked servers even 12:46 < undeath> yep 12:47 < belcher_> thats all true for the wallet encryption password too 12:47 < undeath> it is 12:47 < belcher_> a VPS rooter gets that password as well, which might also be reused 12:48 < undeath> the idea was to at least protect as much as can be protected 12:48 < undeath> but I might be overly paranoid 12:48 < belcher_> not to mention all the privkeys.. i think the fundamental issue is VPSes are less secure because they're not yours 12:51 < undeath> if your server gets rooted because of a vuln you have about the same security expectations ;) 12:52 < belcher_> yep, hot wallet risk 12:53 < undeath> I'll keep the extension as is 12:53 < belcher_> ok ty 12:54 < belcher_> maybe if appropriate add warning about not reusing the extension word anywhere else? if that would help 12:54 < belcher_> even so, newbs will be newbs and we can put all kinds of warnings and some people wont listen hah 12:55 < undeath> well, they can't complain nobody told them afterwards at least :D 12:55 < belcher_> mmm, its a hard problem.. you get it in other places 12:56 < belcher_> like idk, a chemical lab where theres all kind of warnings about not eating/drinking, someone still brings their tea into the lab... something ends up in the tea and they die 12:56 < belcher_> you can say "well they cant complain" but they're still a dead guy 12:57 < undeath> natural selection? 12:57 < belcher_> thats a separate issue... ofc you can only protect people from themselves so much 13:04 < belcher_> waxwing coming back to the other discussion, im slightly concerned about people crossing borders with hardware wallets, i saw someone earlier say "i crossed airport security with my ledger but luckily they thought it was only a USB stick" 13:04 < belcher_> hardware wallets have a problem that they obviously show your interest in bitcoin... 13:04 < belcher_> maybe ill make a reddit thread about it 13:05 < belcher_> maybe leave your HW at home and only take the phrase.. depends on the situation 13:40 -!- coins123 [~coins123@unaffiliated/coins123] has quit [Remote host closed the connection] 13:41 -!- coins123 [~coins123@2.43.211.59] has joined #joinmarket 13:41 -!- coins123 [~coins123@2.43.211.59] has quit [Changing host] 13:41 -!- coins123 [~coins123@unaffiliated/coins123] has joined #joinmarket 13:41 -!- coins123 [~coins123@unaffiliated/coins123] has quit [Remote host closed the connection] 14:39 -!- undeath [~undeath@unaffiliated/undeath] has quit [Quit: WeeChat 1.9.1] 15:01 -!- Chris_Stewart_5 [~chris@gateway/vpn/privateinternetaccess/chrisstewart5/x-62865615] has joined #joinmarket 15:08 -!- Chris_Stewart_5 [~chris@gateway/vpn/privateinternetaccess/chrisstewart5/x-62865615] has quit [Ping timeout: 248 seconds] 16:11 < belcher_> following on from our earlier discussion waxwing i added this section https://en.bitcoin.it/wiki/Storing_bitcoins#The_5_dollar_wrench_attack 16:11 < belcher_> ty for the conversation, i always end up clarifying stuff in my head 16:12 < waxwing> yeah good to put something about $5 wrench there 16:13 < waxwing> i always think the thing that people miss is the distinction with bitcoin as pure bearer instrument; you so often hear casual conversations saying like "oh but banks get hacked all the time!". 16:13 < waxwing> but i guess that's a more basic level of analysis. 16:13 < belcher_> also i dont know if you realized but this is your quote https://en.bitcoin.it/wiki/Storing_bitcoins#.22Isn.27t_it_just_like_keeping_your_money_in_a_bank.3F.22 16:13 < waxwing> covered a bit in "protection from theft" part 16:13 < waxwing> oh ok 16:14 < waxwing> oh yeah i vaguely remember that. kind of the opposite point. or a different one. 16:14 < waxwing> that's one of andreas' favourite points. 16:15 < waxwing> huh yeah, political confiscation means it's not even "trusted third party" but "trusted third and fourth party". 16:15 < waxwing> although hmm there isn't really a second party in the case of just storage. 16:42 < waxwing> ok done the "plumbing" for sending to b32, now i'll just yolo it on regtest and see if the transactions work :) 16:43 < belcher_> thumbs up 16:43 < belcher_> hopefully wasnt too hard, its just another kind of scriptpubkey? and you have to check the sum of the addresses 16:45 < waxwing> bech32send branch on *cs - i just took sipa's reference code and made some basic edits. change script_to_address, address_to_script, validate_address 16:45 < waxwing> oh i just remembered have to do the blockchaininterface thing re: import 16:45 < waxwing> i can do some playing around first though. 17:13 < waxwing> direct send works fine but maker pukes up doing a coinjoin, shouldn't be too hard to fix 17:16 < waxwing> arubi, so 'getaccount' doesn't work with bech32? 17:16 < waxwing> oh yeah accounts are deprecated. makes sense i guess! 17:23 -!- Giszmo [~leo@pc-204-28-214-201.cm.vtr.net] has joined #joinmarket 18:11 -!- StopAndDecrypt_ [~StopAndDe@c-73-248-248-9.hsd1.nj.comcast.net] has joined #joinmarket 18:12 -!- StopAndDecrypt [~StopAndDe@unaffiliated/stopanddecrypt] has quit [Ping timeout: 268 seconds] 18:22 -!- belcher_ [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 19:49 -!- Vivianne34Koepp [~Vivianne3@ns334669.ip-5-196-64.eu] has quit [Remote host closed the connection] 21:18 -!- Giszmo [~leo@pc-204-28-214-201.cm.vtr.net] has quit [Quit: Leaving.]