{
  "active_votes": [
    {
      "rshares": "15699644918310",
      "voter": "dantheman"
    },
    {
      "rshares": "28854876032",
      "voter": "anonymous"
    },
    {
      "rshares": "8484864209575",
      "voter": "rainman"
    },
    {
      "rshares": "37843185317140",
      "voter": "blocktrades"
    },
    {
      "rshares": "2090496972549",
      "voter": "steemroller"
    },
    {
      "rshares": "74736896239",
      "voter": "donaldtrump"
    },
    {
      "rshares": "335906168314",
      "voter": "modprobe"
    },
    {
      "rshares": "6327415081631",
      "voter": "wackou"
    },
    {
      "rshares": "33308040478",
      "voter": "ihash"
    },
    {
      "rshares": "1714790303449",
      "voter": "rossco99"
    },
    {
      "rshares": "912226370971",
      "voter": "liondani"
    },
    {
      "rshares": "2468266694",
      "voter": "boy"
    },
    {
      "rshares": "1975751593462",
      "voter": "xeroc"
    },
    {
      "rshares": "2995664453",
      "voter": "bue-witness"
    },
    {
      "rshares": "567206353",
      "voter": "bunny"
    },
    {
      "rshares": "140485443412",
      "voter": "complexring"
    },
    {
      "rshares": "41823927396",
      "voter": "bue"
    },
    {
      "rshares": "1323151152",
      "voter": "mini"
    },
    {
      "rshares": "170623771",
      "voter": "moon"
    },
    {
      "rshares": "32232314318",
      "voter": "aizensou"
    },
    {
      "rshares": "108216927683",
      "voter": "bonapartist"
    },
    {
      "rshares": "91926650",
      "voter": "gandalf"
    },
    {
      "rshares": "358786763103",
      "voter": "boatymcboatface"
    },
    {
      "rshares": "297215153038",
      "voter": "officialfuzzy"
    },
    {
      "rshares": "773689504778",
      "voter": "pfunk"
    },
    {
      "rshares": "699635263343",
      "voter": "cass"
    },
    {
      "rshares": "9031234362",
      "voter": "proctologic"
    },
    {
      "rshares": "490844799",
      "voter": "healthcare"
    },
    {
      "rshares": "715096804",
      "voter": "daniel.pan"
    },
    {
      "rshares": "17603047506",
      "voter": "dedriss"
    },
    {
      "rshares": "273299516223",
      "voter": "chitty"
    },
    {
      "rshares": "104430794832",
      "voter": "linouxis9"
    },
    {
      "rshares": "230014747",
      "voter": "helen.tan"
    },
    {
      "rshares": "19049044601",
      "voter": "daowisp"
    },
    {
      "rshares": "14623675138",
      "voter": "valtr"
    },
    {
      "rshares": "116313551950",
      "voter": "craig-grant"
    },
    {
      "rshares": "60023860440",
      "voter": "lovelace"
    },
    {
      "rshares": "22731092140",
      "voter": "joelinux"
    },
    {
      "rshares": "79387789605",
      "voter": "kingscrown"
    },
    {
      "rshares": "471129748",
      "voter": "paco-steem"
    },
    {
      "rshares": "426310899",
      "voter": "ereismatias"
    },
    {
      "rshares": "5639122835",
      "voter": "spaninv"
    },
    {
      "rshares": "7733788543",
      "voter": "nate-atkins"
    },
    {
      "rshares": "1293680763",
      "voter": "karask"
    },
    {
      "rshares": "1399620602",
      "voter": "coar"
    },
    {
      "rshares": "1450957464",
      "voter": "murh"
    },
    {
      "rshares": "363704119",
      "voter": "edtorrez"
    },
    {
      "rshares": "537523962057",
      "voter": "cyber"
    },
    {
      "rshares": "14807486260",
      "voter": "thecryptofiend"
    },
    {
      "rshares": "9767505930",
      "voter": "johnerfx"
    },
    {
      "rshares": "368352936",
      "voter": "stiletto"
    },
    {
      "rshares": "55074207308",
      "voter": "juanmiguelsalas"
    },
    {
      "rshares": "832120526",
      "voter": "sunnyray"
    },
    {
      "rshares": "1021367115",
      "voter": "fjccoin"
    },
    {
      "rshares": "848329794",
      "voter": "johnerminer"
    },
    {
      "rshares": "44252149522",
      "voter": "geoffrey"
    },
    {
      "rshares": "84721328962",
      "voter": "truthtaco"
    },
    {
      "rshares": "636119227",
      "voter": "ben99"
    },
    {
      "rshares": "23438529510",
      "voter": "jparty"
    },
    {
      "rshares": "688449090",
      "voter": "mammasitta"
    },
    {
      "rshares": "39092198167",
      "voter": "gtg"
    },
    {
      "rshares": "3985585444",
      "voter": "fuck.off"
    },
    {
      "rshares": "5429573755",
      "voter": "iloveporn"
    },
    {
      "rshares": "1940554482",
      "voter": "the.bot"
    },
    {
      "rshares": "6603022993",
      "voter": "johnbradshaw"
    },
    {
      "rshares": "4605030334",
      "voter": "the.whale"
    },
    {
      "rshares": "169187275390",
      "voter": "dashpaymag"
    },
    {
      "rshares": "261023475510",
      "voter": "asmolokalo"
    },
    {
      "rshares": "275298167273",
      "voter": "roelandp"
    },
    {
      "rshares": "2098337565",
      "voter": "romanskv"
    },
    {
      "rshares": "4363425866",
      "voter": "unicornfarts"
    },
    {
      "rshares": "6486686814",
      "voter": "kakradetome"
    },
    {
      "rshares": "18902778277",
      "voter": "firepower"
    },
    {
      "rshares": "5644023807",
      "voter": "cmtzco"
    },
    {
      "rshares": "36679008975",
      "voter": "menta"
    },
    {
      "rshares": "4605414402",
      "voter": "vote"
    },
    {
      "rshares": "4674772839",
      "voter": "manoami"
    },
    {
      "rshares": "4848852438",
      "voter": "kissmybutt"
    },
    {
      "rshares": "461256359",
      "voter": "chamviet"
    },
    {
      "rshares": "1128966666",
      "voter": "anwar78"
    },
    {
      "rshares": "353762811",
      "voter": "rxhector"
    },
    {
      "rshares": "13452861200",
      "voter": "bitshares101"
    },
    {
      "rshares": "19873104999",
      "voter": "ausbitbank"
    },
    {
      "rshares": "184112913",
      "voter": "ardina"
    },
    {
      "rshares": "16336147500",
      "voter": "chriscrypto"
    },
    {
      "rshares": "4125723797",
      "voter": "gikitiki"
    },
    {
      "rshares": "119466748741",
      "voter": "jesta"
    },
    {
      "rshares": "3640445804",
      "voter": "thegoodguy"
    },
    {
      "rshares": "75967203632",
      "voter": "paco"
    },
    {
      "rshares": "19068212733",
      "voter": "showmethecoinz"
    },
    {
      "rshares": "24373102947",
      "voter": "igster"
    },
    {
      "rshares": "218061986",
      "voter": "zoicneo"
    },
    {
      "rshares": "322673293",
      "voter": "dr2073"
    },
    {
      "rshares": "12376071844",
      "voter": "jpiper20"
    },
    {
      "rshares": "252909161",
      "voter": "natali22"
    },
    {
      "rshares": "8322538338",
      "voter": "mustafaomar"
    },
    {
      "rshares": "13618277527",
      "voter": "all-of-us"
    },
    {
      "rshares": "919285482",
      "voter": "nika"
    },
    {
      "rshares": "6588394536",
      "voter": "geronimo"
    },
    {
      "rshares": "1901709746",
      "voter": "cryptohustlin"
    },
    {
      "rshares": "2473087864",
      "voter": "lostnuggett"
    },
    {
      "rshares": "31417575434",
      "voter": "paquito"
    },
    {
      "rshares": "108742011",
      "voter": "sergey22"
    },
    {
      "rshares": "575279737",
      "voter": "steeminer"
    },
    {
      "rshares": "35468156360",
      "voter": "fatboy"
    },
    {
      "rshares": "2204627326",
      "voter": "trisnawati"
    },
    {
      "rshares": "389417359",
      "voter": "vadim"
    },
    {
      "rshares": "6721829299",
      "voter": "michaeldodridge"
    },
    {
      "rshares": "31188038738",
      "voter": "celebr1ty"
    },
    {
      "rshares": "7097922529",
      "voter": "lykkeliten"
    },
    {
      "rshares": "108632879",
      "voter": "steemster1"
    },
    {
      "rshares": "2854890205",
      "voter": "glitterpig"
    },
    {
      "rshares": "3046163199",
      "voter": "jed78"
    },
    {
      "rshares": "685101796",
      "voter": "metaflute"
    },
    {
      "rshares": "51143991",
      "voter": "sharon"
    },
    {
      "rshares": "8278623961",
      "voter": "rawnetics"
    },
    {
      "rshares": "16442949757",
      "voter": "thebluepanda"
    },
    {
      "rshares": "2339485159",
      "voter": "timcliff"
    },
    {
      "rshares": "727812194",
      "voter": "darknet"
    },
    {
      "rshares": "31463628969",
      "voter": "mibenkito"
    },
    {
      "rshares": "8270953480",
      "voter": "trending"
    },
    {
      "rshares": "66036998",
      "voter": "fruityloan"
    },
    {
      "rshares": "63377598",
      "voter": "dezconocido"
    },
    {
      "rshares": "64149962",
      "voter": "sizil"
    },
    {
      "rshares": "27539088793",
      "voter": "nonlinearone"
    },
    {
      "rshares": "51120963",
      "voter": "msjennifer"
    },
    {
      "rshares": "50828873",
      "voter": "ciao"
    },
    {
      "rshares": "9007787064",
      "voter": "thebotkiller"
    },
    {
      "rshares": "50521096",
      "voter": "steemo"
    },
    {
      "rshares": "18974329448",
      "voter": "nixonnox"
    },
    {
      "rshares": "50390768",
      "voter": "steema"
    },
    {
      "rshares": "165051822",
      "voter": "nonamer"
    },
    {
      "rshares": "52732264",
      "voter": "vishal1"
    },
    {
      "rshares": "50183394",
      "voter": "confucius"
    },
    {
      "rshares": "1506714481",
      "voter": "unrealisback"
    },
    {
      "rshares": "51153233",
      "voter": "jarvis"
    },
    {
      "rshares": "50692212",
      "voter": "fortuner"
    },
    {
      "rshares": "225683099",
      "voter": "mefisto"
    },
    {
      "rshares": "106783648",
      "voter": "cinderphoenix"
    },
    {
      "rshares": "225874014",
      "voter": "jimmytwoshoes"
    },
    {
      "rshares": "50684643",
      "voter": "johnbyrd"
    },
    {
      "rshares": "50682252",
      "voter": "thomasaustin"
    },
    {
      "rshares": "50673817",
      "voter": "widell"
    },
    {
      "rshares": "51613018",
      "voter": "vasilii"
    },
    {
      "rshares": "288593312",
      "voter": "steeminion"
    },
    {
      "rshares": "50311250",
      "voter": "revelbrooks"
    },
    {
      "rshares": "57636462",
      "voter": "x5cc7fd68"
    },
    {
      "rshares": "52631453",
      "voter": "mrlogic"
    },
    {
      "rshares": "16295017448",
      "voter": "someguy123"
    },
    {
      "rshares": "50416427",
      "voter": "curpose"
    },
    {
      "rshares": "60781652",
      "voter": "sharonekelly"
    },
    {
      "rshares": "169640892",
      "voter": "mrainp"
    },
    {
      "rshares": "55791783",
      "voter": "lsd123452"
    },
    {
      "rshares": "92590152",
      "voter": "runridefly"
    },
    {
      "rshares": "53142053",
      "voter": "fleshtheworld"
    },
    {
      "rshares": "53116957",
      "voter": "maximator15"
    },
    {
      "rshares": "373265099",
      "voter": "ivet"
    },
    {
      "rshares": "50588612",
      "voter": "troich"
    },
    {
      "rshares": "50271139",
      "voter": "hitherise"
    },
    {
      "rshares": "1418732000",
      "voter": "sponge-bob"
    },
    {
      "rshares": "574697529",
      "voter": "grm"
    },
    {
      "rshares": "3524895174",
      "voter": "ericbotticelli"
    },
    {
      "rshares": "50710305",
      "voter": "prof"
    },
    {
      "rshares": "55019922",
      "voter": "jhonione"
    },
    {
      "rshares": "126007971",
      "voter": "keverw"
    },
    {
      "rshares": "54052181",
      "voter": "topslim"
    },
    {
      "rshares": "50054445",
      "voter": "coad"
    },
    {
      "rshares": "50825587",
      "voter": "sofa"
    },
    {
      "rshares": "52918124",
      "voter": "xomtux"
    },
    {
      "rshares": "54693363",
      "voter": "steeminnow"
    },
    {
      "rshares": "51488252",
      "voter": "efroul"
    },
    {
      "rshares": "50383632",
      "voter": "zzzzzzzzz"
    },
    {
      "rshares": "51446137",
      "voter": "asshai"
    },
    {
      "rshares": "54572306",
      "voter": "cbdmegami"
    },
    {
      "rshares": "52397603",
      "voter": "doze49"
    },
    {
      "rshares": "50125313",
      "voter": "ladyboss"
    },
    {
      "rshares": "53279765",
      "voter": "jpitt241"
    }
  ],
  "author": "gtg",
  "author_payout_value": "0.000 HBD",
  "author_reputation": 57.34,
  "beneficiaries": [],
  "blacklists": [],
  "body": "As you know, witness nodes are an essential part of the STEEM universe.\n\nIf I have a witness node with as much as (or as little as) 3% of witness approval, I can choose the right time to shut it down, listen to my favourite music album, walk my cat, and then start it up again, most probably without missing a block.\nA full-time witness, or one of the top19 witnesses, needs to produce blocks 1600 times more frequently.\nMaintaining such a server in the long run is not an easy task.\n\nWitnesses are vulnerable to DDoS attacks. An attacker who knows the network location of your witness node can saturate your uplink to a level that makes you unable to produce blocks on time. Effectively, this means **voting the witness out using a network-level attack**. Finding the IP address of your witness node is easier than you might think. Even if you follow the guidelines for setting up your public seed node on a different machine than the one you used to get your witness running, your witness still needs to connect to other nodes in the network.\nSo what does this mean? Take a look at: http://seeds.quisquis.de/steem.html\n(service provided by cyrano.witness)\n\nDoes any of these IP addresses look familiar?\nThe attacker still doesn't know which of them is yours, right?\n\nAn attack that makes the target IP unavailable for 3 seconds? Not exactly a difficult thing to do, right? So the attacker needs to make a guess by choosing from a set of suspected IP addresses he has obtained. Guessing doesn't cost him much. Neither does a high volume, short period DDoS attack. After that, he can see that your `total_missed` count increases, and he knows he guessed correctly. And then you are out.\n\n![witness](https://grey.house/img/witness2.jpg)\n\n## A concept of infrastructure: ##\n\n2 witness nodes (primary and backup)\n4 dedicated seed nodes\n\nOne witness node has your current signing key and does its job. The other is for failover, backup purposes. For example, whenever you need to upgrade your witness binary, you do that on the backup witness node, then change your signing key, so the backup node and the primary node switch their roles.  \n**(Never leave your current signing key on two nodes at the same time!)**\n\nThese 4 seed nodes mentioned here only work on behalf of your witness i.e. they don\u2019t provide seed service on public network interfaces. \n_Your public seed node is not within the scope of this document._\n\nYour witness node connects **ONLY** to your seed nodes using VLAN or another private, low latency network solution of your choice. All other incoming/outgoing connections should be blocked except for the secure shell, preferably limited to access only from your IPs.\n\nEach seed node should be in a separate datacenter, ideally in a different part of the world, never in the same location as any of your (primary/backup) witness nodes. The purpose is to minimize the effects of a successful DDoS attack.\n\n_Please note that setting up all seed nodes in a single data center won\u2019t help. A DDoS attack targeted at that particular network will bring all your nodes down anyway._\n\n```\n                      +---+\n         +  +----+    |   |\n         |  |    |<-->| B |\n         +--+ S1 |<-->| i |\n         |  |    |<-->| g |\n         |  +----+    |   |\n+------+ |            | B |\n|      +-+  +----+    | a |\n| W(p) | |  |    |<-->| d |\n|      | +--+ S2 |<-->|   |\n+------+ |  |    |<-->| U |\n         |  +----+    | g |\n     VLAN|            | l |\n         |  +----+    | y |\n+------+ |  |    |<-->|   |\n|      | +--+ S3 |<-->| I |\n| W(b) | |  |    |<-->| n |\n|      +-+  +----+    | t |\n+------+ |            | e |\n         |  +----+    | r |\n         |  |    |<-->| n |\n         +--+ S4 |<-->| e |\n         |  |    |<-->| t |\n         +  +----+    |   |\n                      +---+\n```\n```\nW(p) - primary witness\nW(b) - backup witness\nS1-4 - seed nodes\n```\nOf course, you need to keep your seed nodes (at least one of them) running all the time, otherwise your witness will not be able to sync the blockchain.\nBut if you do the math, you will see that the odds that all your seed nodes stop working at the same time are much lower than the chances that this happens to your witness node. \n\n\nIf one of your seed nodes falls victim to a DDoS attack, you can, depending on the features offered by your infrastructure provider:\n- do nothing (until most of them are targeted at the same time)\n- change its external interface IP address, routing the old one to a black hole\n- set up a new, additional, temporary seed node somewhere else\n- replace that seed node with a new one in another location\n\nIf you believe this idea is of use and value to Steem, please vote for me as a [witness](https://steemit.com/witness-category/@gtg/witness-gtg \"witness-gtg\")\neither on [Steemit's Witnesses List](https://steemit.com/~witnesses \"Witnesses\") \nor by using your `cli_wallet` command:\n`vote_for_witness \"YOURACCOUNT\" \"gtg\" true true`",
  "category": "witness-category",
  "children": 14,
  "created": "2016-08-16T18:11:03",
  "curator_payout_value": "0.000 HBD",
  "depth": 0,
  "is_paidout": false,
  "json_metadata": {
    "links": [
      "https://steemit.com/witness-category/@gtg/witness-gtg"
    ],
    "tags": [
      "witness-category",
      "security",
      "steem",
      "steemit"
    ]
  },
  "max_accepted_payout": "1000000.000 HBD",
  "net_rshares": 80964590737004,
  "payout": 988.451,
  "payout_at": "2016-09-16T20:13:00",
  "pending_payout_value": "988.451 HBD",
  "percent_steem_dollars": 10000,
  "permlink": "heavy-duty-witness-node-infrastructure",
  "post_id": 630173,
  "promoted": "0.000 HBD",
  "replies": [],
  "stats": {
    "flag_weight": 0.0,
    "gray": false,
    "hide": false,
    "total_votes": 177
  },
  "title": "Heavy duty witness node infrastructure",
  "updated": "2016-08-16T18:11:03",
  "url": "/witness-category/@gtg/heavy-duty-witness-node-infrastructure"
}
