< sipa> gmaxwell: my formula is wrong
< sipa> if a fraction p of n-sig transactions is made using lowr, then you would observe a fraction x = p + (1-p)*0.5^n of lowr transactions
< sipa> so given x, p can be computed as (x*2^n - 1)/(2^n - 1)
< sipa> 2019-03-09T00:39:53.454594Z Stats LOWR 1: 1478633 0.06805
< sipa> 2019-03-09T00:39:53.454601Z Stats LOWR 2: 444741 0.0659343
< sipa> 2019-03-09T00:39:53.454611Z Stats LOWR 3: 70850 0.0976832
< sipa> 2019-03-09T00:39:53.454618Z Stats LOWR 4: 53930 0.07754
< sipa> 2019-03-09T00:39:53.454625Z Stats LOWR 5: 17363 0.121424
< sipa> for the last 1000 blocks
< sipa> the last number is the estimated ratio of lowr-software-produced transactions
< gmaxwell> sipa: did you not bother with stats for more than 5 signatures?
< sipa> i have numbers up to 256 sigs
< sipa> here are the first 50: https://zerobin.net/?26e00991169c6c76#QYnu/CQ+ywAhOUqaLqzx+HbQMGQFxvI8zgMyuBkUcSw=
< gmaxwell> so 6.87382% of transactions overall.
< sipa> is that the weighted average?
< gmaxwell> I took your counts time percentage and added it up.
< sipa> yeah
< gribble> https://github.com/bitcoin/bitcoin/issues/2 | Long-term, safe, store-of-value · Issue #2 · bitcoin/bitcoin · GitHub
< sipa> last 10000 blocks
< sipa> 5.3856%
< bitcoin-git> [bitcoin] laanwj pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/efed9809b4fa...12408d33c6ac
< bitcoin-git> bitcoin/master 32da92b Wladimir J. van der Laan: gitian: Improve error handling
< bitcoin-git> bitcoin/master 12408d3 Wladimir J. van der Laan: Merge #15549: gitian: Improve error handling
< bitcoin-git> [bitcoin] laanwj pushed 1 commit to 0.18: https://github.com/bitcoin/bitcoin/compare/0fd3632868e2...f810f14cf61d
< bitcoin-git> bitcoin/0.18 f810f14 Wladimir J. van der Laan: gitian: Improve error handling
< bitcoin-git> [bitcoin] laanwj merged pull request #15549: gitian: Improve error handling (master...2019_03_gitian_error_handling) https://github.com/bitcoin/bitcoin/pull/15549
< bitcoin-git> [bitcoin] fanquake opened pull request #15562: doc: remove duplicate clone step in build-windows.md (master...improved-15550) https://github.com/bitcoin/bitcoin/pull/15562
< bitcoin-git> [bitcoin] fanquake closed pull request #15550: doc: correct path in build-windows.md (master...patch-1) https://github.com/bitcoin/bitcoin/pull/15550
< bitcoin-git> [bitcoin] laanwj pushed 5 commits to master: https://github.com/bitcoin/bitcoin/compare/12408d33c6ac...ff3814880861
< bitcoin-git> bitcoin/master 4d83401 Suhas Daftuar: [addrman] Improve tried table collision logging
< bitcoin-git> bitcoin/master 4991e3c Suhas Daftuar: [net] feeler connections can be made to outbound peers in same netgroup
< bitcoin-git> bitcoin/master f71fdda Suhas Daftuar: [addrman] Ensure collisions eventually get resolved
< bitcoin-git> [bitcoin] laanwj merged pull request #15486: [addrman, net] Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups (master...2019-02-addrman-collisions) https://github.com/bitcoin/bitcoin/pull/15486
< bitcoin-git> [bitcoin] fanquake opened pull request #15563: backport: Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups (0.18...backport-15486-addrman-collisions) https://github.com/bitcoin/bitcoin/pull/15563
< fanquake> wumpus 15562 is a trivial doc merge
< fanquake> no idea why the bottom "build using" is italicized, but it doesn't appear that way in the doc
< wumpus> fanquake: OK
< wumpus> looks good to me
< bitcoin-git> [bitcoin] laanwj pushed 5 commits to 0.18: https://github.com/bitcoin/bitcoin/compare/f810f14cf61d...936ef73fabc9
< bitcoin-git> bitcoin/0.18 561b00a Suhas Daftuar: [addrman] Improve tried table collision logging
< bitcoin-git> bitcoin/0.18 487f0c3 Suhas Daftuar: [net] feeler connections can be made to outbound peers in same netgroup
< bitcoin-git> bitcoin/0.18 333be7a Suhas Daftuar: [addrman] Ensure collisions eventually get resolved
< bitcoin-git> [bitcoin] laanwj pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/ff3814880861...6b2ee268be45
< bitcoin-git> bitcoin/master 5bd0788 Ferdinando M. Ametrano: doc: correct path in build-windows.md
< bitcoin-git> bitcoin/master 6b2ee26 Wladimir J. van der Laan: Merge #15562: doc: remove duplicate clone step in build-windows.md
< fanquake> I shall close my backport of 15486 then heh
< bitcoin-git> [bitcoin] laanwj merged pull request #15562: doc: remove duplicate clone step in build-windows.md (master...improved-15550) https://github.com/bitcoin/bitcoin/pull/15562
< wumpus> fanquake: oh sorry hadn't seen it
< fanquake> np
< bitcoin-git> [bitcoin] fanquake closed pull request #15563: backport: Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups (0.18...backport-15486-addrman-collisions) https://github.com/bitcoin/bitcoin/pull/15563
< wumpus> fanquake: it was a clean cherry-pick right?
< fanquake> yes
< wumpus> phew
< wumpus> I really want to improve -getinfo now that it's no longer server side, e.g. show regtest/testnet/mainnet, make some information per wallet
< wumpus> so if anyone has ideas let me know
< gmaxwell> wumpus: pilfer ideas from that ncurses interface someone did a while back?
< wumpus> maybe! to be clear I intend to keep it in JSON format, just want to update for changes since 0.10 or so when it last was depreceated and diceded to never change it again
< gmaxwell> well one thing in terms of cli usability maybe don't do what many of our other info rpcs have done and put a billion and one vaguely useful things so that when you run them the good stuff scrolls off the top and its hard to sort out anything useful. :P
< wumpus> removing stuff is open for suggestion too
< wumpus> I mean, 'improve' doesn't always mean 'creep any possible feature into it'
< gmaxwell> exactly.
< gmaxwell> or alternatively, go fetch some useful fields out of e.g. getblockchaininfo
< gmaxwell> I'll comment the next time I get wall of texted when trying to get a frequently used field.
< wumpus> I'd say a good requirement for information on it is that it's dynamic, it's meant as a command for checking the status after all
< wumpus> things that are only dependent on on-time configuration might be better to leave off
< wumpus> (I mean, how useful is 'protocolversion' on there for example?) or 'keypoololdest', or settings like 'paytxfee'
< wumpus> but, say, the hash of the most recent block would be useful to have
< fanquake> could change testnet: to something like network, then specify main/test/reg ?
< wumpus> fanquake: yes exactly
< wumpus> that would be a simple and non-controversial improvement
< wumpus> just grab getblockchaininfo.main directly
< wumpus> eh, .chain
< wumpus> "verificationprogress" is also more or less useful, though only during initial sync
< gmaxwell> yea, I think what I mostly use getblockchaininfo is the hash of the most recent block, and its scrolled off...
< gmaxwell> do we have anything that returns the time of the last updatetip?
< fanquake> Maybe we could do something better for multiwallet use? i.e at the moment walletversion and balance are both just "null" if >1 wallet loaded
< fanquake> * same for keypool*
< wumpus> fanquake: walletversion doesn't need to be in there at all, but yeah, it should *list* wallets
< gmaxwell> keypool shoudl probably be dropped.
< wumpus> gmaxwell: I don't think so
< wumpus> fanquake: the only interesting thing about the wallet in getinfo is the balance, so it could be a object {'walletname': balance} or such then it doesn't really become longer as well
< wumpus> gmaxwell: do we even keep track of the time of an updatetip?
< sipa> wumpus: IsInitialBlockDownload does iirc
< wumpus> sipa: ok-in that case it'd make sense to report that on getblockchaininfo, I guess!
< bitcoin-git> [bitcoin] fanquake opened pull request #15564: cli: remove duplicate wallet fields from -getinfo (master...cli-remove-duplicate-entries) https://github.com/bitcoin/bitcoin/pull/15564
< bitcoin-git> [bitcoin] fanquake opened pull request #15565: doc: remove release note fragments (master...remove-pre-18-release-notes) https://github.com/bitcoin/bitcoin/pull/15565
< bitcoin-git> [bitcoin] fanquake opened pull request #15566: cli: replace testnet with chain and return network name as per BIP70. (master...cli-testnet-to-network) https://github.com/bitcoin/bitcoin/pull/15566
< wumpus> btw is "analyzepsbt" really returning a formatted string for the feerate? that's awful
< wumpus> ah i see: result.pushKV("estimated_feerate", feerate.ToString());
< gwillen> wumpus: the new AnalyzePSBT after my refactor in #15508 will return it as a CFeeRate, although it will still be flattened to a string in the same way before being returned from the RPC
< gribble> https://github.com/bitcoin/bitcoin/issues/15508 | Refactor analyzepsbt for use outside RPC code by gwillen · Pull Request #15508 · bitcoin/bitcoin · GitHub
< gwillen> if the RPC behavior should change I can probably sneak that in
< wumpus> gwillen: IMO it should simply be a value, the unit should be in the documentation not part of the value
< gmaxwell> elsewhere we return amounts as json numbers for maximal json library torture potential. :)
< wumpus> gmaxwell: this actually originates from a float though, so there's no decimal encoding issue
< gmaxwell> oh, though an interesting point about feerates, is that sensible feerates have more precision than bitcoin.
< fanquake> wumpus, yea currently "0.00021598 BTC/kB"
< fanquake> I agree a number makes much more sense
< wumpus> there's 0 reason to not simply return this as floating point value
< gmaxwell> PSBT serializes a float? how does it handle endianness?
< wumpus> huh, no, I don't know if PSBT doesthat
< wumpus> CFeeRate has a double IIRC
< gmaxwell> feerate should be a rational number inside PSBT itself, I hope I hope.
< wumpus> oh I'm wrong apparently?
< wumpus> return strprintf("%d.%08d %s/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN, CURRENCY_UNIT);
< sipa> PSBT doesn't store any feerate
< gmaxwell> I think estimated_feerate sounds like it's a cosmetic field, like difficulty.
< sipa> the feerate is computed as fee divided by expected serialized vsize
< gwillen> this is in analyzepsbt, which returns information for examining the status of a PSBT
< wumpus> in any case the current representation on RPC is useless, you don't want clients to be parsing units from strings
< gmaxwell> for human inspection not programmatic manipulation, so it would be okay to print it as unicode domino characters.
< wumpus> units and the semantics of values belong in the help, not in the value
< gwillen> yeah, although I think it would be reasonable to return it in satoshis per K or something, and let the RPC client decide how to fancy display it
< sipa> yeah
< wumpus> right
< sipa> how are feerates put in JSON elsewhere?
< gmaxwell> are they, anywhere else?
< fanquake> In mining I think
< gwillen> I hate and fear floating point numbers and JSON decimals
< sipa> at least in estimatefeerate i gope!
< sipa> *hope
< luke-jr> ^
< gmaxwell> hah
< wumpus> heck, even *if* you'd want to return it as a string, because you hate JSON decimals or whatever reason, don't add the unit to it
< gmaxwell> gwillen: fortunately the purpose of this value is display purposes, woe be it to anyone trying to do anything programatic with it. (because exactly rounding matters, and...)
< * luke-jr> wonders why estimatesmartfee is in mining
< gmaxwell> luke-jr: because chaos
< wumpus> but it makes sense to be consistent with other JSON/RPC calls
< gmaxwell> all hail chaos
< wumpus> that's a good point
< gwillen> gmaxwell: well the nice thing about giving it in integer sat/k is that that's the internal representation so there's no rounding question at all
< gmaxwell> also what is "nSatoshisPerK"? hopefully K is in units of thousands of vsize or something?
< gwillen> heh, yeah that's presumably the case, I didn't think about that
< gmaxwell> gwillen: the internal representation is a double, I believe.
< gmaxwell> (feerates and guistuff and time are the things in bitcoin that use floats)
< gwillen> negative, CFeeRate contains CAmount nSatoshisPerK, CAmount is an int64_t
< gwillen> I only know this because I just looked
< gmaxwell> ah okay, well its float in some places. :P good that it isn't in cfeerate.
< gwillen> like I said, I hate and fear floating point
< gmaxwell> Integer über alles.
< wumpus> floating point for monetary value is always a bad idea
< gwillen> yeah
< gmaxwell> so one thing to keep in mind is that unfortuantely a bunch of websites adopted integer satoshi per byte as a fee unit, resulting in a lot of the ecosystem thinking the integer satoshi per byte is the fundimental primitive feerate unit.
< gwillen> it's interesting that it's per k not per byte, that gives more resolution than any display of fee rate I've ever seen
< gwillen> right
< gmaxwell> (and also this results in some dumb behaviors)
< luke-jr> gmaxwell: it probably should be?
< gmaxwell> luke-jr: not at all... I mean you can have a fee of 1 satoshi for a 1000 vbyte transaction...
< gmaxwell> feerate is naturally a rational number, there isn't any inherent obvious denominator but if you have to pick one, one the size of a reasonable transaction (like 1000) isn't so bad.
< luke-jr> sure, but you could also have 1 sat for a 10k tx
< luke-jr> hypothetically
< gmaxwell> luke-jr: indeed.
< gmaxwell> but there are no 1 byte transactions, so putting a one in a denominator is inherently losing about a factor of 50 in sensible precision.
< gwillen> I guess it ultimately depends on what you're using it for ... for display it doesn't matter too much
< gwillen> for other things it could matter quite a bit
< luke-jr> for display, /kB is a good size to work with
< gmaxwell> yea, I've always found per 1000 to be pretty reasonable, thats always what core's interfaces have had.
< gmaxwell> unfortuantely all these fee estimation sites sprung up around a time when the min relay fee happened to be 1s/b, I think, which is what caused it to be treated as fundimental instead of the bitcoin per/1000b the bitcoin software used in it's interfaces
< gmaxwell> in any case, I just bring up the common units so people will be mindful of the errors users might make.
< gmaxwell> like, don't have interfaces for people to enter fees that take btc/1000 vbytes and fail to guard against users entering values like 10.
< gmaxwell> (in spite of my love of integers, I'm also not super fond of satoshi interfaces... values are usually too big, and it's perfectly reasonable for bitcoin software to work in sub-satoshi amounts even though thats the network precision)
< wumpus> i mean that's always been the problem with integer representation; it's only obvious if there is a single subdivision that makes sense, otherwise, you could end up reporting (or worse, taking) the same kinds of value in different precisions in different parts of the interface
< wumpus> *whoops, overpaid by 1000x*
< wumpus> decimal types (that have an explicit precision) exist for a good reason, it's unfortunate that language adoption of them is so bad
< gmaxwell> the sad thing here is that json itself-- the spec-- is reasonable.
< wumpus> yes
< gmaxwell> Just everything that uses it, including javascript itself makes being reasonable with it hard in practice.
< gmaxwell> I loved that time when json spirit silently snuck in a conversion to (float) ...
< sipa> just work in finite fields
< sipa> exactly representable in finite space
< wumpus> heh
< bitcoin-git> [bitcoin] laanwj pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/6b2ee268be45...257f750cd986
< bitcoin-git> bitcoin/master 6e1aaff fanquake: doc: remove release note fragments
< bitcoin-git> bitcoin/master 257f750 Wladimir J. van der Laan: Merge #15565: doc: remove release note fragments
< bitcoin-git> [bitcoin] laanwj merged pull request #15565: doc: remove release note fragments (master...remove-pre-18-release-notes) https://github.com/bitcoin/bitcoin/pull/15565
< teslasystems> Can anyone tell, where is the button for creating new wallets in Bitcoin Core? It has disappeared after 0.16.3 release
< luke-jr> teslasystems: that's a question for #bitcoin, not here
< wumpus> besides that, I don't think we've ever had a button for creating new wallets
< luke-jr> yes, I have that answer typed up waiting for him in #Bitcoin XD
< wumpus> ok thanks :D
< teslasystems> Sorry, but I thought that the question is related to development, will post to #bitcoin
< bitcoin-git> [bitcoin] Sjors opened pull request #15567: Make OutputType consistent with Descriptor and return it (master...2019/03/descriptor-output-type) https://github.com/bitcoin/bitcoin/pull/15567
< bitcoin-git> [bitcoin] hebasto closed pull request #15340: gui: Introduce bilingual GUI error messages (master...20190204-bilingual-initerror) https://github.com/bitcoin/bitcoin/pull/15340
< bitcoin-git> [bitcoin] cisba closed pull request #15554: docs: binary tar improvement (master...improve-tar) https://github.com/bitcoin/bitcoin/pull/15554
< bitcoin-git> [bitcoin] cisba opened pull request #15569: docs: improve linux tar packages (master...improve-tar-rebased) https://github.com/bitcoin/bitcoin/pull/15569
< gmaxwell> Does anyone feel like getting agressive with anti-virus companies to get them to stop false positiving on bitcoind?
< gmaxwell> the security alias just got yet another report, apparently mac AV software is now also claiming that bitcoin is a virus.
< owowo> AV companies are the snake-oil salesmen of the modern age
< tryphe> gmaxwell, if AV software was any good, it would detect itself as a backdoor and self-delete