{
  "founder": "wumpus",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "42dc7d2dba5649ecb4078274d8aa1548",
  "name": "#bitcoin-core-dev",
  "chair": "wumpus",
  "chairs": [
    "wumpus"
  ],
  "nicks": {
    "wumpus": 40,
    "lightningbot": 2,
    "jtimon": 28,
    "CodeShark": 2,
    "kanzure": 10,
    "jeremyrubin": 6,
    "luke-jr": 6,
    "gmaxwell": 47,
    "morcos": 12,
    "sipa": 13,
    "btcdrak": 5,
    "BlueMatt": 15,
    "jonasschnelli": 3,
    "harding": 1,
    "cfields_": 1,
    "JackH": 2,
    "Frederic94500": 1,
    "petertodd": 19,
    "Chris_Stewart_5": 3
  },
  "start_time": "2016-10-27T19:01:23+00:00",
  "end_time": "2016-10-27T19:58:34+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": "the final alert",
  "messages": [
    {
      "id": "94fbb899abb547ab8b71625015fe995a",
      "sender": "wumpus",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2016-10-27T19:01:23+00:00"
    },
    {
      "id": "0e9b5ad489a24291bca4df09b913235f",
      "sender": "lightningbot",
      "payload": "Meeting started Thu Oct 27 19:01:23 2016 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2016-10-27T19:01:23+00:00"
    },
    {
      "id": "c6226b45913a4b65aaf1ea6076c30722",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2016-10-27T19:01:23+00:00"
    },
    {
      "id": "6867ba82752f465faaddce2cb3bb9f93",
      "sender": "jtimon",
      "payload": "0.13.1 is out 18 mins ago! yay",
      "action": false,
      "timestamp": "2016-10-27T19:01:26+00:00"
    },
    {
      "id": "ab76ccd73934470abb6adbbf9663e247",
      "sender": "CodeShark",
      "payload": "binaries?",
      "action": false,
      "timestamp": "2016-10-27T19:01:40+00:00"
    },
    {
      "id": "760d4656a9ce427795913cc738d77d55",
      "sender": "kanzure",
      "payload": "btcdrak: looks like faq menu entry is working now https://bitcoincore.org/en/2016/10/27/segwit-upgrade-guide/",
      "action": false,
      "timestamp": "2016-10-27T19:01:42+00:00"
    },
    {
      "id": "de88ad927a6743d2866532cdae3044ed",
      "sender": "jeremyrubin",
      "payload": "here",
      "action": false,
      "timestamp": "2016-10-27T19:01:59+00:00"
    },
    {
      "id": "0f7086f0ed5d4c059aeeffe6f27886b7",
      "sender": "wumpus",
      "payload": "CodeShark: https://bitcoin.org/bin/bitcoin-core-0.13.1/",
      "action": false,
      "timestamp": "2016-10-27T19:02:26+00:00"
    },
    {
      "id": "84b416b6e6034b8695453cb52a96e1c6",
      "sender": "luke-jr",
      "payload": "wakes up",
      "action": true,
      "timestamp": "2016-10-27T19:02:27+00:00"
    },
    {
      "id": "f63af9473f2d45bbb32366efa046dc2e",
      "sender": "CodeShark",
      "payload": "Nice!",
      "action": false,
      "timestamp": "2016-10-27T19:02:46+00:00"
    },
    {
      "id": "c2cc6dbe859f4fc58f74b04c6d9dcb10",
      "sender": "gmaxwell",
      "payload": "https://www.reddit.com/r/Bitcoin/comments/59pt66/bitcoin_core_0131_released/",
      "action": false,
      "timestamp": "2016-10-27T19:02:49+00:00"
    },
    {
      "id": "4da2dd989e8747dd8ae81ac72566ef9c",
      "sender": "wumpus",
      "payload": "or magnet:?xt=urn:btih:dbe48c446b1113890644bbef03e361269f69c49a&dn=bitcoin-core-0.13.1&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&ws=https%3A%2F%2Fbitcoin.org%2Fbin%2F",
      "action": false,
      "timestamp": "2016-10-27T19:03:04+00:00"
    },
    {
      "id": "dd233efa52a742e1976465b5724b36da",
      "sender": "wumpus",
      "payload": "bitcoin.org should be updated after travis passes on https://github.com/bitcoin-dot-org/bitcoin.org/pull/1400",
      "action": false,
      "timestamp": "2016-10-27T19:03:51+00:00"
    },
    {
      "id": "23e4c5952ac2492db4c2d84590bf9416",
      "sender": "morcos",
      "payload": "congrats everyone!",
      "action": false,
      "timestamp": "2016-10-27T19:04:25+00:00"
    },
    {
      "id": "a8f4329c271742f8ae8070b0afaee819",
      "sender": "sipa",
      "payload": "indeed!",
      "action": false,
      "timestamp": "2016-10-27T19:04:31+00:00"
    },
    {
      "id": "c5fa6f774c7a46ca96f22c06553695da",
      "sender": "wumpus",
      "payload": "woohoo!",
      "action": false,
      "timestamp": "2016-10-27T19:04:53+00:00"
    },
    {
      "id": "b12dc62f266b4a4986c32dbc22f91392",
      "sender": "sipa",
      "payload": "and thanks everyone for getting us this far",
      "action": false,
      "timestamp": "2016-10-27T19:05:03+00:00"
    },
    {
      "id": "53c3a023881c42eabee3fd7449bfd82f",
      "sender": "luke-jr",
      "payload": "wumpus: did we get the gitian builds already? is that a record? :o",
      "action": false,
      "timestamp": "2016-10-27T19:05:37+00:00"
    },
    {
      "id": "ca8c31a0ce53445090baa13627604a10",
      "sender": "wumpus",
      "payload": "luke-jr: yes, four signed builders IIRC",
      "action": false,
      "timestamp": "2016-10-27T19:05:54+00:00"
    },
    {
      "id": "d06dc10b94774f9a9430d479fb555e4c",
      "sender": "luke-jr",
      "payload": "or maybe it just feels like a record since it was the middle of the night for me",
      "action": false,
      "timestamp": "2016-10-27T19:06:24+00:00"
    },
    {
      "id": "1bfb05dd651243eeb48764da93d01ff3",
      "sender": "jtimon",
      "payload": "I'm trying the gitian builder script for the first time",
      "action": false,
      "timestamp": "2016-10-27T19:06:30+00:00"
    },
    {
      "id": "200e6f0d88dd4c16b158a2c7191164f5",
      "sender": "wumpus",
      "payload": "it may be a record",
      "action": false,
      "timestamp": "2016-10-27T19:06:33+00:00"
    },
    {
      "id": "4c609ce4f4634369bf4490c58ca99d02",
      "sender": "wumpus",
      "payload": "very fast at least",
      "action": false,
      "timestamp": "2016-10-27T19:06:43+00:00"
    },
    {
      "id": "b55d6f88762847a381ad11663df6ae8b",
      "sender": "jtimon",
      "payload": "btcdrak reminded me I have no good excuse for not doing gitian builds",
      "action": false,
      "timestamp": "2016-10-27T19:07:09+00:00"
    },
    {
      "id": "258a14264a834f579110a6d42a9c34ce",
      "sender": "sipa",
      "payload": "i haven't even started :(",
      "action": false,
      "timestamp": "2016-10-27T19:07:33+00:00"
    },
    {
      "id": "e4fd9163071a4dbda66b890ec02c23f2",
      "sender": "jtimon",
      "payload": "well, I have never done it so it may take some time, but the sooner I learn...",
      "action": false,
      "timestamp": "2016-10-27T19:08:20+00:00"
    },
    {
      "id": "4c346e5fdbee46729855667e2871b0b4",
      "sender": "btcdrak",
      "payload": "wumpus: I dont see a signed message from you with the binary hashes",
      "action": false,
      "timestamp": "2016-10-27T19:08:22+00:00"
    },
    {
      "id": "9adbde61329942078dd427754737815b",
      "sender": "wumpus",
      "payload": "BlueMatt: you can release your PPA now (if you didn't yet)",
      "action": false,
      "timestamp": "2016-10-27T19:08:44+00:00"
    },
    {
      "id": "e4d447648ca44268b3471a6afb3521e1",
      "sender": "wumpus",
      "payload": "btcdrak: https://bitcoin.org/bin/bitcoin-core-0.13.1/SHA256SUMS.asc",
      "action": false,
      "timestamp": "2016-10-27T19:09:03+00:00"
    },
    {
      "id": "0c851f3e4d774b39b1e5a3413fa7f4c9",
      "sender": "BlueMatt",
      "payload": "wumpus: i have not yet, will try to get that out",
      "action": false,
      "timestamp": "2016-10-27T19:09:04+00:00"
    },
    {
      "id": "507b03804e904a87963790a1ea7c6592",
      "sender": "jonasschnelli",
      "payload": "BlueMatt: don't forget to add libzmq",
      "action": false,
      "timestamp": "2016-10-27T19:09:23+00:00"
    },
    {
      "id": "db8e8383cf204ae0ac086867307df058",
      "sender": "harding",
      "payload": "btcdrak: https://lists.linuxfoundation.org/pipermail/bitcoin-core-dev/2016-October/000023.html",
      "action": false,
      "timestamp": "2016-10-27T19:09:35+00:00"
    },
    {
      "id": "56b8be57c2d740aeaddc79a6f4579be7",
      "sender": "jonasschnelli",
      "payload": "Some uses have complained about the missing ZMQ support",
      "action": false,
      "timestamp": "2016-10-27T19:09:37+00:00"
    },
    {
      "id": "be18d068c23146f8a422a90df68b19de",
      "sender": "BlueMatt",
      "payload": "jonasschnelli: yup",
      "action": false,
      "timestamp": "2016-10-27T19:10:12+00:00"
    },
    {
      "id": "4f4e1f6aad6e4a0dbfcd335fa3d877cb",
      "sender": "wumpus",
      "payload": "ok, any other topics today than 0.13.1?",
      "action": false,
      "timestamp": "2016-10-27T19:11:30+00:00"
    },
    {
      "id": "8535ee5e2e2048fea4907e309eb61856",
      "sender": "kanzure",
      "payload": "i was going to ask sipa or jtimon about libconsensus follow-up stuff",
      "action": false,
      "timestamp": "2016-10-27T19:11:51+00:00"
    },
    {
      "id": "ae12e81f35814da1829e8b7b5af0a6ce",
      "sender": "sipa",
      "payload": "i'm the wrong person to ask",
      "action": false,
      "timestamp": "2016-10-27T19:12:04+00:00"
    },
    {
      "id": "32ef8465ffc44b8fa345821aceafced3",
      "sender": "wumpus",
      "payload": "I'm kind of tired so I wouldn't mind ending early :p",
      "action": false,
      "timestamp": "2016-10-27T19:12:16+00:00"
    },
    {
      "id": "98c06d36a42d438096e681aff7c44cb4",
      "sender": "jtimon",
      "payload": "kanzure: nothing to report, nobody suggested anything to me or gave me any feedback since last week",
      "action": false,
      "timestamp": "2016-10-27T19:12:59+00:00"
    },
    {
      "id": "cdb3db92e2a545598116438496a2c366",
      "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": "2016-10-27T19:13:05+00:00"
    },
    {
      "id": "c465fa77b0a1448a91d78ff16b4248c4",
      "sender": "BlueMatt",
      "payload": "few minutes late there, gmaxwell",
      "action": false,
      "timestamp": "2016-10-27T19:13:24+00:00"
    },
    {
      "id": "ccf132e633774f9b9e4b988e904bbba6",
      "sender": "jtimon",
      "payload": "been focusing on the signedblocks patch",
      "action": false,
      "timestamp": "2016-10-27T19:13:27+00:00"
    },
    {
      "id": "d26c871d3f8746c1bc42cafdd2313689",
      "sender": "gmaxwell",
      "payload": "Just noticed wumpus hadn't done it. :)",
      "action": false,
      "timestamp": "2016-10-27T19:13:32+00:00"
    },
    {
      "id": "0b89042158024a52b571801d72de4270",
      "sender": "sipa",
      "payload": "maybe we can discuss signed blocks a bit",
      "action": false,
      "timestamp": "2016-10-27T19:13:43+00:00"
    },
    {
      "id": "a8fb95eb76224dcea95adb48a9cdc069",
      "sender": "gmaxwell",
      "payload": "So there are a number of things we want to do in a 0.13.2; so those should get in soon.",
      "action": false,
      "timestamp": "2016-10-27T19:13:51+00:00"
    },
    {
      "id": "9de5915f4a6f42f2b0e3e0577b90faec",
      "sender": "morcos",
      "payload": "i'm interested in discussing that, because i want to understand whether this is meant to replace the existing testnet or just be another option",
      "action": false,
      "timestamp": "2016-10-27T19:14:06+00:00"
    },
    {
      "id": "6c89a12451354aa7a2401175ce910cea",
      "sender": "morcos",
      "payload": "(signed blocks)",
      "action": false,
      "timestamp": "2016-10-27T19:14:10+00:00"
    },
    {
      "id": "20ad9ec93bb84d308bd90f14afb83bb0",
      "sender": "gmaxwell",
      "payload": "(I guess some are in and just need to backport to 0.13 branch.",
      "action": false,
      "timestamp": "2016-10-27T19:14:11+00:00"
    },
    {
      "id": "71b358ab57bf4236a8f5f849169c01b7",
      "sender": "wumpus",
      "payload": "no, it's not meant to replace the current testnet",
      "action": false,
      "timestamp": "2016-10-27T19:14:21+00:00"
    },
    {
      "id": "574fcd929a534d0297dba1a70bf05eaa",
      "sender": "kanzure",
      "payload": "re: testnet i also saw the suggestion of loading testnet params from json file",
      "action": false,
      "timestamp": "2016-10-27T19:14:24+00:00"
    },
    {
      "id": "3aca0fab56f343b5ab135d11e0149f68",
      "sender": "jtimon",
      "payload": "fine with me, I still extremely dsilike having to use a global, but don't see other way around it if we want to use the union",
      "action": false,
      "timestamp": "2016-10-27T19:14:31+00:00"
    },
    {
      "id": "d4479c223d334783b417d3c53b6cdd2f",
      "sender": "gmaxwell",
      "payload": "morcos: my expectation was that it would just be another option. Obviously it would be useless for testing much of anything mining related.",
      "action": false,
      "timestamp": "2016-10-27T19:14:51+00:00"
    },
    {
      "id": "44e781565ecd459190cabc3ece24f029",
      "sender": "jtimon",
      "payload": "what I have implemented is from .conf file, not .json file",
      "action": false,
      "timestamp": "2016-10-27T19:15:11+00:00"
    },
    {
      "id": "6674ebf8f6cb46e1a0a274aaaca46d29",
      "sender": "wumpus",
      "payload": "indeed there should at least be a PoW testnet",
      "action": false,
      "timestamp": "2016-10-27T19:15:11+00:00"
    },
    {
      "id": "5223801c0857421c9546aba0c26ef285",
      "sender": "morcos",
      "payload": "ok, i think its still important that we have a well used testnet that uses PoW as similarly to mainnet as possible..  i worry that there is kind of only going to be one \"testnet\" that people use for most purposes though",
      "action": false,
      "timestamp": "2016-10-27T19:15:27+00:00"
    },
    {
      "id": "a6d954cf53b34ae5b041d320c140d600",
      "sender": "morcos",
      "payload": "perhaps it would be possible for transactions to easily end up on both?",
      "action": false,
      "timestamp": "2016-10-27T19:15:47+00:00"
    },
    {
      "id": "21ae0c1a4d9c4fc2a0254c2b1ad3e2d9",
      "sender": "kanzure",
      "payload": "jtimon: didn't mean to recommend a specific file format; i was just pulling a thing from memory.",
      "action": false,
      "timestamp": "2016-10-27T19:15:49+00:00"
    },
    {
      "id": "136b9959618643d88fccdb6d0350f66b",
      "sender": "morcos",
      "payload": "but maybe thats askign for trouble",
      "action": false,
      "timestamp": "2016-10-27T19:16:05+00:00"
    },
    {
      "id": "f5b510f60a284372ad0e97c5278110c2",
      "sender": "wumpus",
      "payload": "yes the file format is completely not important",
      "action": false,
      "timestamp": "2016-10-27T19:16:06+00:00"
    },
    {
      "id": "68a8353a877046ebb2d941eb4aac26a6",
      "sender": "jtimon",
      "payload": "I'm still trying to test the blocksigning stuff, but the \"custom chain\" code that preceeds it is pretty much ready I think (feel free to test it and give suggestions), see https://github.com/bitcoin/bitcoin/pull/8994",
      "action": false,
      "timestamp": "2016-10-27T19:16:13+00:00"
    },
    {
      "id": "ec35313166224ab9ba34b751360dfc5e",
      "sender": "sipa",
      "payload": "morcos: i think the issue is that 'testnet' can mean \"a place where we test new network features, and subject it to huge reorgs, and other edge cases\" or \"a place where we expect companies to build a parallel infrastructure\"",
      "action": false,
      "timestamp": "2016-10-27T19:16:16+00:00"
    },
    {
      "id": "b1ccac86a6c7403b835aecaeaa127d4d",
      "sender": "cfields_",
      "payload": "adding to that, see the faux-mining mode added in the #9000 PR. That was crucial for me for real-world mining testing of segwit.",
      "action": false,
      "timestamp": "2016-10-27T19:16:28+00:00"
    },
    {
      "id": "2187775530f44da0b8593e3448b5b6fb",
      "sender": "sipa",
      "payload": "and those aren't reconcilable, i think",
      "action": false,
      "timestamp": "2016-10-27T19:16:31+00:00"
    },
    {
      "id": "2683989b1a3647fdbfe1876458b58b36",
      "sender": "jtimon",
      "payload": "that alone should be helpful for rapidly creating a new segwitnet (for the next thing) or whatever",
      "action": false,
      "timestamp": "2016-10-27T19:16:56+00:00"
    },
    {
      "id": "2f668f46eb8141538a51e9f700e33861",
      "sender": "btcdrak",
      "payload": "Blog post is up https://bitcoincore.org/en/2016/10/27/release-0.13.1/",
      "action": false,
      "timestamp": "2016-10-27T19:17:03+00:00"
    },
    {
      "id": "7ad9399f9136484985601672e3351008",
      "sender": "wumpus",
      "payload": "one testnet is simply not enough for all testing scenarios",
      "action": false,
      "timestamp": "2016-10-27T19:17:13+00:00"
    },
    {
      "id": "49e1568555c34b14be7790542aca5ffc",
      "sender": "gmaxwell",
      "payload": "morcos: alas, I don't think htats really possible. Right now the consensus insability of testnet causes some people to just not test on it.",
      "action": false,
      "timestamp": "2016-10-27T19:17:16+00:00"
    },
    {
      "id": "cf264e065be34687be6cd707b69a9f1b",
      "sender": "wumpus",
      "payload": "btcdrak: awesome",
      "action": false,
      "timestamp": "2016-10-27T19:17:19+00:00"
    },
    {
      "id": "22df6abbd70e42b7835e20e5bdea97ca",
      "sender": "kanzure",
      "payload": "re: company testing, i have been (lightly) planning to use regtest for those purposes. e.g. company-to-company regtest instances.   testnet is still important for testing of course.",
      "action": false,
      "timestamp": "2016-10-27T19:17:32+00:00"
    },
    {
      "id": "f30fe636e8704ae582324e7be2bc86ba",
      "sender": "wumpus",
      "payload": "kanzure: right - within a trusted group using a regtest is just as useful as signed blocks",
      "action": false,
      "timestamp": "2016-10-27T19:18:07+00:00"
    },
    {
      "id": "ee73bdf75b354e05a41796d162d6f1cc",
      "sender": "kanzure",
      "payload": "oh is that what the proposal is-- i'll have to go look. sorry.",
      "action": false,
      "timestamp": "2016-10-27T19:18:25+00:00"
    },
    {
      "id": "108c1c8bf1f841fbb147b1e4edc00da2",
      "sender": "wumpus",
      "payload": "it's only when exposing publicly that signing is necessary so people can't grief by generating e.g. tons of blocks",
      "action": false,
      "timestamp": "2016-10-27T19:18:45+00:00"
    },
    {
      "id": "569e7474b27d4f66a644d922747f9de0",
      "sender": "gmaxwell",
      "payload": "morcos: the issue is that while not ideal, on mainnet a reasonable way of handling very large reorgs is to shut your site down and wait for the operator to manually do something about it. If you try that strategy on testnet, your service will just be down all the time.",
      "action": false,
      "timestamp": "2016-10-27T19:19:30+00:00"
    },
    {
      "id": "1de76bbc5e6f4c61bb1a730421191ceb",
      "sender": "kanzure",
      "payload": "so for the company-to-company testing scenario, my assumption was you simply limit the number of participants to one other group, and then you know who is causing problems (either you or the other guys). still, i can see some advantages to public regtesting. sure.",
      "action": false,
      "timestamp": "2016-10-27T19:19:38+00:00"
    },
    {
      "id": "7118798e03774f3d905888a7e49315a5",
      "sender": "JackH",
      "payload": "when will ubuntu ppa's be updated?",
      "action": false,
      "timestamp": "2016-10-27T19:19:57+00:00"
    },
    {
      "id": "4ff18930ad284c81a26ff60e8308b420",
      "sender": "BlueMatt",
      "payload": "JackH: when i get to it (today)",
      "action": false,
      "timestamp": "2016-10-27T19:20:17+00:00"
    },
    {
      "id": "3dcd14a88d634d3bb262b7519872b746",
      "sender": "JackH",
      "payload": "ah sweet, you are fast this time then",
      "action": false,
      "timestamp": "2016-10-27T19:20:29+00:00"
    },
    {
      "id": "2dbbd43082604a56a9815ed1c2ac5755",
      "sender": "sipa",
      "payload": "btcdrak: nice, the timeline is cool",
      "action": false,
      "timestamp": "2016-10-27T19:20:30+00:00"
    },
    {
      "id": "6cef93fbde4f4b6cb3a83a4b2244c97f",
      "sender": "luke-jr",
      "payload": "BlueMatt: btw, is it possible/easy to do a PPA with Knots as well? (is it something I can do reasonably myself perhaps?)",
      "action": false,
      "timestamp": "2016-10-27T19:21:25+00:00"
    },
    {
      "id": "e73ecad260f8443f96dabf47b4df1841",
      "sender": "wumpus",
      "payload": "I think everyone can sign up to make PPAs",
      "action": false,
      "timestamp": "2016-10-27T19:21:56+00:00"
    },
    {
      "id": "74a408d582f94691bed9b782d803c9ed",
      "sender": "btcdrak",
      "payload": "is reading scrollback",
      "action": true,
      "timestamp": "2016-10-27T19:22:11+00:00"
    },
    {
      "id": "00ab76584e454209bbacb023a93c338a",
      "sender": "BlueMatt",
      "payload": "luke-jr: its not bad",
      "action": false,
      "timestamp": "2016-10-27T19:22:52+00:00"
    },
    {
      "id": "5e2b925d87a344b2a4cb2f7667ea27d7",
      "sender": "kanzure",
      "payload": "without signedblocks, if you had three companies trying to test an integration, you would need multiple different regtest links and to relay blocks from one network to the other with a different signature. i could see how that would be annoying to write. yeah..",
      "action": false,
      "timestamp": "2016-10-27T19:22:55+00:00"
    },
    {
      "id": "3ea5b5e1d10840b8afb76a34bf1ba1f8",
      "sender": "luke-jr",
      "payload": "wumpus: yes, it's just not very clear how one would actually make them, especially someone who doesn't use Ubuntu :p",
      "action": false,
      "timestamp": "2016-10-27T19:23:03+00:00"
    },
    {
      "id": "97f19f451a3b4c199be2babc0b69bb88",
      "sender": "Frederic94500",
      "payload": "#bitcoin If segwit doesn't activate, he will be activate to the next 2016 blocks?",
      "action": false,
      "timestamp": "2016-10-27T19:25:07+00:00"
    },
    {
      "id": "db1f90c83c6147c68295f6e88f7ae9fb",
      "sender": "sipa",
      "payload": "parse error",
      "action": false,
      "timestamp": "2016-10-27T19:25:29+00:00"
    },
    {
      "id": "b3107bfe393b47918ad4fe95c9e577fa",
      "sender": "jtimon",
      "payload": "one thing about #8994 related to wumpus' point about regtest among trusted peers... one can select -chain=custom -chainpetname=mysharedsecret and people without access to mysharedsecret  won't be able to create the genesis block locally",
      "action": false,
      "timestamp": "2016-10-27T19:25:30+00:00"
    },
    {
      "id": "b27434c33ee14ceda7e9fbb643c7f5ff",
      "sender": "BlueMatt",
      "payload": "Frederic94500: we're in the middle of a meeting, please go to #bitcoin",
      "action": false,
      "timestamp": "2016-10-27T19:25:43+00:00"
    },
    {
      "id": "45af0d360ec049a0bdbc4706cb19644e",
      "sender": "jtimon",
      "payload": "for the hash of the genesis block depends on -chainpetname",
      "action": false,
      "timestamp": "2016-10-27T19:26:01+00:00"
    },
    {
      "id": "53892a2cd1bd4026b71d224c4f270478",
      "sender": "wumpus",
      "payload": "luke-jr: in a way it's similar to travis, you have to configure the environment and the building happens on their build servers",
      "action": false,
      "timestamp": "2016-10-27T19:26:06+00:00"
    },
    {
      "id": "90f5315b0d9844448319b26f3f0c8092",
      "sender": "wumpus",
      "payload": "luke-jr: no need to run ubuntu yourself",
      "action": false,
      "timestamp": "2016-10-27T19:26:16+00:00"
    },
    {
      "id": "10c5d33e92eb47f5985bb2b3cbb2222c",
      "sender": "jonasschnelli",
      "payload": "Luke-Jr: there are also meta-generator that auto-generated deb/PPA and fedora, etc. out of one script/conf",
      "action": false,
      "timestamp": "2016-10-27T19:26:36+00:00"
    },
    {
      "id": "41bfbe7c8966429a91546fd4e083e96f",
      "sender": "BlueMatt",
      "payload": "wumpus: only in theory....the upload tool stuff is really a bitch to get installed on non-debian systems",
      "action": false,
      "timestamp": "2016-10-27T19:26:47+00:00"
    },
    {
      "id": "3cc3e679fd52487c98e2c6a0d0fb7450",
      "sender": "luke-jr",
      "payload": ":x",
      "action": false,
      "timestamp": "2016-10-27T19:26:55+00:00"
    },
    {
      "id": "3ac326327f954f769de633d467e02fbe",
      "sender": "wumpus",
      "payload": "BlueMatt: haha that's sad, I didn't know",
      "action": false,
      "timestamp": "2016-10-27T19:27:24+00:00"
    },
    {
      "id": "8530d18babae4abf960dab0c8a4b6116",
      "sender": "petertodd",
      "payload": "jtimon: I like the idea of a shared secret vs. pubkey based testnet, as it makes it clear that it's only for testing, not doing some kind of \"bankchain\" sillyness",
      "action": false,
      "timestamp": "2016-10-27T19:27:34+00:00"
    },
    {
      "id": "e41c9ed23cc8402998b3f629e9b7036f",
      "sender": "jtimon",
      "payload": "well, signed blocks have other advantages for testing, but it's definitely more dsiruptive",
      "action": false,
      "timestamp": "2016-10-27T19:28:05+00:00"
    },
    {
      "id": "db60f2bcaf7441c992a441bccef3cd5a",
      "sender": "wumpus",
      "payload": "bitcoin.org change is merged",
      "action": false,
      "timestamp": "2016-10-27T19:28:16+00:00"
    },
    {
      "id": "076ffa7776a04b2d9136bc11de43832f",
      "sender": "petertodd",
      "payload": "jtimon: also, a hmac based thing may be easier to implement it - can be done by just changing the most-work chain test to require XOR key == 0; doesn't require any datastructures to change",
      "action": false,
      "timestamp": "2016-10-27T19:29:08+00:00"
    },
    {
      "id": "d9791d57952244ca87f91dabda0d2477",
      "sender": "jtimon",
      "payload": "you can just share a chainparams.conf file and when if someone decides to load your testnet with too much work, s/mychainname/mychainname2/ and you start again I guess",
      "action": false,
      "timestamp": "2016-10-27T19:29:41+00:00"
    },
    {
      "id": "2b385987e7824cada02df2170ef577f6",
      "sender": "wumpus",
      "payload": "right, changing the block header structure is what makes it scary",
      "action": false,
      "timestamp": "2016-10-27T19:29:47+00:00"
    },
    {
      "id": "44d8512e481b4a9295cba138da214bbc",
      "sender": "petertodd",
      "payload": "wumpus: s/scary/a lot of work/ :)",
      "action": false,
      "timestamp": "2016-10-27T19:30:53+00:00"
    },
    {
      "id": "b2825d7f42284c499aca4505e122f076",
      "sender": "gmaxwell",
      "payload": "topic: suggestion final alert stuff.",
      "action": false,
      "timestamp": "2016-10-27T19:31:12+00:00"
    },
    {
      "id": "9033236c60854d228f2117d97f424f0c",
      "sender": "jtimon",
      "payload": "petertodd: not hmac, the chainpetname is simply used for the genesis block timestamp (ie replacing \"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks\"), see https://github.com/bitcoin/bitcoin/pull/8994/commits/ee3a9e4ed986a3aef84b0e081a31d91237d53294",
      "action": false,
      "timestamp": "2016-10-27T19:31:12+00:00"
    },
    {
      "id": "897fc93ff6dd410f90a77f10934437be",
      "sender": "wumpus",
      "payload": "I mean more s/scary/high risk/",
      "action": false,
      "timestamp": "2016-10-27T19:31:21+00:00"
    },
    {
      "id": "d19ccbad9e354e599dac194fd8258c6a",
      "sender": "sipa",
      "payload": "petertodd: it's surprisingly little work, but it's hard to do in a way that is 1) clean 2) runtime selectable 3) reviewable",
      "action": false,
      "timestamp": "2016-10-27T19:31:31+00:00"
    },
    {
      "id": "3fccc88ea6bd4c5082174b7be2475559",
      "sender": "wumpus",
      "payload": "the implementation work is not so bad, review, sure",
      "action": false,
      "timestamp": "2016-10-27T19:31:35+00:00"
    },
    {
      "id": "8c1a8f2ea8b547c597c6182e88daf66b",
      "sender": "sipa",
      "payload": "petertodd: pick 2",
      "action": false,
      "timestamp": "2016-10-27T19:31:38+00:00"
    },
    {
      "id": "e0ed2113f8ad4b4eb9624810ecdc2522",
      "sender": "petertodd",
      "payload": "fwiw, I use this same kind of hmac auth trick in open timestamps so calendar servers can use clients as a last-ditch backup, without having the servers actually sign anything in a non-repudiatable way",
      "action": false,
      "timestamp": "2016-10-27T19:31:50+00:00"
    },
    {
      "id": "301d23b95f7f462c8a9077047c9bbd01",
      "sender": "jtimon",
      "payload": "we could make other chainparams count for the genesis block hash",
      "action": false,
      "timestamp": "2016-10-27T19:31:51+00:00"
    },
    {
      "id": "76f7c537c8204884bc73f3ece901aa0e",
      "sender": "wumpus",
      "payload": "I mean introducing some union into CBlockHeader would mean there'd be a risk of regression even in the non-testing case",
      "action": false,
      "timestamp": "2016-10-27T19:33:10+00:00"
    },
    {
      "id": "d95cbd995c9c4405be688b71fdc68240",
      "sender": "petertodd",
      "payload": "wumpus: ah, yes, good point",
      "action": false,
      "timestamp": "2016-10-27T19:33:25+00:00"
    },
    {
      "id": "ad2d8a6251654f359b97eeecdd83acef",
      "sender": "jtimon",
      "payload": "petertodd: well, I find it more scary than painful too, at least the way I'm doing it with the union (there's also a less scary way that uses more memory in mainnet and another one that is simply way way way too disruptive)",
      "action": false,
      "timestamp": "2016-10-27T19:33:28+00:00"
    },
    {
      "id": "a93dc2bd8a1e49288ca5fb1f48ba568d",
      "sender": "petertodd",
      "payload": "wumpus: I'm wrong - that is scary",
      "action": false,
      "timestamp": "2016-10-27T19:33:46+00:00"
    },
    {
      "id": "f42b8344edd6457abbdf2a15b5bfcddf",
      "sender": "btcdrak",
      "payload": "sipa: you have to thank harding! he wrote it all.",
      "action": false,
      "timestamp": "2016-10-27T19:33:52+00:00"
    },
    {
      "id": "2e29af96cd9f4a8ca614e1c9d232a860",
      "sender": "kanzure",
      "payload": "what is remaining re: final alert things?",
      "action": false,
      "timestamp": "2016-10-27T19:35:15+00:00"
    },
    {
      "id": "2f0a452ad8e54cd394b03e32c5672557",
      "sender": "kanzure",
      "payload": "was the page on one of the .org sites merged",
      "action": false,
      "timestamp": "2016-10-27T19:35:24+00:00"
    },
    {
      "id": "d9a7f9e273eb4670aed50a47e40dc470",
      "sender": "jtimon",
      "payload": "topic suggestion: are we removing the use of checkpoints for progress estimation?",
      "action": false,
      "timestamp": "2016-10-27T19:35:55+00:00"
    },
    {
      "id": "ca596d480d4b45498f4dc22c50f3fd14",
      "sender": "gmaxwell",
      "payload": "kanzure: we're not on that toopic now.",
      "action": false,
      "timestamp": "2016-10-27T19:35:55+00:00"
    },
    {
      "id": "06684bef68fd40b793195c61291e8d04",
      "sender": "gmaxwell",
      "payload": "topic suggestion: My work removing checkpoints _completely_.",
      "action": false,
      "timestamp": "2016-10-27T19:36:24+00:00"
    },
    {
      "id": "13adabf24dee41009bc4d1b7983dfd4d",
      "sender": "wumpus",
      "payload": "#topic removing checkpoints",
      "action": false,
      "timestamp": "2016-10-27T19:36:45+00:00"
    },
    {
      "id": "02e755edce0544d39ad94e8289843a9b",
      "sender": "gmaxwell",
      "payload": "I have a branch that is removing checkpoints. Haven't totally taken them out yet because I need to replace progress estimation.",
      "action": false,
      "timestamp": "2016-10-27T19:37:24+00:00"
    },
    {
      "id": "86935fd4d0d844ffb98f5245457668b2",
      "sender": "gmaxwell",
      "payload": "It's not hard to do that, just takes a little twiddling.",
      "action": false,
      "timestamp": "2016-10-27T19:37:46+00:00"
    },
    {
      "id": "73757151e8374a64aee594a375e47c41",
      "sender": "wumpus",
      "payload": "that's good news - progress estimation is probably the least interesting use of them",
      "action": false,
      "timestamp": "2016-10-27T19:37:50+00:00"
    },
    {
      "id": "5bfc3e320cce47228bd86ccbb14f3811",
      "sender": "gmaxwell",
      "payload": "https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
      "action": false,
      "timestamp": "2016-10-27T19:38:00+00:00"
    },
    {
      "id": "a1cb3fdb98b549b78d5562d10825f5af",
      "sender": "wumpus",
      "payload": "yea",
      "action": false,
      "timestamp": "2016-10-27T19:38:01+00:00"
    },
    {
      "id": "8a785c7cf6d84ee0a34ac8ab158e8668",
      "sender": "wumpus",
      "payload": "#link https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
      "action": false,
      "timestamp": "2016-10-27T19:38:11+00:00"
    },
    {
      "id": "fe4ce8607f0d4448aa4bc5cdce04f002",
      "sender": "gmaxwell",
      "payload": "There are three main components:  Removal of checkpoints for IBD test.  This is a no brainer.  Removal of checkpoints for script checking-- this depends on benchmark results, as we discussed perhaps 4 meethings ago. and the third:",
      "action": false,
      "timestamp": "2016-10-27T19:38:47+00:00"
    },
    {
      "id": "2c85a48098ac4fabb19fdba051fc48b3",
      "sender": "wumpus",
      "payload": "did you run into something difficult / uncertain?",
      "action": false,
      "timestamp": "2016-10-27T19:38:50+00:00"
    },
    {
      "id": "041e0b822b4046da9611bd4b0031193f",
      "sender": "gmaxwell",
      "payload": "The last use is avoiding header flooding.  I came up with a tidy way to do this, I think, but it requires an implicit consensus change but I think it is very trivial and obviously fine. But likely to delay things.",
      "action": false,
      "timestamp": "2016-10-27T19:39:42+00:00"
    },
    {
      "id": "3481aee7997c45c69a12e82c95e41376",
      "sender": "wumpus",
      "payload": "what about the DoS protection?",
      "action": false,
      "timestamp": "2016-10-27T19:39:43+00:00"
    },
    {
      "id": "7545cb436721466698c4e99b447be5e2",
      "sender": "wumpus",
      "payload": "consensus change, as in a softfork?",
      "action": false,
      "timestamp": "2016-10-27T19:40:07+00:00"
    },
    {
      "id": "27d1665ab9084f01a79411d98f8f77b8",
      "sender": "morcos",
      "payload": "do tell",
      "action": false,
      "timestamp": "2016-10-27T19:40:14+00:00"
    },
    {
      "id": "865137264f7f4621ae3fcadcbc6ac2ea",
      "sender": "gmaxwell",
      "payload": "not a softfork. I'm telling.",
      "action": false,
      "timestamp": "2016-10-27T19:40:20+00:00"
    },
    {
      "id": "a07e8c09fcff43018c87d97fbd9c51c4",
      "sender": "gmaxwell",
      "payload": "My changes introduce a constant in chain params which is the known amount of work in the best chain at ~release time.  The IBD check uses this, we've talked about using that before for some checkpoint like things.",
      "action": false,
      "timestamp": "2016-10-27T19:40:38+00:00"
    },
    {
      "id": "62cd88d30ed5468f8cec598fc3988168",
      "sender": "gmaxwell",
      "payload": "So I propose that once we have any header chain that has at least that much work in it, we do not accept any more blocks with difficulty under 16 million-- which is roughly equal to about 10 commercially available mining devices.",
      "action": false,
      "timestamp": "2016-10-27T19:41:34+00:00"
    },
    {
      "id": "f53282f90ed442d499435b5609aa6f4d",
      "sender": "petertodd",
      "payload": "note that from the point of view of consensus this is technically speaking no different than making bitcoin core come with a set of blockchain data",
      "action": false,
      "timestamp": "2016-10-27T19:41:35+00:00"
    },
    {
      "id": "90e1cabb486b4200847d5bb4fddb460d",
      "sender": "jtimon",
      "payload": "isn't the minimum difficulty check a softfork?",
      "action": false,
      "timestamp": "2016-10-27T19:41:49+00:00"
    },
    {
      "id": "51af778764e2456fb736fd89499e0271",
      "sender": "gmaxwell",
      "payload": "This is a consenus change because the chain could never fall below difficulty 16 million in the future, but an unobservable one... as observing it would require the difficulty fall below 16 million. :)",
      "action": false,
      "timestamp": "2016-10-27T19:42:06+00:00"
    },
    {
      "id": "9c8f6709e2c44c53a1fba1e51fdfa2d8",
      "sender": "wumpus",
      "payload": "petertodd: well it wouldn't lock in specific blocks as the checkpoints do",
      "action": false,
      "timestamp": "2016-10-27T19:42:10+00:00"
    },
    {
      "id": "d0b0bd0bffc640418dbfb1e8d334c4de",
      "sender": "petertodd",
      "payload": "er, gregs #2 thing makes my statement invalid :)",
      "action": false,
      "timestamp": "2016-10-27T19:42:10+00:00"
    },
    {
      "id": "b256bcd7972349c2bb3a56fdeba320a3",
      "sender": "jtimon",
      "payload": "gmaxwell: yeah, it's a softfork in the pedantic sense",
      "action": false,
      "timestamp": "2016-10-27T19:42:40+00:00"
    },
    {
      "id": "7e0b06f149284fd59cf228dfeff1828d",
      "sender": "petertodd",
      "payload": "wumpus: right, I mean, w/o the minimum diff thing, the effect would be no different than ensuring bitcoin core shipped with blockchain data",
      "action": false,
      "timestamp": "2016-10-27T19:42:42+00:00"
    },
    {
      "id": "6b977f2271fb424e811a031fc9ce9383",
      "sender": "gmaxwell",
      "payload": "jtimon: in a sense, but an unobservable one. Yes.",
      "action": false,
      "timestamp": "2016-10-27T19:42:45+00:00"
    },
    {
      "id": "6fa8aab0282546d99281503b497884a2",
      "sender": "jeremyrubin",
      "payload": "I don't think that's great...",
      "action": false,
      "timestamp": "2016-10-27T19:42:45+00:00"
    },
    {
      "id": "9dde7bd5cfcf4cff809124e90e915352",
      "sender": "jeremyrubin",
      "payload": "Can't difficulty fall that low under a soft fork to a different PoW?",
      "action": false,
      "timestamp": "2016-10-27T19:43:03+00:00"
    },
    {
      "id": "c053f79faea54713a7933c362db49d72",
      "sender": "jeremyrubin",
      "payload": "(not that that should happen)",
      "action": false,
      "timestamp": "2016-10-27T19:43:16+00:00"
    },
    {
      "id": "52415d521bdd4bae8f5722af94c18eb2",
      "sender": "petertodd",
      "payload": "jeremyrubin: yes, and at that point your idea of what bitcoin is is so insecure as to be useless",
      "action": false,
      "timestamp": "2016-10-27T19:43:19+00:00"
    },
    {
      "id": "d2dccd56d91f421b809b3e0bdfb53d57",
      "sender": "gmaxwell",
      "payload": "jeremyrubin: then you take out the rule.",
      "action": false,
      "timestamp": "2016-10-27T19:43:22+00:00"
    },
    {
      "id": "7bcf263ab81e4f54a93377e5d6b33e78",
      "sender": "jtimon",
      "payload": "like really imposing the 21 M limit, that was a softfork too, but no need to use bip9 to deploy I guess",
      "action": false,
      "timestamp": "2016-10-27T19:43:30+00:00"
    },
    {
      "id": "fee5510cb638455eb208ee2892890257",
      "sender": "petertodd",
      "payload": "jtimon: +1",
      "action": false,
      "timestamp": "2016-10-27T19:43:40+00:00"
    },
    {
      "id": "fbcd0a831ba5409c86441e6276eeae93",
      "sender": "Chris_Stewart_5",
      "payload": "wouldn't that be a hard fork to remove it if it was enforced?",
      "action": false,
      "timestamp": "2016-10-27T19:43:43+00:00"
    },
    {
      "id": "348e0d5dc9ba4adc9fe68d2d97b2c916",
      "sender": "gmaxwell",
      "payload": "the 16 million number was just a result of a tidy amount with bitmasking that also is really infeasable to attack but also trivial to mine... 10 devices.",
      "action": false,
      "timestamp": "2016-10-27T19:43:53+00:00"
    },
    {
      "id": "9d468a207907403fa5681c0cdbecb638",
      "sender": "petertodd",
      "payload": "Chris_Stewart_5: yes, removiing is a hard fork, but remember we're talking about a situation where bitcoin as you know it is useless, so tha'ts irrelevant IMO",
      "action": false,
      "timestamp": "2016-10-27T19:44:11+00:00"
    },
    {
      "id": "3ceb01cfdf8a431ab96dd075e8763e44",
      "sender": "gmaxwell",
      "payload": "If someone worried that 16 million were too high, there is a pretty broad range that the number could reasonable be set in.",
      "action": false,
      "timestamp": "2016-10-27T19:44:24+00:00"
    },
    {
      "id": "985b1064c90b4855b29c9bfe0f7d8ee0",
      "sender": "petertodd",
      "payload": "gmaxwell: honestly, I'd be inclined to go even higher - 10 machines is absolutely nothing",
      "action": false,
      "timestamp": "2016-10-27T19:44:54+00:00"
    },
    {
      "id": "3b3276b8a1ed4db7933af5040ddd94bb",
      "sender": "gmaxwell",
      "payload": "Anything over 100k would pretty much halt any real risk headerflooding, with current hardware. 16M adds a good amount of headroom.",
      "action": false,
      "timestamp": "2016-10-27T19:45:18+00:00"
    },
    {
      "id": "2af61075f6b64d45b7068dabe83ec398",
      "sender": "Chris_Stewart_5",
      "payload": "but in jeremyrubin example if we are soft forkign to a different PoW that doesn't necessarily hold true, does it? Perhaps I don't understand circumstances of forking to another PoW though..",
      "action": false,
      "timestamp": "2016-10-27T19:45:24+00:00"
    },
    {
      "id": "b5e0fb3011f14829a435223c7f013350",
      "sender": "jeremyrubin",
      "payload": "petertodd: I disagree, but that's more of a wizards topic",
      "action": false,
      "timestamp": "2016-10-27T19:45:36+00:00"
    },
    {
      "id": "e0fa46e056504b0485921fe5fd5a9b45",
      "sender": "jtimon",
      "payload": "gmaxwell: are you sure you want to change CheckBlockHeader instead of CheckProofOfWork ?",
      "action": false,
      "timestamp": "2016-10-27T19:45:50+00:00"
    },
    {
      "id": "375cae6387fb41a2b337f287a127a23d",
      "sender": "morcos",
      "payload": "gmaxwell: i'm not so sure about that.. isn't the abilitity to soft fork to a different PoW something we might want to preserve?",
      "action": false,
      "timestamp": "2016-10-27T19:45:53+00:00"
    },
    {
      "id": "ec186eb3d4a746cca6918e53fd12a21c",
      "sender": "petertodd",
      "payload": "Chris_Stewart_5: a \"soft-fork\" to a different PoW isn't really a soft-fork, because the old clients are now horribly insecure",
      "action": false,
      "timestamp": "2016-10-27T19:45:57+00:00"
    },
    {
      "id": "6c9a225e95cb47849cde557d6922334f",
      "sender": "jeremyrubin",
      "payload": "petertodd: e.g., something like tadge's proof of idle",
      "action": false,
      "timestamp": "2016-10-27T19:46:10+00:00"
    },
    {
      "id": "64aa2a9d462c4ce3b777320184676b7e",
      "sender": "gmaxwell",
      "payload": "Chris_Stewart_5: softforking to a new pow is not really a softfork.  In any case: keeping it at least that high would require only 10 devices, and ... any old nodes in that world could have their chain redone by those same 10 devices.",
      "action": false,
      "timestamp": "2016-10-27T19:46:11+00:00"
    },
    {
      "id": "c945d428cad1410684cff0894974e8cc",
      "sender": "petertodd",
      "payload": "morcos: there is no such thing as a soft-fork to a different proof-of-work - doing that doesn't have the security characteristics of a soft-fork",
      "action": false,
      "timestamp": "2016-10-27T19:46:23+00:00"
    },
    {
      "id": "37fa56d671e64e86a18dcb46dc3566fb",
      "sender": "gmaxwell",
      "payload": "morcos: it is preserved.",
      "action": false,
      "timestamp": "2016-10-27T19:46:25+00:00"
    },
    {
      "id": "aa2382b473f04a19885fba168f1482b3",
      "sender": "gmaxwell",
      "payload": "to the extent that it exists.",
      "action": false,
      "timestamp": "2016-10-27T19:46:33+00:00"
    },
    {
      "id": "b629c6b9d62c46ffa8aff1d28c65bced",
      "sender": "morcos",
      "payload": "give how hard hard forks are.. imagine there was a contentious HF that took majority hash power..  might the minority not want to be able to softfork away without having to agree on a HF",
      "action": false,
      "timestamp": "2016-10-27T19:46:34+00:00"
    },
    {
      "id": "7178f0ea86bd48ddae70efdd30ad5fd5",
      "sender": "jtimon",
      "payload": "Chris_Stewart_5: yeah if you want a different pow just hardfork",
      "action": false,
      "timestamp": "2016-10-27T19:46:46+00:00"
    },
    {
      "id": "aa52dd34421b43b68c62a0ba0cca828b",
      "sender": "gmaxwell",
      "payload": "Imagine the diff floor is 1. okay, then the diff goes down to 1. okay.. now I start up a 2011 asic miner and immediately break all those un upgraded nodes.",
      "action": false,
      "timestamp": "2016-10-27T19:46:58+00:00"
    },
    {
      "id": "d66b830760794001af484dfaba6246dd",
      "sender": "morcos",
      "payload": "ok, i need to think about it more.. but i think we should analyze all those scenarios",
      "action": false,
      "timestamp": "2016-10-27T19:47:01+00:00"
    },
    {
      "id": "6ba653934a9e424a911095fb70818c12",
      "sender": "gmaxwell",
      "payload": "morcos: but thats also why my figure is ~10 devices and not 10,000 devices. :)",
      "action": false,
      "timestamp": "2016-10-27T19:47:21+00:00"
    },
    {
      "id": "3c9478dcdcfd497a9a4c297aace0ded9",
      "sender": "gmaxwell",
      "payload": "In any case. I think it's fairly easy to understand. And I think the solution basically has all the properties that we want.",
      "action": false,
      "timestamp": "2016-10-27T19:47:43+00:00"
    },
    {
      "id": "4c357db1bea240a5ba2e8675cbb68d37",
      "sender": "petertodd",
      "payload": "morcos: again, this is a scenario where bitcoin as you know it is horribly insecure - anyone with >10 machines could attack your min-diff chain. I had a high enough credit limit as a student to buy more machines than that. :)",
      "action": false,
      "timestamp": "2016-10-27T19:47:48+00:00"
    },
    {
      "id": "526a4dec59b4449eb0564d13edb70a0a",
      "sender": "gmaxwell",
      "payload": "But I expected thought and discussion on it.",
      "action": false,
      "timestamp": "2016-10-27T19:47:51+00:00"
    },
    {
      "id": "7625007c3d7241b8807d68d5583f1958",
      "sender": "BlueMatt",
      "payload": "gmaxwell: ideally we would like to add the property that someone cant flood you during IBD, but to be fair we also suffer from DoS issues there now",
      "action": false,
      "timestamp": "2016-10-27T19:48:12+00:00"
    },
    {
      "id": "39ab9df8f50f4ed0b25363fb96e34904",
      "sender": "petertodd",
      "payload": "gmaxwell: if hardware improves, do we up the min diff again? IMO that'd be reasonable",
      "action": false,
      "timestamp": "2016-10-27T19:48:24+00:00"
    },
    {
      "id": "c815030db695429ab398e3468e88756f",
      "sender": "morcos",
      "payload": "petertodd: not if you've softforked in other PoW requirements that the attackers don't have the hashing or whateve rto produce",
      "action": false,
      "timestamp": "2016-10-27T19:48:31+00:00"
    },
    {
      "id": "6d54b2ae951e41c587c463aca2a9cd67",
      "sender": "gmaxwell",
      "payload": "BlueMatt: So hold up there.",
      "action": false,
      "timestamp": "2016-10-27T19:48:42+00:00"
    },
    {
      "id": "f0382ec2204645b88b8a8bba1e9323b1",
      "sender": "gmaxwell",
      "payload": "BlueMatt: I think what I propos has _exactly_ as good protection for that as we currently have, if not somewhat better.",
      "action": false,
      "timestamp": "2016-10-27T19:49:01+00:00"
    },
    {
      "id": "198a2ec1c24c4c899391e2926357d0e0",
      "sender": "Chris_Stewart_5",
      "payload": "And this solves header flooding because it requires the attacker to provide headers with ATLEAST that much difficulty, correct?",
      "action": false,
      "timestamp": "2016-10-27T19:49:09+00:00"
    },
    {
      "id": "4012f28ed69f436e9f8d7599e61eafa8",
      "sender": "BlueMatt",
      "payload": "gmaxwell: didnt disagree, only suggested that ideally we'd fix the issues we have now",
      "action": false,
      "timestamp": "2016-10-27T19:49:18+00:00"
    },
    {
      "id": "426f185cacc34f8ea446b3a9d2e877d9",
      "sender": "petertodd",
      "payload": "morcos: but again, because that's not really a soft-fork, might as well do a small hardfork at that point to drop the requirement for SHA2 PoW at some point wel before just 10 machines are needed",
      "action": false,
      "timestamp": "2016-10-27T19:49:18+00:00"
    },
    {
      "id": "420ee1dcbc2546a5b2c642ccec37f6de",
      "sender": "gmaxwell",
      "payload": "BlueMatt: right now we won't accept lower difficulty blocks after we've validated up to a paritcular checkpoint.",
      "action": false,
      "timestamp": "2016-10-27T19:49:19+00:00"
    },
    {
      "id": "5810e8400fb245268747e744b17223fe",
      "sender": "gmaxwell",
      "payload": "(okay I'll still explain as other people might miss this)",
      "action": false,
      "timestamp": "2016-10-27T19:49:30+00:00"
    },
    {
      "id": "82c12768455d45309393bac799d5abcc",
      "sender": "gmaxwell",
      "payload": "So you can consider two cases: one where the first peer you fetch from is an attacker, and one where the first peer is honest.",
      "action": false,
      "timestamp": "2016-10-27T19:49:51+00:00"
    },
    {
      "id": "2933f71c6a9a469b901f64a0e1d45c66",
      "sender": "morcos",
      "payload": "petertodd: i need to think about that.. but i imagine it might always be easier to soft fork, even under adverse scenario like that",
      "action": false,
      "timestamp": "2016-10-27T19:50:10+00:00"
    },
    {
      "id": "ee7d2d83252e498cbec37cd2a3dd786a",
      "sender": "gmaxwell",
      "payload": "If the first peer is an attacker, you'll get header flooded now or under my proposal. (but at least it's just a one time initial install exposure)",
      "action": false,
      "timestamp": "2016-10-27T19:50:11+00:00"
    },
    {
      "id": "0e78397657b545b398d3ff9818e6a625",
      "sender": "BlueMatt",
      "payload": "gmaxwell: well, not sure its better since the \"frst checkpoint\" is \"known amount of work in the best chain at ~release time\" instead of a few along the way to 300k",
      "action": false,
      "timestamp": "2016-10-27T19:50:33+00:00"
    },
    {
      "id": "14b363a0420240f9a9d1b742949d2fca",
      "sender": "gmaxwell",
      "payload": "If the first peer is not an attacker, in my propoal you'll quickly have all the headers and blocked from any attacks. Also no less good than now.",
      "action": false,
      "timestamp": "2016-10-27T19:50:51+00:00"
    },
    {
      "id": "6e491bc8a65c4a418d594d461368af98",
      "sender": "BlueMatt",
      "payload": "(under first-peer-is-evil attacks, but ok)",
      "action": false,
      "timestamp": "2016-10-27T19:50:53+00:00"
    },
    {
      "id": "adeb175364774b75b15adccbbd4379e1",
      "sender": "gmaxwell",
      "payload": "BlueMatt: but my proposal needs only headers.",
      "action": false,
      "timestamp": "2016-10-27T19:51:00+00:00"
    },
    {
      "id": "7d6088eef8d64ac198d639cd668d427c",
      "sender": "gmaxwell",
      "payload": "oh under first peer is attacker",
      "action": false,
      "timestamp": "2016-10-27T19:51:16+00:00"
    },
    {
      "id": "d1010d4a71154df6a185ac952c80faab",
      "sender": "petertodd",
      "payload": "morcos: anyway, good to do up some deployment scenarios regardless to explain how that'd work",
      "action": false,
      "timestamp": "2016-10-27T19:51:17+00:00"
    },
    {
      "id": "849bccf627f4452f9ac06466d8c5887e",
      "sender": "BlueMatt",
      "payload": "oh, i thought we applied checkpoints against headers now",
      "action": false,
      "timestamp": "2016-10-27T19:51:17+00:00"
    },
    {
      "id": "a66b2b16f9504d1fbac0d48bf931a51b",
      "sender": "BlueMatt",
      "payload": "nvm",
      "action": false,
      "timestamp": "2016-10-27T19:51:18+00:00"
    },
    {
      "id": "089a273377604552987e10d0537cd2c7",
      "sender": "sipa",
      "payload": "BlueMatt: we do; after passing a certain checkpoint, we don't accept headers that fork off before that checkpoint",
      "action": false,
      "timestamp": "2016-10-27T19:51:49+00:00"
    },
    {
      "id": "3cccb71909714d808cad8160e1c3abea",
      "sender": "BlueMatt",
      "payload": "ok, lets take this offline",
      "action": false,
      "timestamp": "2016-10-27T19:52:06+00:00"
    },
    {
      "id": "c16ddd10ce324c1aa4e3a0ef60e100cc",
      "sender": "BlueMatt",
      "payload": "suggested additional topics?",
      "action": false,
      "timestamp": "2016-10-27T19:52:11+00:00"
    },
    {
      "id": "676dcac065ab4d8fb00c413f7c98ceb9",
      "sender": "gmaxwell",
      "payload": "Okay, thats the overview.",
      "action": false,
      "timestamp": "2016-10-27T19:52:13+00:00"
    },
    {
      "id": "7683d224ce964f77b6470f7db172450e",
      "sender": "gmaxwell",
      "payload": "I suggested the final alert. I suppose I should coordinate with achow and cobra to get the thing up and alert out. Any reasons to hold off?",
      "action": false,
      "timestamp": "2016-10-27T19:52:42+00:00"
    },
    {
      "id": "022c842be9ff4869af441067cd3528e0",
      "sender": "jtimon",
      "payload": "mhmm, pindexBestHeader->nChainWork < UintToArith256(consensusParams.nMinimumChainWork) ? consensusParams.powLimit : consensusParams.powLimitLater",
      "action": false,
      "timestamp": "2016-10-27T19:53:38+00:00"
    },
    {
      "id": "958ff48c3fad4cc19609bf3b3eaf20cf",
      "sender": "jtimon",
      "payload": "what about instead... block.nHeight < consensusParams.highPowLimitHeight ? consensusParams.powLimit : consensusParams.powLimitLater",
      "action": false,
      "timestamp": "2016-10-27T19:53:38+00:00"
    },
    {
      "id": "f38c7d6fc8ac4cf1a74aa294e609f4a3",
      "sender": "wumpus",
      "payload": "#topic the final alert",
      "action": false,
      "timestamp": "2016-10-27T19:53:39+00:00"
    },
    {
      "id": "c76311097d574445b438ad1317021f51",
      "sender": "wumpus",
      "payload": "no reason IMO",
      "action": false,
      "timestamp": "2016-10-27T19:53:53+00:00"
    },
    {
      "id": "7ad7ecbd183b405fbebce7995909643a",
      "sender": "btcdrak",
      "payload": "gmaxwell: please get it over with.",
      "action": false,
      "timestamp": "2016-10-27T19:53:55+00:00"
    },
    {
      "id": "05482fec4f224a8e8a47125f8a24bf8a",
      "sender": "gmaxwell",
      "payload": "Okay. will coordinate.",
      "action": false,
      "timestamp": "2016-10-27T19:54:39+00:00"
    },
    {
      "id": "394bcbd0f67a4b558fa12a099278e69f",
      "sender": "gmaxwell",
      "payload": "jtimon: that would make it trivial for an attacker to capture you on a fake chain.",
      "action": false,
      "timestamp": "2016-10-27T19:55:13+00:00"
    },
    {
      "id": "91dad35548c24f6d9eef5130926a7d57",
      "sender": "gmaxwell",
      "payload": "jtimon: just feed you a chain of diff 1 blocks of that height.. and now you won't accept the low diff blocks on the real chain anymore.",
      "action": false,
      "timestamp": "2016-10-27T19:55:38+00:00"
    },
    {
      "id": "a155b087e57e4c10bb0c4a90fd203a19",
      "sender": "jtimon",
      "payload": "gmaxwell: how am I prevented from handling reorgs in the same way as you?",
      "action": false,
      "timestamp": "2016-10-27T19:56:48+00:00"
    },
    {
      "id": "607b169477ce44f6b566a8ae923f7bc5",
      "sender": "sipa",
      "payload": "jtimon: creating many blocks is easy. creating much work is hard",
      "action": false,
      "timestamp": "2016-10-27T19:57:14+00:00"
    },
    {
      "id": "bc646d2fbd864548a86706d862dc20c2",
      "sender": "gmaxwell",
      "payload": "anyting left in the meeting (I'll continue this convo after)",
      "action": false,
      "timestamp": "2016-10-27T19:57:43+00:00"
    },
    {
      "id": "6ef7ed693bd844febf7dff481e4af004",
      "sender": "jtimon",
      "payload": "what I think it's add less risk since  consensusParams.highPowLimitHeight is fixed but nMinimumChainWork is expected to chain with each release, no?",
      "action": false,
      "timestamp": "2016-10-27T19:57:49+00:00"
    },
    {
      "id": "d3c5689510ab44eaa2bd6664ae71017c",
      "sender": "jtimon",
      "payload": "I must be missing something, I don't see the vulnerability that my proposed change introduces",
      "action": false,
      "timestamp": "2016-10-27T19:58:24+00:00"
    },
    {
      "id": "5886ac5429ba478ca368876113e00cb2",
      "sender": "wumpus",
      "payload": "ok, that concludes the meeting I think",
      "action": false,
      "timestamp": "2016-10-27T19:58:26+00:00"
    },
    {
      "id": "45168c6574e54470a46bfe9a5e7d54ae",
      "sender": "wumpus",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2016-10-27T19:58:34+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "94fbb899abb547ab8b71625015fe995a",
        "sender": "wumpus",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2016-10-27T19:01:23+00:00"
      },
      "operand": null,
      "id": "94fbb899abb547ab8b71625015fe995a",
      "timestamp": "2016-10-27T19:01:23+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "c2cc6dbe859f4fc58f74b04c6d9dcb10",
        "sender": "gmaxwell",
        "payload": "https://www.reddit.com/r/Bitcoin/comments/59pt66/bitcoin_core_0131_released/",
        "action": false,
        "timestamp": "2016-10-27T19:02:49+00:00"
      },
      "operand": "https://www.reddit.com/r/Bitcoin/comments/59pt66/bitcoin_core_0131_released/",
      "id": "c2cc6dbe859f4fc58f74b04c6d9dcb10",
      "timestamp": "2016-10-27T19:02:49+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "13adabf24dee41009bc4d1b7983dfd4d",
        "sender": "wumpus",
        "payload": "#topic removing checkpoints",
        "action": false,
        "timestamp": "2016-10-27T19:36:45+00:00"
      },
      "operand": "removing checkpoints",
      "id": "13adabf24dee41009bc4d1b7983dfd4d",
      "timestamp": "2016-10-27T19:36:45+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "5bfc3e320cce47228bd86ccbb14f3811",
        "sender": "gmaxwell",
        "payload": "https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
        "action": false,
        "timestamp": "2016-10-27T19:38:00+00:00"
      },
      "operand": "https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
      "id": "5bfc3e320cce47228bd86ccbb14f3811",
      "timestamp": "2016-10-27T19:38:00+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "8a785c7cf6d84ee0a34ac8ab158e8668",
        "sender": "wumpus",
        "payload": "#link https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
        "action": false,
        "timestamp": "2016-10-27T19:38:11+00:00"
      },
      "operand": "https://github.com/gmaxwell/bitcoin/tree/remove_checkpoints",
      "id": "8a785c7cf6d84ee0a34ac8ab158e8668",
      "timestamp": "2016-10-27T19:38:11+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "f38c7d6fc8ac4cf1a74aa294e609f4a3",
        "sender": "wumpus",
        "payload": "#topic the final alert",
        "action": false,
        "timestamp": "2016-10-27T19:53:39+00:00"
      },
      "operand": "the final alert",
      "id": "f38c7d6fc8ac4cf1a74aa294e609f4a3",
      "timestamp": "2016-10-27T19:53:39+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "45168c6574e54470a46bfe9a5e7d54ae",
        "sender": "wumpus",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2016-10-27T19:58:34+00:00"
      },
      "operand": null,
      "id": "45168c6574e54470a46bfe9a5e7d54ae",
      "timestamp": "2016-10-27T19:58:34+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}