1 2011-04-30 00:02:46 <kika> Diablo-D3: your miner is harder to understand than i tought
  2 2011-04-30 00:12:23 <doublec> Run Diablo-D3's miner alongside a half-node - restart Diablo-D3's when a block is found. problem solved.
  3 2011-04-30 00:13:03 <kika> doublec: why ?
  4 2011-04-30 00:13:23 <kika> whats a half node?
  5 2011-04-30 00:13:38 <doublec> kika: I'm saying this is what the people complaining that Diablo-D3's miner doesn't support long polling can do
  6 2011-04-30 00:13:49 <doublec> kika: a half node listens on the network and gets notified when transactions and blocks occur
  7 2011-04-30 00:14:18 <kika> doublec: if i run bitcoind then it would be a half node, right
  8 2011-04-30 00:14:35 <doublec> kika: jgarzik's pushpool project has one https://github.com/jgarzik/pushpool/blob/master/blkmond
  9 2011-04-30 00:14:48 <kika> doublec: yes i use pushpoold and run blkmond
 10 2011-04-30 00:15:08 <kika> doublec: i want to connect to it using diablominer however i tried and diablominer is very slow when connecting to pushpool
 11 2011-04-30 00:15:21 <kika> doublec: diabliminer is much faster at deepbit than at my pushpool server
 12 2011-04-30 00:15:44 <kika> doublec: at deepbit diablominer is 200Mhash/s and at my pushpool its just 10Mhash/s and i dont know why
 13 2011-04-30 00:16:20 <doublec> kika: is your pushpool server on a slow network?
 14 2011-04-30 00:16:31 <luke-jr> kika: try my pushpoold
 15 2011-04-30 00:16:48 <luke-jr> kika: pool.bitcoin.dashjr.org 8337 user=payoutaddress pass=x
 16 2011-04-30 00:17:13 <kika> doublec: well it depends what you consider slow, im using jgarzik pushpoold, its 128Kbps upstream and all the bandwidth is dedicated to bitcoin would that be slow for just 1 diablominer client connecting to it?
 17 2011-04-30 00:18:02 <kika> luke-jr: ill try as soon as i be at the place i have the hardware to test it, another day
 18 2011-04-30 00:18:10 <kika> luke-jr: that pools runs 24/7
 19 2011-04-30 00:18:11 <kika> ?
 20 2011-04-30 00:18:19 <luke-jr> kika: yes
 21 2011-04-30 00:18:28 <doublec> kika: yes that is slow
 22 2011-04-30 00:18:29 <kika> luke-jr: it uses jgarzik pushpoold untouched?
 23 2011-04-30 00:18:54 <doublec> kika: but should run one client I'd hope!
 24 2011-04-30 00:18:55 <luke-jr> kika: I made a patch to not care about passwords
 25 2011-04-30 00:19:08 <kika> doublec: how much bandwidth do i need for a diablominer client connecting to my pushpoold to be okay ?
 26 2011-04-30 00:19:08 <luke-jr> shouldn't affect anything else
 27 2011-04-30 00:19:22 <doublec> kika: I don't know. You should do some testing and find out.
 28 2011-04-30 00:19:45 <kika> i want the diablominer clients on my pushpool to hash as fast as they do on deepbit
 29 2011-04-30 00:20:03 <tcatm> (C++) How can I split a string (that might contain quoted substrings with spaces) into an array?
 30 2011-04-30 00:20:30 <kika> luke-jr: the worker job passwords?
 31 2011-04-30 00:20:39 <luke-jr> kika: yes, my pushpoold ignores them
 32 2011-04-30 00:20:50 <kika> luke-jr: and why you told me pass=x ?
 33 2011-04-30 00:20:59 <luke-jr> tcatm: boost has a splitter thing, dunno about quote handling tho
 34 2011-04-30 00:21:15 <luke-jr> tcatm: see my URI patch for an example on use
 35 2011-04-30 00:21:51 <kika> luke-jr: you had to touch code to make pushpoold to distribute coins to each miner after the pool finds a block ? i mean you had to create code to make it to distribute the coins according to the shares each miner got?
 36 2011-04-30 00:22:03 <luke-jr> kika: yes
 37 2011-04-30 00:22:11 <luke-jr> pushpoold is not involved in distribution at all
 38 2011-04-30 00:22:18 <kika> luke-jr: so you created that reward code yourself
 39 2011-04-30 00:22:22 <luke-jr> yes
 40 2011-04-30 00:22:31 <kika> luke-jr: can you provide me that code ?
 41 2011-04-30 00:22:43 <luke-jr> kika: not at this time, sorry
 42 2011-04-30 00:22:49 <kika> luke-jr: otherwise i would have to create it lol
 43 2011-04-30 00:22:58 <luke-jr> kika: my code is quite unique right now ;)
 44 2011-04-30 00:23:04 <doublec> luke-jr probably has a custom bitcoind too so that the coins can be distributed in genereate blocks
 45 2011-04-30 00:23:08 <luke-jr> doublec: yep
 46 2011-04-30 00:23:20 <luke-jr> doublec: the patch isn't exactly mergable either
 47 2011-04-30 00:23:23 <kika> i was thinking...
 48 2011-04-30 00:23:26 <luke-jr> doublec: it breaks with USE_SSL
 49 2011-04-30 00:23:40 <kika> why pushpool exists if one could easly re-code bitcoind a bit to distribute coins and ignore sendcoins etc rpc requests?
 50 2011-04-30 00:24:04 <kika> wouldnt it be more effective to just touch bitcoind code to handle the pooling tasks?
 51 2011-04-30 00:24:05 <luke-jr> kika: pushpool exists to handle multiple users/authentication and log shares in a db
 52 2011-04-30 00:24:17 <doublec> kika, bitcoind's RPC is not exactly built for high performance networking
 53 2011-04-30 00:24:26 <luke-jr> kika: it wouldn't fit with the "do one thing well" concept ;)
 54 2011-04-30 00:24:30 <luke-jr> that too
 55 2011-04-30 00:24:39 <luke-jr> bitcoind can only handle one RPC request at a time
 56 2011-04-30 00:24:46 <kika> i see
 57 2011-04-30 00:24:52 <kika> so it uses blocking sockets?
 58 2011-04-30 00:24:57 <luke-jr> even with my multi-threaded RPC patch, everything but getwork and findnewaddress lock it up]
 59 2011-04-30 00:25:06 <luke-jr> kika: yes
 60 2011-04-30 00:25:15 <kika> and pushpool uses async sockets? threads?
 61 2011-04-30 00:25:21 <luke-jr> dunno
 62 2011-04-30 00:25:26 <luke-jr> I just know it works :D
 63 2011-04-30 00:25:36 <kika> i heard that pushpool does blocking sockets too not sure
 64 2011-04-30 00:25:58 <kika> ill have to review the code
 65 2011-04-30 00:26:14 <luke-jr> my pool payouts use at least 4 bitcoind patches: multi-threaded RPC, coinbaser, dumpblock, and block_hash in RPC transaction output
 66 2011-04-30 00:26:49 <luke-jr> with all that, my first final pool payout code amounted to a total of 50 lines of Python
 67 2011-04-30 00:27:18 <luke-jr> though I just expanded it to 320 lines to handle more than 50 miners
 68 2011-04-30 00:27:28 <kika> i see
 69 2011-04-30 00:27:38 <kika> so when do you perform payouts?
 70 2011-04-30 00:27:47 <luke-jr> immediately, as part of the block
 71 2011-04-30 00:28:04 <kika> i see so you pay as soon as the pool solves a block
 72 2011-04-30 00:28:08 <luke-jr> yep
 73 2011-04-30 00:28:13 <kika> thats cool
 74 2011-04-30 00:28:17 <kika> thats what i want to do
 75 2011-04-30 00:28:23 <kika> you are my competitor lo
 76 2011-04-30 00:28:23 <luke-jr> good luck
 77 2011-04-30 00:28:25 <kika> lol
 78 2011-04-30 00:28:26 <luke-jr> that's complex
 79 2011-04-30 00:28:35 <luke-jr> it's also the feature I'm keeping my code private for ;)
 80 2011-04-30 00:28:41 <kika> hehe
 81 2011-04-30 00:28:42 <kika> yes
 82 2011-04-30 00:28:44 <kika> i know i know
 83 2011-04-30 00:28:45 <luke-jr> at least until it grows to sustainable size
 84 2011-04-30 00:28:56 <kika> do you have many miners
 85 2011-04-30 00:29:01 <luke-jr> ;;bc,lukepool
 86 2011-04-30 00:29:02 <gribble> 10766051.3553
 87 2011-04-30 00:29:03 <doublec> puddinpop's pool code did similar kika if you're looking for an example
 88 2011-04-30 00:29:09 <luke-jr> 10 GH now I guess
 89 2011-04-30 00:29:14 <luke-jr> just over 1% of the network
 90 2011-04-30 00:29:27 <luke-jr> doublec: puddinpop's pool did it totally different though, as I understand it
 91 2011-04-30 00:29:35 <doublec> luke-jr: yes
 92 2011-04-30 00:29:38 <kika> doublec: similar to what? what you are talking about? payouts?
 93 2011-04-30 00:29:40 <luke-jr> doublec: and required non-standard miners and was vulnerable to some exploit
 94 2011-04-30 00:30:16 <kika> luke-jr: did you review the pushpool code for any security issues?
 95 2011-04-30 00:30:44 <doublec> see AddDistributionFromContributed here: https://github.com/doublec/bitcoin-pool/blob/master/src/remote/remoteminer.cpp
 96 2011-04-30 00:32:20 <kika> doublec: ok
 97 2011-04-30 00:36:10 <kika> doublec: i was having in mind to just do sendcoins rpc call to do payouts
 98 2011-04-30 00:36:19 <kika> luke-jr: that would be okay right?
 99 2011-04-30 00:36:39 <luke-jr> kika: if you want to lose money
100 2011-04-30 00:36:48 <kika> luke-jr: why loose money?
101 2011-04-30 00:37:03 <luke-jr> kika: orphaned blocks
102 2011-04-30 00:37:22 <kika> luke-jr: but i wont give anyone a share on orphan blocks?
103 2011-04-30 00:37:47 <kika> i wont pay orphan blocks
104 2011-04-30 00:38:04 <kika> ill just pay blocks that the bitcoin network payed my pooler for
105 2011-04-30 00:38:06 <luke-jr> kika: then you have to wait 120 blocks to know it isn't orphan
106 2011-04-30 00:38:24 <kika> how much time would be 120 blocks ? do you have idea?
107 2011-04-30 00:38:34 <luke-jr> 20 hours
108 2011-04-30 00:38:49 <kika> ok, thats okay ill process payments once per day
109 2011-04-30 00:39:21 <kika> ill basically make my pushpoold to point to a rpc server ( bitcoind )
110 2011-04-30 00:39:31 <kika> then bitcoind would have its own bitcoin address and waller i think
111 2011-04-30 00:39:50 <kika> so every block pushpoold generates it will go to that bitcoin address and wallet, it will be stored there
112 2011-04-30 00:39:51 <kika> right?
113 2011-04-30 00:40:32 <kika> if i configure pushpoold to use bitcoind rpc server, then all the pool coins will be saved on the bitcoind server right?
114 2011-04-30 00:40:37 <luke-jr> yep, a different address each time
115 2011-04-30 00:42:01 <kika> luke-jr: but i can configure it to do it for the same address always right
116 2011-04-30 00:42:20 <kika> luke-jr:  you say for each generated block it will save the coins on a different address bitcoind ? o_O
117 2011-04-30 00:42:39 <kika> bitcoind will generate a random address right?
118 2011-04-30 00:42:43 <luke-jr> kika: yep
119 2011-04-30 00:42:52 <kika> so i can make it be a static address?
120 2011-04-30 00:42:55 <luke-jr> why?
121 2011-04-30 00:43:28 <kika> because it would be easier it would be "my pooler main address", and then ill send bitcoins from that address to each miner when doing payouts
122 2011-04-30 00:44:01 <luke-jr> you don't send from an address
123 2011-04-30 00:44:11 <luke-jr> transactions have no 'from address' of any use
124 2011-04-30 00:44:28 <kika> so i just send from bitcoind ?
125 2011-04-30 00:44:37 <luke-jr> yes
126 2011-04-30 00:44:45 <kika> luke-jr: i tought to send bitcoins i would send them from an account
127 2011-04-30 00:45:02 <kika> and bitcoind can have many accounts and each account is associated with a different address?
128 2011-04-30 00:45:04 <luke-jr> account != address
129 2011-04-30 00:45:14 <luke-jr> accounts are not associated with addresses
130 2011-04-30 00:45:21 <kika> ill need to check what an account is then
131 2011-04-30 00:45:27 <luke-jr> just an accounting label
132 2011-04-30 00:45:33 <kika> i see
133 2011-04-30 00:45:48 <kika> so bitcoind would save all my coins on the wallet at a given static address
134 2011-04-30 00:46:04 <kika> then i would send from bitcoind using rpc sendcoins call to all the miners that have shares
135 2011-04-30 00:46:09 <kika> once per day
136 2011-04-30 00:46:12 <kika> and thats all
137 2011-04-30 00:46:40 <lianj> could you craft the block you send out to pool miners with the payout txs already in?
138 2011-04-30 00:46:43 <kika> luke-jr: how does that sound for you ?
139 2011-04-30 00:47:08 <kika> lianj: what do you mean by craft?
140 2011-04-30 00:47:27 <lianj> just add the payout already, if you win the payout is in
141 2011-04-30 00:47:35 <luke-jr> lianj: my pool does that
142 2011-04-30 00:47:55 <lianj> luke-jr: :) nice, im plaing on doing this too :)
143 2011-04-30 00:48:12 <lianj> *play
144 2011-04-30 00:48:28 <kika> lianj: you mean that when my pool finds a block i add the txs to distribute the shares to each miner in there?
145 2011-04-30 00:48:39 <lianj> yes
146 2011-04-30 00:48:39 <luke-jr> lianj: or just join my pool <.<
147 2011-04-30 00:48:51 <luke-jr> kika: single, coinbase tx
148 2011-04-30 00:49:25 <kika> lianj: yes the thing is that to do that i would need to code low level stuff, otherwise i would just call sencoins rpc call thats high level and it will do it all
149 2011-04-30 00:50:37 <lianj> luke-jr: wanne code some more on bitcoin, might just join yours in the end though ;)
150 2011-04-30 00:51:23 <kika> is there any documentation that explains better transactions than the bitcoin wiki ?
151 2011-04-30 00:51:37 <kika> i want to basically understand how the blocks are distributed on the network
152 2011-04-30 00:51:43 <kika> created, etc
153 2011-04-30 00:52:09 <kika> when someone solves a block i think he advertises it as solved to every node
154 2011-04-30 00:52:27 <kika> every node checks the inputs to see if they match with current outputs
155 2011-04-30 00:52:28 <kika> right?
156 2011-04-30 00:53:05 <kika> to consider the advertised block solved and valid, every node does those checks
157 2011-04-30 00:58:14 <sacarlson> why would my testnet chain that has a balance of 1000 with getbalance  after 20 confirmations return 0 with getbalance 1   that should return balance with at least 1 confirmation?  maybe I don't understand what it considers a confirmation?
158 2011-04-30 01:01:55 <sacarlson> kika:  sounds about right to me
159 2011-04-30 01:04:38 <kika> sacarlson: once every 2 weeks the clients adjusts the difficulty to make sure only one block each 10 min can be generated right?
160 2011-04-30 01:04:52 <sacarlson> kika I think of it as an ecrypted ledger that everyone shares when someone transacts the encrypted coin is signed over to the new owner with his private key so only he can decode and when enuf people have verified the transaction he can spend it
161 2011-04-30 01:05:41 <sacarlson> kika: yes I beleave so it makes an adjustment depending on the power it detects in the number of hashes found
162 2011-04-30 01:07:24 <tcatm> I've started to work on a very simple CLI for bitcoind: https://github.com/tcatm/bitcoin/tree/cli
163 2011-04-30 01:07:46 <sacarlson> tcatm: what does it change?
164 2011-04-30 01:08:03 <sacarlson> smaller commands?
165 2011-04-30 01:08:35 <luke-jr> ;;bc,stats
166 2011-04-30 01:08:37 <gribble> Current Blocks: 120964 | Current Difficulty: 109670.13329248 | Next Difficulty At Block: 122975 | Next Difficulty In: 2011 blocks | Next Difficulty In About: 4 days, 13 hours, 29 minutes, and 16 seconds | Next Difficulty Estimate: 419656.12485543
167 2011-04-30 01:08:40 <tcatm> sacarlson: http://pastebin.com/raw.php?i=KcqP7Mre
168 2011-04-30 01:09:28 <kika> sacarlson: so basically confirmations means a transaction is included in a solved block right?
169 2011-04-30 01:09:30 <tcatm> you can also do echo "sendfrom account address amount"|bitcoind
170 2011-04-30 01:09:44 <sacarlson> tcatm: ok so it becomes like a bitcoind shell
171 2011-04-30 01:09:59 <tcatm> yep
172 2011-04-30 01:10:11 <luke-jr> tcatm: but does it have tab completionH :P
173 2011-04-30 01:10:34 <tcatm> luke-jr: it's on my todo. for now I call getline()
174 2011-04-30 01:10:51 <tcatm> i.e. tab completion for commands, addreses from addressbook, account names...
175 2011-04-30 01:11:11 <sacarlson> kika: yes once a block is solved it can be passed back and forth indefinitly to unlimited number of nodes.  once a new block is discovered it lives on and is passed on
176 2011-04-30 01:11:40 <luke-jr> tcatm: but bitcoind has no addressbook&
177 2011-04-30 01:12:03 <tcatm> luke-jr: sure. it's in the wallet
178 2011-04-30 01:12:06 <kika> sacarlson: so basically when a block is solved a node advertises it to all the nodes its connected to and each one of those nodes advertises it to all the nodes they are connected to recursively right?
179 2011-04-30 01:12:18 <sacarlson> kika: oh yes and the minners also confirm all the transactions they have seen before they minned there newist coins
180 2011-04-30 01:12:32 <tcatm> though the jsonrpc command set is not a good choice
181 2011-04-30 01:12:39 <luke-jr> tcatm: surely this is a CLI for bitcoind, not another interface for the monster monolithic bitcoin client?
182 2011-04-30 01:12:59 <luke-jr> eg, it connects via JSON-RPC
183 2011-04-30 01:13:06 <tcatm> luke-jr: basically it's a RPCthread tied to stdin/out
184 2011-04-30 01:13:19 <kika> what if i run a malicious  miner that just includes my coinbase transaction?
185 2011-04-30 01:13:30 <tcatm> you can pass it raw json data like {"method": "getinfo"}
186 2011-04-30 01:13:43 <luke-jr> tcatm: why not split that off the original codebase like it should be? ;)
187 2011-04-30 01:13:54 <tcatm> how would that work?
188 2011-04-30 01:14:07 <luke-jr> tcatm: the same way any good client-server architecture works
189 2011-04-30 01:14:27 <luke-jr> kika: then your hashes won't match the pool's coinbase txn merkle root
190 2011-04-30 01:14:30 <kika> sacarlson: what if someone runs a malicious miners that doesnt includes the other nodes transactions on the blocks it solves? and it just includes its coinbase transaction ?
191 2011-04-30 01:14:30 <tcatm> that's exactly what I want to avoid with the cli interface: no tcpserver on port 8332 anymore
192 2011-04-30 01:14:31 <sacarlson> kika:  on windows?  I don't see why they couldn't do anything they wanted if you don't know what the code is you run
193 2011-04-30 01:14:46 <luke-jr> tcatm: then it's flawed by design -.-
194 2011-04-30 01:14:50 <tcatm> why?
195 2011-04-30 01:14:55 <sacarlson> kika:  but I only run compiled code and I study what I run
196 2011-04-30 01:15:06 <luke-jr> tcatm: because interface should only ever talk to wallet over a socket of some kind
197 2011-04-30 01:15:29 <sacarlson> kika:  and everyone else that develops looks at the opensource software to prove it is valid
198 2011-04-30 01:15:43 <luke-jr> kika: oh, then the miner just can't collect the fees
199 2011-04-30 01:15:45 <tcatm> luke-jr: that's not how the current code structure works...
200 2011-04-30 01:15:53 <kika> sacarlson: yes thats what im trying to do im studying the src code of bitcoin
201 2011-04-30 01:15:58 <luke-jr> tcatm: I agree, the current code structure is poorly designed.
202 2011-04-30 01:16:53 <kika> so if my node solves a block but my nodes doesnt received transactions from other nodes, then my block will never be able to be valid?
203 2011-04-30 01:16:59 <luke-jr> tcatm: it's like Windows, where applications try to be everything and the kitchen faucet all in one
204 2011-04-30 01:17:11 <tcatm> luke-jr: agreed. wallet should be separated.
205 2011-04-30 01:17:20 <luke-jr> tcatm: rather than like *nix, where applications do one thing, and do it right, and simply tie together with other well-designed apps
206 2011-04-30 01:18:00 <sacarlson> kika: no if you solve a block you will broadcast you have found it to the world and also update the chain to the world
207 2011-04-30 01:18:08 <tcatm> I just have several wallets in different datadirs and wanted to avoid running a bitcoind and communicate via RPC/tcp when all I want to do is send some coins.
208 2011-04-30 01:18:42 <luke-jr> tcatm: for now, there's an easy solution in RPC/stdio ;)
209 2011-04-30 01:19:03 <tcatm> so now I can do: bitcoind\n getinfo (wait until blockchain synced)\n sendfrom account address amount \n stop \n
210 2011-04-30 01:19:35 <sacarlson> kika:  then your copy is the latist chain and will be used in the making of the next block that is found
211 2011-04-30 01:20:09 <luke-jr> kika: miners don't have to include any transactions
212 2011-04-30 01:20:45 <kika> luke-jr: so i just cant collect fees but i can earn those 50btc if i dont include transactions
213 2011-04-30 01:21:02 <kika> transaction fees i mena
214 2011-04-30 01:21:05 <luke-jr> yep
215 2011-04-30 01:21:40 <kika> sacarlson: so i solve a block, i notify all the nodes im connected to
216 2011-04-30 01:22:00 <kika> sacarlson: all those nodes notifies all the nodes they are connected to recursively
217 2011-04-30 01:22:25 <sacarlson> kika: yes and I guess they send it to all they are connect to and they send it to all they are and ......
218 2011-04-30 01:22:33 <kika> sacarlson: so that way every one will know my solved block
219 2011-04-30 01:22:44 <sacarlson> kika: yes
220 2011-04-30 01:23:14 <kika> then when i solve the block, it includes a hash
221 2011-04-30 01:23:33 <sacarlson> kika: after your block has been confirmed 120 times you can then spend you 50 btc minned coins
222 2011-04-30 01:23:42 <kika> i see
223 2011-04-30 01:23:48 <kika> so basically
224 2011-04-30 01:23:48 <luke-jr> sacarlson: 100 technically
225 2011-04-30 01:24:09 <sacarlson> luke-jr your right 100 just the user interface I guess adds 20 more
226 2011-04-30 01:24:10 <kika> when someone wants to send coins to someone else
227 2011-04-30 01:24:36 <kika> their client just broadcast a transaction message to every node on the network telling it wants to send coins?
228 2011-04-30 01:24:47 <luke-jr> yep
229 2011-04-30 01:25:05 <kika> then all the nodes listeting will see this transaction request
230 2011-04-30 01:25:21 <kika> and will try to include the transaction on the blocks they solve
231 2011-04-30 01:25:22 <kika> right?
232 2011-04-30 01:25:32 <luke-jr> if they choose to
233 2011-04-30 01:25:47 <sacarlson> kika:  well you must have an address to send it too first so the payee must give you that then you send it to that number and only he has the private key to decode that number
234 2011-04-30 01:26:04 <kika> okay if they want, if they dont want, then they can just solve a block and not include my transaction
235 2011-04-30 01:26:31 <kika> sacarlson: yes i understand that
236 2011-04-30 01:26:54 <kika> so basically i hash the block header
237 2011-04-30 01:27:25 <kika> are the transactions hashed?
238 2011-04-30 01:28:03 <sacarlson> kika:  the code uses hashes in many places
239 2011-04-30 01:28:21 <kika> im just trying to find a doc that explains transactions and the merklee tree thing
240 2011-04-30 01:28:39 <kika> because i still dont understand exactly when every node tries to do
241 2011-04-30 01:28:48 <tcatm> did you read the paper?
242 2011-04-30 01:29:25 <kika> sha256 ( data + nonce ) to find a hash that can be considered okay to solve a block, what the data is there? the data is just the block header? the data includes all the block transactions?
243 2011-04-30 01:29:32 <sacarlson> kika:  the merklee tree thing from my vage understanding is just a hashed phrase that proves the date of creation of the block chain by a line from a news paper article
244 2011-04-30 01:29:50 <luke-jr> you both fail to understand it
245 2011-04-30 01:30:02 <luke-jr> the merkle tree is just an (indirect) hash of all the transactions
246 2011-04-30 01:30:21 <luke-jr> that way no matter how many transactions you include, the block header itself is always 80 bytes
247 2011-04-30 01:30:22 <kika> merklee trees to my understanding have a top hash
248 2011-04-30 01:30:41 <kika> so i think the top hash of the merklee tree is stored on the block header
249 2011-04-30 01:30:46 <sacarlson> luke-jr I note that the merkle hash never changes unless I change the phrase
250 2011-04-30 01:30:47 <tcatm> the top hash is what is stored in the block header ("merkleroot")
251 2011-04-30 01:30:59 <kika> http://en.wikipedia.org/wiki/Hash_tree
252 2011-04-30 01:31:00 <luke-jr> sacarlson: what phrase?
253 2011-04-30 01:31:20 <kika> tcatm: okay so its the top hash right cool
254 2011-04-30 01:31:26 <sacarlson> luke-jr maybe that's only at the beginning?
255 2011-04-30 01:31:41 <luke-jr> sacarlson: what phrase?
256 2011-04-30 01:31:44 <sacarlson> luke-jr the phrase the create the merkle hash
257 2011-04-30 01:31:47 <kika> tcatm: so the block 0 generated a merkleroot from thin air? randonly ?
258 2011-04-30 01:31:48 <luke-jr> sacarlson: what phrase?
259 2011-04-30 01:31:56 <luke-jr> the merkle hash is created from transactions
260 2011-04-30 01:32:05 <sacarlson> luke-jr I'll find the line in the code give me a moment
261 2011-04-30 01:33:15 <tcatm> kika: look closer at block 0. it contains one transaction and the merkle root is just the hash of that transaction
262 2011-04-30 01:33:25 <kika> sacarlson: the hash should change every time a new transaction  is included i think
263 2011-04-30 01:33:49 <kika> tcatm: yes thats okay then if some transaction is included in block 1
264 2011-04-30 01:34:12 <B0g4r7> Not all blocks have transactions.
265 2011-04-30 01:34:32 <tcatm> B0g4r7: wrong. all blocks have at least one transaction
266 2011-04-30 01:34:48 <B0g4r7> Well, they have the 50BTC mined.
267 2011-04-30 01:35:05 <B0g4r7> I guess that counts?
268 2011-04-30 01:35:08 <tcatm> sure
269 2011-04-30 01:35:15 <kika> tcatm: block 1 has the merkeroot = the transaction hash
270 2011-04-30 01:35:17 <luke-jr> tcatm: how about in 200 years?
271 2011-04-30 01:35:21 <luke-jr> tcatm: 0 txn or 0 amount?
272 2011-04-30 01:35:33 <tcatm> luke-jr: ?
273 2011-04-30 01:35:34 <kika> wondering how the merkleroot is calculated then
274 2011-04-30 01:35:43 <luke-jr> tcatm: when the reward shifts away to nothing
275 2011-04-30 01:35:56 <tcatm> blocks would still have at least the generation TX
276 2011-04-30 01:35:57 <luke-jr> tcatm: or are there just no blocks generated when there's no txns?
277 2011-04-30 01:36:05 <luke-jr> so a generation txn with amount=0 ?
278 2011-04-30 01:36:08 <tcatm> yep
279 2011-04-30 01:36:35 <tcatm> remember, that amount contains the fees
280 2011-04-30 01:37:33 <kika> so how is the merklteeroot calculated ?
281 2011-04-30 01:37:42 <luke-jr> tcatm: if there's no (other) txns, there's no fees
282 2011-04-30 01:37:52 <tcatm> luke-jr: so amount would be 0
283 2011-04-30 01:38:07 <luke-jr> tcatm: or miners would just shutdown until they had a fee
284 2011-04-30 01:38:13 <tcatm> yep...
285 2011-04-30 01:38:41 <sacarlson> luke-jr this line  const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"; is used to create the first merkleroot
286 2011-04-30 01:38:42 <tcatm> though, if that actually happens I hope there are enough transactions with fees
287 2011-04-30 01:39:00 <luke-jr> sacarlson: I think that's just a coinbase&
288 2011-04-30 01:39:12 <sacarlson> luke-jr so I guess the merkle changes but the merkleroot is always the same
289 2011-04-30 01:39:15 <luke-jr> tcatm: by then, bitcoin will be thriving or dead
290 2011-04-30 01:39:38 <tcatm> kika: you hash two leafs, duplicating the right most leaf if you don't have an even number.
291 2011-04-30 01:40:09 <luke-jr> holy crap 220k difficulty
292 2011-04-30 01:41:50 <kika> so the first merkleeroot was generated using that phrase
293 2011-04-30 01:42:07 <kika> thats okay thats to make sure no one fakes the merkleeroot i think
294 2011-04-30 01:42:25 <slueth> why did the price of bitcoins rise so high?
295 2011-04-30 01:42:46 <tcatm> the first merkleroot is just the hash of the single tx in that block
296 2011-04-30 01:42:52 <plato> hey guys, what's going on in the first tx in this block? http://blockexplorer.com/block/0000000000005bcc470f7d6fc5d4cb43526e16811413a7a6dd1ec06a6f7e9ed2
297 2011-04-30 01:43:02 <kika> so block 0 has only 1 transaction and the merkleroot of that transaction
298 2011-04-30 01:43:09 <kika> is the hash of the transaction
299 2011-04-30 01:43:18 <tcatm> yep
300 2011-04-30 01:43:22 <kika> i mean the merkleroot of the block 0 is the hash of the transaction
301 2011-04-30 01:43:23 <kika> but
302 2011-04-30 01:43:27 <kika> the same happens for block 1
303 2011-04-30 01:43:41 <tcatm> plato: what's wrong with it?
304 2011-04-30 01:43:45 <kika> and block 3
305 2011-04-30 01:43:51 <kika> and block 2
306 2011-04-30 01:43:52 <kika> why?
307 2011-04-30 01:43:59 <sacarlson> I think my exchange will be working by tomaro http://exchange.surething.biz
308 2011-04-30 01:44:19 <tcatm> kika: because those blocks only have one transaction
309 2011-04-30 01:44:22 <luke-jr> plato: lots of small coins being melted into a single 92 BTC coin
310 2011-04-30 01:44:49 <luke-jr> OMG
311 2011-04-30 01:44:56 <luke-jr> I just thought of the BEST IDEA EVER
312 2011-04-30 01:44:58 <kika> tcatm: if they have more than ona transaction then the merkleroot would be calculated using the hash of all the txs the block includes?
313 2011-04-30 01:45:11 <tcatm> kika: yep
314 2011-04-30 01:45:32 <plato> luke-jr: those are all the same coin
315 2011-04-30 01:45:35 <kika> tcatm: and how do you know which txs are leafs are which ones are not etc
316 2011-04-30 01:45:58 <plato> oh, hmm
317 2011-04-30 01:46:14 <plato> so, these were all sent to this address?
318 2011-04-30 01:46:25 <luke-jr> plato: no they aren't.
319 2011-04-30 01:46:40 <luke-jr> yes, lots of smaller coins sent to the same address
320 2011-04-30 01:46:43 <tcatm> kika: that's easy. initially all txhashes are leaves. if you have an uneven number of hashes you duplicate the lsat one
321 2011-04-30 01:46:57 <luke-jr> plato: look at the txn itself http://blockexplorer.com/tx/f35a356998b5d6085435dcda627ff66435155fe226bddf8bef1aba43d15bc286
322 2011-04-30 01:47:21 <kika> tcatm: uhmmm so the tree would always be one level tree?
323 2011-04-30 01:47:31 <tcatm> http://en.wikipedia.org/wiki/File:Hash_tree.png
324 2011-04-30 01:47:44 <plato> luke-jr: yeah, just did - so, these were all sent to that address, then sent elsewhere?
325 2011-04-30 01:47:52 <tcatm> kika: Hash 0-0, 0-1, 1-0, 1-1 are the txhashes
326 2011-04-30 01:47:53 <kika> tcatm: so if i have tx 1 tx 2 tx 3
327 2011-04-30 01:47:56 <kika> tx 4
328 2011-04-30 01:48:01 <kika> in block 4
329 2011-04-30 01:48:10 <luke-jr> plato: that transaction melted them all down, made a single 92 BTC coin, and sent that coin to a new address
330 2011-04-30 01:48:14 <kika> how would the merklteeroot be calculated?
331 2011-04-30 01:48:26 <tcatm> two txhashes are hashed into a new hash
332 2011-04-30 01:48:38 <tcatm> so after the first iteration you have hash 0 and hash 1
333 2011-04-30 01:48:45 <kika> tcatm: and what are Hash 0, Hash 1 ?
334 2011-04-30 01:48:54 <kika> tcatm: what are the data bloocks?
335 2011-04-30 01:49:07 <tcatm> Hash 0 = hash(Hash 0-0 + Hash 0-1)
336 2011-04-30 01:49:21 <kika> + is concatenation right
337 2011-04-30 01:49:25 <tcatm> yep
338 2011-04-30 01:49:28 <kika> and hash is sha256 in bitcoin case
339 2011-04-30 01:49:43 <kika> so this three has only 3 levels
340 2011-04-30 01:50:00 <tcatm> correct
341 2011-04-30 01:50:17 <kika> sorry 4 levels... top hash ( level 1 ), hash 0 ( level 2), hash 0-0 etc ( level 3), data blocks ( level 4 )
342 2011-04-30 01:50:22 <tcatm> the datablocks are just the transactions which are hashed
343 2011-04-30 01:50:33 <kika> all the merkle trees on bitcoins are 4 levels trees?
344 2011-04-30 01:51:12 <kika> every merkle tree can have only 4 levels?
345 2011-04-30 01:51:29 <tcatm> if you have more transactions in a block you'll get more levels
346 2011-04-30 01:52:12 <kika> i understand now thxs tcatm!
347 2011-04-30 01:52:24 <kika> so why use merkle trees?
348 2011-04-30 01:52:28 <kika> on bitcoin
349 2011-04-30 01:52:37 <kika> only to store the hash on the block header?
350 2011-04-30 01:53:04 <tcatm> it's a great way to compress all transactions into a fixed length field
351 2011-04-30 01:53:10 <kika> so basically i solve a block
352 2011-04-30 01:53:27 <kika> that means i found a share256 thats < current target
353 2011-04-30 01:53:34 <kika> *sha256
354 2011-04-30 01:53:52 <tcatm> this allows us to proof that a transaction is included in a certain block
355 2011-04-30 01:54:07 <kika> basically that means i found a sha256( sha256( blockheader + nonce ) ) < current target , right ?
356 2011-04-30 01:54:37 <tcatm> yep, that's how blocks are solved
357 2011-04-30 01:54:52 <kika> so basically how i include the transactions?
358 2011-04-30 01:54:58 <kika> who stores the transactions?
359 2011-04-30 01:55:18 <kika> what if everyone on the network removes the transactions and we only keep with the merkleroots of those transactions?
360 2011-04-30 01:55:34 <kika> when i solve a block i send everyone the
361 2011-04-30 01:55:41 <kika> sha256( sha256( blockheader + nonce ) ) i found
362 2011-04-30 01:55:57 <kika> and what more?
363 2011-04-30 01:55:57 <tcatm> miner has a list of transactions. they get filtered (only valid tx, no orphaned inputs), then hashed and the merkle root is calculated
364 2011-04-30 01:56:56 <kika> when you say "hashed"
365 2011-04-30 01:56:57 <tcatm> you also announce the list of transactions included in that block
366 2011-04-30 01:56:59 <kika> what do you mean?
367 2011-04-30 01:57:08 <tcatm> hashed = sha256()
368 2011-04-30 01:57:18 <kika> i see you mean sha256( sha256( blockheader + nonce ) ) ?
369 2011-04-30 01:57:37 <tcatm> no, sha256(binary representation of transaction)
370 2011-04-30 01:57:47 <kika> i see
371 2011-04-30 01:57:57 <kika> so basically the miner has the list of valid transactions
372 2011-04-30 01:58:07 <kika> then the miner
373 2011-04-30 01:58:10 <kika> hashes each transaction
374 2011-04-30 01:58:38 <kika> then using each transaction hash it builds on the merkleroot and includes it in the block header
375 2011-04-30 01:59:06 <kika> right?
376 2011-04-30 01:59:11 <tcatm> right
377 2011-04-30 01:59:15 <kika> cool :D
378 2011-04-30 01:59:28 <kika> what are orhphaned inputs?
379 2011-04-30 01:59:43 <kika> i know that valid txs are txs that the inputs have a valid output
380 2011-04-30 01:59:57 <tcatm> transactions have inputs that reference other transactions outputs
381 2011-04-30 02:00:05 <kika> sorry i mean the outputs must have a valid input?
382 2011-04-30 02:00:19 <tcatm> no the input must have valid outputs
383 2011-04-30 02:00:51 <kika> but
384 2011-04-30 02:00:53 <tcatm> orphaned transactions are transactions where the transaction used in one input is not known to the miner
385 2011-04-30 02:01:03 <kika> block 0 has an input that has no valid output
386 2011-04-30 02:01:48 <tcatm> the first transaction in each block is a special transaction. it's called "coinbase" and does not need a valid input
387 2011-04-30 02:02:00 <tcatm> it's where the 50 BTC reward for every block comes from
388 2011-04-30 02:03:05 <kika> i see
389 2011-04-30 02:03:19 <kika> so basically every other tx needs an valid input
390 2011-04-30 02:03:24 <tcatm> yep
391 2011-04-30 02:03:41 <kika> to block 0 generates no inputso
392 2011-04-30 02:03:43 <kika> or outputs
393 2011-04-30 02:03:53 <tcatm> do you know this site? http://bitcoincharts.com/bitcoin/
394 2011-04-30 02:04:12 <kika> nopes
395 2011-04-30 02:04:13 <kika> checking
396 2011-04-30 02:04:34 <tcatm> it has a realtime list of all known unconfirmed transaction (= not included in any blocks)
397 2011-04-30 02:04:47 <kika> Thash is 1024Ghash i guess
398 2011-04-30 02:04:57 <tcatm> yep
399 2011-04-30 02:06:45 <kika> i see cool
400 2011-04-30 02:06:47 <slueth> why did the prices go up so much?
401 2011-04-30 02:06:49 <kika> this site is cool
402 2011-04-30 02:07:57 <tcatm> slueth: no idea... I see a lot new visitors on my websites so I assume bitcoin's userbase is growing..
403 2011-04-30 02:10:03 <kika> tcatm: so.... block 0 generated 50 btc to satoshi i think that had a random bitcoin address
404 2011-04-30 02:10:29 <kika> this address http://blockexplorer.com/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
405 2011-04-30 02:10:47 <sacarlson> tcatm:  I should look at the tool that creates that list to look at my new chain, maybe it will detect why my bitcoind balance 1 always returns 0
406 2011-04-30 02:11:27 <tcatm> sacarlson: it's not opensource
407 2011-04-30 02:11:47 <sacarlson> tcatm ok but I did see there was tools that I haven't played with yet
408 2011-04-30 02:11:53 <plato> i'm trying to understand the scale factor of a current 'bitcoin.' if bitcoin was 8bit, would it be represented as 10010000 = 9 "BTC" with four 'decimal places' as termed by the forum?
409 2011-04-30 02:12:11 <kika> so basically an address is kindof random and temp
410 2011-04-30 02:12:15 <tcatm> plato: ?? :)
411 2011-04-30 02:12:22 <kika> accounts can have many addresses i guess?
412 2011-04-30 02:12:28 <kika> accounts groups addresses?
413 2011-04-30 02:12:41 <plato> cause, everyone says we can go down to 10E-8 * 1BTC, but if it's 8 bits of zeros at the end of the current representation, that's not 10E-8
414 2011-04-30 02:12:45 <tcatm> kika: yep. accounts are purely virtual, though
415 2011-04-30 02:13:18 <kika> tcatm: by virtual you mean they dont exists as an item on bitcoin network, its just a app side thing module
416 2011-04-30 02:13:35 <tcatm> kika: yep. just some software logic to make it easier for users
417 2011-04-30 02:13:45 <kika> tcatm: cool
418 2011-04-30 02:14:00 <dust1> any more news on the mtgox csrf vunerability?
419 2011-04-30 02:14:09 <kika> wondering why when i send a transaction some btcs might get back to myself
420 2011-04-30 02:14:33 <tcatm> plato: it's the other way round. displayed BTC values are real_value / 10e8
421 2011-04-30 02:15:24 <tcatm> kika: if you have only a 10 BTC "coin" in your wallet and you send 5 BTC to someone, you'll get a 5 BTC change transaction
422 2011-04-30 02:15:33 <plato> ok, cool, sorry for the poorly phrased question :)
423 2011-04-30 02:15:50 <ninjaneo> lol does anyone say things like for 1000 bitcoins 1 kbtc
424 2011-04-30 02:16:06 <kika> tcatm: if i generate 50 btc and want to send 25 btc to someone, i would get 25 btc change?
425 2011-04-30 02:16:14 <tcatm> kika: yep
426 2011-04-30 02:16:16 <plato> ninjaneo: i was saying earlier today we should just call 1 satoshi = "1 credit"
427 2011-04-30 02:16:38 <Denarius> Hello everybody?
428 2011-04-30 02:16:38 <plato> kilocreds, megacreds, gigacreds
429 2011-04-30 02:16:46 <kika> tcatm: so basically everytime i send to someone else, all the bitcoins i have change?
430 2011-04-30 02:17:00 <Denarius> Anybody want my silver maples for bitcoin?
431 2011-04-30 02:17:24 <tcatm> kika: depends on the coins you have. if you happen to have the exact amount you want to send you don't get change
432 2011-04-30 02:17:31 <ninjaneo> lol i like the "kilobitcoin" or the "gigabitcoin"
433 2011-04-30 02:17:37 <kika> if i have 1000 btc and i want to send btc
434 2011-04-30 02:17:44 <kika> i want to send 10 btc
435 2011-04-30 02:17:45 <sacarlson> ninjaneo: not that I've ever seen but maybe we will start using uBTC for micro BTC units
436 2011-04-30 02:17:47 <kika> i get 990 btc change
437 2011-04-30 02:17:50 <ninjaneo> hehe
438 2011-04-30 02:17:52 <Denarius> I got 20 silver maples for sell
439 2011-04-30 02:17:54 <kika> right?
440 2011-04-30 02:18:15 <sacarlson> ninjaneo: then there would be nBTC for nano BTC units
441 2011-04-30 02:18:21 <Denarius> each worth 45 to 50 US dollars
442 2011-04-30 02:18:36 <ninjaneo> rofl @ quit msg
443 2011-04-30 02:18:48 <kika> tcatm
444 2011-04-30 02:18:53 <tcatm> kika: only if you have received those 1000 BTC in one transaction. If someone send you 600 BTC and 400 BTC in different transaction bitcoin would split the 400 BTC tx into 10 BTC + 390 BTC
445 2011-04-30 02:19:21 <kika> it always splits the smaller tx?
446 2011-04-30 02:19:35 <Denarius> What is Bitcoin mining, and how do I mine for Bitcoins?
447 2011-04-30 02:19:48 <ninjaneo> heh ill pm you
448 2011-04-30 02:19:54 <ninjaneo> i brief explination
449 2011-04-30 02:19:56 <kika> tcatm
450 2011-04-30 02:20:13 <tcatm> kika: the rules are a little complicated. it also shuffles your coins so they're harder to trace...
451 2011-04-30 02:21:15 <tcatm> it will, however, try to minimize the number of inputs and avoid change if possible
452 2011-04-30 02:21:31 <kika> tcatm: i dont know what you mean by shuffles
453 2011-04-30 02:21:49 <tcatm> take random coins as inputs
454 2011-04-30 02:22:02 <kika> where i can learn more about those rules?
455 2011-04-30 02:23:02 <sacarlson> Denarius: I'll give you 3 WEEDS for each of your silver maples
456 2011-04-30 02:23:07 <kika> so basically each bitcoin address has a priv and pub keypair associated with it right?
457 2011-04-30 02:23:08 <tcatm> coin selection is not a rule. it's in main.cpp:3740 SelectCoinsMinConf()
458 2011-04-30 02:23:20 <kika> the priv is kept at the wallet and the pub is kept on the bitcoin network too
459 2011-04-30 02:24:00 <tcatm> the pub is only visible when you actually spend coins using the private key
460 2011-04-30 02:24:10 <kika> yup
461 2011-04-30 02:24:21 <kika> so if i generate coins and i dont send them no one knows the pub
462 2011-04-30 02:24:48 <tcatm> right
463 2011-04-30 02:24:59 <kika> i would need to read how are addresses generated and how to make each address correspond to a given private key
464 2011-04-30 02:25:23 <tcatm> http://en.wikipedia.org/wiki/Elliptic_Curve_DSA
465 2011-04-30 02:26:04 <kika> when i generate coins, i need to provide the pub key of the address i want the coins to be deposited on right?
466 2011-04-30 02:26:33 <tcatm> nope. you only provide the hash of the pubkey
467 2011-04-30 02:26:43 <kika> tcatm: i see cool
468 2011-04-30 02:27:04 <kika> tcatm: that way no one else can claim my coins
469 2011-04-30 02:27:32 <kika> hash160?
470 2011-04-30 02:27:33 <tcatm> they'd need the private key to create a valid input
471 2011-04-30 02:27:39 <kika> thats the hash of the pubkey?
472 2011-04-30 02:28:13 <kika> i see each address has a hash160 field on blockexplorer
473 2011-04-30 02:28:13 <tcatm> Key hash = Version concatenated with RIPEMD-160(SHA-256(public key))
474 2011-04-30 02:28:46 <kika> i see so key hash would be the hash of the pubkey i provide
475 2011-04-30 02:29:05 <kika> version is the version of my bitcoin client?
476 2011-04-30 02:29:33 <tcatm> no, it's just a version for the address format
477 2011-04-30 02:29:35 <kika> tcatm:
478 2011-04-30 02:29:49 <kika> so if the address format changes i loose all my coins?
479 2011-04-30 02:30:10 <kika> ah no
480 2011-04-30 02:30:12 <kika> nono wait
481 2011-04-30 02:30:14 <kika> forget it
482 2011-04-30 02:31:11 <kika> so basically an input
483 2011-04-30 02:31:21 <kika> so basically i want to send coins to someone
484 2011-04-30 02:31:25 <kika> whay ill do in that case is:
485 2011-04-30 02:32:01 <kika> create an input referencing the output of the coinbase tx that i generated my 50btc that im going to send to someone else
486 2011-04-30 02:32:32 <tcatm> yep
487 2011-04-30 02:32:42 <kika> 1) i generate coins, that generates an input without any output
488 2011-04-30 02:33:57 <kika> sorry
489 2011-04-30 02:34:37 <kika> 1) i generate 50 btc coinbase tx, that generates an output without any input
490 2011-04-30 02:35:04 <kika> thats okay?
491 2011-04-30 02:35:28 <tcatm> yes
492 2011-04-30 02:35:50 <kika> so if i want to send those 50 btc, i generate an input referencing the output generated in 1)
493 2011-04-30 02:36:14 <kika> 1) is signed with the hash of my pubkey
494 2011-04-30 02:36:26 <kika> lets call the send tx 2)
495 2011-04-30 02:36:53 <kika> so tx 2) has to be signed using?
496 2011-04-30 02:37:39 <kika> tcatm
497 2011-04-30 02:38:05 <kika> when i send the 50 btc to someone else how do i tell everyone else that im able to create an input for output generated in 1) ?
498 2011-04-30 02:38:27 <kika> and that im not lying about that those 50 generated btc are mine
499 2011-04-30 02:39:33 <tcatm> every output contains a script that tells what needs to be done to spend the output
500 2011-04-30 02:40:05 <kika> so the coinbase script for the 50 btc i generated in 1)
501 2011-04-30 02:40:28 <tcatm> https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address
502 2011-04-30 02:41:12 <tcatm> basically, in your input you provide the missing piece of the output that makes the script valid
503 2011-04-30 02:41:59 <kika> wondering what that missing piece is
504 2011-04-30 02:42:34 <kika> in the output i provided the hash of my pub key right?
505 2011-04-30 02:42:41 <kika> i mean the coinbase output
506 2011-04-30 02:43:08 <kika> and i also indicated that to spend that coinbase output, a OP_CHECKSIG script needs to be done
507 2011-04-30 02:43:34 <tcatm> yes
508 2011-04-30 02:44:11 <sacarlson> kika cool and when you figure out those scripts lets make an p2p escrow to add to it
509 2011-04-30 02:44:13 <kika> so basically when a node receives the tx ( telling them 50 btcs needs to be transfered from output of the coinbase at 1) to someone else )
510 2011-04-30 02:44:40 <kika> the node needs to execute a OP_CHECKSIG script
511 2011-04-30 02:44:48 <kika> to see if the transaction is valid
512 2011-04-30 02:45:01 <kika> sacarlson: sure ;)
513 2011-04-30 02:45:32 <kika> sacarlson: i need to understand 100% bitcoin so i can contribute stuff, i have been learning for a full week now, probably 30 hours
514 2011-04-30 02:45:35 <sacarlson> kika: I'm sure you have to learn how it works first
515 2011-04-30 02:45:54 <kika> so im still newbie
516 2011-04-30 02:45:55 <sacarlson> kika: I've only been learning about 2 weeks myself
517 2011-04-30 02:46:08 <kika> yes me too im autodidact
518 2011-04-30 02:46:36 <kika> tcatm
519 2011-04-30 02:46:41 <kika> so basically..
520 2011-04-30 02:47:35 <kika> what is the missing piece i provide on the input im wondering
521 2011-04-30 02:49:03 <kika> do you know whats this missing piece tcatm ?
522 2011-04-30 02:49:12 <sacarlson> kika I've been looking and asking about this script stuf also and havn't figured it out yet or how to add to it
523 2011-04-30 02:49:41 <kika> sacarlson: i see i dont find too much doc about it too thats why im asking
524 2011-04-30 02:49:58 <sacarlson> kika: that page he gave you is the best I've seen
525 2011-04-30 02:50:14 <sacarlson> kika other than reading the code itself
526 2011-04-30 02:50:18 <tcatm> look at the table here https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address
527 2011-04-30 02:50:19 <kika> sacarlson: yes i seen it im looking at it
528 2011-04-30 02:50:35 <kika> tcatm: yup im there
529 2011-04-30 02:50:41 <tcatm> <sig> and <pubKey> are from the input
530 2011-04-30 02:51:37 <tcatm> first the pubkey is hashed
531 2011-04-30 02:51:42 <kika> i only see scriptSig at input here http://blockexplorer.com/tx/fff2525b8931402dd09222c50775608f75787bd2b87e56995a7bdd30f79702c4
532 2011-04-30 02:52:01 <tcatm> and checked if equal to hash160 in output
533 2011-04-30 02:53:01 <kika> yes
534 2011-04-30 02:53:03 <kika> i see
535 2011-04-30 02:53:19 <kika> so when im going to send 50 btc i basically create an input with
536 2011-04-30 02:53:47 <kika> my pub key hashed
537 2011-04-30 02:54:12 <kika> so that the receiving node can check if my public key matches the output pub key hashed?
538 2011-04-30 02:54:26 <tcatm> https://en.bitcoin.it/wiki/OP_CHECKSIG here's some information about signature checking
539 2011-04-30 02:54:59 <kika> ok
540 2011-04-30 02:54:59 <tcatm> I have to go now, though...
541 2011-04-30 02:55:04 <kika> ill read it
542 2011-04-30 02:55:14 <kika> thanks so much you helped me a lot to learn this stuff
543 2011-04-30 02:55:15 <kika> !
544 2011-04-30 02:55:27 <kika> are you usualy on this channel?
545 2011-04-30 02:55:43 <tcatm> yep, I'm here 24x7 but I might be away
546 2011-04-30 02:55:54 <kika> so i find you mostly at nights right?
547 2011-04-30 02:56:03 <kika> i hope be able to talk with you again
548 2011-04-30 02:56:04 <kika> hehe
549 2011-04-30 02:56:05 <tcatm> depends on where you live :)
550 2011-04-30 02:56:12 <kika> Argentina
551 2011-04-30 02:57:07 <kika> 2am here
552 2011-04-30 02:57:08 <kika> GMT -3
553 2011-04-30 02:57:15 <tcatm> 7am here
554 2011-04-30 02:57:43 <kika> k
555 2011-04-30 02:57:52 <kika> thxs so much! ill try to learn this script stuff
556 2011-04-30 02:58:13 <kika> however its much easier with yoy
557 2011-04-30 02:58:15 <kika> you
558 2011-04-30 02:58:16 <kika> hehe
559 2011-04-30 03:26:25 <luke-jr> ;;bc,lukepool
560 2011-04-30 03:26:27 <gribble> 10708785.1247
561 2011-04-30 03:36:44 <sacarlson> oh maybe I misread the help it's bitcoind getbalance minconf=1   not just 1
562 2011-04-30 04:01:57 <LobsterMan> when looking at the block chain, you can only see the addresses that coins are sent to and from, not ip addresses though right?
563 2011-04-30 04:02:41 <plato> right
564 2011-04-30 04:03:03 <plato> dunno if you can see IP's when the tx is initially broadcast to the network
565 2011-04-30 04:12:15 <nanotube> well, if you happen to be connected to the node that sends the tx, and somehow can be sure that the node is not relaying the tx, but rather originating it... you can know the ip
566 2011-04-30 04:12:22 <nanotube> but that's not so easy
567 2011-04-30 04:14:41 <netxshare> ;;bc,stats
568 2011-04-30 04:14:43 <gribble> Current Blocks: 120993 | Current Difficulty: 109670.13329248 | Next Difficulty At Block: 122975 | Next Difficulty In: 1982 blocks | Next Difficulty In About: 1 week, 1 day, 5 hours, 5 minutes, and 56 seconds | Next Difficulty Estimate: 189599.23079775
569 2011-04-30 04:18:10 <bk128> I'm about to burn up a pc fan speed controller.  30 watts yeah right... http://www.newegg.com/Product/Product.aspx?Item=N82E16811995016
570 2011-04-30 04:18:32 <bk128> heatsink is sizzling after a minute
571 2011-04-30 04:20:02 <wiktor_b> hey, i've got trouble running the linux client, i've tried the windows client and it works fine with wine, but i'd rather use the linux version. when i run bitcoin from the xin/64 directory, I just get a black icon in the taskbar, nothing happens when I click it with whatever mouse buttons :(
572 2011-04-30 04:21:10 <wiktor_b> bin/64 dir of course.
573 2011-04-30 04:23:08 <cosurgi> hmmm... diablo's works nice with slush.s pool, phoenix can't connect and constantly timeouts.
574 2011-04-30 04:24:23 <sgornick> MagicalTux: Wiki performance issues returned.  Did you change something?
575 2011-04-30 04:25:37 <MagicalTux> sgornick: nothing, however raid resync is at 37%
576 2011-04-30 04:25:55 <cosurgi> oh it's sunday 1st?
577 2011-04-30 04:26:38 <cosurgi> hmm.. no, I got no resyncs around.
578 2011-04-30 05:55:01 <vorlov> does anyone know of a way in ruby to achieve the same thing decode("hex") does in python
579 2011-04-30 05:55:02 <vorlov> ?
580 2011-04-30 06:16:58 <wiktor_b> is it okay to run the same wallet from two different computers at the same time?
581 2011-04-30 06:20:51 <sipa> depends for what
582 2011-04-30 06:21:14 <sipa> if you start spending from both, they will get out of sync, and after 100 transactions, they will have diverged
583 2011-04-30 06:21:30 <sipa> since the new addresses they generate will differ
584 2011-04-30 06:21:33 <wiktor_b> i'd only spend from one, the other is just mining
585 2011-04-30 06:22:05 <sipa> solo mining?
586 2011-04-30 06:22:13 <wiktor_b> yeah for now
587 2011-04-30 06:22:59 <sipa> you should regularly synchronize the wallets
588 2011-04-30 06:23:12 <sipa> and it remains somewhat dangerous, as it is not what the client is intended for
589 2011-04-30 06:23:15 <wiktor_b> yeah, that's what i thought
590 2011-04-30 06:23:22 <sipa> but since 0.3.21, it should work
591 2011-04-30 06:23:34 <wiktor_b> that's what I'm using
592 2011-04-30 06:42:43 <thedrs> hi all, i am having problems using bitcoin windows app with socks (sockd and ssh tunnel were tried) has anyone succeeded with this ?
593 2011-04-30 06:43:10 <Diablo-D3> should work fine
594 2011-04-30 06:43:24 <thedrs> have u ever tried it ?
595 2011-04-30 06:43:40 <Diablo-D3> people use it with tor's socks proxy frequently
596 2011-04-30 06:44:54 <Diablo-D3> thedrs: you sure you set the proxy ip and port correctly in the preferences?
597 2011-04-30 06:45:17 <thedrs> yes
598 2011-04-30 06:46:19 <thedrs> i have a windows machine that uses a linux socks server
599 2011-04-30 06:46:31 <Diablo-D3> hrm, I wonder if bitcoin automatically rejects socks4 proxies
600 2011-04-30 06:46:36 <thedrs> i tried the socks server with a web browser and it works fine - just with bitcoin it doesn't
601 2011-04-30 06:46:40 <Diablo-D3> thedrs: talk to gavin
602 2011-04-30 06:46:48 <thedrs> has he used it ?
603 2011-04-30 06:47:05 <Diablo-D3> hes one of the major developers.
604 2011-04-30 06:48:13 <thedrs> the net the windows machine is on is blocked for outgoing (except port 80) and blocked for all incoming
605 2011-04-30 06:48:22 <thedrs> the linux is open for in and out
606 2011-04-30 06:48:50 <thedrs> maybe the problem is the bitcoin initial peer finding algorithim ....
607 2011-04-30 06:49:44 <Diablo-D3> should work fine through a proxy
608 2011-04-30 07:03:05 <warpi> is it possible to run several nodes on the same ip?
609 2011-04-30 07:03:17 <UukGoblin> I do
610 2011-04-30 07:03:29 <warpi> oki, thx
611 2011-04-30 07:03:41 <JFK911> ;;bc,stats
612 2011-04-30 07:03:43 <gribble> Current Blocks: 121013 | Current Difficulty: 109670.13329248 | Next Difficulty At Block: 122975 | Next Difficulty In: 1962 blocks | Next Difficulty In About: 1 week, 2 days, 11 hours, 48 minutes, and 36 seconds | Next Difficulty Estimate: 160485.64402993
613 2011-04-30 07:03:58 <JFK911> does gribble calculate target hash threshold
614 2011-04-30 07:04:31 <sipa> ;;bc,hel
615 2011-04-30 07:04:32 <gribble> Error: "bc,hel" is not a valid command.
616 2011-04-30 07:04:32 <sipa> ;;bc,help
617 2011-04-30 07:04:33 <gribble> Alias bc,avgprc, Alias bc,bcm, Alias bc,blocks, Alias bc,btcex, Alias bc,calc, Alias bc,calcd, Alias bc,channels, Alias bc,diff, Alias bc,estimate, Alias bc,gen, Alias bc,gend, Alias bc,help, Alias bc,hextarget, Alias bc,labs, Alias bc,lbs, Alias bc,lukepool, Alias bc,mtgox, Alias bc,nexttarget, Alias bc,poolstats, Alias bc,prob, Alias bc,stats, Alias bc,timetonext, Alias bc,totalbc, and Alias (1 more message)
618 2011-04-30 07:04:41 <JFK911> aha
619 2011-04-30 07:04:41 <sipa> ;;bc,hextarget
620 2011-04-30 07:04:42 <gribble> 00000000000098FA000000000000000000000000000000000000000000000000
621 2011-04-30 07:04:50 <sipa> ;;bc,labs
622 2011-04-30 07:04:54 <JFK911> is hat in normal order?
623 2011-04-30 07:04:56 <gribble> Block number: 121013 | Time since previous block: 6 minutes and 41 seconds | Transaction count: 7.000 | Block size: 1911 bytes | Average transaction size: 261 bytes
624 2011-04-30 07:05:05 <JFK911> *that
625 2011-04-30 07:05:13 <sipa> ;;bc,lbs
626 2011-04-30 07:05:14 <gribble> Error: "curblockstats" is not a valid command.
627 2011-04-30 07:05:29 <sipa> ;;bc,avgprc
628 2011-04-30 07:05:30 <gribble> {"USD": {"7d": "1.9825", "30d": "1.3602", "24h": "2.6590"}, "RUB": {"7d": "42.6632", "30d": "30.0066", "24h": "68.1756"}, "GAU": {"30d": "0.0188"}, "GBP": {"7d": "1.0547", "30d": "0.8276", "24h": "1.4837"}, "PLN": {"7d": "4.9007", "30d": "3.3098", "24h": "7.5349"}, "EUR": {"7d": "1.1356", "30d": "0.7189", "24h": "1.1652"}}
629 2011-04-30 07:05:49 <JFK911> wow 68 rubles for 1 btc
630 2011-04-30 07:20:57 <rly> Does an nvidia 6200 support GPU mining in any way?
631 2011-04-30 07:21:50 <sipa> it's not listed on https://en.bitcoin.it/wiki/Mining_hardware_comparison so i doubt it
632 2011-04-30 07:29:14 <JFK911> hm the version number changed... maybe it's time to update
633 2011-04-30 07:29:58 <rly> How do people generally measure how much Watt their GPU is using?
634 2011-04-30 07:30:48 <JFK911> measure
635 2011-04-30 07:32:46 <rly> JFK911: I asked 'how', didn't I?
636 2011-04-30 07:34:05 <JFK911> i said how
637 2011-04-30 07:34:32 <JFK911> i can't be more specific.  the device i use may not work in your country.
638 2011-04-30 07:36:35 <thedrs> ;;bc,labs
639 2011-04-30 07:36:43 <gribble> Block number: 121016 | Time since previous block: 12 minutes and 2 seconds | Transaction count: 13.000 | Block size: 3899 bytes | Average transaction size: 294 bytes
640 2011-04-30 07:38:17 <JFK911> i did find they make one for the uk
641 2011-04-30 07:38:27 <JFK911> i didn't see one with shukos for continental europe thou.
642 2011-04-30 07:41:20 <JFK911> oh
643 2011-04-30 07:41:23 <JFK911> it looks like they have them
644 2011-04-30 07:41:24 <JFK911> http://www.prodigit.com/index.php?lang=en&op=product&pro_num=1052
645 2011-04-30 07:41:31 <JFK911> but who knows where to buy
646 2011-04-30 07:42:09 <rly> JFK911: that does not measure the GPU.
647 2011-04-30 07:42:16 <rly> JFK911: that measures everything.
648 2011-04-30 07:42:46 <mtrlt> measure with miner on, miner off
649 2011-04-30 07:43:08 <rly> That only measures how much extra the mining costs.
650 2011-04-30 07:43:20 <JFK911> yeah
651 2011-04-30 07:43:25 <rly> Not how much the GPU takes in idle.
652 2011-04-30 07:43:28 <mtrlt> isn't that the interesting number anyway :P
653 2011-04-30 07:43:30 <JFK911> it's like weighing items in a container
654 2011-04-30 07:43:44 <JFK911> the gpu's idle consumption you can find on wikipedia
655 2011-04-30 07:43:54 <rly> JFK911: that is not measuring.
656 2011-04-30 07:43:59 <rly> That is faith.
657 2011-04-30 07:44:00 <JFK911> if their full load numbers match what i measure, the idle should be about okay
658 2011-04-30 07:44:15 <JFK911> you can remove the gpu also
659 2011-04-30 07:44:28 <rly> JFK911: sometimes.
660 2011-04-30 07:44:45 <JFK911> you found one that supports opencl that you can't remove? :)
661 2011-04-30 07:45:18 <JFK911> well
662 2011-04-30 07:45:30 <JFK911> if you're more serious, you can calculate its heat output.
663 2011-04-30 07:45:57 <JFK911> if you know the mass and surface area of the heatsink, the ambient temperature and humidity, and the airflow of the fan, you know how much heat it's removing.
664 2011-04-30 07:46:16 <rly> That doesn't sound very practical.
665 2011-04-30 07:46:59 <rly> I suppose you can measure the 75W connector.
666 2011-04-30 07:47:10 <JFK911> well heat output is a direct correlation to energy consumed.
667 2011-04-30 07:47:20 <JFK911> the gpu also gets 5 and 12v from the card socket
668 2011-04-30 07:47:27 <rly> JFK911: and how are you going to isolate only the heat from the GPU?
669 2011-04-30 07:47:42 <JFK911> we know the temperature of the gpu
670 2011-04-30 07:47:43 <rly> JFK911: that was what I was going to say next.
671 2011-04-30 07:47:53 <rly> JFK911: no, we don't.
672 2011-04-30 07:47:58 <JFK911> i know mine
673 2011-04-30 07:48:04 <rly> JFK911: we know what the vendor says is the temperature.
674 2011-04-30 07:48:12 <rly> That is more faith.
675 2011-04-30 07:48:13 <JFK911> it's not far off.
676 2011-04-30 07:55:38 <CrazyThinker> Why public key algorithm does bitcoin use?
677 2011-04-30 07:55:49 <sipa> ECDSA
678 2011-04-30 07:55:54 <RenaKunisaki> why?
679 2011-04-30 07:56:09 <CrazyThinker> Just wondering if it has something to do with RSA
680 2011-04-30 07:56:23 <sipa> no, RSA is an older public key algorithm
681 2011-04-30 07:56:24 <RenaKunisaki> I mean, did you mean to ask "why"?
682 2011-04-30 07:56:44 <sipa> the advantage of ECDSA is mainly smaller keys for the same security strength
683 2011-04-30 07:56:53 <CrazyThinker> sorry, I meant "Which"
684 2011-04-30 08:10:22 <sipa> khalahan: present?
685 2011-04-30 08:11:22 <khalahan> yes ?
686 2011-04-30 08:12:04 <sipa> khalahan: in your sign/verify arbitrary data pull request, maybe using this would be useful? http://www.bitcoin.org/smf/index.php?topic=6430.0
687 2011-04-30 08:12:54 <khalahan> a new method 'recoverpubkey' ?
688 2011-04-30 08:13:06 <sipa> yes, i've implemented it already
689 2011-04-30 08:13:23 <sipa> in short, it's possible to create a 89-character base58 string that conveys both a pubkey and a signature
690 2011-04-30 08:15:17 <khalahan> i've red you post some days ago
691 2011-04-30 08:15:25 <BlueMatt> Im not really a huge fan of sign-with-bitcoin-pubkey...addresses should IMHO be used to send/receive coins, not to sign random data
692 2011-04-30 08:15:49 <BlueMatt> I dont want an online store to make me sign something to prove an address is mine
693 2011-04-30 08:16:02 <sipa> they can be used for one other thing only: proving that someone owns an address
694 2011-04-30 08:17:00 <BlueMatt> you could use it to prove data came from you as well
695 2011-04-30 08:18:00 <khalahan> this may be used for some merchants who want a signed message with the transaction
696 2011-04-30 08:18:33 <BlueMatt> I just dont feel it has a use in the "recommended" flow of paying a merchant
697 2011-04-30 08:18:55 <BlueMatt> if a merchant uses different addresses per person, they aren't proving anything
698 2011-04-30 08:19:26 <sipa> a bitcoin bank may use it to prove they actually have a 100% reserve
699 2011-04-30 08:21:01 <BlueMatt> mmm, yes there are uses, but I feel having it in by default encourages its use where I feel it shouldnt be
700 2011-04-30 08:21:57 <sacarlson> ok I think I got my exchange working next step is to try to run two bitcoind at the same time to enable running weeds and bitcoin chains at the same time
701 2011-04-30 08:23:50 <BlueMatt> shouldnt be too hard as long as they use different ports and different -datadir's
702 2011-04-30 08:23:52 <sacarlson> anyone ever done that?  I think they should work since they run on different ports but I need to write or modify the php driver side
703 2011-04-30 08:24:11 <Diablo-D3> PRONZ
704 2011-04-30 08:24:16 <BlueMatt> Ive done it, it should just work with different -datadir's and ports
705 2011-04-30 08:24:19 <khalahan> add : -nolisten -rpcport=xxxx
706 2011-04-30 08:24:29 <BlueMatt> thank you Diablo-D3
707 2011-04-30 08:24:36 <BlueMatt> oh yea, and rpcport
708 2011-04-30 08:24:43 <sacarlson> BlueMatt: what about the php side?
709 2011-04-30 08:24:43 <sipa> or look at testnet in a box
710 2011-04-30 08:25:20 <sacarlson> the rpc must have a setting someplace in php
711 2011-04-30 08:25:25 <BlueMatt> sacarlson: never done the php bitcoin stuff, but Id assume if you just change the rpcport it should work
712 2011-04-30 08:25:46 <BlueMatt> just replace all the 8332 references
713 2011-04-30 08:25:52 <sacarlson> oh I forgot to change the rpc port on the bitcoind also so will do that first
714 2011-04-30 08:26:10 <sacarlson> BlueMatt: ok will do
715 2011-04-30 08:27:45 <Diablo-D3> heh
716 2011-04-30 08:27:48 <Diablo-D3> you know what I want to see?
717 2011-04-30 08:27:58 <Diablo-D3> "add your own network to bitcoin"
718 2011-04-30 08:28:10 <BlueMatt> add your own network?
719 2011-04-30 08:28:53 <Diablo-D3> feed it a json file thats just { "name" : "weeds", "client port" : "8333" } and rpc port is always +1
720 2011-04-30 08:29:27 <BlueMatt> I really dont want to see bitcoin start encouraging alternate networks
721 2011-04-30 08:29:31 <BlueMatt> /currencies
722 2011-04-30 08:30:25 <Diablo-D3> I wouldnt mind, say, a sub-block currency
723 2011-04-30 08:30:43 <sacarlson> BlueMatt: I consider it an adition to bitcoin like the new york stock exchange that will hopefully add liquidity to the market
724 2011-04-30 08:31:02 <Diablo-D3> blocks cycle once every 30 seconds, you need like 5 or 10 blocks to consider it valid
725 2011-04-30 08:32:16 <BlueMatt> The problem is so much effort is required to get bitcoin going and supported by merchants, adding more alternate currencies just means all that effort gets split
726 2011-04-30 08:32:38 <BlueMatt> once bitcoin has caught on to some extent, I dont mind it, but for now...
727 2011-04-30 08:35:37 <sacarlson> BlueMatt: well I can't learn about it if I don't tinker with it
728 2011-04-30 08:36:32 <sacarlson> BlueMatt: I'll automate the selection of the network from the address in one of my next versions
729 2011-04-30 08:38:34 <BlueMatt> I have no problem with you tinkering with bitcoin, but when you start making people duplicate efforts...
730 2011-04-30 08:39:09 <sacarlson> BlueMatt: I should hope not I hope to keep as close to the git release as posible
731 2011-04-30 08:39:47 <BlueMatt> Oh I dont care about duplicating developer efforts, I mean efforts bootstrapping bitcoin as a currency
732 2011-04-30 08:40:44 <sacarlson> BlueMatt: I have total faith or I wouldn't be here
733 2011-04-30 08:41:19 <sipa> i haven't been following in detail, sacarlson
734 2011-04-30 08:41:34 <sipa> but you wanted some general trading mechanism linked to bitcoin, right?
735 2011-04-30 08:41:53 <sacarlson> sipa: well it's almost done http://exchange.surething.biz/
736 2011-04-30 08:42:14 <sacarlson> sipa just adding the final touch of multi coin chain interface
737 2011-04-30 08:42:23 <BlueMatt> I just feel adding more currencies makes everyone less dedicated to the cause
738 2011-04-30 08:43:57 <sacarlson> BlueMatt: are you thinking it will take more minners to support?
739 2011-04-30 08:44:29 <BlueMatt> No Im thinking people will just have 100 different currencies and will try to pimp them all
740 2011-04-30 08:44:40 <BlueMatt> Check out this other new currency: Weeds
741 2011-04-30 08:44:52 <sacarlson> BlueMatt: I got ya
742 2011-04-30 08:44:53 <BlueMatt> then people see 100 new currencies and say, well this is pointless
743 2011-04-30 08:45:25 <sipa> but those 'Weeds', they are virtual representations of ownership of real weed?
744 2011-04-30 08:45:57 <sacarlson> BlueMatt: good point but I hope to attach value to future chains that make them more like adding an equity market to
745 2011-04-30 08:46:22 <BlueMatt> then attach that value to bitcoin, not weeds
746 2011-04-30 08:46:37 <sacarlson> sipa:  at this point it's only an experimentle method to move bettween chains in the future
747 2011-04-30 08:47:16 <sacarlson> BlueMatt: well I did in this case I buy bitcoin and sell them for only a small spread
748 2011-04-30 08:48:01 <sipa> in general i think that would be very useful (not a separate currency, but a digital way of representing ownership, and having two transactions (one btc tx and one realworld-representing unit) linked to eachother, each signed by both parties in the exchange
749 2011-04-30 08:48:16 <sipa> so either both txs succeed, or both fail
750 2011-04-30 08:48:31 <sipa> but i don't see how to do that techically
751 2011-04-30 08:49:37 <sacarlson> sipa: that I guess would be the p2p escrow I'm I striving for
752 2011-04-30 08:50:35 <sacarlson> sipa: totaly eliminate the stock markets, bond markets, contract markets with p2p chains
753 2011-04-30 08:50:41 <sipa> except there is no escrow
754 2011-04-30 08:50:49 <sacarlson> sipa: I'm working on it
755 2011-04-30 08:50:51 <genjix> does the <sig> in scriptSig (in CTxIn) is a signature of the scriptPubKey? so am i correct in thinking that you cannot use different scriptPubKey on the CTxOut?
756 2011-04-30 08:50:57 <genjix> they all have to be the same, right?
757 2011-04-30 08:51:46 <sipa> the signature in the scriptSig must match the public key given in scriptPubKey of the txout being spent
758 2011-04-30 08:52:39 <genjix> but all the CTxIn have a different scriptSig because they contain the <pubKey> matching the COutPoint, right?
759 2011-04-30 08:53:16 <sipa> those pubkeys can be equal, if they come from the same address
760 2011-04-30 08:53:31 <sipa> but the main point is that the message being signed is different
761 2011-04-30 08:53:39 <sipa> i think
762 2011-04-30 08:53:41 <genjix> so CTxIn have scriptSig of <sig> (signature for the script used in CTxOut which remains unchanging across all inputs) and <pubKey> (public key used for signature of previous tx)
763 2011-04-30 08:54:17 <genjix> but then because the signature for CTxOut is the same for all inputs, that means you cannot use a different script for the outputs.
764 2011-04-30 08:54:23 <sipa> pubkey is the pubkey corresponding to the address the prevout was sent to
765 2011-04-30 08:54:41 <genjix> only one scriptPubKey for all outputs
766 2011-04-30 08:54:42 <sipa> sig is the signature made using the private key corresponding to that pubkey
767 2011-04-30 08:54:51 <genjix> yep
768 2011-04-30 08:54:59 <sipa> why would there be only one scriptPubKey for all outputs?
769 2011-04-30 08:55:34 <genjix> sig is a signing of the output script for this current tx, no?
770 2011-04-30 08:57:52 <sipa> it's a signature with the private key corresponding to the pubkey mathing an address given in the prevout's scriptPubKey, of the current tx
771 2011-04-30 08:58:23 <sipa> and since each TxIn of a given tx can have a different prevout, those pubkeys can differ
772 2011-04-30 09:01:31 <genjix> sipa: i understand.
773 2011-04-30 09:04:24 <genjix> sipa: what does signature sign though? isn't it the scriptPubKey for this tx?
774 2011-04-30 09:06:43 <sipa> ?
775 2011-04-30 09:06:59 <sipa> it signs the transaction
776 2011-04-30 09:07:14 <sipa> using the key states by the prevout's scriptPubKey
777 2011-04-30 09:07:16 <sipa> *stated
778 2011-04-30 09:10:12 <genjix> oh
779 2011-04-30 09:10:42 <genjix> that makes more sense
780 2011-04-30 09:16:11 <BlueMatt> aaaaaand...3
781 2011-04-30 09:16:14 <BlueMatt> ;;bc,mtgox
782 2011-04-30 09:16:15 <gribble> {"ticker":{"high":3,"low":2.3,"vol":61347,"buy":2.8001,"sell":3,"last":3}}
783 2011-04-30 09:21:13 <molecular> yay!
784 2011-04-30 09:21:17 <genjix> sick
785 2011-04-30 09:21:49 <BlueMatt> already up to 3.19
786 2011-04-30 09:22:31 <molecular> quote from s3052 on 4/28: "However, when looking at the logarithmic chart, we see why we have stopped in the 2.3  2.65 $ zone, where there is resistance from the parallel trend channel described in one of the last analysis.
787 2011-04-30 09:22:53 <molecular> not saying we should put too much trust in "technical analysis", though
788 2011-04-30 09:22:55 <Kiba> this is insane
789 2011-04-30 09:23:30 <BlueMatt> yep
790 2011-04-30 09:23:37 <Kiba> we been in a two month slump..now
791 2011-04-30 09:23:38 <molecular> there's going to be bubble talk ;)
792 2011-04-30 09:23:40 <BlueMatt> heres hoping Art sells like crazy to slow this down
793 2011-04-30 09:23:48 <Kiba> we get this insane
794 2011-04-30 09:23:49 <Kiba> rally
795 2011-04-30 09:24:08 <genjix> molecular: i wouldn't really trust those analysises. they are like cold reading.
796 2011-04-30 09:24:09 <Kiba> the c
797 2011-04-30 09:24:10 <Kiba> hart
798 2011-04-30 09:24:12 <sipa> khalahan: https://github.com/sipa/bitcoin/commit/6e223c405988a1002eeeee69db88a1128a38b0a3
799 2011-04-30 09:24:16 <Kiba> is starting to look like a J-curve?
800 2011-04-30 09:25:30 <Kiba> it might not be a bubble if we're just doing the J-curve
801 2011-04-30 09:25:35 <Kiba> but gosh, it's crazy
802 2011-04-30 09:26:13 <molecular> well, it doesn't reflect growth of the economy, does it?
803 2011-04-30 09:26:28 <Kiba> we are growing and getti
804 2011-04-30 09:26:32 <Kiba> people constantly
805 2011-04-30 09:26:44 <Kiba> but the bitcoin price seems to have its own mind
806 2011-04-30 09:26:51 <sacarlson> Kiba: and I would think volitile currency is not something the market looks for to use
807 2011-04-30 09:27:29 <sacarlson> but I guess it's to be expected at this point
808 2011-04-30 09:30:51 <molecular> the network size seems to have doubled in the last 4 months (4k -> 8k), mtgox volume very healthy, economy growing. to me, everything looks good ;)
809 2011-04-30 09:31:13 <BlueMatt> except for the remaining lack of merchants
810 2011-04-30 09:32:02 <Kiba> merchants are growing
811 2011-04-30 09:32:04 <molecular> yes,... the problem for merchants is setting a bitcoin price to their goods. they have to automate this. quite a hurdle
812 2011-04-30 09:32:10 <Kiba> just recently, somebody is selling  bitcoin t-shirts
813 2011-04-30 09:32:18 <molecular> yeah, saw that.
814 2011-04-30 09:32:30 <BlueMatt> I still cant buy much non-bitcoin-related stuff with bitcoin
815 2011-04-30 09:32:30 <Kiba> the fundamental is good, yup.
816 2011-04-30 09:32:34 <molecular> I'd rather like to see an established shirt dealer use bitcoin, though
817 2011-04-30 09:32:59 <BlueMatt> Id like to see any established merchants use bitcoin
818 2011-04-30 09:34:29 <Kiba> providing what bitcoiners want is improtant
819 2011-04-30 09:34:46 <Kiba> there's no sense for established merchant to use it if nobody buy anything
820 2011-04-30 09:35:59 <warpi> i think it would be very good publicity if a established merchant would start to accept btc
821 2011-04-30 09:36:12 <warpi> or a semi-established... free marketing
822 2011-04-30 09:36:36 <warpi> the more famous bitcoin is, the more the company will earn on associate
823 2011-04-30 09:36:53 <BlueMatt> right now I see alot of people who think bitcoin is cool and buying bitcoin, but unless I can go on to buy actual goods with my bitcoin, I just get up and leave
824 2011-04-30 09:37:22 <warpi> BlueMatt, but,, btc is too small so far
825 2011-04-30 09:37:46 <warpi> there have to be more people that have invested in it and trust it before merchants is willing to take the risk
826 2011-04-30 09:38:17 <BlueMatt> what risk? If Im a merchant I can set up my backend to take bitcoin and sell them into usd the second I get them
827 2011-04-30 09:38:29 <Kiba> I brought hosting and domain names with bitcoin...barely brought anything else at all
828 2011-04-30 09:38:30 <BlueMatt> Its just difficult to do so currently
829 2011-04-30 09:39:00 <molecular> Kiba: I would by some nerdy t-shirt from, say, 3dsupply.de with btc. I'm going to talk to them. tapping a community of (roughly 10.000?) nerds could be a business opportunity for them.
830 2011-04-30 09:39:24 <warpi> BlueMatt, true... i mean keep the btc :)
831 2011-04-30 09:39:51 <BlueMatt> well I see no reasons merchants will do that for a _long, long_ time
832 2011-04-30 09:39:55 <molecular> BlueMatt, true about the autmated selling... but it's not as easy for them as it might be for us, right?
833 2011-04-30 09:39:59 <warpi> we just have to make sure that the btc network (infrastructure) is stabile, and the market will grow by time
834 2011-04-30 09:40:56 <BlueMatt> warpi: the problem I have with that is when the market is just speculators, the bubble just grows and grows
835 2011-04-30 09:41:20 <BlueMatt> when merchants start to come in and people start to sell for actual reasons than just speculation it causes it to pop
836 2011-04-30 09:41:35 <warpi> BlueMatt, true,, but there will be some booms and busts for sure.. the speculators will get tired eventually
837 2011-04-30 09:41:40 <warpi> have to go.. cya
838 2011-04-30 09:44:40 <molecular> is the volume on mtgox in USD or BTC?
839 2011-04-30 09:45:09 <BlueMatt> typically btc
840 2011-04-30 09:45:32 <topi`> we need more exchange sites than mtgox and then we need to collect info from these sites about the current exchange rate of BTC against different currencies
841 2011-04-30 09:45:43 <topi`> when that is automated, then the merchants can sell their wares at BTC spot price
842 2011-04-30 09:46:21 <genjix> 'using the key stated by the prevout's scriptPubKey' <- there is no public key in prevOut scriptPubKey
843 2011-04-30 09:46:58 <genjix> topi`: my software is free if you want to setup an euro exchange
844 2011-04-30 09:47:02 <genjix> i encourage it.
845 2011-04-30 09:51:22 <topi`> ok
846 2011-04-30 10:00:37 <topi`> genjix: you mean this intersange thing?
847 2011-04-30 10:00:52 <genjix> topi`: yes
848 2011-04-30 10:04:55 <topi`> I need to have a look at that
849 2011-04-30 10:06:34 <genjix> sipa: 'using the key stated by the prevout's scriptPubKey' <- there is no public key in prevOut scriptPubKey
850 2011-04-30 10:06:45 <sipa> no, but there is an address
851 2011-04-30 10:07:05 <genjix> sipa: also if you're setting all the txin scripts to be empty then signing the tx, that signature will be the same for all txin, no?
852 2011-04-30 10:07:15 <genjix> right
853 2011-04-30 10:07:57 <sipa> since the signatures are in the txin, how can there be a signature if the txin scripts are empty?
854 2011-04-30 10:08:03 <topi`> http://de1.eu.apcdn.com/full/40107.jpg
855 2011-04-30 10:08:04 <topi`> lol
856 2011-04-30 10:08:18 <genjix> sipa: because that's how the signing algorithm works afaik
857 2011-04-30 10:08:23 <sipa> no
858 2011-04-30 10:08:29 <genjix> it makes a deep copy of the tx, sets the txin to empty
859 2011-04-30 10:08:39 <sipa> ah, yes
860 2011-04-30 10:08:44 <sipa> of course
861 2011-04-30 10:08:52 <genjix> does some other stuff, then hashes/signs it.
862 2011-04-30 10:08:54 <sipa> but it's possible to really have an empty txin too
863 2011-04-30 10:09:07 <sipa> in which case there simply is no signature
864 2011-04-30 10:09:41 <sipa> but the pubkey can still differ, even though the data being signed is identical amongst several txins
865 2011-04-30 10:09:54 <genjix> ok but you take the tx (CTransaction), set the input scripts to empty, hash it, sign it then add that signature to all the <sig> of each CTxIn::scriptSig?
866 2011-04-30 10:10:04 <genjix> yep ofc
867 2011-04-30 10:10:19 <genjix> ahhh
868 2011-04-30 10:15:19 <sipa> scriptSig + scriptPubKey must together form a script returning true for that transaction
869 2011-04-30 10:15:34 <sipa> scriptSig sets some input values, scriptPubKey validates those
870 2011-04-30 10:23:24 <genjix> but there are multiple scriptPubKey because each CTxOut has scriptPubKey and there multiple CTxOut in CTransaction
871 2011-04-30 10:26:28 <sipa> yes
872 2011-04-30 10:26:48 <sipa> it's the scriptPubKey of the prevout concatenated with the txin's scriptSIg
873 2011-04-30 10:28:18 <genjix> thanks
874 2011-04-30 10:28:31 <genjix> sorry for being dense and eating up your time :)
875 2011-04-30 10:45:21 <sipa> ;;bc,gen 1392000
876 2011-04-30 10:45:22 <gribble> The expected generation output, at 1392000 Khps, given current difficulty of 109670.13329248 , is 12.7665852475 BTC per day and 0.531941051978 BTC per hour.
877 2011-04-30 10:52:17 <_ape> ;;bc,gen 250000
878 2011-04-30 10:52:18 <gribble> The expected generation output, at 250000 Khps, given current difficulty of 109670.13329248 , is 2.29284936197 BTC per day and 0.0955353900823 BTC per hour.
879 2011-04-30 10:53:04 <tcoppi> w 2