Transcript for #bitcoin-dev 2017/12/21

01:06 kamyl is it feasible to mine BTC on a testnet with a decent CPU/GPU or am I better off asking for some BTC to test lightning network?
01:15 echeveria kamyl: post an address.
01:16 kamyl echeveria: thanks, I will once I sync, but I actually just learned that I need btcd node to test ln and it's probably offtopic here? I probably came with wrong assumption here, I'll read up a bit more about it.
01:17 echeveria kamyl: bitcoind doesn't need to be in sync to create an address. setting up a node would be off topic, but someone will provide you with tBTC if you post an address.
01:21 kamyl echeveria: thanks a lot for help, really appreciate it, I will do that once I get the actual VM working
01:26 needcoinbase90 Hey guys. So, I want to float an idea for a BIP, unless I'm missing something. I proposed a CIP for Counterparty a few months back adding an optional fixed-size payment ID/memo to each transaction, that people could fill with data provided to them by an exchange.
01:27 needcoinbase90 This allows all their customers to deposit assets into the same exchange address, with customers differentiated by the memo
01:27 echeveria why would you want this?
01:28 needcoinbase90 Exchanges need to have a different deposit address per-customer, and after the deposits enter the address, they need to be consolidated into a single one
01:28 needcoinbase90 let me find an example for you
01:28 echeveria if you have a channel to give somebody an address, you already have a channel to pass memo information. the blockchain is for financial information that's relevant to everybody verifying it, a memo is not relevant.
01:28 needcoinbase90
01:28 echeveria there is no functional difference between many outputs at one P2PKH key, and many outputs at many P2PKH keys. you fundamentally misunderstand how the UTXO model works.
01:28 needcoinbase90 you see that to maintain a deposit address on an exchange, the exchange needs to perform two transactions for every deposit
01:29 needcoinbase90 one to move from the customer's individual deposit wallet into the exchange hot wallet
01:29 needcoinbase90 and one for the eventual withdrawal, when it comes
01:30 needcoinbase90 Adding a payment ID so that the consolidation tx isn't necessary I believe would reduce the amount of data overhead necessary for exchanges (and thus lower their fees)
01:30 echeveria that's an inefficiency caused by poor design on the exchanges part, there's zero need to make multiple transactions, and reusing addresses does not in any way reduce the number or complexity of transactions.
01:30 echeveria the blockchain doesn't know, differentiate, or care if an output is sent to a re-used address or a new one. they're identical as far as storage and transactional usage is concerned.
01:31 needcoinbase90 I'm not sure that thats the issue I'm describing
01:31 echeveria yes, it is.
01:32 needcoinbase90 So, 5 customers deposit 1 coin each into their own individual deposit addresses. two sell, and one person buys 1.5.
01:32 needcoinbase90 You are saying the exchange can send from two different customer deposit addresses?
01:32 needcoinbase90 I guess that could work
01:32 needcoinbase90 I'll need to look at the size of that
01:32 needcoinbase90 xcp doesnt use a utxo model, so its a bit different
01:32 needcoinbase90 it just uses netting I believe
01:32 echeveria yes. please read how the UTXO works, you're basing your conclusions on misunderstanding.
01:33 needcoinbase90 Thank you for your time.
05:40 Caust1c howdy! technical question for you: How does a full node verify the utxo that a private key has to spend? Can someone point me in the right direction for the technical documentation and/or code for this?
05:41 Caust1c e.g. what's preventing me from creating a transaction which says "i'm sending N when I only have n" and broadcasting that to the network?
05:41 Caust1c Surely the full nodes are aware of the balance corresponding to the public key, but do they keep that in memory or on disk somewhere? or do they have to generate it dynamically for each tx?
05:45 Caust1c think I found it:
06:11 echeveria Caust1c: they verify the ECDSA signature, you can not forge a signature for a key you don't own.
06:11 echeveria Caust1c: the UTXO is stored on disk in leveldb, a key value store.
06:22 Caust1c neato. The key being the publickey?
06:22 Caust1c and the value being the list of utxo presumably
06:27 echeveria Caust1c: bitcoin outputs are scripts, not public keys. the key is the hash of the transaction that created the output, and the index within that transaction.
06:34 Caust1c yep, I just read that with COutPoint and CoinEntry
06:34 Caust1c thanks for the help echeveria !
08:06 ren0v0 Hi, does bitcoin-qt have the payment protocol implemented that Bitpay requires?
08:08 echeveria ren0v0: yes, this is bip70. bip70 is not a quality protocol, however.
08:08 echeveria it's essentially unused other than bitpay due to enormous complexity, huge number of code dependancies, and general poor utility.
08:09 ren0v0 any idea if its in this version v0.15.0.0-g3751912e8e ?
08:09 echeveria it's been in there for years.
08:09 ren0v0 Basically i sent a payment last night for an invoice, plenty of fees, 655 sat/B, and it didn't "clear" on the network like usual
08:10 echeveria that's unrelated to bip70.
08:10 ren0v0 hmm, so this is ok?
08:10 ren0v0 just that it was a recent post i thought it might be something new
08:10 echeveria no, bip70 is very old and effectively abandoned.
08:10 ren0v0 so what is this they are talking about, and does -qt support it ?
08:11 ren0v0 if i send something from bitpay wallet, it confirms instantly, all of the time
08:11 echeveria < echeveria> it's been in there for years.
08:11 ren0v0 ok, so any ideas what i'm doing wrong then, because i have 3 invoices to pay and this refund just cost me $100
08:12 echeveria this is a service question to take up with bitpay, not a development question.
08:12 ren0v0 maybe, maybe not
08:12 ren0v0 i made a payment in the same 10minute window from their wallet and it worked fine
08:12 echeveria this is a question to take up with bitpay.
08:13 ren0v0 their wallet worked fine, -qt didn't, so how can they help me ?
08:13 ren0v0 what should i asked them if -qt guys need more info?
08:14 echeveria there's no further way anybody but bitpay can help you. if they 'refunded' a payment, that's their behaviour not the wallets.
11:02 JackH ok too many people talking to me about fee's. what article do we have where both fee's + segwit + lightning + how it actually works is put together? anyone? I am fed up defending the fact that this is how the system is supposed to work
11:07 JackH in an easy explained way, the bitcoincore post about segwit benefit is too technical for people
11:12 Sentineo JackH: I find this on about lightning easily digestible ... can't address other components (fees, segwit) ...
11:18 JackH hmm yes but I was hoping for a "all-in-one"
11:18 JackH why blockchain is slow, why segwit helps, why lightning is a payment layer, step by step
11:19 JackH and I cant dump 100 articles on someone
11:19 Sentineo sure, in case you find one, let us know :P
11:19 JackH lol
11:19 Sentineo JackH: ask in #bitcoin as well, lot more users there, who do write such articles
12:23 DSidH When creating a transaction by hand, how do I decide the scriptPubKey contents? Do I just look at the first byte of the pubKeyHash and decide that its either P2PKH or P2SH ?
12:50 wumpus DSidH: yes, basically there's a mapping from address types to scriptPubKey script templates. See to_scriptpubkey in for example.
13:11 DSidH wumpus: ty. Needed validation from someone
14:28 jouke anyone any idea why sendrawtransaction of this tx results in a: "64: too-long-mempool-chain" error message?
14:29 jouke One input is confirmed, other input only has an unconfirmed chain of 1 transaction long.
14:31 jouke Only blockcypher and blockexplorer are willing to accept the transaction:
14:37 cncr04s core devs need to do something
14:37 jouke ancestorsize?
14:37 cncr04s can't do business if people can't send tx's
14:48 molz cncr04s, offtopic, but that is up entirely to exchanges and users to "do something", not core devs, they have done their part
14:58 jouke decendent size too big? (too many wallets spending unconfirmed transactions? :x)
15:02 jb55 anyone have a list of these bitcoin script optimizations somewhere? or want to help out?
17:27 rocketmagnet hi guys
17:27 rocketmagnet does someone understand the quandl api from ? i just want to get the btc in dollar for a certain date/time
17:28 rocketmagnet i would really be thankfull if someone can help me out here
17:29 rocketmagnet i only found that does it the easy way but they only show current data
21:38 cluelessperson
21:38 cluelessperson I don't get it, is introducing a new address format really necessary?
21:41 cluelessperson So, I want to learn how bitcoin works, ground up
21:41 cluelessperson Should I just read all the BIPs in order?
21:51 cluelessperson
21:51 cluelessperson "This document specifies an alteration to BIP9"
21:51 cluelessperson This is BIP8, how the hell does it refer to something that comes AFTER it?
21:51 cluelessperson that makes no sense
22:24 wumpus cluelessperson: BIP numbers are not sequential
22:24 cluelessperson wumpus: I guess I should ask, what offers a proper roadmap to learn all the technical details?
22:25 wumpus cluelessperson: would probably make sense to start with
22:26 cluelessperson wumpus: thoughts on the "Mastering Bitcoin" Andreas book on github?
22:26 wumpus cluelessperson: and only then BIPs, if you encounter one that you want to know more about
22:26 wumpus cluelessperson: I'd certainly not recommend reading all the BIPs
22:27 wumpus cluelessperson: I've heard good things about that one too (never read it though)
22:27 cluelessperson wumpus: Got it. I'm developing a roadmap as I figure things out.
22:28 wumpus reading all BIPs would be the bitcoin equivalent of reading all RFCs to learn how the internet works :)
22:35 cluelessperson wumpus: Thank you for your help
22:41 meshcollider cluelessperson: I read mastering bitcoin a while back, it was very good from what I remember, so yep that's a good starting point
22:47 meshcollider cluelessperson: there are maybe a few key BIPs to read but don't read them all at once lol. Maybe BIP32, 65, 112, 125, 141, 173
22:48 cluelessperson meshcollider: wumpus
22:48 cluelessperson :)
22:48 meshcollider Just read others as necessary when you come across topics that you want to dive deeper into (e.g. compact blocks, bloom filters, etc)
22:49 meshcollider cluelessperson: nice :) could be a good resource for others to follow in your footsteps