{
  "group": "drand",
  "protocol": 1,
  "description": "quicknet: message = SHA-256(uint64_be(round)), BLS signature on G1 (on curve, in subgroup, not infinity), key on G2, DST below. Any exception during verification is a failure.",
  "network": {
    "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
    "public_key": "83cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a",
    "scheme": "bls-unchained-g1-rfc9380",
    "period": 3,
    "genesis": 1692803367
  },
  "dst": "BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_",
  "source": "drand.cloudflare.com and api2.drand.sh, path v1, 2026-10-18; signatures of both mirrors equal",
  "cases": [
    {
      "name": "round_1000",
      "round": 1000,
      "message_hex": "f652498d092acd949bad74e40683bf3824fb817980504a0c7e6722cfc5a9c0a3",
      "signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
      "randomness": "fe290beca10872ef2fb164d2aa4442de4566183ec51c56ff3cd603d930e54fdd",
      "expected_valid": true
    },
    {
      "name": "round_1001",
      "round": 1001,
      "message_hex": "ce43c3353a7ad7aac3408cad0bf921b6a7dda89be75d9cb2b3b5a152cefc8afd",
      "signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
      "randomness": "b0a591ad1b9002cfc372ac6e30abd3da8d3088d4caae026961743474fb94235f",
      "expected_valid": true
    },
    {
      "name": "round_33116212",
      "round": 33116212,
      "message_hex": "fddee153362f3adb84326630d999b85220ecc8d92e15b4a9af92256a90bea79c",
      "signature": "a11aed2b5913c0171e4703a15a3354538cb3201438cd3db5055a9ed32d7a22a97e453e8829d27096d3dbcc9a872c1702",
      "randomness": "9efc72738e6f2e28ff678560e3de55a708edaeaf06e723e1b69964619a08f781",
      "expected_valid": true
    },
    {
      "name": "round_33116213",
      "round": 33116213,
      "message_hex": "fe27ed21fd40ed8040e88b648fde24373226ec96a582ca204ef891a87961402c",
      "signature": "8c88efb1bb273346a0be76f90b262b61e79b2f7230a84edfe13157a06357f87dc1999fc643c979694673c9d6dd599a10",
      "randomness": "5cb8e3e3cda934ad9da8e9a318c5461d7e3e59c24e82204ef0eed95c61a8b65b",
      "expected_valid": true
    },
    {
      "name": "round_33116416",
      "round": 33116416,
      "message_hex": "28aeb95b6066737a09483a507cf5e879abb5c1666f70ae5deca8ed7ed868d4ca",
      "signature": "94105416c9ba63c3eb6b8e0e1ed647ee1938d00816a355b68c4cfdd85f373586261f121817795ced3914bab2c1268eca",
      "randomness": "00363e6150b0f27e7009a4f93742ed68d3762f440eff67aee3ecf0366ade5c05",
      "expected_valid": true
    },
    {
      "name": "round_33116417",
      "round": 33116417,
      "message_hex": "4211a92d4927873780bee5d07375a96094d5a98508bb3849566b2e1a2a7002f3",
      "signature": "8b216ba2ac850555a73193e21c4b83320eb638fafd72f9dbe2230581850fc59f3f15790c361d9372ef25aa8777023ce7",
      "randomness": "f88e6289ed26572829f22199fdd6231bf28fcee656bdbd0cc5ff728cc9eba832",
      "expected_valid": true
    },
    {
      "name": "round_33128213",
      "round": 33128213,
      "message_hex": "901e5e9bc44ee06d6ac9f381ebe90adb016c69387c95ebfbae375232ca1ca486",
      "signature": "b184bb6e392b889e4439becaf2418dba2c1d5bdf899144d9e4ed06b386219d1f5d579da76e42400bb422312f4b531982",
      "randomness": "0e778730b197d6dbf4a888e8cf5ef3c227706f229daebd118857713ab0e80399",
      "expected_valid": true
    },
    {
      "name": "tampered_last_byte",
      "round": 1000,
      "signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e00",
      "expected_valid": false,
      "note": "noble 2.4.0 throws \"Cannot find square root\", py_ecc \"not on G1\": both count as invalid"
    },
    {
      "name": "signature_1000_under_1001",
      "round": 1001,
      "signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
      "expected_valid": false
    },
    {
      "name": "signature_1001_under_1000",
      "round": 1000,
      "signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
      "expected_valid": false
    },
    {
      "name": "short_signature",
      "round": 1000,
      "signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e",
      "expected_valid": false
    }
  ]
}
