1 2012-11-18 00:01:32 enmaku has quit (Read error: Connection reset by peer)
   2 2012-11-18 00:03:24 enmaku has joined
   3 2012-11-18 00:04:42 dvide has joined
   4 2012-11-18 00:05:36 rdponticelli has quit (Remote host closed the connection)
   5 2012-11-18 00:12:54 bitcoinbulletin has quit (Quit: bitcoinbulletin)
   6 2012-11-18 00:15:27 CodesInChaos has quit (Ping timeout: 264 seconds)
   7 2012-11-18 00:21:49 copumpkin has quit ()
   8 2012-11-18 00:22:37 bitcoinbulletin has joined
   9 2012-11-18 00:24:13 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
  10 2012-11-18 00:26:00 tsche has joined
  11 2012-11-18 00:32:44 _flow_ has quit (Ping timeout: 260 seconds)
  12 2012-11-18 00:34:21 <xenland> eh BitcoinJ is just too cluster mucked to learn or use from
  13 2012-11-18 00:44:21 copumpkin has joined
  14 2012-11-18 00:48:28 RazielXYZ has quit (Ping timeout: 246 seconds)
  15 2012-11-18 00:56:58 KingSolamin has joined
  16 2012-11-18 00:57:03 coyo has joined
  17 2012-11-18 00:57:15 <KingSolamin> wtb bitcoins pm me if interested in selling
  18 2012-11-18 00:58:05 <Luke-Jr> KingSolamin: wrong channel
  19 2012-11-18 00:58:32 <coyo> good evening. i have a question. is there a more elaborate p2p network (possibly based on udp or more elaborate techniques) than using a hardcoded list of initial bitcoin seed nodes, using tcp (which isnt really a great transport layer protocol for this purpose), or using an unqualified broadcast architecture
  20 2012-11-18 00:59:38 KingSolamin has left ()
  21 2012-11-18 01:01:01 <cjd> coyo: no matter how smart your p2p code is, it needs to know *someone* so they can introduce it to all of the others
  22 2012-11-18 01:01:49 <cjd> and bitcoin is weird, some of it's messages would fit in UDP packets just fine but others are as much as hundreds of kilobytes
  23 2012-11-18 01:03:36 B0g4r7 has joined
  24 2012-11-18 01:08:28 <coyo> cjd, that's good to know.
  25 2012-11-18 01:09:03 <cjd> also that original node should be trusted
  26 2012-11-18 01:09:28 <cjd> because if they are evil they can keep you seperate from the rest of the network
  27 2012-11-18 01:13:13 phungus has joined
  28 2012-11-18 01:18:33 rdponticelli has joined
  29 2012-11-18 01:19:00 <cjd> I think the main reason why bitcoin needs a somewhat complex bootstrap mechanism is because you can't just have 50000 bitcoin nodes connecting to a single "introduction node" to get addresses to connect to.
  30 2012-11-18 01:19:28 <cjd> This is how bittorrent dht does it but they use udp so it's only a single socket and it's a largely stateless protocol
  31 2012-11-18 01:19:49 SupaDupa has quit (Ping timeout: 244 seconds)
  32 2012-11-18 01:19:56 <coyo> well, some more modern ideas about decentralization of initial seed nodes is that you COULD use well-known nodes such as xmpp servers or other otherwise-unrelated means to obtain an initial seed node, whereby peer exchange and/or node gossip would enable you to populate a larger table of active nodes.
  33 2012-11-18 01:20:35 <cjd> I've never seen that kind of thing work in the real world
  34 2012-11-18 01:20:57 <coyo> this method basically eliminates the need to rely on a hardcoded-and-high-value-target nodes for initial seeding.
  35 2012-11-18 01:21:25 <coyo> have you never seen any of the hardcoded seeds getting attacked as a general attack on the bitcoin network?
  36 2012-11-18 01:21:50 <cjd> no, I've never seen a network function using public servers for introduction
  37 2012-11-18 01:22:09 <coyo> i COULD provide a proof-of-concept for a public-chat-introduction, if you like
  38 2012-11-18 01:22:21 <coyo> it will take some time, as i am not a very good coder, but i COULD do it.
  39 2012-11-18 01:22:25 <cjd> the IRC introduction is arguably similar but that irc server is run by bitcoin people
  40 2012-11-18 01:22:40 <cjd> you're familiar with the IRC based introduction system right?
  41 2012-11-18 01:23:04 <coyo> the problem with the bitcoin server node introduction is that the bitcoin server nodes provide a small set of high-value targets of attack.
  42 2012-11-18 01:23:15 <coyo> i am familiar with it enough to know it exists.
  43 2012-11-18 01:23:34 <cjd> it does what you're talking about but it just shifts the attack target on to the irc network
  44 2012-11-18 01:23:43 <coyo> the difference
  45 2012-11-18 01:23:54 <coyo> is that the initial seeding does not use a hard-coded channel or network
  46 2012-11-18 01:23:59 <coyo> it would be directed by the user.
  47 2012-11-18 01:24:24 <coyo> you could /suggest/ chatrooms, but it would be, at least in theory, VERY decentralized
  48 2012-11-18 01:24:26 <cjd> ahh, you're talking about the gnutella "google for a directory server and paste it here" thing?
  49 2012-11-18 01:24:31 <coyo> so attackers have very little to gain.
  50 2012-11-18 01:24:42 <coyo> that is one way of looking at it.
  51 2012-11-18 01:25:33 <coyo> you could have a long list of directory servers (which only serve that purpose indirectly, since bitcoin nodes would use xmpp's client-side extensibility to gossip nodes)
  52 2012-11-18 01:26:35 <cjd> <xmpp is="stab" yourself="in the"><eye with="a:rusty"><spoon><ugly>
  53 2012-11-18 01:26:49 <coyo> it is.
  54 2012-11-18 01:27:01 <jgarzik> coyo: "this method" -- all methods so far described have high value targets
  55 2012-11-18 01:27:06 <coyo> but i can always design an alternative instant messaging protocol LATER
  56 2012-11-18 01:27:09 <jgarzik> bitcoin primarily uses peer exchange
  57 2012-11-18 01:27:15 <cjd> ^^
  58 2012-11-18 01:27:16 <jgarzik> the seeds are only if your address db is empty
  59 2012-11-18 01:27:39 <jgarzik> DNS seeds are the primary mechanism for seeding; IRC is disabled.
  60 2012-11-18 01:27:45 <cjd> \o/
  61 2012-11-18 01:27:49 <jgarzik> hardcoded seeds are a fallback in case none of that works.
  62 2012-11-18 01:28:08 <coyo> jgarzik, i do not see how my suggestion would present extremely high value attack targets by nature of its design, but to answer your comment, many bitcoin nodes are very fresh newly-installed nodes.
  63 2012-11-18 01:28:09 <jgarzik> wiki also lists some fallback nodes
  64 2012-11-18 01:28:12 <coyo> there is a large rate of turnover.
  65 2012-11-18 01:28:24 <cjd> you end up shifting the attack onto your xmpp servers or on to whatever kind of chat network you use, it's a chicken-and-egg problem, there's no way out
  66 2012-11-18 01:28:31 <jgarzik> coyo: any initial greeting method becomes a high value target
  67 2012-11-18 01:28:35 <jgarzik> XMPP does not change that
  68 2012-11-18 01:29:13 <coyo> the method itself is more managable in terms of defensibility, because the underlying (vulnerable) IP network is no longer the attack surface.
  69 2012-11-18 01:29:18 <coyo> it is purely in your own code.
  70 2012-11-18 01:29:26 <coyo> thus, you can actually do something about it.
  71 2012-11-18 01:30:00 <Luke-Jr> coyo: you know we don't use a hardcoded node list normally?
  72 2012-11-18 01:30:04 <Luke-Jr> DNS ftw
  73 2012-11-18 01:30:11 <coyo> but the goal of my suggestion is merely that the potential attack targets of initial greeting be spread out as widely as possible.
  74 2012-11-18 01:30:28 <jgarzik> coyo: that's what DNS seeds already do
  75 2012-11-18 01:30:32 <coyo> uh, Luke-Jr it says so on the bitcoin wiki.
  76 2012-11-18 01:30:52 <coyo> is a DNS seed a specialized server?
  77 2012-11-18 01:31:11 <liori> note that DNS has the advantage of being cached on servers closer to user. xmpp and irc don't do that
  78 2012-11-18 01:31:19 <cjd> hmm
  79 2012-11-18 01:31:26 <jgarzik> XMPP is poorly defended shite.  Easy to bounce off the net with a DDoS -- and bitcoin sites have often been target of DDoS.
  80 2012-11-18 01:31:31 XertroV has joined
  81 2012-11-18 01:31:35 <coyo> when you say that, i imagine a fast-flux dynamic dns system to provide a huge dissipation of potential high-value attack targets.
  82 2012-11-18 01:31:50 <jgarzik> the best method would be somewhere sneaky, hidden on heavily defended Google servers or somesuch :)
  83 2012-11-18 01:32:03 <coyo> that would (probably) be ideal.
  84 2012-11-18 01:32:43 <coyo> by saying something like xmpp is a (possibly) better approach, i am not saying that xmpp isnt a huge stinking load of crap, and that their responses to attacks is NOT a bunch of pathetic whining.
  85 2012-11-18 01:32:48 <cjd> Also we must deprecate XMPP before it holds real time communication technology back for the the next 10 years
  86 2012-11-18 01:32:58 TheEslbear has joined
  87 2012-11-18 01:33:27 <coyo> i do not disagree, but designing an entirely new communications protocol is going to take awhile (that is to say, i'm working on it right now)
  88 2012-11-18 01:34:02 <coyo> i am somewhat surprised to see you here, cjd.
  89 2012-11-18 01:34:07 <cjd> actually dns is highly clever because if you're under pressure, you can use verisign's dns service and there is no botnet on the face of the earth which can take that down
  90 2012-11-18 01:34:11 <jgarzik> XMPP is a much poorer choice than IRC
  91 2012-11-18 01:34:21 <jgarzik> IRC has more, better-defended servers on DDoS-hardened networks
  92 2012-11-18 01:34:37 <jgarzik> cjd: or dnspark etc.
  93 2012-11-18 01:34:54 <coyo> i would like to say, publically, that i am very fascinated by your concept for an overlay internet protocol network using mpls-like switching labels for routing over an inherently-secure network.
  94 2012-11-18 01:35:19 <cjd> hmm.. it would be "nice" if the requestor had so send some small proof of work to the introduction server but that would break using dns
  95 2012-11-18 01:35:41 <cjd> coyo: thanks, I'm here to fill the bitcoin chain with crap :)
  96 2012-11-18 01:35:51 <coyo> cjd: proof-of-work is a very solid mechanism in nature. it's called signaling honestly.
  97 2012-11-18 01:35:55 xenland has quit (Remote host closed the connection)
  98 2012-11-18 01:35:55 Eslbaer has quit (Ping timeout: 240 seconds)
  99 2012-11-18 01:36:12 <coyo> you could even call such a system "peacock"
 100 2012-11-18 01:36:20 <coyo> :3
 101 2012-11-18 01:36:54 <cjd> also this channel is hard to avoid, lots of developers who really really know what they're talking about.. it's like a breath of fresh air
 102 2012-11-18 01:37:06 <coyo> well, that's good.
 103 2012-11-18 01:37:20 <coyo> it's hard to find competent engineers who have ANY time for discussing protocols.
 104 2012-11-18 01:37:38 <coyo> but the internode protocol is an essential factor for the functioning of the bitcoin economy.
 105 2012-11-18 01:37:54 <coyo> i am a bit of a protocol geek.
 106 2012-11-18 01:38:10 <coyo> (in the sense of specialization, if not actual competence)
 107 2012-11-18 01:38:20 <jgarzik> for bitcoin initial peer seeding, it's more about defense than protocol quality. ;p  a crappy protocol that is DDoS- and government-hardened is worth more than a wonderful protocol lacking said qualities
 108 2012-11-18 01:38:32 <coyo> this is true.
 109 2012-11-18 01:38:39 <jgarzik> with bitcoin, all you need is _one_ valid peer, and you're golden
 110 2012-11-18 01:38:47 <jgarzik> you're on the network, peer-exchanging into the world
 111 2012-11-18 01:38:59 <cjd> this is good
 112 2012-11-18 01:39:19 <cjd> when I last dropped by, if you killed irc it would slowly lose connections until you were down to 8
 113 2012-11-18 01:39:29 <vazakl> virtual captain ahab, "you've got whale"
 114 2012-11-18 01:39:34 <coyo> i'll i wanted to point out was that using a very limited number of hardcoded peers seemed like a huge liability. since you guys have it covered, i'll let that go.
 115 2012-11-18 01:39:45 <jgarzik> bitcoin provides many methods for initial seeding, including manual specification.  You can hop onto IRC or post on the forum, asking for an IP address.  Once you get a good one, you're set.
 116 2012-11-18 01:40:00 <jgarzik> coyo: the hardcoded peer list is only used as a last resort
 117 2012-11-18 01:40:01 <coyo> *all i wanted
 118 2012-11-18 01:40:08 <coyo> hmm.
 119 2012-11-18 01:40:10 <jgarzik> if nothing else works
 120 2012-11-18 01:40:23 <coyo> you know what would be cool?
 121 2012-11-18 01:40:35 <jgarzik> George Lucas leaving the planet?
 122 2012-11-18 01:41:20 <coyo> if, some mechanism of either downloading a fresh binary, or compiling a copy of the bitcoin client hit a number of directory servers and "firmcoded" a fresh list of public seed peers?
 123 2012-11-18 01:41:56 <coyo> so, when distributing a binary in any fashion would have a constantly-mutating set of fairly fresh initial seed peers.
 124 2012-11-18 01:42:17 <jgarzik> coyo: cute but difficult to sign and keep un-trojaned
 125 2012-11-18 01:42:26 <coyo> true.
 126 2012-11-18 01:42:43 <jgarzik> coyo: don't waste too much time thinking about the hardcoded list.  it's updated once per release, quickly goes stale, and is only used as a last resort.
 127 2012-11-18 01:43:00 <jgarzik> Anybody BUT a new install will have a fresh peer list.
 128 2012-11-18 01:43:00 <coyo> i see.
 129 2012-11-18 01:43:20 <cjd> also initial seed peers should be nodes which aren't going to disappear one day and aren't run by phantomcircuit
 130 2012-11-18 01:43:38 <cjd> so there's a little bit of vetting I imagine
 131 2012-11-18 01:43:39 <jgarzik> cjd: DNS seeds strive to provide high quality seeds
 132 2012-11-18 01:43:46 <coyo> i have been learning about bitcoin in order to tightly integrate the existing bitcoin network into a unified overlay protocol of my own design
 133 2012-11-18 01:43:49 <jgarzik> long uptime, different networks, etc.
 134 2012-11-18 01:43:53 <cjd> /nod
 135 2012-11-18 01:44:00 <coyo> inspired somewhat by cjd and other fine engineers' work.
 136 2012-11-18 01:44:07 <cjd> what's it called?
 137 2012-11-18 01:44:16 <coyo> i have not named it, yet.
 138 2012-11-18 01:44:22 <phantomcircuit> cjd, lololol
 139 2012-11-18 01:44:25 <cjd> what's it written in?
 140 2012-11-18 01:44:55 <coyo> it's all on paper, i have not written it down as code, yet, but a proof of concept will be written fairly soon, in ruby as a prototype.
 141 2012-11-18 01:45:12 <cjd> packet handling like with a TUN device?
 142 2012-11-18 01:45:29 <coyo> after i've proven the concept, and have a working prototype, i'll pay some coders to re-write it from the ground up in C
 143 2012-11-18 01:45:33 <coyo> sure.
 144 2012-11-18 01:45:41 <coyo> it will require a tun device.
 145 2012-11-18 01:45:56 <cjd> recommendation #1: don't use ruby if you want it to not take a week to send a packet
 146 2012-11-18 01:46:30 <coyo> i am not a terribly competent programmer. would you recommend python's twisted library, instead?
 147 2012-11-18 01:46:44 <phantomcircuit> cjd, what you dont trust me to be a seed node? :)
 148 2012-11-18 01:46:45 <cjd> twisted would be better than ruby
 149 2012-11-18 01:46:56 <coyo> i will be incapable of doing anything usable in c
 150 2012-11-18 01:47:22 <cjd> C > C++ > Go > python > ruby
 151 2012-11-18 01:47:24 <coyo> unless i just resign to hiring coders to translate my ideas into code even for the proof of concept.
 152 2012-11-18 01:47:32 <coyo> i MAY be able to learn go.
 153 2012-11-18 01:47:42 <cjd> some people will disagree that C > C++ and some will disagree that C++ > Go
 154 2012-11-18 01:47:46 <Luke-Jr> jgarzik: XMPP is no worse than IRC. You're complaining about server implementation maturity issues
 155 2012-11-18 01:47:54 <cjd> haha XMPP is shit
 156 2012-11-18 01:48:14 <cjd> remember how unstable conference.jabber.org used to be?
 157 2012-11-18 01:48:25 <coyo> it isnt much better, now
 158 2012-11-18 01:48:27 <cjd> I had a buggy crap psi client and every time I connected it would crash
 159 2012-11-18 01:48:32 <jgarzik> Luke-Jr: <jgarzik> IRC has more, better-defended servers on DDoS-hardened networks
 160 2012-11-18 01:48:35 <coyo> even though it now has an entire company funding development
 161 2012-11-18 01:48:39 <jgarzik> Luke-Jr: implementation is irrelevant
 162 2012-11-18 01:48:40 <cjd> lol
 163 2012-11-18 01:48:48 <Luke-Jr> jgarzik: that has nothing to do with IRC vs XMPP, it has to do with server implementations
 164 2012-11-18 01:49:12 <cjd> if you mess up an irc implementation then you should be a plumber
 165 2012-11-18 01:49:14 <Luke-Jr> you could do all the same stuff server-side with a server speaking XMPP
 166 2012-11-18 01:49:33 <coyo> http://about.psyc.eu/XMPP#Technical_Issues_in_Jabber
 167 2012-11-18 01:49:37 <jgarzik> Luke-Jr: No it has nothing to do with implementation.  IRC is hardened thanks to motivated admins and experience.
 168 2012-11-18 01:49:37 <cjd> if you think XMPP is a good idea then you'll probably mess up the XMPP implementation --- then arguably... you should be a plumber
 169 2012-11-18 01:50:00 <coyo> specialization is for insects :P
 170 2012-11-18 01:50:00 <jgarzik> IRC is a crappy protocol, and the server implementations are crappy
 171 2012-11-18 01:50:02 <Luke-Jr> jgarzik: IRC is a protocol. admins/experience/code are irrelevant
 172 2012-11-18 01:50:12 <jgarzik> Luke-Jr: ok, when you rejoin the real world, let me know
 173 2012-11-18 01:50:30 <cjd> you have to admit thought, IRC is hard to mess up too badly
 174 2012-11-18 01:50:36 <Luke-Jr> freenode could deploy an XMPP port on their servers and it would work just as well
 175 2012-11-18 01:50:44 <cjd> ough
 176 2012-11-18 01:50:49 <coyo> IRC's primary strength lies in its simplicity of design
 177 2012-11-18 01:50:52 <cjd> freenode isn't *that* bad is it?
 178 2012-11-18 01:51:00 <cjd> I mean since the whole hyperion thing
 179 2012-11-18 01:51:01 <coyo> it is much harder to screw up a simpler protocol.
 180 2012-11-18 01:51:18 <coyo> freenode could be much worse, i guess.
 181 2012-11-18 01:51:28 <Luke-Jr> it's just a protocol.
 182 2012-11-18 01:51:39 <coyo> the culture and community leaves something to be desired..
 183 2012-11-18 01:52:04 ovidiusoft has quit (Quit: leaving)
 184 2012-11-18 01:52:46 <cjd> it's way outdated but sadly it's the best thing we have
 185 2012-11-18 01:52:53 <coyo> hey cjd, would you recommend msgpack or protobuf as a general data serialization protocol?
 186 2012-11-18 01:53:10 <cjd> I am partial to bencode
 187 2012-11-18 01:53:12 <coyo> at least in terms of effeciency and speed?
 188 2012-11-18 01:53:15 <jgarzik> coyo: what is msgpack?
 189 2012-11-18 01:53:32 <jgarzik> protobufs are nice and fast and widely deployed
 190 2012-11-18 01:53:40 <cjd> protobuf probably has a bigger community and better support
 191 2012-11-18 01:53:43 <coyo> http://wiki.msgpack.org/display/MSGPACK/Overview
 192 2012-11-18 01:54:10 <cjd> ooop msgpack uses confluence, mos def protobuf
 193 2012-11-18 01:54:16 <coyo> msgpack could use a little more love, in my opinion, but protobuf has a lot of real world deployment and a larger community to speak for it.
 194 2012-11-18 01:54:17 <cjd> :)
 195 2012-11-18 01:54:24 <coyo> what is confluence?
 196 2012-11-18 01:54:35 <cjd> that wiki you linked to
 197 2012-11-18 01:55:04 <coyo> what?
 198 2012-11-18 01:55:22 <coyo> so you are judging the protocol based on the wiki software the project leaders chose to deploy?
 199 2012-11-18 01:55:28 <cjd> yeap :)
 200 2012-11-18 01:55:35 <cjd> XWiki or die
 201 2012-11-18 01:56:18 <cjd> anyway... protobuf is probably a bit better
 202 2012-11-18 01:56:34 <cjd> if you need it to go really fast then write structures to the wire
 203 2012-11-18 01:56:49 <cjd> and you have to make sure they're all aligned
 204 2012-11-18 01:58:03 <cjd> cjdns uses structures for the packet headers but when the routers are telling eachother about other nodes and sending pings and little crap like that, they use bencode
 205 2012-11-18 01:58:19 <jgarzik> msgpack seems quite compact, and their slides claim to be faster than protobufs
 206 2012-11-18 01:58:28 <jgarzik> still, protobufs are far more widely deployed and supported
 207 2012-11-18 01:59:04 <cjd> if you need fast, I'd write structures directly to the wire.. if you don't need fast then I'd use a protocol like json or bencode
 208 2012-11-18 01:59:38 <coyo> mmm.
 209 2012-11-18 02:00:12 <coyo> json isnt much better than xml, though.
 210 2012-11-18 02:00:19 <cjd> yeah, bencode is better
 211 2012-11-18 02:00:40 <coyo> bencode has the benefit of being extremely simple and straightforward
 212 2012-11-18 02:00:47 <coyo> and also being text-encoding neutral
 213 2012-11-18 02:01:39 <cjd> cjdns uses a custom bencode parser which converts to an internal representation and it can convert between a json dialect and bencode
 214 2012-11-18 02:01:58 <jgarzik> JSON is a lot better than XML... JSON is not infected with namespace crap, XPath, and all that other XML lard ;p
 215 2012-11-18 02:02:07 <cjd> ^
 216 2012-11-18 02:02:10 <jgarzik> much less duplication to achieve same goal
 217 2012-11-18 02:02:29 <cjd> it just has forced UTF-8
 218 2012-11-18 02:02:36 <cjd> so no sending bytes
 219 2012-11-18 02:02:38 <jgarzik> JSON is widely popular, but needs a bit more type safety
 220 2012-11-18 02:03:18 <coyo> ruby is very beautiful and fun to code, the only thing i can REALLY complain about is that most implementations have a horrible garbage collector.
 221 2012-11-18 02:03:30 Hunner_ is now known as Hunner
 222 2012-11-18 02:03:38 <cjd> ruby is
 223 2012-11-18 02:03:39 <coyo> if ruby used a far more efficient garbage collector, it would not be so slow.
 224 2012-11-18 02:03:44 <cjd> slow
 225 2012-11-18 02:04:06 <cjd> garbage collection is the devil, it was slow in the 90s and it's slow now
 226 2012-11-18 02:04:27 <coyo> the garbage collector theoretically can be very efficient.
 227 2012-11-18 02:05:00 <phantomcircuit> only in theory
 228 2012-11-18 02:05:03 <phantomcircuit> never in practice
 229 2012-11-18 02:05:04 <phantomcircuit> :)
 230 2012-11-18 02:05:12 <cjd> heh
 231 2012-11-18 02:06:02 Arnavion has joined
 232 2012-11-18 02:06:56 <coyo> hmm.
 233 2012-11-18 02:07:11 <coyo> it may be a possible sub-field to innovate in.
 234 2012-11-18 02:07:34 <coyo> after reading http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)#Generational_GC_.28ephemeral_GC.29 it doesnt seem like there's any hard-and-fast constraint that says garbage collection should be crude and slow.
 235 2012-11-18 02:08:56 <cjd> oddly enough the same is true for java
 236 2012-11-18 02:09:02 <cjd> but in practice.... D:
 237 2012-11-18 02:09:21 <coyo> but in practice java has fell pretty far from the mark.
 238 2012-11-18 02:09:43 <coyo> though java's garbage collection is still superior to ruby's
 239 2012-11-18 02:09:48 <cjd> yeahlol
 240 2012-11-18 02:09:54 <cjd> jruby is the fastest implementation
 241 2012-11-18 02:09:55 <cjd> lol
 242 2012-11-18 02:09:58 <coyo> which is actually the primary motivation behind jruby
 243 2012-11-18 02:10:03 <coyo> ruby with jvm gc
 244 2012-11-18 02:10:20 <coyo> yeah lol
 245 2012-11-18 02:10:44 * jgarzik wonders if anybody has successfully compiled ruby->jvm->object code?
 246 2012-11-18 02:11:06 <cjd> compiled jruby to .class files?
 247 2012-11-18 02:11:07 <jgarzik> using gcj
 248 2012-11-18 02:11:11 <cjd> oic
 249 2012-11-18 02:11:16 <jgarzik> .o files
 250 2012-11-18 02:11:59 <cjd> once I compiled helloworld.java with gcj and static linking
 251 2012-11-18 02:12:03 <cjd> 120MB
 252 2012-11-18 02:12:39 <coyo> holy hell.
 253 2012-11-18 02:13:21 <coyo> 120mb is a lot of freaking binary code for a simple hello world program.
 254 2012-11-18 02:13:29 <cjd> What I'd really like is a fast way to jump from java to native code (not sure if jni is fail or not) and then a nice way to optimistically compile .class files into .amd64.class files where they're loadable into a normal jvm but internally they're native code
 255 2012-11-18 02:14:20 <coyo> though to be fair, a lot of that is theoretically common infrastructure, and, in theory, shouldnt be counted toward to final result in terms of size of actual problem-domain binary code.
 256 2012-11-18 02:14:56 <coyo> that sounds pretty neat.
 257 2012-11-18 02:15:46 <coyo> i wish ruby provided a method to dynamically compile down to assembly like common lisp can via sbcl
 258 2012-11-18 02:20:24 <XertroV> ls
 259 2012-11-18 02:20:37 <XertroV> sorry, my bad
 260 2012-11-18 02:20:52 <cjd> user@debian:~/$ _
 261 2012-11-18 02:21:17 <liori> on the topic of msgpack vs protobuf: they are solutions to different problems. msgpack is for free-form messages, protobuf is for fixed-format ones.
 262 2012-11-18 02:21:27 <coyo> oh?
 263 2012-11-18 02:21:37 <coyo> i didnt know that.
 264 2012-11-18 02:21:43 <coyo> but that makes sense.
 265 2012-11-18 02:21:52 <liori> in protobuf you statically define structures to send. msgpack can send anything json can
 266 2012-11-18 02:21:54 <cjd> hmm msgpack is a free form encoding scheme?
 267 2012-11-18 02:21:59 <coyo> i thought they were both serialization protocols.
 268 2012-11-18 02:22:05 * cjd looks at link again
 269 2012-11-18 02:22:13 <coyo> and thus were alternatives to the same problem domain, serializing data structures.
 270 2012-11-18 02:24:58 <cjd> protobuf = other end knows what the structure looks like but you can add a field and old nodes won't panic
 271 2012-11-18 02:25:21 <liori> protobuf will result in smaller messages, because the messages don't have to be self-describing. but msgpack puts metadata into messages
 272 2012-11-18 02:25:31 <cjd> msgpack = bencode
 273 2012-11-18 02:26:03 <liori> also, protobuf does not encode the end of message in any way, you need to send message length separately
 274 2012-11-18 02:26:11 one_zero has joined
 275 2012-11-18 02:27:20 <coyo> interesting. so if the protocol is very well-defined, you would use protobuf, because it is much more compact.
 276 2012-11-18 02:27:21 <cjd> interesting
 277 2012-11-18 02:27:31 <liori> in the extreme case if you just send two messages one after another without manually marking the end of first message, the decoder will firstly load into the structure values from the first message, then overwrite them with values from the second one. i experienced it once…
 278 2012-11-18 02:27:43 <coyo> but if you have a rapidly-evolving and rapidly-extending protocol, bencoding/msgpack may be more feasible?
 279 2012-11-18 02:27:54 <liori> something like that
 280 2012-11-18 02:28:17 <cjd> IMO protobuf serves a very narrow field
 281 2012-11-18 02:28:37 <liori> it's something like enforcing strict schema on xml vs. having tag soup of html
 282 2012-11-18 02:29:06 <cjd> where it needs to be really fast and you can't stand the overhead of self describing but it doesn't need to be so fast that you really want to send aligned structures on the wire
 283 2012-11-18 02:29:46 <coyo> delicious tag soup
 284 2012-11-18 02:29:50 <coyo> om nom nom
 285 2012-11-18 02:30:11 <cjd> benc has some high overhead but it doesn't really have to.. I was thinking about writing a serialized which packed numbers similar to satoshi varint
 286 2012-11-18 02:30:22 <cjd> *serializer
 287 2012-11-18 02:30:34 * coyo offers to share his steaming hot dinner of rigatoni beef and olives with cjd and liori :3
 288 2012-11-18 02:33:23 <coyo> rigatoni beef and black olives <3
 289 2012-11-18 02:33:34 <cjd> heh
 290 2012-11-18 02:34:04 <coyo> so cjd, how far did you progress on your new cjdns protocol version system?
 291 2012-11-18 02:34:12 <cjd> done
 292 2012-11-18 02:34:21 <cjd> there are 2 versions and they communicate ok
 293 2012-11-18 02:34:27 <coyo> nice.
 294 2012-11-18 02:34:47 <cjd> even though it would be a trainwreck for one to try to talk the wrong version to another
 295 2012-11-18 02:35:01 <coyo> but now the protocol feature of version discrimination exists, and you can selectively gossip only compatible nodes, correct?
 296 2012-11-18 02:35:14 <cjd> cjdns does not send version and verack packets like bitcoin so if you don't know the version in advance, you die
 297 2012-11-18 02:35:21 <cjd> could
 298 2012-11-18 02:36:04 <coyo> hmm.
 299 2012-11-18 02:37:05 <coyo> how difficult would it be to design an 8192-bit version of IP?
 300 2012-11-18 02:37:30 <coyo> assume i was going to use a label-switching strategy for routing effeciency.
 301 2012-11-18 02:37:54 <cjd> I could design it in a day
 302 2012-11-18 02:38:04 <coyo> really?
 303 2012-11-18 02:38:26 <cjd> getting windows and linux and macos and firefox and irc and everything to communicate using it...
 304 2012-11-18 02:38:35 <cjd> would take at least 20 years
 305 2012-11-18 02:38:37 <coyo> so.. if i had 6000 dollars in the bank right now, you could return me an ip protocol stack prototype the next day? that's pretty impressive.
 306 2012-11-18 02:38:53 <cjd> see above
 307 2012-11-18 02:39:04 <coyo> i see it.
 308 2012-11-18 02:39:18 <cjd> IPv6 was started in 1995 and it still hasn't taken off
 309 2012-11-18 02:39:23 <coyo> but the great thing about an overlay network is that there's no need to rush.
 310 2012-11-18 02:39:31 <coyo> things can gradually adopt the new protocol.
 311 2012-11-18 02:39:37 <cjd> not if the application can't talk the protocol
 312 2012-11-18 02:39:48 <cjd> firefox talks ipv6, that's why cjdns works
 313 2012-11-18 02:39:53 <coyo> yeah.
 314 2012-11-18 02:40:11 <cjd> if you want an absurdly large ip packet, you need to train your software to accept it
 315 2012-11-18 02:40:12 <cjd> all of it
 316 2012-11-18 02:40:27 <coyo> but that's your (good) strategy of using software that already has made internal codebase modifications and patches to use the existing ipv6 address bitlength.
 317 2012-11-18 02:41:38 <coyo> but what you are saying is that it wouldnt be ridiculously difficult to get the protocol itself well defined and prototyped?
 318 2012-11-18 02:42:12 <cjd> no but if you paid me to do it, you would feel ripped off because I would just respec the ipvy packet with larger source and dest fields
 319 2012-11-18 02:42:20 <coyo> i hear you on the protocol stack per platform, though. i will probably use the strategy of virtualizing everything to the point of aggressive code portability.
 320 2012-11-18 02:42:21 <cjd> *ipv6
 321 2012-11-18 02:42:29 <coyo> oh.
 322 2012-11-18 02:43:08 <coyo> yeah, but that wouldnt even require a day.
 323 2012-11-18 02:43:11 <coyo> just a few minutes.
 324 2012-11-18 02:43:58 <cjd> a day to work out the surprises
 325 2012-11-18 02:44:00 <coyo> i wonder how difficult it would be to write userspace protocol stack libraries and a bridge tun adapter..
 326 2012-11-18 02:44:20 <cjd> tcp in userspace already exists
 327 2012-11-18 02:44:32 <cjd> note that you're basicly rewriting TOR or I2P
 328 2012-11-18 02:44:35 <coyo> so it is well within the space of possibility.
 329 2012-11-18 02:44:44 <cjd> and one of the main problems with those is they don't talk ipv4/6
 330 2012-11-18 02:44:49 <coyo> well, i have different design goals to tor or i2p
 331 2012-11-18 02:45:07 <cjd> also you don't need large packets
 332 2012-11-18 02:45:12 <coyo> but you are correct in that i could learn from techniques used in those projects.
 333 2012-11-18 02:45:36 <cjd> could use ipv4 packets if you're sure your users will not be using 10.0.0.0/8
 334 2012-11-18 02:46:07 <cjd> just when someone does a dns lookup, you allocate an ipv4 address to that key and internally you map between your on-wire protocol and the ipv4 that their applications know and love
 335 2012-11-18 02:46:33 <coyo> well, if i wanted to be blatant about being standards-uncompliance, i could use the 7.0.0.0/8 address space.
 336 2012-11-18 02:46:56 <coyo> yeah, essentially, i'd be using an internal NAT
 337 2012-11-18 02:46:59 <cjd> use 11.0.0.0, it's DoD so it will never be used in the real world :P
 338 2012-11-18 02:47:05 <coyo> haha.
 339 2012-11-18 02:47:07 <coyo> okay :D
 340 2012-11-18 02:47:31 <cjd> cjdns can do the same thing with it's ipv6 packets
 341 2012-11-18 02:47:51 <cjd> doesn't need to do any mapping, just to verify that someone hasn't collided a 128 bit ipv6 address
 342 2012-11-18 02:47:57 <cjd> which btw is impossible right now
 343 2012-11-18 02:48:08 <coyo> hmm. i just came up with a clever scheme for how to map addresses. writing this down.
 344 2012-11-18 02:48:11 <cjd> in 10 years it might become possible but the protocol allows for preventing it
 345 2012-11-18 02:49:06 <cjd> note that the application might not enjoy it's ipv4 address looking different to everyone
 346 2012-11-18 02:49:08 <coyo> i'm not knocking your protocol, it's very clever, and i have learned a great deal from your approach.
 347 2012-11-18 02:49:26 <cjd> if you were you wouldn't be the first or the last :)
 348 2012-11-18 02:50:09 <coyo> this is true. having a unique nickspace will probably confuse a lot of p2p applications.
 349 2012-11-18 02:51:02 <coyo> i wonder if simulating upnp or something would be possible to help adapt existing p2p applications..
 350 2012-11-18 02:51:03 <cjd> yeah, for cjdns it's just for verification because there will never be an accidental collision, possibly in 10 years there would be intentional collisions though
 351 2012-11-18 02:51:11 TwilightSparklee has joined
 352 2012-11-18 02:52:21 <coyo> 128 is pretty small in terms of collisions, though.
 353 2012-11-18 02:52:28 <cjd> oh?
 354 2012-11-18 02:52:37 <coyo> you are confident that it will take 10 years for collisions to be a problem?
 355 2012-11-18 02:53:05 <cjd> define your attack equipment
 356 2012-11-18 02:53:13 <coyo> well.
 357 2012-11-18 02:53:25 TwilightSparkl-1 has joined
 358 2012-11-18 02:54:12 <coyo> let's say i owned several diverse internetworks located in different regions of the world, owned enough physical and virtual machines to conduct sybil attacks, and owned entire network prefixes in terms of underlying IP address space.
 359 2012-11-18 02:54:38 <cjd> sibyl attacks are not meaningful to colliding an ip addr
 360 2012-11-18 02:54:45 * coyo nods.
 361 2012-11-18 02:55:21 <coyo> is brute forcing the hashes the only method of colliding a cjdns addr?
 362 2012-11-18 02:55:35 <cjd> mhm
 363 2012-11-18 02:56:02 <cjd> most powerful bruting system in the world is the bitcoin network
 364 2012-11-18 02:56:16 <cjd> it regularly finds about a 64 bit collision
 365 2012-11-18 02:56:19 vampireb has joined
 366 2012-11-18 02:56:24 <coyo> hehe.
 367 2012-11-18 02:56:32 TwilightSparklee has quit (Ping timeout: 256 seconds)
 368 2012-11-18 02:56:41 <cjd> if the whole bitcoin network finds a 64 bit collision for 500$
 369 2012-11-18 02:56:57 <cjd> then a 65 bit collision costs 1000$ and takes the network 20 minutes
 370 2012-11-18 02:57:00 <coyo> so the bitcoin network is a good gauge of what current computation capacity is?
 371 2012-11-18 02:57:23 <cjd> /nod
 372 2012-11-18 02:58:00 <cjd> ;;calc 500**54
 373 2012-11-18 02:58:01 <gribble> 55511151231257823571160183624217802436680300162073375146205862269581979777786362589434315637728804045664120471286995972714091556960350167569006592
 374 2012-11-18 02:58:04 <cjd> $
 375 2012-11-18 02:58:10 <coyo> i wonder what the implications of TH/s such as the butterfly labs beast would mean for general information security?
 376 2012-11-18 02:58:19 <coyo> that... is a large number.
 377 2012-11-18 02:58:26 <cjd> would be the bitcoin network cost of finding a 128 bit collision
 378 2012-11-18 02:58:43 <cjd> oops I typed 54 instead of 64
 379 2012-11-18 02:58:50 <cjd> ;;calc 500**64
 380 2012-11-18 02:58:51 <gribble> 54210108624275223917613798988921077516893656836376481800589749700708151459527474647904035368433110806403195264147109583005727447647617499010357186287782026036657630228774912
 381 2012-11-18 02:58:54 <cjd> there ya go
 382 2012-11-18 02:58:57 <coyo> yeah, that's an astronomically large number, and more than the capitalization of every market in the world.
 383 2012-11-18 02:59:01 <coyo> that money does not exist.
 384 2012-11-18 02:59:07 <cjd> mmm
 385 2012-11-18 02:59:31 <cjd> but assuming miner's time was free, we could express it in terms of minutes
 386 2012-11-18 02:59:36 <cjd> ;;calc 10**64
 387 2012-11-18 02:59:36 <gribble> 10000000000000000213204190094543968723012578712679649467743338496
 388 2012-11-18 02:59:38 <coyo> yeah.
 389 2012-11-18 02:59:47 <coyo> still a pretty damned large number.
 390 2012-11-18 02:59:53 <cjd> I think the heat death of the universe is a serious concern
 391 2012-11-18 03:00:30 <coyo> though doesnt every miner discard every hash computed other than those with leading zeros?
 392 2012-11-18 03:00:43 <coyo> those hashes would take up a LOT of space to retain.
 393 2012-11-18 03:00:51 xenland has joined
 394 2012-11-18 03:01:17 TwilightSparkl-1 has quit (Quit: Colloquy for iPhone - http://colloquy.mobi)
 395 2012-11-18 03:01:23 <coyo> i dont see how we could possibly avert the heat death of the universe.
 396 2012-11-18 03:01:49 <cjd> don't try to collide 128 bits and it won't make that much heat ;)
 397 2012-11-18 03:02:05 <coyo> heh.
 398 2012-11-18 03:02:36 <xenland> the death of universe is just a theory based of what little we know about the universe, I wouldnt look too much into it until quantum science has some solid consist grounds
 399 2012-11-18 03:02:50 <coyo> hello xenland
 400 2012-11-18 03:03:02 <xenland> hey coyo i guess i just jumped in here huh?
 401 2012-11-18 03:03:05 <cjd> yeah, I'm just making shit up to put those numbers into perspective
 402 2012-11-18 03:03:20 <xenland> oh alright don't know what you bee talking about then
 403 2012-11-18 03:03:36 <cjd> power necessary to collide 128 bits
 404 2012-11-18 03:03:46 <cjd> of double sha256
 405 2012-11-18 03:04:03 <cjd> (cjdns uses double sha512 but that just makes it a bit harder)
 406 2012-11-18 03:04:06 <coyo> xenland, we were just talking about a project of cjd's as well as an experimental protocol stack i'm working on that attempts to integrate the bitcoin network into an overall incentive system.
 407 2012-11-18 03:04:39 <cjd> I'm just here to spam the chain and make enemies
 408 2012-11-18 03:04:50 <xenland> interesting indeed! /me sit backs and listens
 409 2012-11-18 03:04:56 <xenland> lol
 410 2012-11-18 03:05:15 <coyo> cjd and i were arguing over the relative mathematical difficulty between 128-bit hash collision attacks and 8129-bit hash collision attacks.
 411 2012-11-18 03:06:21 <coyo> i was suggesting that an overlay protocol stack which included a heavily modified version of the Internet Protocol which incorporates some of cjd's ideas on switching labels for efficient packet forwarding without relying on network prefix aggregation.
 412 2012-11-18 03:07:25 <xenland> Bitcoin Internet Protocal!
 413 2012-11-18 03:07:40 <coyo> i suggested that transparent cryptographic security which uses the address bitlength of 8129 bits would be preferable due to projects such as gnu privacy guard now adopting widespread availability of 8129 bit public keypair generation.
 414 2012-11-18 03:07:45 <cjd> my advice is to avoid trying to clone cjdns
 415 2012-11-18 03:08:15 <cjd> someone who is an accomplished software developer 10 years older than I decided to port it to another language
 416 2012-11-18 03:08:25 <cjd> he started reading and gave up pretty quickly
 417 2012-11-18 03:08:32 <coyo> would you suggest an alternative method of switch labeling?
 418 2012-11-18 03:08:47 <cjd> the one I have is the best except if you want to debug it
 419 2012-11-18 03:09:08 <coyo> alright, so you are confident your approach is the best in terms of the switching labels?
 420 2012-11-18 03:09:32 <cjd> me and a few other people spent a lot of time literally staring at 2 or 3 lines of code just trying to make sure they're right
 421 2012-11-18 03:09:43 Hasimir- has joined
 422 2012-11-18 03:09:44 <cjd> best that exists
 423 2012-11-18 03:09:44 <coyo> is there any hypothetical incremental improvement that COULD be made to the switching label forwarding system other than the address bit length?
 424 2012-11-18 03:10:02 <coyo> alright.
 425 2012-11-18 03:10:29 <coyo> the biggest thing i noticed about cjdns is that the existing community seems to believe that darknet-style privacy is actually feasible.
 426 2012-11-18 03:12:00 <cjd> if you want to rewrite the switch, this file is a good place to start... try to see if you know why it uses the numbers and operations that it does https://github.com/cjdelisle/cjdns/blob/master/switch/LabelSplicer.h
 427 2012-11-18 03:12:03 Guest21169 has quit (Ping timeout: 260 seconds)
 428 2012-11-18 03:19:20 <coyo> i will attempt to read the file. i have extremely little experience with c
 429 2012-11-18 03:19:58 Zarutian has quit (Quit: Zarutian)
 430 2012-11-18 03:20:04 D34TH has quit (Read error: Connection reset by peer)
 431 2012-11-18 03:21:15 Hasimir_ has joined
 432 2012-11-18 03:21:23 Hasimir_ is now known as Guest81759
 433 2012-11-18 03:21:47 Hasimir- has quit (Read error: Connection reset by peer)
 434 2012-11-18 03:23:48 D34TH has joined
 435 2012-11-18 03:23:48 D34TH has quit (Changing host)
 436 2012-11-18 03:23:48 D34TH has joined
 437 2012-11-18 03:30:14 swulf--1 has joined
 438 2012-11-18 03:31:39 swulf-- has quit (Ping timeout: 276 seconds)
 439 2012-11-18 03:45:00 fiesh has quit (Ping timeout: 260 seconds)
 440 2012-11-18 03:45:05 Guest81759 is now known as Hasimir
 441 2012-11-18 03:45:06 Hasimir has quit (Changing host)
 442 2012-11-18 03:45:06 Hasimir has joined
 443 2012-11-18 03:46:39 meLon has quit (Remote host closed the connection)
 444 2012-11-18 03:49:22 fiesh has joined
 445 2012-11-18 03:49:51 BitcoinBaltar has quit (Ping timeout: 276 seconds)
 446 2012-11-18 03:50:13 Eslbaer has joined
 447 2012-11-18 03:52:44 TheEslbear has quit (Ping timeout: 246 seconds)
 448 2012-11-18 03:54:12 BitcoinBaltar has joined
 449 2012-11-18 03:54:37 MC-Eeepc has joined
 450 2012-11-18 03:55:07 TwilightSparklee has joined
 451 2012-11-18 03:57:54 <jgarzik> https://github.com/cjdelisle/cjdns  <<-- browsable tree
 452 2012-11-18 03:58:03 <jgarzik> https://github.com/bitsofproof/supernode  <<-- incomprehensible tree
 453 2012-11-18 03:58:12 <jgarzik> guess which one is Java?
 454 2012-11-18 03:58:31 Hasimir- has joined
 455 2012-11-18 03:59:40 <coyo> hehe.
 456 2012-11-18 03:59:46 <coyo> bitsofproof :3
 457 2012-11-18 03:59:52 Cory has quit (Ping timeout: 252 seconds)
 458 2012-11-18 04:00:19 <coyo> jgarzik, dont you know that true art is incomprehensible?
 459 2012-11-18 04:00:42 <coyo> therefore bitsofproof's supernode code is True Art
 460 2012-11-18 04:01:03 Hasimir has quit (Ping timeout: 264 seconds)
 461 2012-11-18 04:02:15 Cory has joined
 462 2012-11-18 04:02:18 <coyo> https://github.com/bitsofproof/supernode/blob/master/src/com/bitsofproof/supernode/main/Application.java it's actually not to bad in terms of browsability
 463 2012-11-18 04:02:22 <coyo> it could be much worse
 464 2012-11-18 04:03:54 <jgarzik> The code itself is readable, but the directory tree is not really browsable.  Typical Java project.  When your core code is split across >10 directories, you have a problem ;p
 465 2012-11-18 04:05:21 _daver_ has joined
 466 2012-11-18 04:06:07 _daver_ has left ()
 467 2012-11-18 04:14:02 Z0rZ0rZ0r1 has joined
 468 2012-11-18 04:14:03 Z0rZ0rZ0r has quit (Disconnected by services)
 469 2012-11-18 04:14:15 Guest48188 has quit (Remote host closed the connection)
 470 2012-11-18 04:14:49 <cjd> I appreciate your calling my project browsable, it's kind of as mess but at least it doesn't fall for the maven /path/path-to/path-to-the/path-to-the-end/path-to-the-end-of/path-to-the-end-of-the/path-to-the-end-of-the-universe antipattern
 471 2012-11-18 04:18:11 Guest62186 has joined
 472 2012-11-18 04:19:25 <xenland> I never liked that about java it seemed like "less files ment more coding per page and vice versa"
 473 2012-11-18 04:19:30 <cjd> nice ip addr graet
 474 2012-11-18 04:20:42 <coyo> http://lesswrong.com/lw/p1/initiation_ceremony/ this is pretty cool.
 475 2012-11-18 04:20:57 <coyo> i wish there was such a real thing as a baysian conspiracy.
 476 2012-11-18 04:21:40 <coyo> 192.196.0.0/16? that's pretty cool.
 477 2012-11-18 04:21:54 <coyo> *198
 478 2012-11-18 04:22:56 [7] has quit (Disconnected by services)
 479 2012-11-18 04:23:04 TheSeven has joined
 480 2012-11-18 04:24:40 da2ce7 has joined
 481 2012-11-18 04:38:32 Hasimir_ has joined
 482 2012-11-18 04:38:39 Hasimir_ is now known as Guest21159
 483 2012-11-18 04:38:40 Hasimir- has quit (Ping timeout: 260 seconds)
 484 2012-11-18 04:44:00 D34TH has quit (Read error: Connection reset by peer)
 485 2012-11-18 04:49:40 vampireb has quit (Quit: Lost terminal)
 486 2012-11-18 04:53:13 _W_ has quit (Read error: Connection reset by peer)
 487 2012-11-18 04:56:41 Hasimir- has joined
 488 2012-11-18 04:58:36 Guest21159 has quit (Ping timeout: 240 seconds)
 489 2012-11-18 04:58:55 TwilightSparklee has quit (Quit: Colloquy for iPhone - http://colloquy.mobi)
 490 2012-11-18 05:09:44 freakazoid has joined
 491 2012-11-18 05:13:22 B0g4r7_ has joined
 492 2012-11-18 05:16:18 B0g4r7 has quit (Ping timeout: 276 seconds)
 493 2012-11-18 05:16:19 B0g4r7_ is now known as B0g4r7
 494 2012-11-18 05:24:41 Guest62186 is now known as Graet
 495 2012-11-18 05:24:51 Graet has quit (Changing host)
 496 2012-11-18 05:24:51 Graet has joined
 497 2012-11-18 05:41:21 osmosis has joined
 498 2012-11-18 05:42:36 Hasimir- is now known as Hasimir
 499 2012-11-18 05:42:37 Hasimir has quit (Changing host)
 500 2012-11-18 05:42:37 Hasimir has joined
 501 2012-11-18 05:51:39 JDuke128 has joined
 502 2012-11-18 05:53:10 <xenland> jgarzik: Are you aware of the reasons behind why pushpool only supports up to 300GH/s, I heard this was due to its single-threaded nature, is this true?
 503 2012-11-18 05:55:48 tyfaust has joined
 504 2012-11-18 05:56:09 <tyfaust> If I switch bitcoin clients can I keep my same wallet and also not have to re-download the transaction history?
 505 2012-11-18 05:57:25 <coyo> ugh. i really hate those people.
 506 2012-11-18 05:58:11 <coyo> fucking worthless dumbshits think they are the geniuses of the world, but are more useless pointless arrogant bastards than mensa members.
 507 2012-11-18 05:58:15 <doublec> xenland: I would have thought pushpool would hit limitations in bitcoind before pushpool itself
 508 2012-11-18 05:58:46 <cjd> coyo: wrong channel
 509 2012-11-18 05:59:01 <coyo> cjd, this is one of the few channels i actually like.
 510 2012-11-18 06:00:02 * cjd scrolls up and shrugs
 511 2012-11-18 06:00:34 <coyo> meh.
 512 2012-11-18 06:01:21 <xenland> doublec: Isn't all Bitcoind does is return the work needed how is that any load on Bitcoin?(or am i missing something)
 513 2012-11-18 06:03:03 <doublec> xenland: bitcoind pre-0.7 had a single threaded rpc interface, where each call pretty much blocked until complete iirc
 514 2012-11-18 06:03:38 <xenland> doublec: 0.7.1?
 515 2012-11-18 06:03:48 <doublec> xenland: getwork submissions also have to verify the work
 516 2012-11-18 06:04:24 <doublec> xenland: I don't know which version changed it
 517 2012-11-18 06:04:33 ThomasV has joined
 518 2012-11-18 06:04:36 <xenland> but is the latest version multi-threaded now?
 519 2012-11-18 06:04:38 <xenland> or still single
 520 2012-11-18 06:04:56 <doublec> I haven't followed the recent changes
 521 2012-11-18 06:05:08 <xenland> okay thanks mate
 522 2012-11-18 06:12:25 darkee has quit (Remote host closed the connection)
 523 2012-11-18 06:13:11 da2ce7 has quit (Ping timeout: 256 seconds)
 524 2012-11-18 06:17:14 JDuke128 has quit (Quit: Computer has gone to sleep.)
 525 2012-11-18 06:18:30 <jgarzik> xenland: correct
 526 2012-11-18 06:18:40 <jgarzik> xenland: to be specific, single-threaded database and bitcoind connections
 527 2012-11-18 06:18:58 <jgarzik> xenland: solution is obvious (multi-thread it), and it's back up to snuff
 528 2012-11-18 06:19:12 <xenland> Thanks jgarzik
 529 2012-11-18 06:19:25 <jgarzik> xenland: pull requests welcome :)
 530 2012-11-18 06:20:19 <xenland> heh I'm still not that comfertable with the code yet, maybe one day I submit a pull request
 531 2012-11-18 06:21:05 BTCOxygen has joined
 532 2012-11-18 06:28:46 darkee has joined
 533 2012-11-18 06:42:49 <tyfaust> If I switch Bitcoin clients can I keep my same wallet and also not have to re-download the transaction history?
 534 2012-11-18 06:44:30 <jgarzik> tyfaust: Do you mean same-client/different-version, or wholly different software?
 535 2012-11-18 06:45:10 <jgarzik> tyfaust: The "Satoshi" reference client from bitcoin.org keeps the same wallet.  If you are switching to, say, Armory or MultiBit, the wallet is totally different.
 536 2012-11-18 06:48:58 JDuke128 has joined
 537 2012-11-18 06:52:57 <tyfaust> jgarzik, thanks. that is what I needed to know about the wallet. What about the re-downloading the transaction history with Armory or MultiBit?
 538 2012-11-18 06:55:34 <jgarzik> tyfaust: sorry, don't know much about their internal operations
 539 2012-11-18 06:55:54 <tyfaust> No worries. Thanks for your help.
 540 2012-11-18 07:02:24 _W_ has joined
 541 2012-11-18 07:10:51 JZavala has joined
 542 2012-11-18 07:15:23 freakazoid has quit (Ping timeout: 246 seconds)
 543 2012-11-18 07:25:55 JDuke128 has quit (Ping timeout: 265 seconds)
 544 2012-11-18 07:27:58 JDuke128 has joined
 545 2012-11-18 07:36:59 L1V3 has joined
 546 2012-11-18 07:43:03 JDuke128 has quit (Ping timeout: 264 seconds)
 547 2012-11-18 07:46:11 Garr255 has joined
 548 2012-11-18 07:46:11 Garr255 has quit (Changing host)
 549 2012-11-18 07:46:11 Garr255 has joined
 550 2012-11-18 07:46:33 JDuke128 has joined
 551 2012-11-18 07:53:32 L1V3 has quit (Ping timeout: 246 seconds)
 552 2012-11-18 07:56:52 tyfaust has quit (Quit: ChatZilla 0.9.89 [Firefox 10.0.7/20120826091233])
 553 2012-11-18 07:58:18 JDuke128 has quit (Ping timeout: 248 seconds)
 554 2012-11-18 08:02:00 JDuke128 has joined
 555 2012-11-18 08:02:31 coyo has quit (Remote host closed the connection)
 556 2012-11-18 08:06:51 <phantomcircuit> !seen gav
 557 2012-11-18 08:06:51 <gribble> I have not seen gav.
 558 2012-11-18 08:07:05 <phantomcircuit> !seen sipa
 559 2012-11-18 08:07:06 <gribble> sipa was last seen in #bitcoin-dev 9 hours, 39 minutes, and 9 seconds ago: <sipa> "meh"
 560 2012-11-18 08:08:19 dudecoin has joined
 561 2012-11-18 08:09:46 <dudecoin> hi
 562 2012-11-18 08:10:18 <amiller> hi dudecoin
 563 2012-11-18 08:11:23 <dudecoin> hi amiller... I would like to talk to talk to a bitcoin developer... I think this is the right channel
 564 2012-11-18 08:11:34 <amiller> what's your question/concern/topic
 565 2012-11-18 08:12:20 <dudecoin> I would like to talk about the "nLockTime"
 566 2012-11-18 08:12:59 ThomasV has quit (Quit: Quitte)
 567 2012-11-18 08:14:04 <dudecoin> anyone?
 568 2012-11-18 08:14:08 <amiller> what about nlocktime
 569 2012-11-18 08:15:18 <dudecoin> can I make a tx with nLockTime to be released in the future? Lets say... 300 blocks ahead.
 570 2012-11-18 08:15:34 <amiller> yeah that's the way it works
 571 2012-11-18 08:15:43 <amiller> afaik it is not currently enabled/enforced though
 572 2012-11-18 08:15:45 <dudecoin> ok
 573 2012-11-18 08:16:43 <dudecoin> also... in the same tx... I would like it to have an script with a condition
 574 2012-11-18 08:21:19 <dudecoin> like: nLockTime=300. The script would have to validate this: IF (nLockTime>300) THEN <the payment have to be returned> ELSE <check if a proof of work is valid>
 575 2012-11-18 08:23:07 <dudecoin> nLockTime=300 in my example means "active block number + 300 block ahead"
 576 2012-11-18 08:24:34 <dudecoin> ?
 577 2012-11-18 08:26:33 <dudecoin> amiller: can you help?
 578 2012-11-18 08:26:46 xIsalty-otc is now known as xIsalty
 579 2012-11-18 08:28:27 <dudecoin> anyone?
 580 2012-11-18 08:31:44 <dudecoin> no one?
 581 2012-11-18 08:36:54 tonikt has quit (Read error: Connection reset by peer)
 582 2012-11-18 08:45:01 toffoo has quit ()
 583 2012-11-18 08:46:07 <dudecoin> ?
 584 2012-11-18 08:52:21 <dudecoin> ??
 585 2012-11-18 09:00:55 CodesInChaos has joined
 586 2012-11-18 09:03:00 osmosis has quit (Quit: Leaving)
 587 2012-11-18 09:03:40 da2ce7 has joined
 588 2012-11-18 09:06:21 ovidiusoft has joined
 589 2012-11-18 09:16:11 one_zero has quit ()
 590 2012-11-18 09:22:35 one_zero has joined
 591 2012-11-18 09:38:23 mortikia has quit (Ping timeout: 246 seconds)
 592 2012-11-18 09:44:14 RazielZ has joined
 593 2012-11-18 09:44:31 mortikia has joined
 594 2012-11-18 09:49:21 muhoo has joined
 595 2012-11-18 09:51:24 <dudecoin> anyone?
 596 2012-11-18 09:53:19 <muhoo> what does the "id" parameter in the json rpc api do? what's that for?
 597 2012-11-18 09:56:25 <Diablo-D3> nothing
 598 2012-11-18 09:56:34 <Diablo-D3> jsonrpc 1.0 requires it, but nothing uses it
 599 2012-11-18 09:56:53 <Diablo-D3> jsonrpc 2.0 apis like stratum do use it I think, though
 600 2012-11-18 09:57:07 da2ce7 has quit (Ping timeout: 276 seconds)
 601 2012-11-18 09:57:32 da2ce7 has joined
 602 2012-11-18 09:57:56 brwyatt is now known as brwyatt|Away
 603 2012-11-18 09:59:13 <dudecoin> hey... anyone alive?
 604 2012-11-18 09:59:30 <dudecoin> I would like to talk to someone about "nLockTime"
 605 2012-11-18 10:00:44 <Ferroh> dudecoin, it doesn't work currently because no client enforces it.
 606 2012-11-18 10:01:46 JDuke128 has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
 607 2012-11-18 10:04:04 <muhoo> Diablo-D3: thanks
 608 2012-11-18 10:04:23 <dudecoin> Ferroh: ok... I have read it is disabled right now... but I would like to talk about this feature... can you talk to me about this?
 609 2012-11-18 10:05:03 <Ferroh> I see that you are new to IRC :)
 610 2012-11-18 10:05:06 <phantomcircuit> ;;bc,blocks
 611 2012-11-18 10:05:07 <gribble> 208456
 612 2012-11-18 10:05:14 <Diablo-D3> dem blocks
 613 2012-11-18 10:05:15 <Ferroh> You'll get farther by asking your question, rather than asking if you can ask ;)
 614 2012-11-18 10:05:35 <dudecoin> yes... I just started
 615 2012-11-18 10:06:13 <dudecoin> well ok
 616 2012-11-18 10:06:45 <dudecoin> I will pm you then
 617 2012-11-18 10:07:03 dvide has quit ()
 618 2012-11-18 10:07:49 <Ferroh> what?
 619 2012-11-18 10:07:50 <Ferroh> no...
 620 2012-11-18 10:08:02 <Ferroh> Just ask your question already.
 621 2012-11-18 10:08:18 <Ferroh> If someone knows the answer, and they are not AFK, then they will answer.
 622 2012-11-18 10:08:41 <dudecoin> like: I would like to setup a new version of the client with this feature enabled.
 623 2012-11-18 10:08:53 <Ferroh> Most people will be AFK at the moment, since it is like 5AM EST
 624 2012-11-18 10:09:52 <Ferroh> You'd like to patch bitcoind so that it supports nlocktime?
 625 2012-11-18 10:09:59 <dudecoin> but my English is not good... well... lets go
 626 2012-11-18 10:11:16 <dudecoin> then a tx could be done with nLockTime=300... The script would have to validate this: IF (nLockTime>300) THEN <the payment have to be returned to ALICE btc address> ELSE <check if a proof of work is valid - if valid send to BOB btc address>
 627 2012-11-18 10:12:11 <Ferroh> Okay, but you realize that everyone would have to use a client that enforces nlocktime, right?
 628 2012-11-18 10:12:29 <Ferroh> It is not enough to merely design your own personal client that supports nlocktime.
 629 2012-11-18 10:12:43 <dudecoin> I would like if a tx could have a script with nLockTime and a condition like IF/ELSE inside
 630 2012-11-18 10:12:58 <Ferroh> I know.
 631 2012-11-18 10:13:02 <xenland> Maybe he is not talking about changing the protocal ferroh
 632 2012-11-18 10:13:20 <dudecoin> yes... I could make it a new fork to make tests
 633 2012-11-18 10:13:23 sakkaku has quit (Read error: Connection reset by peer)
 634 2012-11-18 10:13:38 <Ferroh> xenland: nlocktime already exists but AFAIK no clients actually enforce the nlocktime rule
 635 2012-11-18 10:13:48 <Ferroh> That is my understanding, anyway.
 636 2012-11-18 10:14:17 <dudecoin> well... I dont know if it is changing the protocol... I think it is not a good idea... I just need to understand if my idea is right or not
 637 2012-11-18 10:16:07 <dudecoin> the main idea is to make the nLockTime enabled... lets make an example... setup a tx with script inside... the script have nLockTime=300 and a IF/ELSE condition.
 638 2012-11-18 10:16:21 <dudecoin> I need to know if it is possible or I'm talking bs
 639 2012-11-18 10:18:21 <xenland> What is the purpose of doing all this?
 640 2012-11-18 10:18:36 <xenland> like why are you needing to do anything with nLockTime
 641 2012-11-18 10:19:23 <dudecoin> well... if it is possible? if it is possible I can continue...
 642 2012-11-18 10:19:56 <dudecoin> xenland: is it possible? if it is possible I have a use for it...
 643 2012-11-18 10:20:53 <dudecoin> a tx with script, nLockTime and  IF/ELSE inside the script...
 644 2012-11-18 10:22:13 <xenland> I wouldn't know i don't know the purpose of nLockTime but perhabs there are some inactive OP_CODES that could assit you with your problem in the near future
 645 2012-11-18 10:22:46 <dudecoin> ok...
 646 2012-11-18 10:23:03 <dudecoin> see... I have read a little about nLockTime...
 647 2012-11-18 10:23:47 <xenland> It sounds like you want something to happen after X amount of time but if it dosen't happen send the money to BOB
 648 2012-11-18 10:24:34 <dudecoin> if I can do a tx that will be pending for sometime... lets say 2 days and also I can put a script  with IF/ELSE inside... I think a p2p trade could be done.
 649 2012-11-18 10:25:51 <xenland> I'm not sure why you want a payment to pend so i can think of two ways to do this
 650 2012-11-18 10:27:14 <dudecoin> the payment have to be pending... lets say... I want to send you 1 btc... but inside of this btc has a script with nLockTime=300 blocks ahead.
 651 2012-11-18 10:27:40 da2ce7 has quit (Ping timeout: 276 seconds)
 652 2012-11-18 10:28:11 <dudecoin> the payment is pending until 300 blocks.
 653 2012-11-18 10:29:04 <dudecoin> The script inside have to validate this: IF (nLockTime>300) THEN <the original payment have to be returned to ALICE> ELSE <check if a proof of work is valid, if it is valid the payment goes to BOB>
 654 2012-11-18 10:29:31 <xenland> I don't think I can really help any futher im not exactly sure what your trying to accomplish.
 655 2012-11-18 10:30:37 <dudecoin> this is a draft idea to create a p2p exchange
 656 2012-11-18 10:33:10 <xenland> AH
 657 2012-11-18 10:33:13 Backburn has joined
 658 2012-11-18 10:33:34 <xenland> I think to keep messages in the Bitcoin pool memeory for a p2p exchange would be costly in terms of memory
 659 2012-11-18 10:34:02 <xenland> So i dunno if its possible dosen't sound like it at the moment, perhaps you could use authization layers and have multiple ownerships control when it should be moved
 660 2012-11-18 10:34:26 <dudecoin> alice sends 1 btc to bob but alice dont trust bob... so she makes a tx with nLockTime=300, and the script inside the tx have to validate this: IF (nLockTime>300) <pay ALICE> ELSE <a) validate a proof of work signed by bob... b) IF (VALID) then pay BOB>
 661 2012-11-18 10:34:49 <xenland> There is an OP_CODE propoasl that shows how to do things like "Release Bitcoins when I DIe senarios" but they are not exact they have to be dealt with an out side controller as Bitcoin network can't confirm or deny you wer dead or not
 662 2012-11-18 10:35:26 <xenland> dudecoin: dosen't multi-sig solve this kind of trust issue?
 663 2012-11-18 10:36:50 <dudecoin> I think no
 664 2012-11-18 10:37:56 <xenland> Maybe you don't understand the uses of multi-sig :P
 665 2012-11-18 10:38:51 <dudecoin> in this scenery BOB has the payment alread sent to him but it is not released... to release the payment bob needs to provide a prof of work
 666 2012-11-18 10:40:03 <dudecoin> if he do not provide a prof of work in the accorded time the payment will return to alice,
 667 2012-11-18 10:40:24 <dudecoin> I cant see the multi-sign doing this
 668 2012-11-18 10:40:57 someone42 has quit (Read error: Connection reset by peer)
 669 2012-11-18 10:41:29 <xenland> Oh i see you need it done in a maximum time frame
 670 2012-11-18 10:41:37 <xenland> and trust is needed
 671 2012-11-18 10:43:06 <dudecoin> I will try again... how to solve this: I send you 1 btc and you have to provide a proof of work... if you do not provide it until 300 blocks ahead you have to return the coins to me.
 672 2012-11-18 10:44:16 <dudecoin> I think muti-sign cant solve this... but a tx with nLockTime and IF/ELSE inside could.
 673 2012-11-18 10:45:10 <dudecoin> what do you think?
 674 2012-11-18 10:45:30 <xenland> Sounds sound
 675 2012-11-18 10:46:25 xIsalty has quit (Quit: Leaving)
 676 2012-11-18 10:47:41 <dudecoin> so... my idea is ok?
 677 2012-11-18 10:48:13 <dudecoin> are you a core developer?
 678 2012-11-18 10:50:06 <xenland> No like i said earlyer I don't know what nLockTime does exactly as in I can't confirm or deny if it will work according to my research your idea "Is sound"
 679 2012-11-18 10:51:49 <dudecoin> ;)
 680 2012-11-18 10:52:01 <Diablo-D3> grumble
 681 2012-11-18 10:52:07 * Diablo-D3 is rewriting a large part of diablominer
 682 2012-11-18 10:52:18 <dudecoin> who do you think could help me?
 683 2012-11-18 10:53:58 <xenland> jgarzik! What do you think about dudecoins p2p exchange idea to use OP_CODES if and the nLOCKTIME (assuming nLockTime was enforced)
 684 2012-11-18 10:54:11 <xenland> (If/when jgarzik is available to take alook he will answer)
 685 2012-11-18 10:55:23 <dudecoin> thanks xenlad!
 686 2012-11-18 10:56:08 <phantomcircuit> dudecoin, a truly p2p exchange isn't possible unless you trust people to clear
 687 2012-11-18 10:56:19 <phantomcircuit> and im not talking the bitcoin side of it
 688 2012-11-18 10:59:00 <dudecoin> phantomcircuit:  I think my idea could solve this problem... cause ALICE already have sent to BOB the payment... BOB know it is there... but he have to release this payment providing a valid POW or the coins will return to ALICE
 689 2012-11-18 11:00:07 <dudecoin> BOB is challenged to solve the problem. ALICE just have to wait
 690 2012-11-18 11:01:15 ThomasV has joined
 691 2012-11-18 11:03:43 <phantomcircuit> dudecoin, and in the meantime the price changes and BOB cancelled the trade
 692 2012-11-18 11:05:05 <Eliel> would alice have the incentive in that situation to finish the proof of work?
 693 2012-11-18 11:05:12 <dudecoin> if BOB do not agree to provide to POW he don't need to do anything... the coins will be returned to ALICE
 694 2012-11-18 11:06:19 <phantomcircuit> that's kind of the point
 695 2012-11-18 11:06:41 <phantomcircuit> dudecoin, you have two people who dont trust each other at all
 696 2012-11-18 11:06:51 <phantomcircuit> come up with a way for them to exchange without escrow
 697 2012-11-18 11:06:59 <phantomcircuit> that's the problem a p2p exchange is trying to solve
 698 2012-11-18 11:07:01 <phantomcircuit> fundamentally
 699 2012-11-18 11:07:05 <phantomcircuit> and it's not easy
 700 2012-11-18 11:08:07 <dudecoin> you have to understand that this trade is a scrow itself...
 701 2012-11-18 11:08:46 Lolcust has quit (Quit: Nap time)
 702 2012-11-18 11:08:53 Lolcust has joined
 703 2012-11-18 11:08:57 <dudecoin> lets say the proof of work is a signed message. only who holds a private key could sign it. so a valid proof of work is validated by the network
 704 2012-11-18 11:09:25 <phantomcircuit> uh no it's not
 705 2012-11-18 11:09:33 <phantomcircuit> it's proof that you have the bitcoins
 706 2012-11-18 11:09:38 <dudecoin> no?
 707 2012-11-18 11:10:06 <dudecoin> if you signs a message anyone in the network could check it, or I'm wrong?
 708 2012-11-18 11:10:10 <phantomcircuit> what you've described is just a timed lock with a race
 709 2012-11-18 11:10:57 <dudecoin> yes... it is a lock and yes it is a race to solve a problem.
 710 2012-11-18 11:12:01 <Eliel> dudecoin: ok, so you've described the trick you want to do. I couldn't see an explanation of what it accomplishes though. What's the point?
 711 2012-11-18 11:12:04 <dudecoin> the default winner is ALICE but only if BOB fails to provide a valid proof of work.
 712 2012-11-18 11:12:22 <Eliel> what is accomplished by forcing bob to provide proof of work?
 713 2012-11-18 11:12:48 robbak has quit (Remote host closed the connection)
 714 2012-11-18 11:12:57 xIsalty has joined
 715 2012-11-18 11:13:14 robbak has joined
 716 2012-11-18 11:13:17 <dudecoin> Eliel then all kind of P2P exchange could be done.
 717 2012-11-18 11:13:33 <Eliel> too vague, explain what the proof of work helps in it
 718 2012-11-18 11:14:26 <dudecoin> ok. lets say: BOB have to provide a proof of work that he have paid my LTC address Lxxxxxxx
 719 2012-11-18 11:15:00 <dudecoin> hhe have do provide a signed message using a private key used in the payment
 720 2012-11-18 11:16:30 <dudecoin> only the person who have made the payment can sign a valid message.. that is verified by the network... or I'm wrong?
 721 2012-11-18 11:16:39 <Eliel> proof of work only proves you spent a lot of time calculating something. It proves nothing else.
 722 2012-11-18 11:17:28 <muhoo> i'll ask tomorrow if needed, but if someone can send me some TEST NETWORK coins to mfYBFUnwbgmVusgdmFWC1VJxWVzq1TGFtU, i'd like to have some for testing an app
 723 2012-11-18 11:18:00 <dudecoin> Eliel: no... he have to hold the address that have made the payment to the Lxxxx address
 724 2012-11-18 11:18:32 <dudecoin> if he do not have the address he cant release the payment
 725 2012-11-18 11:20:11 <dudecoin> understood?
 726 2012-11-18 11:20:16 <Eliel> no, not really.
 727 2012-11-18 11:20:30 <Eliel> I'm trying to figure out what the proof of work is for here.
 728 2012-11-18 11:20:57 <dudecoin> the proof of work I'm talking about is a signed message
 729 2012-11-18 11:21:08 <dudecoin> not the work
 730 2012-11-18 11:21:26 <Eliel> that's a signature, not proof of work then
 731 2012-11-18 11:22:34 <dudecoin> no
 732 2012-11-18 11:23:52 <Eliel> proof of work == trying new, slightly different, messages until you find one with a hash that's less than difficulty.
 733 2012-11-18 11:24:48 <Eliel> signature == a hash of a message signed with a private key using the ECDSA algorithm.
 734 2012-11-18 11:25:59 <dudecoin> signature is ok...
 735 2012-11-18 11:28:37 <dudecoin> proof of work I'm talking here is e.g.: you have to sign "this is the transaction id 12345" using the same address that have made the payment.
 736 2012-11-18 11:30:08 <Eliel> proof of work is the wrong word for that.
 737 2012-11-18 11:30:14 <Eliel> causes misunderstandings
 738 2012-11-18 11:30:37 <dudecoin> I think it is ok
 739 2012-11-18 11:31:53 <dudecoin> see lets say Alice and Bob want to trade 1 Bitcoin to 10 Litecoin. Alice addresses = 1Alice and LAlice. Bob adresses = 1Bob and L Bob
 740 2012-11-18 11:32:47 pesco has joined
 741 2012-11-18 11:35:58 <dudecoin> Alice send a tx to 1Bob and the proof of work that Bob have to provide = "ok" signed with LBob address.
 742 2012-11-18 11:36:54 graingert has joined
 743 2012-11-18 11:37:34 <dudecoin> if Bob cant provide this signed message he fails to release the coins...
 744 2012-11-18 11:38:23 Eslbaer has quit (Quit: Verlassend)
 745 2012-11-18 11:39:42 <XertroV> Hey, has anyone thought about using GPUs for block validation?
 746 2012-11-18 11:39:55 someone42 has joined
 747 2012-11-18 11:48:37 BCBot has quit (Remote host closed the connection)
 748 2012-11-18 11:50:32 <Eliel> XertroV: processing power is not the bottleneck.
 749 2012-11-18 11:51:18 <Eliel> regular CPUs can do it fast enough. The bottleneck is hard drive.
 750 2012-11-18 11:51:19 <XertroV> Seems like it is with 0.8 with an SSD
 751 2012-11-18 11:51:30 <XertroV> I'm sitting at 100% on one core.
 752 2012-11-18 11:52:14 <Eliel> hmm... yes, multi-core support is likely the next step.
 753 2012-11-18 11:53:12 <Eliel> you probably could offload signature checks to the GPU... maybe.
 754 2012-11-18 11:54:45 Snyke has joined
 755 2012-11-18 11:55:25 <dudecoin> Eliel: what do you think about my draft idea?
 756 2012-11-18 11:56:00 <Eliel> dudecoin: I still don't understand the point
 757 2012-11-18 11:56:29 <XertroV> Just seemed like a possibility, given that block generation works well on a GPU. But I imagine we're not at the stage of parallelising verification in any case, otherwise we'd have multicore. Anyway, just thought I'd mention in.
 758 2012-11-18 11:56:31 <XertroV> it*
 759 2012-11-18 11:57:26 <Eliel> XertroV: where's the alpha version of 0.8 or do I need to compile my own?
 760 2012-11-18 11:57:41 <XertroV> Pull it from Git
 761 2012-11-18 11:58:08 <XertroV> that's what I've done. Takes about 8 hours to download the whole blockchain for me on an SSD.
 762 2012-11-18 11:58:17 <XertroV> thus far, few thousand blocks to go
 763 2012-11-18 11:59:08 Garr255 has quit (Quit: Peace.)
 764 2012-11-18 11:59:14 <Eliel> XertroV: what CPU?
 765 2012-11-18 11:59:25 Garr255 has joined
 766 2012-11-18 11:59:25 Garr255 has quit (Changing host)
 767 2012-11-18 11:59:25 Garr255 has joined
 768 2012-11-18 11:59:53 <XertroV> it's an i7
 769 2012-11-18 11:59:56 <XertroV> I'll get the model
 770 2012-11-18 12:00:34 BCBot2 has joined
 771 2012-11-18 12:00:49 <Eliel> I got myself an SSD for my laptop a few days ago. Might make sense to test the speed too :)
 772 2012-11-18 12:01:06 <XertroV> i7-3615QM
 773 2012-11-18 12:04:01 <Eliel> my laptop only has a core2duo P8400 @ 2.26Ghz :)
 774 2012-11-18 12:04:09 copumpkin has quit (Ping timeout: 255 seconds)
 775 2012-11-18 12:04:44 copumpkin has joined
 776 2012-11-18 12:21:39 <SomeoneWeird> <XertroV> Just seemed like a possibility, given that block generation works well on a GPU. But I imagine we're not at the stage of parallelising verification in any case, otherwise we'd have multicore. Anyway, just thought I'd mention in. < you can't
 777 2012-11-18 12:22:42 <xenland> <xenland> Oh i see you need it done in a maximum time frame
 778 2012-11-18 12:22:43 <xenland> <xenland> and trust is needed
 779 2012-11-18 12:22:50 <xenland> ^ me earlyer :P
 780 2012-11-18 12:23:17 <XertroV> Maximum timeframe? Are you talking about it just being computationally hard?
 781 2012-11-18 12:39:34 <phantomcircuit> XertroV, there is an experimental pipelined verification of transactions
 782 2012-11-18 12:39:40 <graingert> it's still IO bound so it hardly matters
 783 2012-11-18 12:40:10 <phantomcircuit> graingert, with git HEAD ie 0.8.x it's cpu bound
 784 2012-11-18 12:40:19 BCBot2 has quit (Remote host closed the connection)
 785 2012-11-18 12:40:19 <graingert> phantomcircuit: oh really?>
 786 2012-11-18 12:40:33 <graingert> phantomcircuit: that's with the fancy bloom filter
 787 2012-11-18 12:40:33 BCBot2 has joined
 788 2012-11-18 12:40:49 <phantomcircuit> graingert, no it's dropping berkeley db infavor of leveldb
 789 2012-11-18 12:41:07 <phantomcircuit> it's funny the on disk stuff doesn't really need the guarantees of ACID
 790 2012-11-18 12:41:17 <phantomcircuit> logically it's just a cache for the network status
 791 2012-11-18 12:41:19 <graingert> https://github.com/bitcoin/bitcoin/blob/master/src/leveldb/util/bloom.cc
 792 2012-11-18 12:41:52 <phantomcircuit> then i guess yes?
 793 2012-11-18 12:42:41 <graingert> ololololol
 794 2012-11-18 12:44:26 <graingert> phantomcircuit: why isn't it a submodule?
 795 2012-11-18 12:50:02 <phantomcircuit> no idea
 796 2012-11-18 12:50:11 <graingert> :(
 797 2012-11-18 12:50:33 <phantomcircuit> lol asking me why design decisions were made
 798 2012-11-18 12:50:40 <phantomcircuit> im not even on the security mailing list
 799 2012-11-18 12:50:41 <phantomcircuit> lol
 800 2012-11-18 12:50:57 <graingert> :(
 801 2012-11-18 12:51:11 <graingert> it's not a design decision
 802 2012-11-18 12:52:33 <graingert> is 20 seconds per block expected for 0.7
 803 2012-11-18 12:59:07 <phantomcircuit> it varies by transaction count
 804 2012-11-18 13:10:27 pusle has joined
 805 2012-11-18 13:24:40 Zarutian has joined
 806 2012-11-18 13:43:36 <graingert> ah
 807 2012-11-18 13:58:36 D34TH has joined
 808 2012-11-18 13:58:55 TD has joined
 809 2012-11-18 14:12:46 BlackPrapor has quit (Read error: Connection reset by peer)
 810 2012-11-18 14:13:58 jarib has quit (Quit: bye)
 811 2012-11-18 14:27:55 jarib has joined
 812 2012-11-18 14:29:09 ThomasV has quit (Quit: Quitte)
 813 2012-11-18 14:30:02 Backburn has quit (Ping timeout: 252 seconds)
 814 2012-11-18 14:37:11 daybyter has joined
 815 2012-11-18 14:52:08 meLon has joined
 816 2012-11-18 14:52:08 meLon has quit (Changing host)
 817 2012-11-18 14:52:08 meLon has joined
 818 2012-11-18 15:10:00 xenland has quit (Quit: Leaving)
 819 2012-11-18 15:17:00 rdponticelli has quit (Remote host closed the connection)
 820 2012-11-18 15:18:52 larsig has quit (Ping timeout: 276 seconds)
 821 2012-11-18 15:19:26 phma has quit (Ping timeout: 268 seconds)
 822 2012-11-18 15:19:43 one_zero has quit ()
 823 2012-11-18 15:20:21 Lachesis has quit (Ping timeout: 260 seconds)
 824 2012-11-18 15:20:55 phma has joined
 825 2012-11-18 15:25:43 Lachesis has joined
 826 2012-11-18 15:26:13 phma has quit (Ping timeout: 268 seconds)
 827 2012-11-18 15:26:59 JDuke128 has joined
 828 2012-11-18 15:27:19 B0g4r7 has quit (Ping timeout: 276 seconds)
 829 2012-11-18 15:30:31 phma_ has joined
 830 2012-11-18 15:31:33 Lachesis has quit (Ping timeout: 260 seconds)
 831 2012-11-18 15:35:28 phma_ has quit (Ping timeout: 268 seconds)
 832 2012-11-18 15:37:40 meLon has quit (Ping timeout: 264 seconds)
 833 2012-11-18 15:38:14 JZavala has quit (Ping timeout: 245 seconds)
 834 2012-11-18 15:43:20 JDuke128 has quit (Quit: Computer has gone to sleep.)
 835 2012-11-18 15:43:45 JZavala has joined
 836 2012-11-18 15:48:28 JZavala has quit (Ping timeout: 245 seconds)
 837 2012-11-18 15:51:28 JZavala has joined
 838 2012-11-18 15:53:45 B0g4r7 has joined
 839 2012-11-18 15:55:17 rdponticelli has joined
 840 2012-11-18 15:56:16 JZavala has quit (Ping timeout: 260 seconds)
 841 2012-11-18 15:57:19 JZavala has joined
 842 2012-11-18 16:00:27 freakazoid has joined
 843 2012-11-18 16:03:51 JZavala has quit (Ping timeout: 244 seconds)
 844 2012-11-18 16:05:59 Lachesis` has joined
 845 2012-11-18 16:07:07 kiceek has joined
 846 2012-11-18 16:07:09 Lachesis` is now known as Lachesis
 847 2012-11-18 16:13:20 graingert is now known as burnie
 848 2012-11-18 16:14:04 burnie is now known as graingert
 849 2012-11-18 16:16:09 freakazoid has quit (Ping timeout: 246 seconds)
 850 2012-11-18 16:19:04 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 851 2012-11-18 16:20:50 graingert is now known as vaequel
 852 2012-11-18 16:21:05 vaequel is now known as graingert
 853 2012-11-18 16:30:22 rdponticelli has quit (Ping timeout: 276 seconds)
 854 2012-11-18 16:31:34 rdponticelli has joined
 855 2012-11-18 16:45:20 _flow_ has joined
 856 2012-11-18 16:48:36 ThomasV has joined
 857 2012-11-18 17:00:51 Lachesis has left ("Leaving")
 858 2012-11-18 17:06:22 freakazoid has joined
 859 2012-11-18 17:13:53 B0g4r7_ has joined
 860 2012-11-18 17:16:51 larsig has joined
 861 2012-11-18 17:17:49 B0g4r7 has quit (Ping timeout: 276 seconds)
 862 2012-11-18 17:17:49 B0g4r7_ is now known as B0g4r7
 863 2012-11-18 17:27:08 harkon has joined
 864 2012-11-18 17:35:13 Cusipzzz has joined
 865 2012-11-18 17:40:08 pecket has quit (Read error: No route to host)
 866 2012-11-18 17:40:21 pecket has joined
 867 2012-11-18 17:40:52 pecket has quit (Read error: Connection reset by peer)
 868 2012-11-18 17:41:07 pecket has joined
 869 2012-11-18 17:41:54 freakazoid has quit (Ping timeout: 246 seconds)
 870 2012-11-18 17:44:16 kiceek has quit (Quit: Leaving)
 871 2012-11-18 17:48:14 Someguy123 has quit (Excess Flood)
 872 2012-11-18 17:48:47 Someguy123 has joined
 873 2012-11-18 17:49:10 Someguy123 is now known as Guest72156
 874 2012-11-18 17:54:02 kiceek has joined
 875 2012-11-18 17:55:42 Backburn has joined
 876 2012-11-18 17:55:52 molecular has quit (Ping timeout: 256 seconds)
 877 2012-11-18 17:56:08 molecular has joined
 878 2012-11-18 18:05:52 larsig has quit (Ping timeout: 264 seconds)
 879 2012-11-18 18:10:40 daybyter has quit (Quit: Konversation terminated!)
 880 2012-11-18 18:14:16 pesco has quit (Ping timeout: 264 seconds)
 881 2012-11-18 18:17:39 ovidiuso1t has joined
 882 2012-11-18 18:18:52 pesco has joined
 883 2012-11-18 18:19:20 brwyatt is now known as brwyatt|Away
 884 2012-11-18 18:20:39 ovidiusoft has quit (Ping timeout: 252 seconds)
 885 2012-11-18 18:29:50 freakazoid has joined
 886 2012-11-18 18:39:05 dudecoin has quit (Ping timeout: 245 seconds)
 887 2012-11-18 18:39:19 <muhoo> hi all, i'd like some test network coins in order to test a library (simple clojure bitcoind json wrapper). can someone send some to me at mfYBFUnwbgmVusgdmFWC1VJxWVzq1TGFtU ?
 888 2012-11-18 18:39:51 <muhoo> i'll send the link to the github of the wrapper if anyone wants it, it's very simple though.
 889 2012-11-18 18:41:19 <D34TH> 156e6c00331f161db45141b2e75bf7ed9748aeb4d936635310b6ad6e72c353f8
 890 2012-11-18 18:45:16 <D34TH> muhoo, enjoy
 891 2012-11-18 18:47:38 <D34TH> i wish testnet diff was lower
 892 2012-11-18 18:47:39 <D34TH> D:
 893 2012-11-18 18:51:38 <muhoo> d3thanks
 894 2012-11-18 18:51:50 <muhoo> D34TH: thanks
 895 2012-11-18 18:53:58 <muhoo> still WIP, but this so far: https://www.refheap.com/paste/6820
 896 2012-11-18 19:00:36 pusle has quit ()
 897 2012-11-18 19:06:26 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 898 2012-11-18 19:11:55 <sipa> anyone an idea what SER_SKIPSIG was ever used for?
 899 2012-11-18 19:12:17 freakazoid has quit (Ping timeout: 260 seconds)
 900 2012-11-18 19:13:22 drazak_ has quit (Ping timeout: 252 seconds)
 901 2012-11-18 19:16:06 pooler has joined
 902 2012-11-18 19:16:06 pooler has quit (Changing host)
 903 2012-11-18 19:16:06 pooler has joined
 904 2012-11-18 19:27:10 BitcoinBaltar has quit (Ping timeout: 276 seconds)
 905 2012-11-18 19:32:29 Amit_btc has joined
 906 2012-11-18 19:32:59 <Amit_btc> I have a question about how bitcoin protocol relays transactions. I read the wiki but still have some doubts
 907 2012-11-18 19:33:25 <kjj_> what's your question?
 908 2012-11-18 19:33:42 <Amit_btc> When someone sends BTC to someone else, does my client also receive the unconfirmed transaction?
 909 2012-11-18 19:33:50 <Amit_btc> or I only get confirmed ones
 910 2012-11-18 19:33:54 <Amit_btc> ?
 911 2012-11-18 19:34:39 <Amit_btc> I am neither the sender nor receiver
 912 2012-11-18 19:36:11 <kjj_> short answer is yes
 913 2012-11-18 19:37:03 <kjj_> it is possible for some transactions to never show up at your node, and for others to only show up when they are included in a block
 914 2012-11-18 19:37:20 <kjj_> but for the most part, your node sees transactions, even when your wallet isn't party to it
 915 2012-11-18 19:37:29 <Amit_btc> What if I only want to receive (1) if I am the receiver or (2) it is in a block
 916 2012-11-18 19:37:51 <sipa> Amit_btc: then you will not run a full node
 917 2012-11-18 19:38:05 <kjj_> I can't imagine why you would want to do that, but if you really do, you'll have to hack the client pretty badly
 918 2012-11-18 19:38:20 <Amit_btc> its the neighbors who will have to change
 919 2012-11-18 19:38:22 <kjj_> basically, you don't know if you want the transaction or not until AFTER you already have it
 920 2012-11-18 19:38:28 kiceek has quit (Read error: Connection timed out)
 921 2012-11-18 19:38:37 kiceek_ has joined
 922 2012-11-18 19:38:56 <Amit_btc> kjj_: yes that makes sense :)
 923 2012-11-18 19:39:09 <sipa> Amit_btc: if you don't receive all transactions, you can't relay them yourself
 924 2012-11-18 19:39:15 <sipa> Amit_btc: and that would be bad for the network
 925 2012-11-18 19:39:17 <Amit_btc> so what does the client do? does it forget them?
 926 2012-11-18 19:39:32 <sipa> it keeps them in memory until they're in a block
 927 2012-11-18 19:39:38 <Amit_btc> ok
 928 2012-11-18 19:39:49 <Amit_btc> thanks
 929 2012-11-18 19:39:54 <Amit_btc> that clears up a lot
 930 2012-11-18 19:39:55 <sipa> however, there is very recent work going on to extend the protocol
 931 2012-11-18 19:40:07 <sipa> which would allow for server-side filtering
 932 2012-11-18 19:40:17 <Amit_btc> sipa: what kind of filtering?
 933 2012-11-18 19:40:24 <sipa> (both for non-confirmed transactions and transactions in blocks)
 934 2012-11-18 19:40:52 <Amit_btc> does my default client also participate in mining
 935 2012-11-18 19:40:57 <Amit_btc> ?
 936 2012-11-18 19:41:07 <sipa> if you make it
 937 2012-11-18 19:41:24 <sipa> it would allow nodes to create a filter description (using bloom filters on hashed properties of transactions), send that to their peer, and expect the peer to only relay transactions that match the filter
 938 2012-11-18 19:41:30 <Amit_btc> In that case I would need those unconfirmed transactions
 939 2012-11-18 19:42:03 <sipa> Amit_btc: mining is a very specialized business, and although there is still code in the reference client to do it, it is not optimized and only works on the CPU
 940 2012-11-18 19:42:18 <sipa> it's not enabled by default, and not accessible from the GUI
 941 2012-11-18 19:42:34 <sipa> most of the mining power these days comes from GPUs and FPGAs
 942 2012-11-18 19:42:39 drazak_ has joined
 943 2012-11-18 19:42:41 <sipa> soon, maybe also from ASICs
 944 2012-11-18 19:43:12 <Amit_btc> ok
 945 2012-11-18 19:43:37 <sipa> Amit_btc: you need the memory pool (the list of non-confirmed transactions) to assess the validity of other non-confirmed transactions (as they may depend on eachother)
 946 2012-11-18 19:44:08 <sipa> without the memory pool, you wouldn't be able to verify whether even only transactions to yourself are valid
 947 2012-11-18 19:44:15 <Amit_btc> yes (in case of satoshi dice)
 948 2012-11-18 19:44:21 <sipa> in any case
 949 2012-11-18 19:44:50 <sipa> though yes; they are a large source of unconfirmed transactions depending on other unconfirmed transactions
 950 2012-11-18 19:45:57 <Amit_btc> Im just a bit concerned about the network traffic generated
 951 2012-11-18 19:46:24 <sipa> if you're not willing to participate as a full node, don't run one
 952 2012-11-18 19:49:39 <Amit_btc> so if I receive a new transaction referencing another previous transaction I dont have in the pool or the block chain, would I consider it valid or not?
 953 2012-11-18 19:49:53 <sipa> no
 954 2012-11-18 19:49:55 kiceek_ is now known as kiceek
 955 2012-11-18 19:50:31 <Amit_btc> even though it could still be valid
 956 2012-11-18 19:50:56 <kjj_> it is an orphan until you can verify all of the input transactions
 957 2012-11-18 19:51:06 <Amit_btc> i see
 958 2012-11-18 19:51:35 TD has quit (Quit: TD)
 959 2012-11-18 19:52:24 <kjj_> there is a limit to how many orphan Tx a node will keep in memory before it starts dumping them
 960 2012-11-18 19:53:49 TD has joined
 961 2012-11-18 19:54:22 <sipa> yes, 10000
 962 2012-11-18 19:57:42 PiZZaMaN2K has quit (Remote host closed the connection)
 963 2012-11-18 19:58:15 PiZZaMaN2K has joined
 964 2012-11-18 19:59:45 PiZZaMaN2K has quit (Client Quit)
 965 2012-11-18 20:29:03 pooler has quit (Ping timeout: 246 seconds)
 966 2012-11-18 20:29:29 <jgarzik> 10000?!?!?!?!?!
 967 2012-11-18 20:29:31 <jgarzik> zomg
 968 2012-11-18 20:30:39 <D34TH> i feel that number is large based on jgarzik's response
 969 2012-11-18 20:31:47 <sipa> yes
 970 2012-11-18 20:32:00 <jgarzik> hehehe
 971 2012-11-18 20:32:06 <sipa> it's over NINE THOUSAND </Diablo-D3>
 972 2012-11-18 20:34:53 stalled has quit (Ping timeout: 272 seconds)
 973 2012-11-18 20:35:53 <Diablo-D3> !
 974 2012-11-18 20:36:05 <Diablo-D3> what, over nine thousand?!
 975 2012-11-18 20:36:50 dedis91 has joined
 976 2012-11-18 20:36:52 <Luke-Jr> that's ALMOST 7 BITCOINS
 977 2012-11-18 20:36:58 dedis91 has quit (Remote host closed the connection)
 978 2012-11-18 20:37:20 datagutt has quit (Quit: kthxbai)
 979 2012-11-18 20:38:45 <sipa> my arithmetic is failing me
 980 2012-11-18 20:38:48 <sipa> the source code says
 981 2012-11-18 20:38:59 <sipa> // 10,000 orphans, each of which is at most 5,000 bytes big is
 982 2012-11-18 20:39:06 <sipa> // at most 500 megabytes of orphans:
 983 2012-11-18 20:39:33 <sipa> have bytes shrunk by a factor of 10 lately?
 984 2012-11-18 20:39:39 agricocb has quit (Remote host closed the connection)
 985 2012-11-18 20:40:36 <cjd> ;;calc (10000*5000) / 1000000
 986 2012-11-18 20:40:37 <gribble> 50
 987 2012-11-18 20:40:47 <sipa> thanks!
 988 2012-11-18 20:40:50 <jgarzik> sipa: heh
 989 2012-11-18 20:40:57 <cjd> I can't do arithmatic either
 990 2012-11-18 20:41:04 <jgarzik> sipa: there is of course the caveat that stored orphans are size-limited
 991 2012-11-18 20:41:15 <jgarzik> If the orphan is too big, it just gets dropped.
 992 2012-11-18 20:41:18 <sipa> yes
 993 2012-11-18 20:41:51 pooler has joined
 994 2012-11-18 20:41:51 pooler has quit (Changing host)
 995 2012-11-18 20:41:51 pooler has joined
 996 2012-11-18 20:42:58 <cjd> so I suppose there's a way to be unfriendly there by generating lots of transactions
 997 2012-11-18 20:43:28 TD has quit (Quit: TD)
 998 2012-11-18 20:43:53 <sipa> well, orphans are not relayed
 999 2012-11-18 20:44:04 <sipa> so you'd have a hard time propagating them
1000 2012-11-18 20:44:24 <cjd> orphans? that means ones which didn't make it into the last block?
1001 2012-11-18 20:45:19 <cjd> oh orphans are transactions which reference transactions which have not made it?
1002 2012-11-18 20:45:20 <sipa> orphan transaction = a transaction that spends an output of an unknown transaction
1003 2012-11-18 20:45:25 <cjd> gotit
1004 2012-11-18 20:45:43 <sipa> unknown means neither in the block chain or in the memory pool in this case
1005 2012-11-18 20:45:47 <cjd> /nod
1006 2012-11-18 20:46:40 sakkaku has joined
1007 2012-11-18 20:47:30 TD has joined
1008 2012-11-18 20:47:35 <cjd> you could probably generate a few MB/s of technically valid transactions but without nearly enough fees to get into the chain..
1009 2012-11-18 20:49:37 <cjd> otoh nodes could have a limit of what they're willing to relay and when they limit out, they only relay the transactions with the highest fees
1010 2012-11-18 20:50:52 <sturles> On the other hand miner nodes have an incentive to keep transactions with th highest fees to themselves, not relaying..
1011 2012-11-18 20:51:27 <cjd> yeah but not everybody is a miner and that incentive is (for the moment) microscopic
1012 2012-11-18 20:51:35 stalled has joined
1013 2012-11-18 20:52:16 <cjd> the real concern (or perhaps it is acceptable) is a miners union which sets the price of transactions and will orphan any block which contains transactions with less fees than their number
1014 2012-11-18 20:56:50 TD has quit (Quit: TD)
1015 2012-11-18 21:00:24 <Luke-Jr> cjd: that would be abuse :P
1016 2012-11-18 21:01:36 <cjd> interestingly it would also be a way for governments to tax bitcoin
1017 2012-11-18 21:01:55 <cjd> after all, tax is payment of tribute to the most powerful people in the land
1018 2012-11-18 21:02:17 <cjd> and when power is measured in Gh/s, tax is payment to the mining unions
1019 2012-11-18 21:03:11 rdponticelli has quit (Quit: No Ping reply in 180 seconds.)
1020 2012-11-18 21:06:04 rdponticelli has joined
1021 2012-11-18 21:06:57 kiceek has quit (Quit: Leaving)
1022 2012-11-18 21:08:43 TD has joined
1023 2012-11-18 21:16:29 <Luke-Jr> cjd: … governments already tax bitcoin
1024 2012-11-18 21:19:40 MC-Eeepc has quit (Ping timeout: 264 seconds)
1025 2012-11-18 21:30:08 TD has quit (Read error: Connection reset by peer)
1026 2012-11-18 21:31:53 TD has joined
1027 2012-11-18 21:32:32 Zarutian has quit (Remote host closed the connection)
1028 2012-11-18 21:33:05 Zarutian has joined
1029 2012-11-18 21:38:53 TD has quit (Quit: TD)
1030 2012-11-18 21:39:08 pesco has quit (Ping timeout: 276 seconds)
1031 2012-11-18 21:44:29 kiceek has joined
1032 2012-11-18 21:49:32 agricocb has joined
1033 2012-11-18 21:52:31 kiceek has quit (Ping timeout: 252 seconds)
1034 2012-11-18 21:55:29 kiceek has joined
1035 2012-11-18 21:56:48 Arnavion has quit (Quit: ==kimi ni nante okureba ii no==)
1036 2012-11-18 22:04:00 torsthaldo_ has joined
1037 2012-11-18 22:04:30 torsthaldo_ has quit (Remote host closed the connection)
1038 2012-11-18 22:06:51 Arnavion has joined
1039 2012-11-18 22:07:13 EPiSKiNG- has quit ()
1040 2012-11-18 22:07:47 dudecoin has joined
1041 2012-11-18 22:09:33 gjs278 has quit (Remote host closed the connection)
1042 2012-11-18 22:10:41 Arnavion has quit (Client Quit)
1043 2012-11-18 22:11:13 Arnavion has joined
1044 2012-11-18 22:15:12 <dudecoin> hi amiller
1045 2012-11-18 22:18:46 ovidiuso1t has quit (Quit: leaving)
1046 2012-11-18 22:26:02 RBecker is now known as sc4rface
1047 2012-11-18 22:26:05 sc4rface is now known as RBecker
1048 2012-11-18 22:34:56 stalled has quit (Quit: ...)
1049 2012-11-18 22:36:25 toffoo has joined
1050 2012-11-18 22:39:20 Snyke has left ()
1051 2012-11-18 22:41:51 MBS has quit (Read error: No route to host)
1052 2012-11-18 22:45:06 MBS has joined
1053 2012-11-18 22:46:31 <jgarzik> dudecoin: please ask bitcoin questions in-channel
1054 2012-11-18 22:46:38 <jgarzik> dudecoin: PMs are annoying, and deny others knowledge
1055 2012-11-18 22:47:24 <dudecoin> jgarzik: my English is not good
1056 2012-11-18 22:48:05 <dudecoin> have you read the xenland question?
1057 2012-11-18 22:48:46 <sipa> the xenland question?
1058 2012-11-18 22:49:10 <dudecoin> about nLOCKTIME
1059 2012-11-18 22:49:16 <sipa> where?
1060 2012-11-18 22:49:38 <dudecoin> have to check in the logs
1061 2012-11-18 22:50:58 <sipa> nLocktime is independent from the script code
1062 2012-11-18 22:51:22 <sipa> it just enforces a minimum time/block at which the transactio can become valid
1063 2012-11-18 22:51:34 ThomasV has quit (Quit: Quitte)
1064 2012-11-18 22:52:19 <dudecoin> xenland	jgarzik! What do you think about dudecoins p2p exchange idea to use OP_CODES if and the nLOCKTIME (assuming nLockTime was enforced)
1065 2012-11-18 22:52:56 <sipa> nLocktime is enforced
1066 2012-11-18 22:53:22 <sipa> but scripts cannot observe this
1067 2012-11-18 22:53:34 stalled has joined
1068 2012-11-18 22:53:35 <sipa> also, scripts do not control the outputs, only the validity
1069 2012-11-18 22:54:14 <dudecoin> sipa: my draft idea is to create a tx with nLOCKTIME=300 and also have a script inside the tx to validate a signed message.
1070 2012-11-18 22:54:54 x18882 has joined
1071 2012-11-18 22:54:59 XertroV has quit (Quit: Leaving.)
1072 2012-11-18 22:55:01 <sipa> what is the point of that?
1073 2012-11-18 22:55:05 <sipa> the message can't change
1074 2012-11-18 22:56:03 <dudecoin> well, I dont know if my idea is right... this is why I need to talk to btc experienced developers...
1075 2012-11-18 22:56:14 <Luke-Jr> sipa: "to accept this payment, you need to agree to this contract"?
1076 2012-11-18 22:57:44 <sipa> dudecoin: what you can do (once transaction replacement is reenabled) is have two transactions, one with nLockTime=<sometime> with output to so,eone, and another replacing unbroadcasted one that sends the coins back to yourself
1077 2012-11-18 22:58:13 <sipa> so by announcing the second transaction, you basically cancel the first one
1078 2012-11-18 22:58:45 <sipa> wait, i'm missing something
1079 2012-11-18 23:00:26 <dudecoin> My idea is like: Alice pay 1 btc to Bob. This tx has nLOCKTIME=300 and a script inside... Bob have to pay Alice 100 LTC and provide a signed message (a prof) that he owns the LTC address that have paid Alice.
1080 2012-11-18 23:02:06 <cjd> is proving that Bob owns a given LTC address the final goal or is there more?
1081 2012-11-18 23:02:20 <dudecoin> if he do not provide a proper signed message before 300 blocks ahead... the coins return to Alice...it he provide a proper signed message the operation is finished and BOB owns the coins
1082 2012-11-18 23:03:47 <cjd> if you can explain the final goal, there's probably some dusty op code laying around in the bitcoin source which does exactly that..
1083 2012-11-18 23:04:11 <sipa> dudecoin: scripts do not control the output, and cannot observe the time
1084 2012-11-18 23:04:45 <dudecoin> BOB have to proof he have made a payment to Alice... the way to check if he have made a payment is to ask him to sign a message using the same public key that have made the payment to Alice...
1085 2012-11-18 23:04:50 meLon has joined
1086 2012-11-18 23:04:51 meLon has quit (Changing host)
1087 2012-11-18 23:04:51 meLon has joined
1088 2012-11-18 23:05:17 CluckCreek has joined
1089 2012-11-18 23:05:24 <sipa> that certainly doesn't prove he made a payment
1090 2012-11-18 23:05:27 Zarutian has quit (Read error: Operation timed out)
1091 2012-11-18 23:05:44 eternal1 has joined
1092 2012-11-18 23:06:42 <cjd> if alice uses the same address all of the time.. then bob can pay that addr and sign a message saying he had done so using the same key and if it ever comes up, he can show the message proving that at that time, he had the key
1093 2012-11-18 23:07:06 <cjd> if alice uses a different address all the time, then bob has no way to prove that he didn't just pay himself
1094 2012-11-18 23:07:21 <cjd> unless he gets some kind of signed reciept
1095 2012-11-18 23:08:15 <cjd> Alice could give Bob a signed message saying "when X bitcoin has been paid to address Y, you are now entitled to ..."
1096 2012-11-18 23:08:28 <cjd> Bob puts bitcoin in address Y then holds the message to show to the judge
1097 2012-11-18 23:08:52 <dudecoin> no? well, I think it proofs 1Alice, LAlice are Alices BTC and LTC public keys... 1Bob and LBob are Bob BTC and LTC public keys... Alice send a 1 btc to Bob using 1Alice... Bob send 1 LTC to LAlice using LBob... LSipa can't proof he made the transaction but LBob can.
1098 2012-11-18 23:08:54 <sipa> even then, scripts can't look into the future
1099 2012-11-18 23:09:22 Zarutian has joined
1100 2012-11-18 23:09:29 <cjd> if you can make an address which starts with 1Alice then surely I can too :)
1101 2012-11-18 23:09:48 <sipa> scripts are either valid or invalid, and independent from that final or non-final
1102 2012-11-18 23:10:30 <sipa> but their validness or their outputs can never depend on any data outside of the transaction
1103 2012-11-18 23:10:42 <cjd> dudecoin: are Alice and Bob doing an exchange of BTC for LTC without trust?
1104 2012-11-18 23:11:43 <dudecoin> yes!
1105 2012-11-18 23:11:55 <cjd> ahh
1106 2012-11-18 23:11:59 <dudecoin> there are only Alice, Bob and the network
1107 2012-11-18 23:12:25 BCBot2 has quit (Read error: Connection reset by peer)
1108 2012-11-18 23:12:42 BCBot2 has joined
1109 2012-11-18 23:12:43 BCBot2` has joined
1110 2012-11-18 23:13:29 <cjd> Bitcoin can't tell if an LTC transaction has gone through or not so this approach doesn't really work.. either Alice or Bob has the power to abuse it depending on the rules.
1111 2012-11-18 23:13:33 <sipa> dudecoin: any real solution to that will need a transaction that can observe the state of the other chain
1112 2012-11-18 23:14:01 <sipa> and that requires a proof the size of that other block chain
1113 2012-11-18 23:14:09 <cjd> What does work, although it is awkward, is to use a multisig escrow transaction..
1114 2012-11-18 23:14:10 <dudecoin> this is the step 2 of the history...
1115 2012-11-18 23:15:19 <cjd> Alice pays Bob 100 BTC (because lets face it, nobody cares if it's 1) but the script is an escrow where both Alice and Bob have to sign off on it.  Bob pays the alt coins to alice, then they sign off and everyone's happy.
1116 2012-11-18 23:15:37 <cjd> Or Bob doesn't pay and Alice doesn't sign, she loses the BTC but Bob doesn't get it.
1117 2012-11-18 23:16:32 <cjd> If Alice is worried about Bob being a Dick and making her lose the BTC, she sends an escrowed ANYONECANPAY transaction which is underfunded and force Bob to put in some BTC of his own before it even becomes valid.
1118 2012-11-18 23:16:48 <dudecoin> Alice dont need to sign again...
1119 2012-11-18 23:17:01 <cjd> she has to sign again to release it from escrow
1120 2012-11-18 23:17:12 <cjd> assuming the goods have been delivered
1121 2012-11-18 23:17:31 <dudecoin> it is like a race... the default owner is Alice... unless Bob does his side work and proof he did.
1122 2012-11-18 23:17:54 <cjd> that doesn't work either
1123 2012-11-18 23:18:06 <dudecoin> * owner=winner
1124 2012-11-18 23:18:13 <cjd> because if you do it that way, Bob delivers the goods and then Alice doesn't sign and she takes the loot.
1125 2012-11-18 23:18:33 <cjd> it works because if Alice doesn't sign, noone gets the money.
1126 2012-11-18 23:18:58 <dudecoin> that's not what I'm talking about...
1127 2012-11-18 23:19:19 <cjd> nah, it's my method.. :)
1128 2012-11-18 23:20:06 <sipa> i'm not sure how you want to accomplish doing an exchange between separatr chains, when transactions cannot observe the other chain
1129 2012-11-18 23:20:33 brwyatt is now known as brwyatt|Away
1130 2012-11-18 23:20:54 <sipa> and even if it could, it would be vulnerable to a reversed spend
1131 2012-11-18 23:21:03 <dudecoin> The way I'm thinking is Alice pay bob. And the payment is in Bob address... but he have to proof he did another work. If he do not proof the payment return to Alice after some time.
1132 2012-11-18 23:22:03 <dudecoin> the observer is in the 2nd part of the history... I need to see if the 1st part is ok
1133 2012-11-18 23:22:30 <dudecoin> Lets discuss the 1st part... the 2nd I will tell if the 1st part is sound.
1134 2012-11-18 23:22:56 <dudecoin> if the 1st part is bs, well there are nothing to see on the 2nd part. ;)
1135 2012-11-18 23:24:18 <dudecoin> the nLOCKTIME and the script can't work to do this?
1136 2012-11-18 23:25:18 <dudecoin> or there are another way to do this?
1137 2012-11-18 23:26:14 x18882 has quit (Quit: Yo!)
1138 2012-11-18 23:27:11 <dudecoin> or there are no way to do this?
1139 2012-11-18 23:27:38 graingert has quit (Quit: Ex-Chat-GNOME)
1140 2012-11-18 23:27:38 <sipa> not the way you describe
1141 2012-11-18 23:27:58 <cjd> the problem is higher level, either Bob forges the proof or Alice refuses to give the validator up when Bob transfers the goods..
1142 2012-11-18 23:28:04 <sipa> transactions cannot be conditional on some external propertry
1143 2012-11-18 23:28:16 <sipa> they are valid or not valid
1144 2012-11-18 23:28:33 <sipa> never "not yet valid"
1145 2012-11-18 23:29:09 <dudecoin> cjd: Alice do not validate anything after she have paid bob...
1146 2012-11-18 23:29:33 <cjd> you could create a transaction where to spend it they needed a password or something but there's no way for the LTC chain to yield that password upon a transfer
1147 2012-11-18 23:29:44 <dudecoin> she have to do nothing... if bob do not do his side work the default action of the transaction is to return to her.
1148 2012-11-18 23:30:07 TD has joined
1149 2012-11-18 23:30:18 <cjd> right and there's no way for Bob to prove that he paid her LTC
1150 2012-11-18 23:31:55 <dudecoin> cjd: he is providing only a signed message that is valid or not... is not it like a password? there are only 2 result for a password: valid or invalid
1151 2012-11-18 23:32:56 <dudecoin> cjd: no... only BOB has the public key that have made the payment to alice.
1152 2012-11-18 23:33:33 <dudecoin> Lcjd != LBob. so Lcjd cant sign a message using LBob address
1153 2012-11-18 23:33:34 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
1154 2012-11-18 23:34:16 <cjd> I can't really explain why I think it won't work so all I can say is start coding it and if it works then I'm a fool..
1155 2012-11-18 23:35:38 <dudecoin> I'm not a coder so I cant do this work. But I have ideas and need to discuss with developers...
1156 2012-11-18 23:36:39 <cjd> easy to change that http://learnpythonthehardway.org/
1157 2012-11-18 23:37:06 <cjd> the benefit of learning to program is you get to actually see your ideas happen
1158 2012-11-18 23:37:31 <dudecoin> if my idea is not ok, sign a message using any of your BTC  address for a transaction that I did.
1159 2012-11-18 23:37:44 <cjd> https://github.com/floodyberry/scrypt-jane/blob/master/example.c <-- sexy
1160 2012-11-18 23:38:07 <dudecoin> if you can I will believe my idea is wrong.
1161 2012-11-18 23:40:03 <dudecoin> ;)
1162 2012-11-18 23:40:09 RazielZ has quit (Ping timeout: 246 seconds)
1163 2012-11-18 23:41:25 <dudecoin> cjd: can you sign a message using any of my BTC address?
1164 2012-11-18 23:41:44 <dudecoin> no?
1165 2012-11-18 23:43:36 <dudecoin> understand now?
1166 2012-11-18 23:45:54 <Luke-Jr> dudecoin: I'd be glad to demonstrate a double-spend attack…
1167 2012-11-18 23:46:15 <dudecoin> ok
1168 2012-11-18 23:47:47 <dudecoin> I think it is not possible to anyone to sign a message using someone else keys
1169 2012-11-18 23:49:08 CodesInChaos has quit (Ping timeout: 276 seconds)
1170 2012-11-18 23:50:58 <dudecoin> 1Alice did a payment to 1Bob... LBob send 1 LTC to LAlice. Then LLukeJr, sign a message to proof he is LBob. How?
1171 2012-11-18 23:51:52 <dudecoin> LLukeJr != LBob.
1172 2012-11-18 23:53:32 <dudecoin> nodes in the network will reject it LLukeJr == LBob
1173 2012-11-18 23:55:28 Backburn has quit (Ping timeout: 276 seconds)
1174 2012-11-18 23:56:24 AlexWaters has quit (Ping timeout: 246 seconds)
1175 2012-11-18 23:56:53 <dudecoin> Luke-Jr: what do you think?
1176 2012-11-18 23:57:01 <Luke-Jr> dudecoin: there is no LLukeJr
1177 2012-11-18 23:57:43 <dudecoin> well LAnyone then... how LAnyone can sign a message using LBob keys?
1178 2012-11-18 23:57:58 <Luke-Jr> LBob signs a transaction pretending to send 1 LTC to LAlice, and gets his payment. Immediately, he also sends a double-spend of those LBob inputs to himself, invalidating the one he used to claim the Bitcoins
1179 2012-11-18 23:58:15 <Luke-Jr> Bob ends up with both Bitcoins and scamcoins
1180 2012-11-18 23:59:54 <cjd> for whatever that's worth ;)