{
  "docId": "019dd923-622c-750b-8b97-202fcba3bc0a",
  "docSlug": "4a1cd2416c13",
  "documentTitle": "Joyy Inc. (YY)",
  "authorId": "51_Muddy_Waters",
  "authorName": "Carson Block",
  "documentKindSlug": "research-note",
  "documentKindLabel": "Research note",
  "sourceTypeSlug": "short_seller",
  "sourceTypeLabel": "Short seller",
  "presentationDate": "2020-11-18 00:00:00",
  "orientation": "portrait",
  "aspectRatio": 0.77272725,
  "pageNumber": 70,
  "pageCount": 71,
  "prevPage": 69,
  "nextPage": 71,
  "slideType": "appendix_methodology",
  "function": "diagnose_problem",
  "density": "dense",
  "nDataPoints": 0,
  "notes": "Includes references to Netflix migration documentation and Kingsoft Cloud constraints.",
  "elementsJson": [
    "paragraph",
    "screenshot",
    "footnote"
  ],
  "metadataConfidence": 0.9,
  "imagePath": null,
  "slideHref": "/slides/019dd923-622c-750b-8b97-202fcba3bc0a/70",
  "deckHref": "/decks/019dd923-622c-750b-8b97-202fcba3bc0a",
  "deckJsonHref": "/decks/019dd923-622c-750b-8b97-202fcba3bc0a.json",
  "deckAnchorHref": "/decks/019dd923-622c-750b-8b97-202fcba3bc0a#slide-70",
  "components": [
    {
      "bbox": null,
      "kind": "callout",
      "text": "A reasonable explanation is that YY is using bots on their cloud infrastructure, and when the VPN or external anonymizing service has an outage or there is a problem, their bots continue to send transactions to YY.com through the internal network until the VPN comes back up.",
      "attrs": null,
      "subkind": null,
      "toolName": "Visual emphasis",
      "toolSlug": "visual-emphasis",
      "confidence": null,
      "componentId": "019dd953-0394-7243-be97-e86cd9fe34d5",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.18,
        "w": 0.46,
        "x": 0.27,
        "y": 0.18
      },
      "kind": "image",
      "text": "RFC 6598. 100.64.0.0/10 network is a reserved block to facilitate Carrier Grade Network Address Translation (CGN).",
      "attrs": null,
      "subkind": "illustration",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "182aad63-9328-4dc8-8bd1-16b4e86ab7f5",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.11,
        "w": 0.78,
        "x": 0.11,
        "y": 0.39
      },
      "kind": "list",
      "text": "Amazon Documentation: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html\nMicrosoft Documentation: https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview\nGoogle Documentation: https://cloud.google.com/vpc/docs/vpc#manually_created_subnet_ip_ranges",
      "attrs": null,
      "subkind": "bullet",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "adb119f2-3e22-4a74-8175-c628914b7aad",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.11,
        "w": 0.78,
        "x": 0.11,
        "y": 0.59
      },
      "kind": "paragraph",
      "text": "A reasonable explanation is that YY is using bots on their cloud infrastructure, and when the VPN or external anonymizing service has an outage or there is a problem, their bots continue to send transactions to YY.com through the internal network until the VPN comes back up. We see this pattern in the data as well where a user is on a public IP address, then an internal IP address, and then back to a public IP address.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "0b08dc15-6dab-464c-9b10-03eb40e8a87a",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.07,
        "w": 0.78,
        "x": 0.11,
        "y": 0.09
      },
      "kind": "paragraph",
      "text": "corporate network) communications. This means that you cannot communicate from or to a 100.64.0.0/10 IP addresses from the public Internet directly. Netflix presented on moving their infrastructure to Amazon private clouds, and their use of the 100.64.0.0/10 block network when doing so.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "428e1a86-d2d2-4259-9a49-da02633cf386",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.05,
        "w": 0.78,
        "x": 0.11,
        "y": 0.52
      },
      "kind": "paragraph",
      "text": "Kingsoft has specific instructions that the 100.64.0.0/10 address block should NOT be used in their cloud service. So, we have reason to believe that Kingsoft cloud infrastructure is ruled out in this case.",
      "attrs": null,
      "subkind": "paragraph",
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "d5da492c-195b-4afa-ae1e-bf8c0f012b7c",
      "frameworkName": null,
      "frameworkSlug": null
    },
    {
      "bbox": {
        "h": 0.06,
        "w": 0.78,
        "x": 0.11,
        "y": 0.83
      },
      "kind": "source-note",
      "text": "113 https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-moving-mountains-netflixs-migration-into-vpc-net304, slide 25\n114 Kingsoft Cloud Documentation - https://endocs.ksyun.com/documents/75",
      "attrs": null,
      "subkind": null,
      "toolName": null,
      "toolSlug": null,
      "confidence": null,
      "componentId": "14898460-0453-41a7-a55e-f55997d56ce3",
      "frameworkName": null,
      "frameworkSlug": null
    }
  ],
  "metrics": [],
  "tools": [],
  "frameworks": [],
  "arcBeats": [
    {
      "to": 71,
      "from": 4,
      "beatId": "a6d172fd-e615-4921-ab5f-acf82f61ca10",
      "arcName": "Overcoming the Monster",
      "arcSlug": "overcoming-monster",
      "beatName": "Expose Contradiction",
      "beatSlug": null,
      "evidence": "The report is filled with expose contradiction beats, revealing discrepancies in YY's reporting",
      "position": 0,
      "confidence": 0.8,
      "parentBeatName": null,
      "parentBeatSlug": null
    }
  ],
  "loops": [],
  "imagePathAlt": null,
  "thumbSrc": null,
  "thumbSrcAlt": null,
  "locked": true
}