{
  "founder": "wumpus",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "0227ca4cab4b4df484ba4f8db89fe874",
  "name": "#bitcoin-core-dev",
  "chair": "wumpus",
  "chairs": [
    "wumpus"
  ],
  "nicks": {
    "wumpus": 39,
    "lightningbot": 2,
    "luke-jr": 28,
    "gmaxwell": 61,
    "instagibbs": 6,
    "kanzure": 1,
    "cfields": 2,
    "jtimon": 7,
    "jonasschnelli": 15,
    "gribble": 10,
    "morcos": 44,
    "BlueMatt": 22,
    "sdaftuar": 4,
    "bitcoin-git": 8,
    "sipa": 3,
    "jcorgan": 4,
    "Chris_Stewart_5": 1
  },
  "start_time": "2017-04-20T19:02:12+00:00",
  "end_time": "2017-04-20T20:00:36+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | This is the channel for developing Bitcoin Core. Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: https://botbot.me/freenode/bitcoin-core-dev, http://www.erisian.com.au/bitcoin-core-dev/",
  "current_topic": "address reuse thing",
  "messages": [
    {
      "id": "e78702d9795c46e180c160c5ba79285d",
      "sender": "wumpus",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2017-04-20T19:02:12+00:00"
    },
    {
      "id": "313697917ef94b78ae7e40c821602416",
      "sender": "lightningbot",
      "payload": "Meeting started Thu Apr 20 19:02:12 2017 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2017-04-20T19:02:12+00:00"
    },
    {
      "id": "77d100e2703c4f1798882c65a605b6fb",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2017-04-20T19:02:12+00:00"
    },
    {
      "id": "d06527c6f60e4e2091be551b76758d45",
      "sender": "luke-jr",
      "payload": "IIRC one of the sanitisers used to require a special env var to cause an exit",
      "action": false,
      "timestamp": "2017-04-20T19:02:14+00:00"
    },
    {
      "id": "fd8a8f317d4e48f49a261a3155b523ee",
      "sender": "gmaxwell",
      "payload": "Not yet, only with some not yet merged PRs are we finally TSAN clean, but many of us run it locally and it has found real bugs.   I'm not protesting, but just bringing up the one thing I remember that interacts with that assumption.",
      "action": false,
      "timestamp": "2017-04-20T19:02:20+00:00"
    },
    {
      "id": "b8fe896d6ce1406ba4b55c72500ce20d",
      "sender": "luke-jr",
      "payload": "but I can't find that now (some do need an extra build option tho)",
      "action": false,
      "timestamp": "2017-04-20T19:02:23+00:00"
    },
    {
      "id": "1b5268891c4e410487adb11d68ad55fe",
      "sender": "gmaxwell",
      "payload": "#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier",
      "action": false,
      "timestamp": "2017-04-20T19:02:34+00:00"
    },
    {
      "id": "d0654e519dc9460ba4f564051a98ce34",
      "sender": "instagibbs",
      "payload": "present",
      "action": false,
      "timestamp": "2017-04-20T19:02:40+00:00"
    },
    {
      "id": "f761ba09ba2940ffb1129e52c96a0af7",
      "sender": "wumpus",
      "payload": "gmaxwell: yes I think it's a good point, not trying to disparage it, but we should document things like this",
      "action": false,
      "timestamp": "2017-04-20T19:02:44+00:00"
    },
    {
      "id": "3bcdde04c697441a98cd71292ab2eecf",
      "sender": "kanzure",
      "payload": "hi.",
      "action": false,
      "timestamp": "2017-04-20T19:02:45+00:00"
    },
    {
      "id": "c41aea507cd04e28ae7071a4a56cf2c9",
      "sender": "cfields",
      "payload": "hi",
      "action": false,
      "timestamp": "2017-04-20T19:02:50+00:00"
    },
    {
      "id": "6e11d60a8d8944ff86fcd3d8254e2c87",
      "sender": "jtimon",
      "payload": "hola",
      "action": false,
      "timestamp": "2017-04-20T19:02:56+00:00"
    },
    {
      "id": "784dcc9847694c7eb6460b16fe7f274c",
      "sender": "wumpus",
      "payload": "topics?",
      "action": false,
      "timestamp": "2017-04-20T19:03:06+00:00"
    },
    {
      "id": "d3bf5028a81846fe869d242ab7c43c3d",
      "sender": "gmaxwell",
      "payload": "wumpus: my thinking on seeing the comments above was \"oh oh ... that interacts with something ... what was it? what was it?\"",
      "action": false,
      "timestamp": "2017-04-20T19:03:08+00:00"
    },
    {
      "id": "84adc9e46acd43f693ead683830d51b3",
      "sender": "gmaxwell",
      "payload": "wumpus: 0.14.x release?",
      "action": false,
      "timestamp": "2017-04-20T19:03:20+00:00"
    },
    {
      "id": "49876b60882d472ea7ae5ade3ababce7",
      "sender": "wumpus",
      "payload": "#topic 0.14.1 release",
      "action": false,
      "timestamp": "2017-04-20T19:03:29+00:00"
    },
    {
      "id": "07fad5b505ea40e4a219ebaa7e2517b1",
      "sender": "wumpus",
      "payload": "let's push the button?",
      "action": false,
      "timestamp": "2017-04-20T19:03:34+00:00"
    },
    {
      "id": "41dcdb7ef8584af9b26df1ed1609f2f5",
      "sender": "luke-jr",
      "payload": "k",
      "action": false,
      "timestamp": "2017-04-20T19:03:37+00:00"
    },
    {
      "id": "892440a192624623ad4cf04c8bde4c53",
      "sender": "jonasschnelli",
      "payload": "Okay for me... to bad #10231 missed 0.14.1",
      "action": false,
      "timestamp": "2017-04-20T19:04:10+00:00"
    },
    {
      "id": "ea667b4d21944b81a34d98066a4eaccd",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10231 | [Qt] Reduce a significant cs_main lock freeze by jonasschnelli \u00c3\u0082\u00c2\u00b7 Pull Request #10231 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:04:12+00:00"
    },
    {
      "id": "fa4730390d0148a582a985d9692982e8",
      "sender": "gmaxwell",
      "payload": "https://www.youtube.com/watch?v=rLMCjuge6oE \"Turn your key SIR\"",
      "action": false,
      "timestamp": "2017-04-20T19:04:23+00:00"
    },
    {
      "id": "eb3c5bbe718743228188f309947a354d",
      "sender": "cfields",
      "payload": "hooray!",
      "action": false,
      "timestamp": "2017-04-20T19:04:32+00:00"
    },
    {
      "id": "a989750e91c14cc29c61a0571d0dd80c",
      "sender": "luke-jr",
      "payload": "jonasschnelli: I can put it in Knots 0.14.1",
      "action": false,
      "timestamp": "2017-04-20T19:04:34+00:00"
    },
    {
      "id": "f47e5c8d0f3145a98753721881b11774",
      "sender": "jonasschnelli",
      "payload": "luke-jr: Yes. Do that.",
      "action": false,
      "timestamp": "2017-04-20T19:04:53+00:00"
    },
    {
      "id": "6c68cc9229554380be560d04422632e3",
      "sender": "wumpus",
      "payload": "jonasschnelli: is that even tagged for backport? anyhow, tag it for 0.14.2 I'd say",
      "action": false,
      "timestamp": "2017-04-20T19:04:53+00:00"
    },
    {
      "id": "2221fd38818f49568f51270404d0c209",
      "sender": "jonasschnelli",
      "payload": "wumpus: Yeah. I tagged (not the project though).. 0.14.2 is good IMO.",
      "action": false,
      "timestamp": "2017-04-20T19:05:13+00:00"
    },
    {
      "id": "98c45a49614f457cb03d3d9c9bef07d2",
      "sender": "wumpus",
      "payload": "jonasschnelli: ok!",
      "action": false,
      "timestamp": "2017-04-20T19:05:42+00:00"
    },
    {
      "id": "0fac335f4ba443eda832bccf6bec2edd",
      "sender": "wumpus",
      "payload": "next topic?",
      "action": false,
      "timestamp": "2017-04-20T19:06:14+00:00"
    },
    {
      "id": "00cdfc5ccaf246bf8cbd604ec2abbe51",
      "sender": "jonasschnelli",
      "payload": "damns cs_main",
      "action": true,
      "timestamp": "2017-04-20T19:06:57+00:00"
    },
    {
      "id": "6f56eec2cef645d89962e66c42337a4e",
      "sender": "wumpus",
      "payload": "jonasschnelli: if it's any consolation, many projects had a similar issue with a central lock",
      "action": false,
      "timestamp": "2017-04-20T19:07:23+00:00"
    },
    {
      "id": "bc03e6f31f654d5eb35137c56345942d",
      "sender": "luke-jr",
      "payload": "coughs at Python",
      "action": true,
      "timestamp": "2017-04-20T19:07:35+00:00"
    },
    {
      "id": "e80f1ff013bc49058e6f19ff734a3db7",
      "sender": "wumpus",
      "payload": "I was thinkinkg about the Big Kernel Lock, but yes, python is guilty too",
      "action": false,
      "timestamp": "2017-04-20T19:07:52+00:00"
    },
    {
      "id": "ea69ffb01b5841ec98c99f33329c615c",
      "sender": "jonasschnelli",
      "payload": "wumpus: Yes. I guess there is much room for optimisation.",
      "action": false,
      "timestamp": "2017-04-20T19:07:55+00:00"
    },
    {
      "id": "d798e85f7d6c4e89a6daf6af59b82261",
      "sender": "gmaxwell",
      "payload": "There has been some interesting discussion in github related to the wallets handling of address reuse and dust and what not. anyone interested in that subject might want to check out the discussion on #10233  and PRs linked from there.",
      "action": false,
      "timestamp": "2017-04-20T19:08:36+00:00"
    },
    {
      "id": "72ed1dccf0824b39834720ea7d8608eb",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10233 | Wallet: Support not reusing addresses by jet0 \u00c3\u0082\u00c2\u00b7 Pull Request #10233 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:08:38+00:00"
    },
    {
      "id": "eadcf268f9354a3ebea6ef3756e330dd",
      "sender": "wumpus",
      "payload": "#topic blocker PRs for review",
      "action": false,
      "timestamp": "2017-04-20T19:08:49+00:00"
    },
    {
      "id": "0e6b0a4b1beb4fae878723a6432cba66",
      "sender": "gmaxwell",
      "payload": "jonasschnelli: on locking we need some better lock profiling. If we have some instrumention that yelled anytime lock contention caused >100ms delays, we'd probably find a number of things to fix.",
      "action": false,
      "timestamp": "2017-04-20T19:09:20+00:00"
    },
    {
      "id": "2656151b2c1e4412bf2255552e31993b",
      "sender": "jonasschnelli",
      "payload": "gmaxwell: Yes. That!",
      "action": false,
      "timestamp": "2017-04-20T19:09:35+00:00"
    },
    {
      "id": "74555d17a71e421bbc52ff02cdadbcc0",
      "sender": "gmaxwell",
      "payload": "I don't think cs_main is itself really the issue there... just not carefully avoiding it via things like caches.",
      "action": false,
      "timestamp": "2017-04-20T19:09:47+00:00"
    },
    {
      "id": "d8c1fad5a1fd48d38b559853d5e0385a",
      "sender": "jonasschnelli",
      "payload": "gmaxwell: I was printf profiling yesterday",
      "action": false,
      "timestamp": "2017-04-20T19:09:56+00:00"
    },
    {
      "id": "26477108ff9642a5ac0624f709e10243",
      "sender": "luke-jr",
      "payload": "I looked into disabling address reuse and it looks harder than I'd like :/",
      "action": false,
      "timestamp": "2017-04-20T19:09:59+00:00"
    },
    {
      "id": "4330920995264880bc5fe1754e95f739",
      "sender": "morcos",
      "payload": "i would like to briefly discuss fee estimation (maybe as separate topic)",
      "action": false,
      "timestamp": "2017-04-20T19:10:09+00:00"
    },
    {
      "id": "73889cccc8af4c4ebeb7d3d35ba617d3",
      "sender": "gmaxwell",
      "payload": "on the blocker PRs-- I'm kinda lost where we are with non-atomic writes.",
      "action": false,
      "timestamp": "2017-04-20T19:10:29+00:00"
    },
    {
      "id": "c2d0ed49ab6e4342aeb1dd4c6325447d",
      "sender": "jonasschnelli",
      "payload": "blocker PR: https://github.com/bitcoin/bitcoin/projects/8",
      "action": false,
      "timestamp": "2017-04-20T19:10:30+00:00"
    },
    {
      "id": "53f9e92a19594fc586832e5c31feaecd",
      "sender": "BlueMatt",
      "payload": "#10179",
      "action": true,
      "timestamp": "2017-04-20T19:10:35+00:00"
    },
    {
      "id": "cfc95adf9ef244e4a332091cdccef27b",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10179 | Give CValidationInterface Support for calling notifications on the CScheduler Thread by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #10179 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:10:37+00:00"
    },
    {
      "id": "72d29d6b83384cf9a9393f7d83367d34",
      "sender": "BlueMatt",
      "payload": "gm2053: i think its ready for review now?",
      "action": false,
      "timestamp": "2017-04-20T19:10:50+00:00"
    },
    {
      "id": "ba25313789584c15a3929658d986debb",
      "sender": "morcos",
      "payload": "gmaxwell: #10148 in its current form without multi head just needs more review i think",
      "action": false,
      "timestamp": "2017-04-20T19:10:53+00:00"
    },
    {
      "id": "7b20a8b8032f4f1696ed4778f50cf2c5",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10148 | [WIP] Use non-atomic flushing with block replay by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #10148 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:10:56+00:00"
    },
    {
      "id": "7b85eb91903f42f5893e88b3ef63ade7",
      "sender": "morcos",
      "payload": "and maybe more tests?",
      "action": false,
      "timestamp": "2017-04-20T19:11:26+00:00"
    },
    {
      "id": "ca3fc7856ac44c16afa007aba3b0ee44",
      "sender": "jonasschnelli",
      "payload": "sipa still has the chacha20 rnd as blocker #9792 ...",
      "action": false,
      "timestamp": "2017-04-20T19:11:35+00:00"
    },
    {
      "id": "35371ce6998449c8a3552f838b99c985",
      "sender": "BlueMatt",
      "payload": "utacked this morning",
      "action": true,
      "timestamp": "2017-04-20T19:11:37+00:00"
    },
    {
      "id": "b6f6e00fc9714092aa00ef535fe21641",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/9792 | FastRandomContext improvements and switch to ChaCha20 by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #9792 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:11:37+00:00"
    },
    {
      "id": "4830be77ee0848c5a1ca6af729d1efe2",
      "sender": "wumpus",
      "payload": "#10179 is already on the list BlueMatt",
      "action": false,
      "timestamp": "2017-04-20T19:11:56+00:00"
    },
    {
      "id": "6e44b876b7464956a87dbb752bfe62cb",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10179 | Give CValidationInterface Support for calling notifications on the CScheduler Thread by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #10179 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:11:57+00:00"
    },
    {
      "id": "ac0d7c572e8b42eb82ff856422930fd7",
      "sender": "BlueMatt",
      "payload": "wumpus: oh, wasnt sure if it got switched after the last merge, sorry",
      "action": false,
      "timestamp": "2017-04-20T19:12:30+00:00"
    },
    {
      "id": "f37d43ac031e49ffa070ce3c8f95dfcd",
      "sender": "wumpus",
      "payload": "adding 10148",
      "action": false,
      "timestamp": "2017-04-20T19:12:32+00:00"
    },
    {
      "id": "d43007a217e941b1bc61dc0165fba092",
      "sender": "gmaxwell",
      "payload": "9792 isn't hard to review, FWIW, in my expirence.",
      "action": false,
      "timestamp": "2017-04-20T19:12:33+00:00"
    },
    {
      "id": "2862f23c7ba947e0af42bbdc26df57d1",
      "sender": "sdaftuar",
      "payload": "gmaxwell: i've become more comfortable conceptually with the non-atomic writes (it did take me a while to come around to it being worth the effort).  i'd like to review and test more.",
      "action": false,
      "timestamp": "2017-04-20T19:12:52+00:00"
    },
    {
      "id": "f2c3925c62bc46adafd15d2b0d05d136",
      "sender": "morcos",
      "payload": "ditto",
      "action": false,
      "timestamp": "2017-04-20T19:13:01+00:00"
    },
    {
      "id": "cd2f442577734f9e9dc2eb1503410d17",
      "sender": "wumpus",
      "payload": "9792 is also already on the list",
      "action": false,
      "timestamp": "2017-04-20T19:13:25+00:00"
    },
    {
      "id": "345f322b50a740dab1347ad15b9854bc",
      "sender": "BlueMatt",
      "payload": "#9942 can get merged, I think...",
      "action": false,
      "timestamp": "2017-04-20T19:13:43+00:00"
    },
    {
      "id": "0394127e3f18411a86ffaa01f2961aa4",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/9942 | Refactor CBlockPolicyEstimator by morcos \u00c3\u0082\u00c2\u00b7 Pull Request #9942 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:13:45+00:00"
    },
    {
      "id": "da0c75959758411290dcb01ada7d7044",
      "sender": "jtimon",
      "payload": "#8855 isn't hard to review either...",
      "action": false,
      "timestamp": "2017-04-20T19:13:55+00:00"
    },
    {
      "id": "a0aa1b20ac6a462b8c24cce33f9bf056",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/8855 | Use a proper factory for creating chainparams by jtimon \u00c3\u0082\u00c2\u00b7 Pull Request #8855 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:13:57+00:00"
    },
    {
      "id": "812d595946984baebb40faffbcdbbcc6",
      "sender": "wumpus",
      "payload": "if there's something that an be merged you should tell me, preferably outside the meeting :)",
      "action": false,
      "timestamp": "2017-04-20T19:14:04+00:00"
    },
    {
      "id": "f0bbd6299d474959b0d5d2d828ed7560",
      "sender": "morcos",
      "payload": "yeah wumpus i think that is now just wasting review cycles, it has more than enouch ACK's (we have told you a couple times.. :) )",
      "action": false,
      "timestamp": "2017-04-20T19:14:14+00:00"
    },
    {
      "id": "25ffcc8bedc4451192cdcedfd2e869ad",
      "sender": "luke-jr",
      "payload": "multiwallet is rebased and nits fixed btw",
      "action": false,
      "timestamp": "2017-04-20T19:14:15+00:00"
    },
    {
      "id": "a42cc9b49339407781b08a21e429b6b3",
      "sender": "gmaxwell",
      "payload": "sdaftuar: will let us effectively double the dbcache size being a first benefit... plus it should allow some really nince improvements later post per-txo. Sorry if it wasn't communicated well, the value was more obvious to pieter and I perhaps because we've been hammering on caching policy changes based on per-txo for a while.",
      "action": false,
      "timestamp": "2017-04-20T19:14:25+00:00"
    },
    {
      "id": "c711b67df80f430abffba8b7068b1b41",
      "sender": "luke-jr",
      "payload": "CWalletDB still needs some serious refactoring, but IMO that's something to do outside multiwallet's PR",
      "action": false,
      "timestamp": "2017-04-20T19:14:33+00:00"
    },
    {
      "id": "7b99c9eaa7504f9d91ad81e1d828d92c",
      "sender": "jonasschnelli",
      "payload": "luke-jr: agree",
      "action": false,
      "timestamp": "2017-04-20T19:15:06+00:00"
    },
    {
      "id": "a67e343ee0ea49fd811089cba061e676",
      "sender": "wumpus",
      "payload": "morcos: I don't remember",
      "action": false,
      "timestamp": "2017-04-20T19:15:18+00:00"
    },
    {
      "id": "d420ece5d02f45f3b4bf6da57148ea88",
      "sender": "morcos",
      "payload": "wumpus: no problem, i just wasnt telling you because i didn't want to tell you too many times..  in any case i think its ready (9942 that is)",
      "action": false,
      "timestamp": "2017-04-20T19:15:49+00:00"
    },
    {
      "id": "233c913b9e3b46b6b79c976679c49599",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] luke-jr closed pull request #7289: [WIP] Make arguments reconfigurable at runtime via RPC (master...rpc_setarg) https://github.com/bitcoin/bitcoin/pull/7289",
      "action": false,
      "timestamp": "2017-04-20T19:16:03+00:00"
    },
    {
      "id": "34390218741c4ae783df9ed6dc027b9c",
      "sender": "sdaftuar",
      "payload": "gmaxwell: yeah, makes sense to me now -- there are a lot of steps of \"why don't we do X simpler thing instead\" that i know you guys have tried/thought through already, that i needed to think through myself",
      "action": false,
      "timestamp": "2017-04-20T19:16:30+00:00"
    },
    {
      "id": "0ab6e6f5548d49a889c5e0337e198988",
      "sender": "morcos",
      "payload": "fee estimation?",
      "action": false,
      "timestamp": "2017-04-20T19:17:49+00:00"
    },
    {
      "id": "a2b1e834818040c4b97da208c367cfb3",
      "sender": "jonasschnelli",
      "payload": "ack",
      "action": false,
      "timestamp": "2017-04-20T19:17:51+00:00"
    },
    {
      "id": "2f2c2b2338a04ff2973cfe5c8203cb39",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] laanwj pushed 8 new commits to master: https://github.com/bitcoin/bitcoin/compare/987a6c09562e...14c948987f0b",
      "action": false,
      "timestamp": "2017-04-20T19:18:04+00:00"
    },
    {
      "id": "9910fc62e6d54565835a0353cacd7279",
      "sender": "bitcoin-git",
      "payload": "bitcoin/master ae7327b Alex Morcos: Make feeEstimator its own global instance of CBlockPolicyEstimator",
      "action": false,
      "timestamp": "2017-04-20T19:18:04+00:00"
    },
    {
      "id": "6f71d49398c342f9923256362d88eb38",
      "sender": "bitcoin-git",
      "payload": "bitcoin/master f6187d6 Alex Morcos: Make processBlockTx private.",
      "action": false,
      "timestamp": "2017-04-20T19:18:05+00:00"
    },
    {
      "id": "81c9d786791b4237bfa1daa8486b4b10",
      "sender": "bitcoin-git",
      "payload": "bitcoin/master dbb9e36 Alex Morcos: Give CBlockPolicyEstimator it's own lock",
      "action": false,
      "timestamp": "2017-04-20T19:18:05+00:00"
    },
    {
      "id": "606fad1f4bdf46b1b992611783740917",
      "sender": "morcos",
      "payload": "Thanks!",
      "action": false,
      "timestamp": "2017-04-20T19:18:15+00:00"
    },
    {
      "id": "f00ca01b071541e6ad218bcb62cdbdaa",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] laanwj closed pull request #9942: Refactor CBlockPolicyEstimator (master...moveTxConfirmStats) https://github.com/bitcoin/bitcoin/pull/9942",
      "action": false,
      "timestamp": "2017-04-20T19:18:23+00:00"
    },
    {
      "id": "36f9530d34ef4d30b8d3afbba7d33afd",
      "sender": "BlueMatt",
      "payload": "morcos: yes, fee estimation",
      "action": false,
      "timestamp": "2017-04-20T19:18:40+00:00"
    },
    {
      "id": "68f86d7551ec413daff3527c6d8ac492",
      "sender": "morcos",
      "payload": "I wrote this to describe the existing algorithm https://gist.github.com/morcos/d3637f015bc4e607e1fd10d8351e9f41 , which I'm happy to discuss if anyone has any questions on it.",
      "action": false,
      "timestamp": "2017-04-20T19:18:46+00:00"
    },
    {
      "id": "0d2a25f7b98b420d8fb15dbbe617f11b",
      "sender": "gmaxwell",
      "payload": "morcos: thanks for that fee estimation writeup, I guess I understood it better than I thought I did, I think I thought more of the discussed things were actually implemented.",
      "action": false,
      "timestamp": "2017-04-20T19:18:55+00:00"
    },
    {
      "id": "280af0157ad347b8bffbc843509b1207",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] ryanofsky opened pull request #10242: [qt] Don't call method on null WalletModel object (master...pr/rbfnull) https://github.com/bitcoin/bitcoin/pull/10242",
      "action": false,
      "timestamp": "2017-04-20T19:18:58+00:00"
    },
    {
      "id": "7501e35c795547d7b853d5b778b2064c",
      "sender": "gmaxwell",
      "payload": "morcos: I think that writeup is good and should go into the codebase.",
      "action": false,
      "timestamp": "2017-04-20T19:19:33+00:00"
    },
    {
      "id": "baa8f145cc72426cbe587f8cc05bd117",
      "sender": "morcos",
      "payload": "And then I wrote #10199 with a bunch of improvements.  I suppose it makes sense to add another section the gist that provides a high level overview of the improvements?",
      "action": false,
      "timestamp": "2017-04-20T19:19:36+00:00"
    },
    {
      "id": "38884c0728764523b850a886c0bbe347",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10199 | Better fee estimates by morcos \u00c3\u0082\u00c2\u00b7 Pull Request #10199 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-04-20T19:19:38+00:00"
    },
    {
      "id": "a87f0814028a49f69ca6a97d6c3f5bcb",
      "sender": "gmaxwell",
      "payload": "morcos: that would be good.",
      "action": false,
      "timestamp": "2017-04-20T19:19:46+00:00"
    },
    {
      "id": "86e73074adb448d1954f08c1b4581166",
      "sender": "gmaxwell",
      "payload": "I think the estimatior is a complex enough machine that we should maintain a seperate description of it, if not an actual spec.   Just like we do for many major protocol features.",
      "action": false,
      "timestamp": "2017-04-20T19:20:32+00:00"
    },
    {
      "id": "afc4458fa8a84b5c8ea08e7bc482a306",
      "sender": "morcos",
      "payload": "But what I would like to do is err on the side of merging 10199 early and then if there are small bugs or fixes, we can fix them in master",
      "action": false,
      "timestamp": "2017-04-20T19:20:49+00:00"
    },
    {
      "id": "6b9bcddc95d740bab32616371b75e83c",
      "sender": "jtimon",
      "payload": "remembers that he also wants to decouple the estimator from the mempool",
      "action": true,
      "timestamp": "2017-04-20T19:20:51+00:00"
    },
    {
      "id": "e10b598a15eb4585b5c1058dc1204553",
      "sender": "sipa",
      "payload": "oops, forgot about meeting",
      "action": false,
      "timestamp": "2017-04-20T19:20:53+00:00"
    },
    {
      "id": "219a8552ff14404ebf526024eef6cb02",
      "sender": "gmaxwell",
      "payload": "morcos: the writeup could use some more details about the reliablity estimates and how it merges bins.",
      "action": false,
      "timestamp": "2017-04-20T19:21:01+00:00"
    },
    {
      "id": "e7862b7228f842b7be68df2c210d9861",
      "sender": "morcos",
      "payload": "it takes 2 weeks of continuous up time to even explore all the code paths",
      "action": false,
      "timestamp": "2017-04-20T19:21:04+00:00"
    },
    {
      "id": "67c6863211524496834d0afd2c48adb8",
      "sender": "gmaxwell",
      "payload": "sipa: the meeting did not forget about you.",
      "action": false,
      "timestamp": "2017-04-20T19:21:11+00:00"
    },
    {
      "id": "5f440a57f1004cf59ddee09295590da2",
      "sender": "morcos",
      "payload": "jtimon: yes, i have a plan to do that that builds off BlueMatt's CValidationInterface.  The groundwork is laid in 9942 that was just merged",
      "action": false,
      "timestamp": "2017-04-20T19:21:33+00:00"
    },
    {
      "id": "418a77c734bb47acb2990d2529ecbd63",
      "sender": "gmaxwell",
      "payload": "morcos: are we not saving enough data between restarts that we really do need two weeks continious uptime to hit it all?",
      "action": false,
      "timestamp": "2017-04-20T19:21:51+00:00"
    },
    {
      "id": "fdc680bee80e40969cb892f5d64c690d",
      "sender": "morcos",
      "payload": "reliability estimates?  reliability OF estimates?",
      "action": false,
      "timestamp": "2017-04-20T19:21:57+00:00"
    },
    {
      "id": "9906533c36ef4a24afc4b3408e978cc1",
      "sender": "gmaxwell",
      "payload": "morcos: I know that if there aren't many samples in a bin it doesn't use the bin.",
      "action": false,
      "timestamp": "2017-04-20T19:22:14+00:00"
    },
    {
      "id": "4d2cf8b930d04ed096ddc4693a6858bd",
      "sender": "morcos",
      "payload": "gmaxwell: well if you want to know how much fee it'll take to be confirmed in a week, you sure as hell better wait at least a week  (but yes once you've done that once, you may not need to do it again on a restart)",
      "action": false,
      "timestamp": "2017-04-20T19:22:37+00:00"
    },
    {
      "id": "803a20fa51354e93b0fcd4196c9edcfd",
      "sender": "morcos",
      "payload": "gmaxwell: some of that stuff is changed in 10199 (for the better, obviously i guess)",
      "action": false,
      "timestamp": "2017-04-20T19:23:02+00:00"
    },
    {
      "id": "d83323ad969b41cb82e7ddc7892c39b5",
      "sender": "luke-jr",
      "payload": "if anyone else acks #10242, maybe mention the meeting going on in a P.S. :p",
      "action": false,
      "timestamp": "2017-04-20T19:23:10+00:00"
    },
    {
      "id": "4252e5cf4a2b407aac592ca8e05c3c22",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/10242 | An error has occurred and has been logged. Please contact this bot's administrator for more information.",
      "action": false,
      "timestamp": "2017-04-20T19:23:12+00:00"
    },
    {
      "id": "d6d7fff7f3bb4a05b06156fc2ffe95c8",
      "sender": "jtimon",
      "payload": "morcos: I know, I reveiwed it yesterday and linked to similar PRs of my own, at the time you only wanted to decouple the mempool from the estimator (9942 just did it), but not the estimator from the mempool, happy if you changed your mind and want both like me now",
      "action": false,
      "timestamp": "2017-04-20T19:23:12+00:00"
    },
    {
      "id": "63552075d3a74917a14a7ac3349b0e62",
      "sender": "gmaxwell",
      "payload": "I guess in general a thing to keep in mind for this sort of description is that we should try to make it detailed enough that if an academic showed up and wrote a paper on it based on only the description (which they will) would their results be likely useful to us or not. :)",
      "action": false,
      "timestamp": "2017-04-20T19:23:37+00:00"
    },
    {
      "id": "a68237b53c4940d996ccfdf66fe806a5",
      "sender": "morcos",
      "payload": "but there are some open questions in 10199 that would be helpful to get feedback on",
      "action": false,
      "timestamp": "2017-04-20T19:23:57+00:00"
    },
    {
      "id": "30c4b87fe8c54307b97c6dd869efca6e",
      "sender": "morcos",
      "payload": "such as starting with not being able to upgrade from the old estimates",
      "action": false,
      "timestamp": "2017-04-20T19:24:06+00:00"
    },
    {
      "id": "378508443a144ab3b132f2f010d11202",
      "sender": "wumpus",
      "payload": "imo the most important about the description is that we understand it",
      "action": false,
      "timestamp": "2017-04-20T19:24:14+00:00"
    },
    {
      "id": "de9b6e0f6482487aa173d20c73ac40c8",
      "sender": "gmaxwell",
      "payload": "morcos: we should think about saving more of its state in the future.  I have nodes that don't spend more than a few minutes down per month, but don't often make it to two weeks up.",
      "action": false,
      "timestamp": "2017-04-20T19:24:20+00:00"
    },
    {
      "id": "cfea5f3e0f8141d49e358dbad57e0d0b",
      "sender": "luke-jr",
      "payload": "morcos: how complicated is the upgrading? we only would need it for one version at most IMO",
      "action": false,
      "timestamp": "2017-04-20T19:25:12+00:00"
    },
    {
      "id": "7f8eee5f22a64146ac5486bb19c02782",
      "sender": "morcos",
      "payload": "gmaxwell: i think thats problematic for being able to predict really long time horizons...",
      "action": false,
      "timestamp": "2017-04-20T19:25:15+00:00"
    },
    {
      "id": "c07625ba4bf0483294fb684a578e1ce4",
      "sender": "wumpus",
      "payload": "upgrading isn't much of an issue, if the estimation algorithm changes, feel free to throw away the data from the previous one",
      "action": false,
      "timestamp": "2017-04-20T19:25:44+00:00"
    },
    {
      "id": "8dbc0afbd3574c9081937d130e793ab8",
      "sender": "wumpus",
      "payload": "just make sure it doesn't crash on upgrading/downgrading",
      "action": false,
      "timestamp": "2017-04-20T19:25:55+00:00"
    },
    {
      "id": "a8c457dd478b4efd98eecb8c433fdf2a",
      "sender": "gmaxwell",
      "payload": "well, to really advance I think what we would probably want is a simulator (perhaps based on historical data) and a metric of success.",
      "action": false,
      "timestamp": "2017-04-20T19:26:23+00:00"
    },
    {
      "id": "c82b5eb5a6074cd282da5b556c6f352f",
      "sender": "wumpus",
      "payload": "yes",
      "action": false,
      "timestamp": "2017-04-20T19:26:38+00:00"
    },
    {
      "id": "cc80c6633ff642b68ff8a063e767a026",
      "sender": "morcos",
      "payload": "luke-jr: the complicated part is deciding what we want to do, implementing it probably isn't that bad...  but for instance the new estimates are smart about whether your estimates file is stale...  but should it just dumbly use your old estimates until it has new estimates...  what if the new estimates for 5 blocks which you do have is lower than the old estimate for 25 (which you dont' have a new estimate for)",
      "action": false,
      "timestamp": "2017-04-20T19:26:41+00:00"
    },
    {
      "id": "187c792af5884e89a3c58b32a6d790c2",
      "sender": "morcos",
      "payload": "etc.",
      "action": false,
      "timestamp": "2017-04-20T19:26:47+00:00"
    },
    {
      "id": "6883e90330204664a12bc1341c7482c2",
      "sender": "gmaxwell",
      "payload": "I think it's more or less fine to toss out data on algo changes. we could worry about doing better when the algo is stable for a long time.",
      "action": false,
      "timestamp": "2017-04-20T19:26:48+00:00"
    },
    {
      "id": "d8bc4046f5e04692859ddfa7ebd35a3d",
      "sender": "wumpus",
      "payload": "the difficult part, as with coin selection, is evaluationg algorithms",
      "action": false,
      "timestamp": "2017-04-20T19:27:13+00:00"
    },
    {
      "id": "88e292c5dd954dcc8b3fa7d62c99b1f7",
      "sender": "morcos",
      "payload": "the historical data is useless... the question is whether you use the old estimates until your new estimates are warmed up (by calculating them before you throw away the data)",
      "action": false,
      "timestamp": "2017-04-20T19:27:31+00:00"
    },
    {
      "id": "0151cff4be3a4809860b265358d82ca0",
      "sender": "luke-jr",
      "payload": "huh, someone's playing malleability games on testnet.",
      "action": false,
      "timestamp": "2017-04-20T19:27:58+00:00"
    },
    {
      "id": "dee5898194194f1289ad34c7541109e3",
      "sender": "gmaxwell",
      "payload": "Electrum does some things with using static estimates when it doesn't have data to estimate on its own.  I think there are a lot of interesting tradeoffs we could make to hotstart. But I don't think starting speed is at all our biggest concern.",
      "action": false,
      "timestamp": "2017-04-20T19:28:10+00:00"
    },
    {
      "id": "6b390e9ff1bf449887d1eae2d9fd6a65",
      "sender": "gmaxwell",
      "payload": "luke-jr: they have been for months.",
      "action": false,
      "timestamp": "2017-04-20T19:28:17+00:00"
    },
    {
      "id": "28523e244b1e48ea8fcc780aae27c382",
      "sender": "gmaxwell",
      "payload": "The purely retrospective algorithim is really slow to update to changing network conditions, in particular, it doesn't track the weekly load cycle well.",
      "action": false,
      "timestamp": "2017-04-20T19:28:47+00:00"
    },
    {
      "id": "e7405798ee3943c39f968927651cf761",
      "sender": "morcos",
      "payload": "gmaxwell: right so that is the question..  my preference would be to merge as is.. and then if we get around to it before 0.15 we add a smarter hotstart",
      "action": false,
      "timestamp": "2017-04-20T19:28:49+00:00"
    },
    {
      "id": "69796babe29544a981c164db8850ef3d",
      "sender": "luke-jr",
      "payload": "morcos: well, if it's  not already implemented, I'd say it's not important enough to spend time implementing",
      "action": false,
      "timestamp": "2017-04-20T19:29:06+00:00"
    },
    {
      "id": "297336cd094f43cebba78cef435a9694",
      "sender": "luke-jr",
      "payload": "(upgrading, that is)",
      "action": false,
      "timestamp": "2017-04-20T19:29:43+00:00"
    },
    {
      "id": "4ef6f64735244160af8db602784469a5",
      "sender": "morcos",
      "payload": "gmaxwell: yes... one of the main problems the new design was meant to address...  still using only a purely retrospective algorithm, so the problem fundamentally remains, but in practice its much more responsive  (b/c it looks at different time horizons simultaneously)",
      "action": false,
      "timestamp": "2017-04-20T19:29:56+00:00"
    },
    {
      "id": "b0669c1c23e54a3894c26ebe09a25185",
      "sender": "jcorgan",
      "payload": "clearly this calls for Deep Fee Estimation",
      "action": false,
      "timestamp": "2017-04-20T19:30:59+00:00"
    },
    {
      "id": "2ebd4b6ca985433e816a94d573edebca",
      "sender": "gmaxwell",
      "payload": "die",
      "action": false,
      "timestamp": "2017-04-20T19:31:08+00:00"
    },
    {
      "id": "82af2ffd06774705abf59a4219f975b3",
      "sender": "jcorgan",
      "payload": "tell me what you *really* think",
      "action": false,
      "timestamp": "2017-04-20T19:31:36+00:00"
    },
    {
      "id": "99d8c9061cc44a6290c29074373aaab7",
      "sender": "wumpus",
      "payload": "hehe, deep fee estimation",
      "action": false,
      "timestamp": "2017-04-20T19:31:40+00:00"
    },
    {
      "id": "20bf36ee01fc44f9bc5987beccbc4f3f",
      "sender": "luke-jr",
      "payload": "no no, Xtreme Deep Fee Estimation!",
      "action": false,
      "timestamp": "2017-04-20T19:31:55+00:00"
    },
    {
      "id": "2131289ec0bb42edb0a171b3dc661f95",
      "sender": "morcos",
      "payload": "anyway, ok for now i'll update the gist with a high level description of the algorithm",
      "action": false,
      "timestamp": "2017-04-20T19:32:07+00:00"
    },
    {
      "id": "2a1f2a255224487d82591c1cbf7958b0",
      "sender": "gmaxwell",
      "payload": "I have a lovely algorithim for an efficient limited memory 2D exponentially weighed moving average somewhere....",
      "action": false,
      "timestamp": "2017-04-20T19:32:11+00:00"
    },
    {
      "id": "e43d4b7101e440d5aa9eaa3b7a1425bf",
      "sender": "gmaxwell",
      "payload": "morcos: great.",
      "action": false,
      "timestamp": "2017-04-20T19:32:17+00:00"
    },
    {
      "id": "c5fff85f7c7b40778b22c23db82fa901",
      "sender": "sipa",
      "payload": "Xthin fees",
      "action": false,
      "timestamp": "2017-04-20T19:32:32+00:00"
    },
    {
      "id": "c862eb491241463aa25cfc1f63e9112b",
      "sender": "luke-jr",
      "payload": "XD",
      "action": false,
      "timestamp": "2017-04-20T19:32:36+00:00"
    },
    {
      "id": "f441bbeb480546eeb4239cdcccc2f667",
      "sender": "morcos",
      "payload": "but my basic point here is that ideally we need weeks/months of testing in master to uncover possible edge cases",
      "action": false,
      "timestamp": "2017-04-20T19:32:46+00:00"
    },
    {
      "id": "651b8f9aad0c4ad79a40da8492c7cf30",
      "sender": "morcos",
      "payload": "i'm relatively confident that overall this is better, but thats not the same thing as saying it doesn' thave problems that need fixing...",
      "action": false,
      "timestamp": "2017-04-20T19:33:14+00:00"
    },
    {
      "id": "fa35ccc46e6f46d6883dd32d2d10f74f",
      "sender": "wumpus",
      "payload": "yes, it shouldn't be merged last minute",
      "action": false,
      "timestamp": "2017-04-20T19:33:16+00:00"
    },
    {
      "id": "2a684f5939fb453d9b1672108620047e",
      "sender": "gmaxwell",
      "payload": "morcos: well get your description up soon, and I'll review shortly after.  I think fee estimation is self contained enough we could merge something and back it out if we don't like it... but we need to have more than you understanding what we're doing at least. :)",
      "action": false,
      "timestamp": "2017-04-20T19:33:34+00:00"
    },
    {
      "id": "6d0e2d3cc03e406bacd99cad5de438de",
      "sender": "morcos",
      "payload": "gmaxwell: yes basically my point..  ok sounds good",
      "action": false,
      "timestamp": "2017-04-20T19:33:58+00:00"
    },
    {
      "id": "338ef3a1487343d8a9a1e67266b43bab",
      "sender": "gmaxwell",
      "payload": "(if for no other reason than we need to understand it better to spot failures with it.)",
      "action": false,
      "timestamp": "2017-04-20T19:34:08+00:00"
    },
    {
      "id": "d19897c10131459a90c5d8b46c0f5f87",
      "sender": "jonasschnelli",
      "payload": "morcos: maybe it was asked already, how fast are the estimations available after startup? Does it work with prune=550?",
      "action": false,
      "timestamp": "2017-04-20T19:34:12+00:00"
    },
    {
      "id": "0380cdf8c43149e281dde96f4db0c8dd",
      "sender": "morcos",
      "payload": "prune is irrelevant",
      "action": false,
      "timestamp": "2017-04-20T19:34:26+00:00"
    },
    {
      "id": "e651169dda85473ab52207f325db753e",
      "sender": "morcos",
      "payload": "it can give you an estimate for a target of N once it has been caught up for 2*N blocks...",
      "action": false,
      "timestamp": "2017-04-20T19:34:50+00:00"
    },
    {
      "id": "35c10b47b4024ba69fb6e21061c1c57f",
      "sender": "gmaxwell",
      "payload": "jonasschnelli: Estimations for depth X need to at least see some multiple of X blocks.",
      "action": false,
      "timestamp": "2017-04-20T19:35:01+00:00"
    },
    {
      "id": "bc7ea1e82f17417e99c32a30058d39c6",
      "sender": "morcos",
      "payload": "but then it saves that",
      "action": false,
      "timestamp": "2017-04-20T19:35:22+00:00"
    },
    {
      "id": "d60933fbdf554803aa30da2dd7a61db6",
      "sender": "gmaxwell",
      "payload": "Becuase you have a moving window of analysis, and no data for longer windows.",
      "action": false,
      "timestamp": "2017-04-20T19:35:24+00:00"
    },
    {
      "id": "5e34db67ccd044bfbbb226b2a17c516a",
      "sender": "jonasschnelli",
      "payload": "So for a conf target of 2 you need to wait ~40min after startup?",
      "action": false,
      "timestamp": "2017-04-20T19:35:54+00:00"
    },
    {
      "id": "a3fa64cb25504767aaae524095c59a29",
      "sender": "morcos",
      "payload": "so if you stop and restart you're starting over again for increasing your max possible target, but you still have access for up to that max possible target",
      "action": false,
      "timestamp": "2017-04-20T19:35:57+00:00"
    },
    {
      "id": "3c23a734b7c74d0fb34a8aa38b1827e4",
      "sender": "morcos",
      "payload": "jonasschnelli: correct, but again, only the first time  (or if you have been down for more than 6 weeks i think)",
      "action": false,
      "timestamp": "2017-04-20T19:36:34+00:00"
    },
    {
      "id": "8dbac14379c64c56afe97254a6f123c3",
      "sender": "gmaxwell",
      "payload": "jonasschnelli: well not really, because you save the results. so the first time, yes. But that goes back to the hot start question.. and there are lots of ways we could hot start these things, if we really had something that was working well otherwise.",
      "action": false,
      "timestamp": "2017-04-20T19:36:37+00:00"
    },
    {
      "id": "956617a18cde4675a84088defdcefa46",
      "sender": "jtimon",
      "payload": "jcorgan: after alphago took go away from me I was looking for other problem to solve with https://github.com/jtimon/preann as an excuse to run it again </offtopic spam>",
      "action": false,
      "timestamp": "2017-04-20T19:36:50+00:00"
    },
    {
      "id": "e1be5ade35ea40ddabf0c76f8ccdc52c",
      "sender": "jonasschnelli",
      "payload": "Okay. Thanks... I'll test 10199 with the mainnet GUI then a bit (before of after merging)",
      "action": false,
      "timestamp": "2017-04-20T19:37:42+00:00"
    },
    {
      "id": "d0abfeae0a9b4d0b8c9ccf89450d8c09",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] ryanofsky opened pull request #10244: [qt] Add abstraction layer for accessing node and wallet functionality from gui (master...pr/ipc-local) https://github.com/bitcoin/bitcoin/pull/10244",
      "action": false,
      "timestamp": "2017-04-20T19:37:51+00:00"
    },
    {
      "id": "d728dd92f9964e509940b3425ce34326",
      "sender": "jonasschnelli",
      "payload": "*or",
      "action": false,
      "timestamp": "2017-04-20T19:37:53+00:00"
    },
    {
      "id": "05ba505fde714beb8fec86f8e737a4ef",
      "sender": "morcos",
      "payload": "gmaxwell: in the meantime the PR description in 10199 covers the changes pretty close to what i will write up on the gist",
      "action": false,
      "timestamp": "2017-04-20T19:38:44+00:00"
    },
    {
      "id": "4b8ca7691a4c486c912bd8a547cd0d43",
      "sender": "morcos",
      "payload": "i guess i need to do a quick rebase now that 9942 is done",
      "action": false,
      "timestamp": "2017-04-20T19:40:09+00:00"
    },
    {
      "id": "a18d9d7ee00d40d1b8a33dcd07dae016",
      "sender": "luke-jr",
      "payload": "crickets",
      "action": true,
      "timestamp": "2017-04-20T19:44:25+00:00"
    },
    {
      "id": "892dd9d190dd4aaa860ad361365bccde",
      "sender": "wumpus",
      "payload": "any other topics?",
      "action": false,
      "timestamp": "2017-04-20T19:44:32+00:00"
    },
    {
      "id": "70597bdf52b149b38a943d6ad958bdbb",
      "sender": "gmaxwell",
      "payload": "I want to talk to luke some about the address reuse thing, but it can be post meeting.",
      "action": false,
      "timestamp": "2017-04-20T19:44:54+00:00"
    },
    {
      "id": "e9cf8a1320bb47dbae14e0edcf6d1329",
      "sender": "wumpus",
      "payload": "time to tag 0.14.1 final and start gitian building",
      "action": false,
      "timestamp": "2017-04-20T19:45:06+00:00"
    },
    {
      "id": "96b725be5e064e60b2e6eccbbcde2ffd",
      "sender": "luke-jr",
      "payload": "spins out a Knots branch :p",
      "action": true,
      "timestamp": "2017-04-20T19:45:25+00:00"
    },
    {
      "id": "dcfe0e2e15904ccbacd5d52bbc850899",
      "sender": "wumpus",
      "payload": "gmaxwell: well there's time",
      "action": false,
      "timestamp": "2017-04-20T19:45:54+00:00"
    },
    {
      "id": "f61e650af4ac430487d22c70f6c901d8",
      "sender": "wumpus",
      "payload": "#topic address reuse thing",
      "action": false,
      "timestamp": "2017-04-20T19:45:58+00:00"
    },
    {
      "id": "854f15f0fc794e69a58b2df4df0b6948",
      "sender": "gmaxwell",
      "payload": "so a serious privacy problem which has been actively exploited for a long time is that people make near-dust payments to addresses once they've been spent from, so that you spend from them again in new txn, creating snowballing that links all your transactions togeather.",
      "action": false,
      "timestamp": "2017-04-20T19:46:47+00:00"
    },
    {
      "id": "6cd84a0957ab4d93afabef87b6f01722",
      "sender": "wumpus",
      "payload": "* [new tag]         v0.14.1 -> v0.14.1",
      "action": false,
      "timestamp": "2017-04-20T19:46:54+00:00"
    },
    {
      "id": "e70fd72d32024c87ae2bc2cc9242975a",
      "sender": "instagibbs",
      "payload": "https://www.reddit.com/r/BitcoinBeginners/comments/66az3b/why_do_i_keep_getting_000000001_deposits/ for example",
      "action": false,
      "timestamp": "2017-04-20T19:47:32+00:00"
    },
    {
      "id": "1589cd8edd4f404fa9d9f87eb4db3a52",
      "sender": "gmaxwell",
      "payload": "Latest discussions seem to be driven by a user that runs a gambling site and whom cares about this because his customers get running into issues transactions that link back to him.",
      "action": false,
      "timestamp": "2017-04-20T19:47:35+00:00"
    },
    {
      "id": "32651466ea034a218fc58b57c8dc81e2",
      "sender": "wumpus",
      "payload": "do we need a 'block transacton' functionality against such transaction abuse?",
      "action": false,
      "timestamp": "2017-04-20T19:47:42+00:00"
    },
    {
      "id": "5c63ec5bd878438992fab9fb34bfae98",
      "sender": "gmaxwell",
      "payload": "but it's a general concern for everyone.",
      "action": false,
      "timestamp": "2017-04-20T19:47:45+00:00"
    },
    {
      "id": "617c8e4465fd4f62bb87a492654a7832",
      "sender": "gmaxwell",
      "payload": "So there have been discussion about some very heavy handed manual methods, but I think I have a suggestion that could potentially be a default behavior:",
      "action": false,
      "timestamp": "2017-04-20T19:48:16+00:00"
    },
    {
      "id": "4a820cbea76a4166bcb2140dbcafc2ca",
      "sender": "gmaxwell",
      "payload": "but I'm interested in hearing if other people think I'm crazy.",
      "action": false,
      "timestamp": "2017-04-20T19:48:28+00:00"
    },
    {
      "id": "36105d4b3dd748adad0b065b0a8b0726",
      "sender": "wumpus",
      "payload": "wouldn't be the first time I have an UTXO I just want to ignore",
      "action": false,
      "timestamp": "2017-04-20T19:48:31+00:00"
    },
    {
      "id": "48e652b34d0747699dd2ce3ceaadcf5b",
      "sender": "morcos",
      "payload": "stop the suspense!",
      "action": false,
      "timestamp": "2017-04-20T19:48:37+00:00"
    },
    {
      "id": "de761bcd5e5044008ebab7a67ead4bd9",
      "sender": "BlueMatt",
      "payload": "morcos: ack",
      "action": false,
      "timestamp": "2017-04-20T19:48:52+00:00"
    },
    {
      "id": "b5320a22d8a84947b7d76401d869dc17",
      "sender": "gmaxwell",
      "payload": "First create a seperate quarenteened balance. Any address or specfic txo could be manually quarenteened or unquarenteed at any itme.",
      "action": false,
      "timestamp": "2017-04-20T19:48:57+00:00"
    },
    {
      "id": "a0922f57b2034f18881d098ca17e2890",
      "sender": "gmaxwell",
      "payload": "Then adjust coin selection to always spend all payments to a particular address at once (+/- some filtering with dust that might be needed to prevent dust attacks).",
      "action": false,
      "timestamp": "2017-04-20T19:49:29+00:00"
    },
    {
      "id": "d1d937c47416424b8905cf670f47aa58",
      "sender": "gmaxwell",
      "payload": "Then once an address has been spent from, it's automatically added to tue quarenteen list (with any outputs that weren't spent, e.g. whatever failed the dust filtering).",
      "action": false,
      "timestamp": "2017-04-20T19:49:56+00:00"
    },
    {
      "id": "4b60431808c445949d41e5d466148d8a",
      "sender": "wumpus",
      "payload": "I think the quarantaine is a good idea, not so sure about adding things automatically though",
      "action": false,
      "timestamp": "2017-04-20T19:50:21+00:00"
    },
    {
      "id": "b99482fdbc394ba4b01c2722ca713c29",
      "sender": "gmaxwell",
      "payload": "If users want to intentionally reuse an address, I suppose they'd need a way to prevent them from being reblocked.",
      "action": false,
      "timestamp": "2017-04-20T19:50:26+00:00"
    },
    {
      "id": "1e9967ce714c4a828bb692a39390a952",
      "sender": "morcos",
      "payload": "i like the general idea",
      "action": false,
      "timestamp": "2017-04-20T19:50:35+00:00"
    },
    {
      "id": "0ede730edf59402ba4a5e16b8166e2e4",
      "sender": "luke-jr",
      "payload": "gmaxwell: and quarantined funds are excluded from balance or tx list somehow?",
      "action": false,
      "timestamp": "2017-04-20T19:50:42+00:00"
    },
    {
      "id": "62c4b49570b544878a158787a2ae9646",
      "sender": "gmaxwell",
      "payload": "Well I think the attacks will continue unless we could come up with something that was close to automatic... Could be something that gives a GUI user a choice the first time it happens or if the Q balance becomes non-negligble.",
      "action": false,
      "timestamp": "2017-04-20T19:51:05+00:00"
    },
    {
      "id": "4a79cac67c3c42d89f90f81f4e13cf63",
      "sender": "BlueMatt",
      "payload": "morcos: I might prefer if we were Quarantine ing things and not quarantaine or quarenteened :p",
      "action": false,
      "timestamp": "2017-04-20T19:51:05+00:00"
    },
    {
      "id": "c082eac84aa8425083dac34085e40e2e",
      "sender": "morcos",
      "payload": "but what if you have 10 10btc utxos at the same address and you need to pay someone 1 btc",
      "action": false,
      "timestamp": "2017-04-20T19:51:06+00:00"
    },
    {
      "id": "8e6a31c989414a4cb8fff17a0c01dd6e",
      "sender": "morcos",
      "payload": "you spend them all?",
      "action": false,
      "timestamp": "2017-04-20T19:51:09+00:00"
    },
    {
      "id": "a3b16f15f1184e29ab2c71835173a047",
      "sender": "gmaxwell",
      "payload": "luke-jr: they'd be shown in the tx list, but skipped for spending, and shown as a seperate balances. Like confirmed vs unconfirmed balance.",
      "action": false,
      "timestamp": "2017-04-20T19:51:28+00:00"
    },
    {
      "id": "49100ea4eab048218c9a3f52d877b248",
      "sender": "BlueMatt",
      "payload": "gmaxwell: I'm somewhat unsold as default policy",
      "action": false,
      "timestamp": "2017-04-20T19:51:59+00:00"
    },
    {
      "id": "a91d17417e9c47d7b72d18c866e82fa5",
      "sender": "gmaxwell",
      "payload": "morcos: yep. and create a big change. Which I think is fine.  I think a seperate issue is that we should auto-split very large change. But thats 90% independant.",
      "action": false,
      "timestamp": "2017-04-20T19:52:03+00:00"
    },
    {
      "id": "149bffc363214fedbb210149ef5e78c1",
      "sender": "BlueMatt",
      "payload": "it seems to be a somewhat-surprising break",
      "action": false,
      "timestamp": "2017-04-20T19:52:04+00:00"
    },
    {
      "id": "3f5c9d05499343f5b22e11b279d4030f",
      "sender": "jcorgan",
      "payload": "and the name 'quarantined' might be a bit heavy handed",
      "action": false,
      "timestamp": "2017-04-20T19:52:18+00:00"
    },
    {
      "id": "5a3e8c574f3c45b4a6e8e8b3a9e691c6",
      "sender": "gmaxwell",
      "payload": "BlueMatt: the current privacy trashing is itself a very surprising break.",
      "action": false,
      "timestamp": "2017-04-20T19:52:27+00:00"
    },
    {
      "id": "9a61c32d86044520922d13cba47c92ef",
      "sender": "BlueMatt",
      "payload": "fair",
      "action": false,
      "timestamp": "2017-04-20T19:52:32+00:00"
    },
    {
      "id": "94ffc37f2d2f4b6e84cb55191028e9d9",
      "sender": "luke-jr",
      "payload": "it might be less confusing if only the first receive ever was displayed/accepted, and all subsequent ones got quarantined",
      "action": false,
      "timestamp": "2017-04-20T19:52:36+00:00"
    },
    {
      "id": "424a7b4571aa4461a7651e2587faa417",
      "sender": "gmaxwell",
      "payload": "jcorgan: well I came up with that on the spot, on github they're calling it frozen, which I think is super misleading (bank froze my funds!). :P",
      "action": false,
      "timestamp": "2017-04-20T19:52:48+00:00"
    },
    {
      "id": "1a0952014e114c54baa76e5ecec86614",
      "sender": "jcorgan",
      "payload": "reserved?",
      "action": false,
      "timestamp": "2017-04-20T19:52:55+00:00"
    },
    {
      "id": "8c2571a508ea41a9b16767b6fed34ee7",
      "sender": "luke-jr",
      "payload": "suspicious? :P",
      "action": false,
      "timestamp": "2017-04-20T19:53:11+00:00"
    },
    {
      "id": "eb1c4d72301447a5afe3e111d134ac85",
      "sender": "wumpus",
      "payload": "trash can",
      "action": false,
      "timestamp": "2017-04-20T19:53:13+00:00"
    },
    {
      "id": "11524a2d51f945ecb72ef73ebfa2be55",
      "sender": "Chris_Stewart_5",
      "payload": "extraneous?",
      "action": false,
      "timestamp": "2017-04-20T19:53:16+00:00"
    },
    {
      "id": "e975349eeb8f4b118f8ddd6f638501b0",
      "sender": "gmaxwell",
      "payload": "luke-jr: first recieved leads to an immediate attack: dust spammer races the payment then you get the dust and not the payment. :)",
      "action": false,
      "timestamp": "2017-04-20T19:53:19+00:00"
    },
    {
      "id": "1665052be4c545c29958a030a9e3296d",
      "sender": "morcos",
      "payload": "gmaxwell: hmm...   i do like the idea of auto-quarantining spent address or dust left over in mostly spent addresses, but not sure i like default spending all the inputs and possibly giving you large change",
      "action": false,
      "timestamp": "2017-04-20T19:53:22+00:00"
    },
    {
      "id": "ccf89490a3364c2a867bb76c68bdb04d",
      "sender": "luke-jr",
      "payload": "gmaxwell: first confirmed with a larger value?",
      "action": false,
      "timestamp": "2017-04-20T19:53:35+00:00"
    },
    {
      "id": "3410739b3b2c4c86b4712960bc02772d",
      "sender": "gmaxwell",
      "payload": "morcos: really I'm surprised at that. That change alone is something I've wanted to do for a while (and was carrying patches for it for a bit)",
      "action": false,
      "timestamp": "2017-04-20T19:53:47+00:00"
    },
    {
      "id": "99db91fbc4b542a9815e8ea51d78e758",
      "sender": "morcos",
      "payload": "quarantine is a good name, but lets not bikeshed that",
      "action": false,
      "timestamp": "2017-04-20T19:53:49+00:00"
    },
    {
      "id": "8af71e353ebd4329aaa931318fb2ceee",
      "sender": "luke-jr",
      "payload": "gmaxwell: maybe auto-quarantine dust too",
      "action": false,
      "timestamp": "2017-04-20T19:54:14+00:00"
    },
    {
      "id": "b89cf20e3f7d4a05ba64a889a7de0e59",
      "sender": "instagibbs",
      "payload": "morcos, assuming spending the dust is worthwhile, what's the concern?",
      "action": false,
      "timestamp": "2017-04-20T19:54:26+00:00"
    },
    {
      "id": "1038d92021cf4b75aaea4fd419e5983d",
      "sender": "BlueMatt",
      "payload": "gmaxwell: I'm not sold on non-end-user wallets here. it seems like it woul dbreak many merchant workflows that use bitcoind",
      "action": false,
      "timestamp": "2017-04-20T19:54:26+00:00"
    },
    {
      "id": "f197e282ef9d47baa806010468377df7",
      "sender": "sdaftuar",
      "payload": "auto-spending all the funds with a given address makes sense to me as well",
      "action": false,
      "timestamp": "2017-04-20T19:54:29+00:00"
    },
    {
      "id": "1846790c94f04e95b73e24a487505d2e",
      "sender": "wumpus",
      "payload": "morcos: let's quarantine the bikeshed",
      "action": false,
      "timestamp": "2017-04-20T19:54:42+00:00"
    },
    {
      "id": "5429fde230e04718912e36a0770a5556",
      "sender": "luke-jr",
      "payload": "BlueMatt: merchant workflows that reuse addresses are broken anyway",
      "action": false,
      "timestamp": "2017-04-20T19:54:49+00:00"
    },
    {
      "id": "f96bfd4fdbd64dc99fa890526bc539f5",
      "sender": "BlueMatt",
      "payload": "(eg you receive half a payment, your coin selection spends from that addr, then you receive the other half, and now you dont realize you got paid?)",
      "action": false,
      "timestamp": "2017-04-20T19:54:52+00:00"
    },
    {
      "id": "c92de9f7bf45437998dd4cd4727de863",
      "sender": "luke-jr",
      "payload": "wumpus: lol",
      "action": false,
      "timestamp": "2017-04-20T19:54:53+00:00"
    },
    {
      "id": "a961953b433b47389fce0c8bc8d1dcd8",
      "sender": "gmaxwell",
      "payload": "BlueMatt: why? (thats why I'm asking.) -- obviously it would be configurable.",
      "action": false,
      "timestamp": "2017-04-20T19:54:55+00:00"
    },
    {
      "id": "6913c39657874367ac286b9b3debda57",
      "sender": "jtimon",
      "payload": "re bikeshedding: the class managing this obviously needs to be called quarantiner",
      "action": false,
      "timestamp": "2017-04-20T19:55:25+00:00"
    },
    {
      "id": "fb3286c603dd4dc782a1ab6fba4e1bb0",
      "sender": "gmaxwell",
      "payload": "BlueMatt: how often are merchants doing that?  I mean you can get into advanced things like biasing selection to chose SPK that have least recently recieved funds to avoid that.",
      "action": false,
      "timestamp": "2017-04-20T19:55:33+00:00"
    },
    {
      "id": "e9129709aed24cf2a8c0140248816fac",
      "sender": "BlueMatt",
      "payload": "gmaxwell: I assume most merchants at least support multiple txn to complete your payment?",
      "action": false,
      "timestamp": "2017-04-20T19:55:56+00:00"
    },
    {
      "id": "9432fc119496465486f9e95f0a06c4c7",
      "sender": "BlueMatt",
      "payload": "most guis ive read seem to imply that",
      "action": false,
      "timestamp": "2017-04-20T19:56:02+00:00"
    },
    {
      "id": "0f9f4756aa044047bffb4e3e0c0a15f7",
      "sender": "morcos",
      "payload": "yeah i suppose if its configurable, an option that autospends everythign from any address that gets spent makes sense",
      "action": false,
      "timestamp": "2017-04-20T19:56:36+00:00"
    },
    {
      "id": "a57b9afc2c9d4fe1af58827cc5bbe0b3",
      "sender": "gmaxwell",
      "payload": "BlueMatt: kinda. but they also require them to be recieved at effectively the same time. I think it's managable.",
      "action": false,
      "timestamp": "2017-04-20T19:56:40+00:00"
    },
    {
      "id": "1f6be8b3a8994629b21b11d41e9b1baa",
      "sender": "instagibbs",
      "payload": "I'm not sure they accept multiple txn as policy",
      "action": false,
      "timestamp": "2017-04-20T19:56:45+00:00"
    },
    {
      "id": "7f79c668cd1b453e8e5199eeac925f58",
      "sender": "instagibbs",
      "payload": "err automatically",
      "action": false,
      "timestamp": "2017-04-20T19:56:50+00:00"
    },
    {
      "id": "23cb87ba73244768b1712961a2c50da9",
      "sender": "gmaxwell",
      "payload": "Just the autospend alone would radically improve privacy, and would almost be enough except for the malicious dust creation.",
      "action": false,
      "timestamp": "2017-04-20T19:57:01+00:00"
    },
    {
      "id": "60e8c1ffd5634da6b79e1031857d0fa2",
      "sender": "BlueMatt",
      "payload": "gmaxwell: to make it compatible you'd have to never spend outputs newer than X, where X is merchant time frame",
      "action": false,
      "timestamp": "2017-04-20T19:57:03+00:00"
    },
    {
      "id": "5a1a69e2e3374d95b8eebbb0e6d2e33e",
      "sender": "gmaxwell",
      "payload": "BlueMatt: ya, which would be a trivial 'first try without x' in the current framework.",
      "action": false,
      "timestamp": "2017-04-20T19:57:32+00:00"
    },
    {
      "id": "38aca2a3dd67478abc8326654ccee98b",
      "sender": "BlueMatt",
      "payload": "i agree in principal, but it sounds like you'd break some folks' workflow in subtle ways. adding the option and defaulting off for non-gui users, maybe?",
      "action": false,
      "timestamp": "2017-04-20T19:57:35+00:00"
    },
    {
      "id": "5ec095f25a434e6ea14cac397efc9652",
      "sender": "sipa",
      "payload": "i don't see how autospending would break anything?",
      "action": false,
      "timestamp": "2017-04-20T19:58:05+00:00"
    },
    {
      "id": "9b115128d01a4af4bfdf9107d989312b",
      "sender": "luke-jr",
      "payload": "or just tweak how RPC shows quarantine",
      "action": false,
      "timestamp": "2017-04-20T19:58:11+00:00"
    },
    {
      "id": "111d9f026df543c884f94408eb84d531",
      "sender": "gmaxwell",
      "payload": "well it could evolve over time, too-- I do think it's not worth our time to do things here that we don't think could be on for a majority of users eventually in some form.",
      "action": false,
      "timestamp": "2017-04-20T19:58:13+00:00"
    },
    {
      "id": "107f4cde5a0b4a04a0081523ac1677c9",
      "sender": "instagibbs",
      "payload": "At a minimum you could make near-dust be quarantined",
      "action": false,
      "timestamp": "2017-04-20T19:58:21+00:00"
    },
    {
      "id": "77e19d6fec5a4a41b4b45fea6c06f394",
      "sender": "morcos",
      "payload": "i would think there could be some threshold for auto-un-quarantining too right?  like if your quarantine address receives 1 BTC?  or maybe not, maybe it just becomes common sense to check that",
      "action": false,
      "timestamp": "2017-04-20T19:58:25+00:00"
    },
    {
      "id": "a3361429f89e47c386af631393beac84",
      "sender": "wumpus",
      "payload": "in the first version this is introduced it should be disabled by default in any case, I think, let's present it as a security feature first. Could always be enabled by default later but that should not be the initial goal.",
      "action": false,
      "timestamp": "2017-04-20T19:58:35+00:00"
    },
    {
      "id": "0e77ed8ae73f45f2ab81ab37fc0cf4bd",
      "sender": "gmaxwell",
      "payload": "Because already people who are super aware of privacy can and will already manually do coin selection to achieve ends like this.",
      "action": false,
      "timestamp": "2017-04-20T19:58:43+00:00"
    },
    {
      "id": "d46b940fad8649e088f6b37be79d298d",
      "sender": "BlueMatt",
      "payload": "gmaxwell: agreed in principal, but there are also easier fixes we can do initially. eg bias coin selection towards this with fallbacks?",
      "action": false,
      "timestamp": "2017-04-20T19:58:50+00:00"
    },
    {
      "id": "0caf0a376e2f4bb9b58becbcc2988b9e",
      "sender": "luke-jr",
      "payload": "wumpus: true",
      "action": false,
      "timestamp": "2017-04-20T19:58:51+00:00"
    },
    {
      "id": "4d67bf38aa8f476c9db6435acc63ed40",
      "sender": "gmaxwell",
      "payload": "wumpus: absolutely.",
      "action": false,
      "timestamp": "2017-04-20T19:58:55+00:00"
    },
    {
      "id": "69ae4388f7034bda87343d164492600a",
      "sender": "wumpus",
      "payload": "anything that potentially 'disappears' funds shouldn't be enabled lightly",
      "action": false,
      "timestamp": "2017-04-20T19:59:08+00:00"
    },
    {
      "id": "abd906246ad14f6392b0845119c20b0a",
      "sender": "luke-jr",
      "payload": "it's harmless to add if it's disabled by default initially",
      "action": false,
      "timestamp": "2017-04-20T19:59:09+00:00"
    },
    {
      "id": "5bf673db576941b6806454a59b6c2c5a",
      "sender": "wumpus",
      "payload": "luke-jr: exactly",
      "action": false,
      "timestamp": "2017-04-20T19:59:23+00:00"
    },
    {
      "id": "95f07f40c46c443da6d3435af99d2abb",
      "sender": "morcos",
      "payload": "ok, so this sounds like general agreement that this is a good idea and has degenerated into arguing about defaults.   all development discussion in a nutshell!",
      "action": false,
      "timestamp": "2017-04-20T19:59:23+00:00"
    },
    {
      "id": "02b9da0957f04c93a970a1264cfa073a",
      "sender": "BlueMatt",
      "payload": "\"disabled by default\" can also mean \"if something fails, fall back to the current behavior\"",
      "action": false,
      "timestamp": "2017-04-20T19:59:24+00:00"
    },
    {
      "id": "a9577e736f27469f96b935e35ca3013f",
      "sender": "gmaxwell",
      "payload": "Just in principle I don't think the resource investment is worth if it we don't think that the end goal couldn't be default-ish (e.g. GUI) use.",
      "action": false,
      "timestamp": "2017-04-20T19:59:31+00:00"
    },
    {
      "id": "91960d88b8594a85a46513f97668b523",
      "sender": "BlueMatt",
      "payload": "morcos: yup",
      "action": false,
      "timestamp": "2017-04-20T19:59:32+00:00"
    },
    {
      "id": "610ecd48eb2548fcb55235466efd651a",
      "sender": "wumpus",
      "payload": "I'd enable it personally",
      "action": false,
      "timestamp": "2017-04-20T19:59:34+00:00"
    },
    {
      "id": "b46d9f8b493247648ea6b0ea18570620",
      "sender": "wumpus",
      "payload": "it's worth the resource investment if we think it's useful to have",
      "action": false,
      "timestamp": "2017-04-20T19:59:54+00:00"
    },
    {
      "id": "53d3d804e1024987868f1b93a9535a09",
      "sender": "sdaftuar",
      "payload": "so perhaps a first simple step would be to enable auto-spending of all funds from a given address in the coin selection logic?",
      "action": false,
      "timestamp": "2017-04-20T20:00:12+00:00"
    },
    {
      "id": "ee1e2c4b61304b2995f4b01b3d72f057",
      "sender": "gmaxwell",
      "payload": "I think users should be okay with 'multiple balances' we already have confirmed vs unconfirmed, and normal bank accounts have multiple balances.",
      "action": false,
      "timestamp": "2017-04-20T20:00:19+00:00"
    },
    {
      "id": "51cc418bd85b462b8a0725e72f8f7b0e",
      "sender": "luke-jr",
      "payload": "IMO the end goal should be to treat address reuse as something that just doesn't work, and have a quarantine people can dig out lost funds if necessary",
      "action": false,
      "timestamp": "2017-04-20T20:00:20+00:00"
    },
    {
      "id": "be586dc527044691ba0a24895c23400a",
      "sender": "BlueMatt",
      "payload": "sdaftuar: ack",
      "action": false,
      "timestamp": "2017-04-20T20:00:22+00:00"
    },
    {
      "id": "bfb92b800fa342bf840c09346c6e6b68",
      "sender": "BlueMatt",
      "payload": "DONG",
      "action": false,
      "timestamp": "2017-04-20T20:00:26+00:00"
    },
    {
      "id": "53b4ce04205a45e3963189acb5110124",
      "sender": "jtimon",
      "payload": "I would start with the quarantine thing as only usable manually, which we all seem to like, and then propose automatic things",
      "action": false,
      "timestamp": "2017-04-20T20:00:35+00:00"
    },
    {
      "id": "24080be6c40047ef9fa9b144f8851565",
      "sender": "wumpus",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2017-04-20T20:00:36+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "e78702d9795c46e180c160c5ba79285d",
        "sender": "wumpus",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2017-04-20T19:02:12+00:00"
      },
      "operand": null,
      "id": "e78702d9795c46e180c160c5ba79285d",
      "timestamp": "2017-04-20T19:02:12+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "49876b60882d472ea7ae5ade3ababce7",
        "sender": "wumpus",
        "payload": "#topic 0.14.1 release",
        "action": false,
        "timestamp": "2017-04-20T19:03:29+00:00"
      },
      "operand": "0.14.1 release",
      "id": "49876b60882d472ea7ae5ade3ababce7",
      "timestamp": "2017-04-20T19:03:29+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "ea667b4d21944b81a34d98066a4eaccd",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10231 | [Qt] Reduce a significant cs_main lock freeze by jonasschnelli \u00c3\u0082\u00c2\u00b7 Pull Request #10231 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:04:12+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10231",
      "id": "ea667b4d21944b81a34d98066a4eaccd",
      "timestamp": "2017-04-20T19:04:12+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "fa4730390d0148a582a985d9692982e8",
        "sender": "gmaxwell",
        "payload": "https://www.youtube.com/watch?v=rLMCjuge6oE \"Turn your key SIR\"",
        "action": false,
        "timestamp": "2017-04-20T19:04:23+00:00"
      },
      "operand": "https://www.youtube.com/watch?v=rLMCjuge6oE",
      "id": "fa4730390d0148a582a985d9692982e8",
      "timestamp": "2017-04-20T19:04:23+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "72ed1dccf0824b39834720ea7d8608eb",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10233 | Wallet: Support not reusing addresses by jet0 \u00c3\u0082\u00c2\u00b7 Pull Request #10233 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:08:38+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10233",
      "id": "72ed1dccf0824b39834720ea7d8608eb",
      "timestamp": "2017-04-20T19:08:38+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "eadcf268f9354a3ebea6ef3756e330dd",
        "sender": "wumpus",
        "payload": "#topic blocker PRs for review",
        "action": false,
        "timestamp": "2017-04-20T19:08:49+00:00"
      },
      "operand": "blocker PRs for review",
      "id": "eadcf268f9354a3ebea6ef3756e330dd",
      "timestamp": "2017-04-20T19:08:49+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "cfc95adf9ef244e4a332091cdccef27b",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10179 | Give CValidationInterface Support for calling notifications on the CScheduler Thread by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #10179 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:10:37+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10179",
      "id": "cfc95adf9ef244e4a332091cdccef27b",
      "timestamp": "2017-04-20T19:10:37+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "7b20a8b8032f4f1696ed4778f50cf2c5",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10148 | [WIP] Use non-atomic flushing with block replay by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #10148 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:10:56+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10148",
      "id": "7b20a8b8032f4f1696ed4778f50cf2c5",
      "timestamp": "2017-04-20T19:10:56+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "b6f6e00fc9714092aa00ef535fe21641",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/9792 | FastRandomContext improvements and switch to ChaCha20 by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #9792 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:11:37+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/9792",
      "id": "b6f6e00fc9714092aa00ef535fe21641",
      "timestamp": "2017-04-20T19:11:37+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "6e44b876b7464956a87dbb752bfe62cb",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10179 | Give CValidationInterface Support for calling notifications on the CScheduler Thread by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #10179 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:11:57+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10179",
      "id": "6e44b876b7464956a87dbb752bfe62cb",
      "timestamp": "2017-04-20T19:11:57+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "0394127e3f18411a86ffaa01f2961aa4",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/9942 | Refactor CBlockPolicyEstimator by morcos \u00c3\u0082\u00c2\u00b7 Pull Request #9942 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:13:45+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/9942",
      "id": "0394127e3f18411a86ffaa01f2961aa4",
      "timestamp": "2017-04-20T19:13:45+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "a0aa1b20ac6a462b8c24cce33f9bf056",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/8855 | Use a proper factory for creating chainparams by jtimon \u00c3\u0082\u00c2\u00b7 Pull Request #8855 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:13:57+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/8855",
      "id": "a0aa1b20ac6a462b8c24cce33f9bf056",
      "timestamp": "2017-04-20T19:13:57+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "38884c0728764523b850a886c0bbe347",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10199 | Better fee estimates by morcos \u00c3\u0082\u00c2\u00b7 Pull Request #10199 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-04-20T19:19:38+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10199",
      "id": "38884c0728764523b850a886c0bbe347",
      "timestamp": "2017-04-20T19:19:38+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "4252e5cf4a2b407aac592ca8e05c3c22",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/10242 | An error has occurred and has been logged. Please contact this bot's administrator for more information.",
        "action": false,
        "timestamp": "2017-04-20T19:23:12+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/10242",
      "id": "4252e5cf4a2b407aac592ca8e05c3c22",
      "timestamp": "2017-04-20T19:23:12+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "f61e650af4ac430487d22c70f6c901d8",
        "sender": "wumpus",
        "payload": "#topic address reuse thing",
        "action": false,
        "timestamp": "2017-04-20T19:45:58+00:00"
      },
      "operand": "address reuse thing",
      "id": "f61e650af4ac430487d22c70f6c901d8",
      "timestamp": "2017-04-20T19:45:58+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "e70fd72d32024c87ae2bc2cc9242975a",
        "sender": "instagibbs",
        "payload": "https://www.reddit.com/r/BitcoinBeginners/comments/66az3b/why_do_i_keep_getting_000000001_deposits/ for example",
        "action": false,
        "timestamp": "2017-04-20T19:47:32+00:00"
      },
      "operand": "https://www.reddit.com/r/BitcoinBeginners/comments/66az3b/why_do_i_keep_getting_000000001_deposits/",
      "id": "e70fd72d32024c87ae2bc2cc9242975a",
      "timestamp": "2017-04-20T19:47:32+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "24080be6c40047ef9fa9b144f8851565",
        "sender": "wumpus",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2017-04-20T20:00:36+00:00"
      },
      "operand": null,
      "id": "24080be6c40047ef9fa9b144f8851565",
      "timestamp": "2017-04-20T20:00:36+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}