08:05:18 | barjavel.freenode.net: | topic is: This channel is not about short-term Bitcoin development | http://bitcoin.ninja/ | This channel is logged. | For logs and more information, visit http://bitcoin.ninja |
08:05:18 | barjavel.freenode.net: | Users on #bitcoin-wizards: andy-logbot prodatalab ThomasV b_lumenkraft Guyver2 Mably helo KuDeTa antanst p15x damethos TheButterZone dc17523be3 priidu jhogan42 NewLiberty bosma p15 cryptowest_ moa TheSeven justanotheruser s23ioj234i cfields Dr-G2 felipelalli1 jgarzik d1ggy_ GAit PRab isis williamdunne aakselrod dfdf catlasshrugged_ jmcn sparetire_ scoria andytoshi warptangent hashtag_ MoALTz stonecoldpat harrigan Tiraspol stevenroose Madars dEBRUYNE airbreather Emcy |
08:05:18 | barjavel.freenode.net: | Users on #bitcoin-wizards: PaulCapestany rustyn waxwing sparetire davout comboy TD-Linux yorick crescend1 dardasaba___ veox Alanius_ mm_1 gielbier arubi_ luny theymos c0rw|away melvster1 Zouppen null_radix huseby sipa cdecker hulkhogan_ _whitelogger yrashk wumpus HM binaryatrocity LeMiner heath BananaLotus Logicwax ir2ivps5 tromp__ wiz Guest22136 face_ Luke-Jr fanquake grandmaster michagogo amiller Apocalyptic kyuupichan [d__d] NeatBasis optimator mkarrer ebfull Eliel |
08:05:19 | barjavel.freenode.net: | Users on #bitcoin-wizards: gnusha azariah_ tromp spinza narwh4l lmatteis wizkid057 cluckj koshii bsm117532 leakypat mr_burdell Krellan_ throughnothing_ mengine copumpkin sneak lmacken sadoshi SubCreative elastoma btcdrak bedeho fluffypony Fistful_of_Coins yoleaux Jaamg dansmith_btc se3000 dgenr8 deego Cory kanzure harrow xabbix iddo mariorz epscy vonzipper catcow a5m0_ smooth dignork pollux-bts runeks coryfields CryptoGoon Sqt poggy jbenet platinuum adams__ livegnik |
08:05:19 | barjavel.freenode.net: | Users on #bitcoin-wizards: K1773R nsh petertodd brand0 OneFixt richardus nephyrin phedny so phantomcircuit afdudley jonasschnelli pigeons SwedFTP guruvan Meeh bliljerk101 lnovy ajweiss nanotube forrestv artifexd mappum mikolalysenko Muis warren gmaxwell weex_ BrainOverfl0w @ChanServ Oizopower gwillen kinlo sl01 STRML espes__ AdrianG gavinandresen luigi1111 Anduck BlueMatt midnightmagic otoburb kumavis starsoccer d9b4bef9 gribble jessepollak ryan-c larraboj Keefe |
08:05:19 | barjavel.freenode.net: | Users on #bitcoin-wizards: indolering Graet jaromil berndj sturles [ace] merlincorey Iriez EasyAt nickler morcos Taek dasource CryptOprah s1w roasbeef eric sdaftuar GreenIsMyPepper Xzibit17 |
08:05:19 | barjavel.freenode.net: | [freenode-info] channel trolls and no channel staff around to help? please check with freenode support: http://freenode.net/faq.shtml#gettinghelp |
08:09:23 | pampuchy: | hello, how does bitcoin have a dollar value? where can i read about this? |
08:13:50 | fluffypony: | pampuchy: because somebody is willing to spend USD for BTC |
08:13:51 | fluffypony: | but this is more a #bitcoin question |
08:53:26 | K1773R: | gmaxwell: have you seen the (Coin)JoinMarket project? im interested to know what you think about it. https://bitcointalk.org/index.php?topic=919116.0 |
09:59:27 | fluffypony: | Days since DHTs have been suggested on the mailing list: 0 |
11:08:22 | c0rw|away: | c0rw|away is now known as c0rw1n |
11:23:34 | Alanius_: | Alanius_ is now known as Alanius |
12:43:52 | c0rw1n: | c0rw1n is now known as c0rw|away |
13:28:18 | antanst: | antanst has left #bitcoin-wizards |
14:07:01 | pampuchy: | any discussion about nytimes article? |
14:20:03 | instagibbs: | pampuchy: #bitcoin |
14:35:26 | andytoshi: | K1773R: i did a quick audit for the "obvious mistakes" in doing a CJ implementation and didn't find any; but this is not an "an clear". i wish the code was laid out more cleanly to facilitate analysis (part of this is that i haven't familiarized myself with their data structures, but also there are nowhere near enough comments). generally i have a positive impression of them |
14:35:36 | andytoshi: | s/an clear/all clear/ |
14:48:23 | Tiraspol3: | Tiraspol3 is now known as Tiraspol |
14:48:26 | dgenr8: | fluffypony: beefnode returns transaction details and spent-output proofs for transactions whose txid starts with beef. Please relay new beefy transactions, and transactions that spend beefy outputs, to beefnode. |
16:16:08 | deego: | deego is now known as test |
16:16:17 | test: | test is now known as deego |
16:54:22 | fluffypony: | dgenr8: only if you have MasterBeefs sharing DHTs kthx |
17:01:21 | LeMiner2: | LeMiner2 is now known as LeMiner |
17:09:25 | dgenr8: | if you wanted to call something a DHT, wouldn't it be the collection of beefnodes, bef0nodes, ... and any nodes that route to them? |
17:20:37 | jgarzik: | a DHT anchored by a blockchain would be interesting |
17:23:14 | afk11: | Hey, anyone here familiar with stratum servers? I wrote a client for it the other day, and just playing with some of the documented commands |
17:26:54 | afk11: | I seem to be getting two different errors while calling blockchain.address.get_mempool - an index not found when I don't specify an address, and 'BlockchainProcessor' object has no attribute 'get_unconfirmed_history' when I do |
17:29:54 | ThomasV: | afk11: you mean an electrum server? that method is not implemented |
17:37:08 | afk11: | ThomasV: aye. ah ok, I'll ignore that so! https://electrum.orain.org/wiki/Stratum_protocol_specification mentioned it |
17:37:51 | afk11: | I guess https://github.com/spesmilo/electrum-server will have what I need? |
17:37:54 | ThomasV: | hmm indeed |
17:38:50 | ThomasV: | it's not been implemented because the client does not need it |
18:02:30 | wallet421: | wallet421 is now known as wallet42 |
18:58:40 | afk11: | ThomasV: might submit a PR removing the binding to that nonexisting function |
18:58:56 | ThomasV: | ok |
18:59:16 | ThomasV: | or implement it :) |
18:59:24 | dgenr8: | SPV clients can be attacked by withholding spends. so we ponder, how serious is the condition of having nodes in the network that are subject to the same attack? |
19:00:19 | dgenr8: | if the goal is to sybil a single SPV client with 6 connections, you have a new way to do it -- you can sybil all of those 6 nodes' upstream connections. meh? |
19:00:46 | dgenr8: | if the goal is to screw with the network, you can set up a lot of fake beefnodes and hope an honest one isn't one of those asked to produce a spend proof |
19:05:57 | dgenr8: | for the same effort that today allows you to lie to some subset of SPV nodes about all transactions, you can lie to a bigger subset about beef transactions (because fewer beef nodes), but only 1/65536 txes are beefy |
19:09:28 | gmaxwell: | dgenr8: uh no you cannot. |
19:09:42 | gmaxwell: | (attack a spv client by attacking its fullnode peers) |
19:11:29 | dgenr8: | consider a world where there are far fewer fullnodes due to resource requirements |
19:12:04 | dgenr8: | and you have peers that relay among nodes that only track a slice of the blockchain... |
19:12:24 | afk11: | ThomasV: pyfoo isn't too strong, but I'll give it a go. I see references to mempool stuff anyway, so reviewing whats in use now |
19:12:30 | gmaxwell: | So? I think you've failed to understand what the withholding attack against SPV clients is. It has nothing to do with relay. |
19:13:05 | gmaxwell: | dgenr8: full nods that "track a slice of the blockchain" is incohearent with respect to bitcoin, thats not something that can be done without a radically different design. |
19:13:36 | gmaxwell: | So yes, an unspecified different design may have totally different vulnerabilities. |
19:15:31 | jgarzik: | heh |
19:18:50 | dgenr8: | i didn't refer to full nodes that only had a slice. clearly those would not be full nodes. |
19:28:30 | dgenr8: | suppose some capabilities were added to bitcoind. tracking only specific txid stems would be one. providing full tx lookups and spend proofs for those stems are some more. |
19:28:58 | dgenr8: | then there's an ability to route these requests to nodes with other slices. that's where all the fun is |
19:30:51 | williamdunne: | It'd be nice if someone bolted on some sort of WebSocket/WebHook thing to it as well to pass on transaction data on the fly |
19:31:30 | phantomcircuit: | williamdunne, no... just... no |
19:31:44 | williamdunne: | Not onto the core |
19:31:49 | williamdunne: | But onto a fork of it |
19:32:03 | williamdunne: | Sorta like the fork which passes on all transactions for checking for double spend attempts |
19:39:43 | fluffypony: | http://backronym.fail |
19:39:47 | fluffypony: | .title |
19:39:47 | yoleaux: | The BACKRONYM Vulnerability |
19:42:10 | fluffypony: | "Use your thought leadership talents to write blog post about BACKRONYM to reap sweet Internet karma." |
19:42:12 | fluffypony: | sounds about right. |
19:58:51 | williamdunne: | Certainly plenty of that done with HeartBleed |
20:11:28 | DougieBot5000: | DougieBot5000 is now known as Guest40248 |
20:11:28 | DougieBot5000_: | DougieBot5000_ is now known as DougieBot5000 |
20:27:22 | fluffypony: | https://www.rfc-editor.org/rfc/rfc7539.txt |
20:27:32 | fluffypony: | ChaCha20 and Poly1305 got ratified for IETF |
20:55:18 | dgenr8: | to allow an SPV client to validate inputs to a transaction by requesting spend proofs that invalidate them, and not getting any |
21:13:27 | phantomcircuit: | dgenr8, what? |
21:13:56 | phantomcircuit: | dgenr8, you mean walk the inputs to a transaction back to the coinbase? |
21:15:15 | Luke-Jr: | dgenr8: you realise what you're suggesting is not very practical? |
21:15:39 | Luke-Jr: | phantomcircuit: pretty sure he means the ability to query "was : spent already? SPV proof of this please" |
21:15:42 | dgenr8: | phantomcircuit: not walk back, just have a complete indexed set of transactions matching some stem like 0xbeef |
21:15:51 | wallet42: | wallet42 is now known as Guest23021 |
21:15:51 | wallet421: | wallet421 is now known as wallet42 |
21:16:40 | dgenr8: | neither the SPV client's peers, nor any of the nodes involved in generating responses, need the full blockchain or UTXO set. they have block headers back to genesis, and process new blocks to update their slices |
21:17:02 | phantomcircuit: | dgenr8, so an index of transactions by their prefix? |
21:18:13 | phantomcircuit: | dgenr8, still not really sure what you're suggesting |
21:20:48 | dgenr8: | phantomcircuit: node stores a transaction set matching some prefix, and can quickly produce the tx details (-txindex), and a spend proof (block + merkle branch) for any of its outputs |
21:21:17 | dgenr8: | (block hash + merkle branch) |
21:21:51 | phantomcircuit: | dgenr8, so the security model of that is super vulnerable to sybil attacks due to censorship risks |
21:22:49 | dgenr8: | how would you censor me? |
21:25:01 | phantomcircuit: | dgenr8, im an spv client, i connect to 8 peers and ask them for spv proof of spends for my transactions |
21:25:17 | phantomcircuit: | all 8 peers are secretly you and you lie to me saying they're not spent |
21:25:39 | dgenr8: | if you control all the peers that is a risk today |
21:26:23 | dgenr8: | s/you/i/ |
21:26:25 | phantomcircuit: | dgenr8, peers can only hide full blocks |
21:26:41 | phantomcircuit: | which is mitigated by PoW |
21:29:01 | dgenr8: | today, if i fail to tell you about a block that spent an input you're interested in, how will you know? you have the block header but so what? |
21:30:11 | phantomcircuit: | dgenr8, i dont get the point of this all |
21:30:35 | phantomcircuit: | it's really not that difficult for a wallet to walk the entire blockchain once |
21:30:40 | phantomcircuit: | it's not like it has to store it |
21:32:04 | dgenr8: | the point is scalability by not storing fullblocks or utxos. are you suggesting a different way to achieve scalability? |
21:33:55 | phantomcircuit: | dgenr8, why shard based on transaction? it's so much easier to shard based on block |
21:34:33 | dgenr8: | because the necessary query is by transaction |
21:35:11 | c0rw|away: | c0rw|away is now known as c0rw1n |
21:36:02 | phantomcircuit: | dgenr8, a full node needs to see all the transactions in all of the blocks |
21:36:56 | phantomcircuit: | i see lots of effort being put into wallets which dont have to download the full blockchain... but this is largely ill advised |
21:37:11 | phantomcircuit: | initialization at spv is fine |
21:37:27 | phantomcircuit: | but there is virtually no reason not to continue to download the blockchain and upgrade security as you go |
21:39:28 | dgenr8: | for a few billion people to be able to own some bitcoin, wallets aren't ever going to download the full blockchain |
21:39:31 | helo: | battery use |
21:40:59 | phantomcircuit: | helo, limit full chain download to wifi + plugged in |
21:41:11 | phantomcircuit: | it's trivial to do on android and i assume it is on ios also |
21:41:27 | phantomcircuit: | dgenr8, if you're thinking that all the worlds transactions are going to happen on the same blockchain |
21:41:29 | phantomcircuit: | think again |
21:41:39 | helo: | dunno... it's a really long walk up the chain for a phone |
21:42:09 | helo: | side loading the utxo from a node you trust at a recent block would help a lot |
21:42:47 | dgenr8: | phantomcircuit: all transactions will not be on the blockchain, because people will continue to accept other forms of payment. but. 1 blockchain = 1 currency. |
21:42:51 | moa: | new bitcoin spec. ... all global transactions validated and stored on a mobile device |
21:43:10 | moa: | and you have 1 month to decide or we hard fork |
21:44:00 | phantomcircuit: | dgenr8, there's no reason for 1 blockchain = 1 currency |
21:44:14 | helo: | i think you mean "in 1 month the people that choose to hard fork" |
21:44:37 | moa: | meanwhile back in the real world |
21:44:50 | helo: | "hard fork in 1 month for hale bopp believers" |
21:45:01 | phantomcircuit: | there are various things coming out which use bitcoin the money outside of the bitcoin blockchain by leveraging the programmable trust model bitcoin provides |
21:45:16 | phantomcircuit: | the best example of this is lightning |
21:46:10 | moa: | less rhetoric and more numbers would be a good start |
21:46:34 | dgenr8: | phantomcircuit: that's not a counterexample. a counterexample would be 2 blockchains supporting 1 currency. |
21:47:17 | phantomcircuit: | dgenr8, k sidechains |
21:47:20 | phantomcircuit: | 2 blockchains |
21:47:22 | phantomcircuit: | 1 currency |
21:47:57 | dgenr8: | must disagree on that |
21:48:33 | dgenr8: | maybe I stated it too strongly though. it would be easy to have 2 currencies on 1 blockchain but that doesn't help scalability |
21:49:10 | phantomcircuit: | dgenr8, blockchains are inherently un-scalable |
21:50:26 | phantomcircuit: | to maintain the security model under which bitcoin operates (and arguably must operate to function) the economic majority must run full validating nodes |
21:50:45 | phantomcircuit: | which must validate all transactions since forever |
21:51:36 | moa: | phantomcircuit: inherently is not quite correct ... expensive to scale, but expensive is a comparative term with temporal and spatial context |
21:52:11 | phantomcircuit: | moa, it's really not |
21:52:11 | dgenr8: | if a DHT-like collection of partial nodes works, it would represent a huge chunk of economic activity |
21:52:35 | phantomcircuit: | bitcoin ultimately scales at something horrendous like O(2^n) or something due to the gossip network |
21:53:25 | phantomcircuit: | the terrible complexity stuff is largely irrelevant now, but that's because the cost of those pieces has been linearly scaled down making the ultimate scaling issues there less obvious |
21:53:29 | moa: | everything scales ... but at what cost is the right question |
21:53:42 | phantomcircuit: | moa, ok so this is an issue of language |
21:53:50 | moa: | good place to begin |
21:54:00 | phantomcircuit: | when i say scales i mean, can grow at roughly O(n) with cost |
21:54:18 | phantomcircuit: | yes given infinite resources bitcoin could support all of the worlds transactions on one blockchain |
21:54:39 | phantomcircuit: | but im certain nobody would consider that an optimal or even acceptable outcome |
21:54:49 | moa: | correct |
21:55:00 | moa: | so it is the cost of scaling that you need to address |
21:55:24 | phantomcircuit: | (i actually suspect that you'd start to get into comical ridiculous things like consuming stars worth of energy...) |
21:55:49 | moa: | mmm, not happening in the foreseeable future |
21:56:32 | moa: | i see they recently decreased the possible radius for a feasible dyson sphere |
21:56:46 | phantomcircuit: | moa, "feasible" |
21:56:50 | phantomcircuit: | :P |
21:56:54 | moa: | lol |
21:57:04 | moa: | maybe there is hope for bitcoinn after all |
21:57:12 | lmatteis: | do you guys know how long does a key-value pair stay in a DHT network? |
21:57:40 | lmatteis: | i suppose as long as a peer serves it. |
21:57:40 | moa: | we just need to find a collection of dim brown dwarves |
21:58:27 | phantomcircuit: | lmatteis, DHT networks provide virtually no guarantee of anything |
21:58:35 | phantomcircuit: | they are decidedly not useful for bitcoin |
22:00:42 | lmatteis: | phantomcircuit: yeah sorry wasn't bitcoin-related question |
22:01:09 | phantomcircuit: | lmatteis, iirc there's no real guarantees |
22:14:54 | c0rw1n: | c0rw1n is now known as corw|zZz |