Hash Oracle Test Post — Preimage Table for BTC:USD, 2020-01-02

in #defi5 years ago

This post is the followup to the hash table posted about an hour ago here. In this post, I publish the preimages for all hashes published in the previous post for which my observed price of BTC, as of this afternoon, exceeds the price associated to the hash. This is a manner of reporting prices or other real-world data that enables hash lock-based contracts to direct outcomes based on the reports of an oracle.

More background information is presented in the original post.

For the purposes of this test, I "observe" today's price of BTC:USD to be $6,964.00.

In this test post, we should observe the following:

  • Which preimages are revealed, which are not? Do they serve to accurately report the observed price?
  • Do the preimages indeed hash to the published hash values?
    • (For this, you can use an online hash tool such as the one here to check the hashes. The published preimages are "hex bytes" and should be pasted into the "binary hash" box of the hash tool. The algorithm used is SHA-256.)
  • In the table header, we reveal a "generator". This is a text string that served as a pre-preimage to the "threshold hash" (the first one in the table that satisfied the reveal condition). This generator is a compact way of revealing the appropriate preimages, as it can be used to generate all preimages after the threshold hash, but none of the preimages before the threshold.
    • Observe that the generator, when hashed as text, produces the hex bytes of the threshold preimage.
    • Observe that the generator is a :-separated list of fields, the last of which is a hex representation of a secret. A binary hash of those hex bytes will produce the next secret. (But the preceding secret cannot be revealed as it would involve inverting a hash.) To produce the next generator in the sequence, replace the old secret with the new secret and increment the second-to-last field (i53 in this example, increment to i54). A text hash of this next generator should produce the next binary preimage in the sequence.

Let's get to it!

BTC:USD Preimage Reveal Table (200102):

Target Date: Jan 02 2020 (2020-01-02)
Event Reported: Price of BTC as determined on target date.
Reporting Method: Reveal preimages for all hashes for which observed price meets or exceeds hash level.
Determination Method: (Described in detail elsewhere.)
Quote Pair: BTC:USD
Hash Header: d200102:>=:BTC:USD:t32000:f2:s24
Generator: d200102:>=:BTC:USD:t32000:f2:s24:i53:8d7c71dae9644097b13bb3cbdfb3ca8b7bebdb8f1bf47d76449c61f6729e8ea7
Observed Price: 6964.00

WARNING: This is an EXPERIMENTAL Hash Oracle. At this point in time, there is NO WARRANTY of any kind, nor any promise or commitment, implied or otherwise, as to the reliability, accuracy, or timeliness of the information in this post or in any future post concomitant to this one.

Begin Table:

PobsPhashPreimage:
>=32000.00(Condition not met)
>=31089.02(Condition not met)
>=30203.98(Condition not met)
>=29344.13(Condition not met)
>=28508.76(Condition not met)
>=27697.17(Condition not met)
>=26908.69(Condition not met)
>=26142.65(Condition not met)
>=25398.42(Condition not met)
>=24675.37(Condition not met)
>=23972.91(Condition not met)
>=23290.45(Condition not met)
>=22627.42(Condition not met)
>=21983.26(Condition not met)
>=21357.44(Condition not met)
>=20749.43(Condition not met)
>=20158.74(Condition not met)
>=19584.86(Condition not met)
>=19027.31(Condition not met)
>=18485.64(Condition not met)
>=17959.39(Condition not met)
>=17448.12(Condition not met)
>=16951.41(Condition not met)
>=16468.84(Condition not met)
>=16000.00(Condition not met)
>=15544.51(Condition not met)
>=15101.99(Condition not met)
>=14672.06(Condition not met)
>=14254.38(Condition not met)
>=13848.58(Condition not met)
>=13454.34(Condition not met)
>=13071.32(Condition not met)
>=12699.21(Condition not met)
>=12337.69(Condition not met)
>=11986.46(Condition not met)
>=11645.23(Condition not met)
>=11313.71(Condition not met)
>=10991.63(Condition not met)
>=10678.72(Condition not met)
>=10374.72(Condition not met)
>=10079.37(Condition not met)
>=9792.43(Condition not met)
>=9513.66(Condition not met)
>=9242.82(Condition not met)
>=8979.70(Condition not met)
>=8724.06(Condition not met)
>=8475.70(Condition not met)
>=8234.42(Condition not met)
>=8000.00(Condition not met)
>=7772.26(Condition not met)
>=7550.99(Condition not met)
>=7336.03(Condition not met)
>=7127.19(Condition not met)
>=6924.29f964b353cbff05c8c09988de695e502241dfe90f7e8d4e816b899451b1611496
>=6727.17b1cf34154515d722d11f78c9714efb26c3911712c1ffea3f66ae3bcd49c8f5cb
>=6535.66a973f45c97ea3a1c63090684761d74ac37e36a35bf7d63bea2bdaa2d595e729a
>=6349.60ee32707089b39f60fd245bdfa97acf132180c1afb0a205a6952abde455700716
>=6168.848b7bfcbcfca1033a9c32339ba2159cd691544422faf5bcc2b04cd46ec65d44da
>=5993.23400ee36d1b77b64328684c49bb3c518a30a4aafa6af417a3d855b62612d82f3f
>=5822.618d714ff87e7701f1673885e98388b7b3152e7a0152aefe9ca2b04067f2228406
>=5656.8503b5c7331531017544a3171367593b5b560821ee8b8b1c26f72dcad3f03117f1
>=5495.81f4dc23968764aba4fdf5da683852e1af559be7705430745e8afbda6b99484ba4
>=5339.36151de53e64677f5e5c5d45306d68b4544c2c206ef1235cce114ef01427a071d3
>=5187.3600d0af7f10e9c773cee6b8b90f41d7f5e0282096864e934cc041a3ca5155a17f
>=5039.685bff9b49ec66cd4602ebb1f0470ae918ee776a533d93aa386d6ce458ebffa93c
>=4896.2101fdf63c78119d17e1ce28191fc9ff149693df5405142178a06ceeff53ad8202
>=4756.835663cc78be75eb3213b9993374fa5c118f73ee7cead80ec30df44932e38128e8
>=4621.4148b155e6cfcd983203ac14588264d765dfd4d601b299eed27042dea040bc112e
>=4489.85d3b68b1f8fd21f04733124c45eeac656d43050ac59b3fe688c8a472b719d59ac
>=4362.036e5b8c381c4a7e7056371406322eb0854d92778eb082d02c77b56d483c5a30c4
>=4237.85b3a41491276ae833b35c6bc78f9c010d3bcc7599a0ea043a566768fce056c147
>=4117.21d5fffa4125a67be8533f1db2c622dab6ce97a0add9ffdc3547aa97171d9182c7
>=4000.0098503203c17136ac42c72ecfe6a45e12ccb59337574ecfa1379320af52f884b5
>=3886.13314db638a7aaa3cb8c1afd6b496746ee542fc36245d1f7e31d9aef75ec90f303
>=3775.50b01ffffdd81a09807476935b8e12394ac608246ad39b91c7f3045ff4c84577a8
>=3668.026d30b49eb2cd64ac55a9b19fe97d6006a649fc2433f4fbe4003fa242a6aa4fae
>=3563.593ac3e5550ae2e7c0e28e7c583a4321e050b750b6c2db8e4fb254b5d62c11f30a
>=3462.154f41ae7994ef014d31a29a2e70c5dc26d0c90eee38646dc95d7fb36c18b71744
>=3363.5910cb8c9d13e8a0e32af92664c492c7a0510946166da411c13be7d9931a526023
>=3267.830052cd7ec5bd61418790bb2ffd417a4fff7da0f0c70a9fd6626474220e1399e9
>=3174.807ad482cff721031b86be0b1f20deb912366bd86a3bc057c516377a4c69efed3f
>=3084.42de91a788754f1f00ab9e5b0054688a5a0136417335f0504978dc71dd56358234
>=2996.61518c9450c38215c332657d1160bf23d97230c3ec74e1009a7052d8ab5ee91453
>=2911.314196fa617f4474dbfb18afa2ba446112b288776c0323fc494a1f7dba28012ce4
>=2828.4325d3910d1885c69d7a152b5979f8db6caac1a4738e3254cc95139d44d1fec36c
>=2747.91dbcb6f2749cfcbcee9d200bebcfe4321ea85b10f008c268a063a926267729139
>=2669.688d29fe18a7cab4669da2befc58ca624bc30cd2f52a9e5fbb66558ebb3ad097ef
>=2593.68caf59a40810b2259400b258ef9bbb480ae109cf54b3ddbcc7700382f421c5c91
>=2519.84421175271b2a0bcdcee37b66402e544d4c9db63a1f9d2a826824dd8a47214eab
>=2448.111eee1957ca1d1aa008397f14fe96296e8296f617c5b1a7ce180594047addd853
>=2378.41cd205b6a3518204936cf5fafb53d4262e717dac6909ac4265c2e08fc52931a33
>=2310.7180ea2a97b00595fe18769c8389e915846691957396360df69f439db7aea6422e
>=2244.9225f9b7235c6f077f75906782741f95c3c20b84fe143a156c40dc752d28f1bce0
>=2181.02e1c87295b83b7618f4f49ed0092449f2c55a7a6ede81c22d357c104d1f2434a8
>=2118.930261d7bf1528f9a35cf9a9d8b5a6c2cbcf65832ce3c2c062f8fc1e00248b39cf
>=2058.6047906bdc33deb8c6de3593a84cd073cc5158759deb3b930e803f8a5a8b9a321a
>=2000.002d87c4ed093540ef9a207305dc4eb0b83210af35c01c106b2c6523a53a35ba31
>=1943.06769cf56188959e93e0728615cb9faa8c216579a5982714d7d53aac111b4a87ce
>=1887.7599e68c832699c769c83277752806f4aab67549c6507239db61c51bcd84e20bd1
>=1834.0187a28240c8b003cfa82cee6df91c08b121111436d672759151d92eab82699c75
>=1781.8092a1a2dcfc2dc052ec7ef50b55520855d4e75354947aeea08d7025cea1f80bea
>=1731.07ab43b75bed6d2c550a9612bf02ec148bdbd150491ac55ad51ba67d18219add47
>=1681.79f5b2fb69d123e6a2bb5cfca7297d1ed5e0770abe8263212187baf93d31152c43
>=1633.929fc8416611eb0351489be215372b24d4dabecd137071fcf8a820a013a7314b58
>=1587.40baa7cd84efce059f8211057af4ce458f469ad5936b27d906c2e6514d8baaa0be
>=1542.21a02cd63ca0cd17a75e6326831c27ab8157b6290cd91ce89b87ffe939055f7f6a
>=1498.310ac0b1b0d6986f6559a0c7cec8fab8e44b5d3035fd983899576a606ed2c7edac
>=1455.65b4f85235dd5711c6b465f90170989fc0794744540789228f9a535f1e5004a564
>=1414.217fe81bb3c5642eef65e7eb085814f77f39b5ad096c5520833b2759a37ac6445b
>=1373.9507322e8e3b72cf0f057c03d9308a2f08780d2f4ed56f3b5a9dc52d158ce7c677
>=1334.84a2c83143badf54ac649c3680de5c71b3ccfe9f6939e98c1850574d60fd5a3203
>=1296.84ab6c739b761a1c926c5d1465361159740601c80ebaea08bbbde46d7b2738a635
>=1259.92605a2922eec74f6cd47583515e26575eb8bc9c9b689a95cf4e04ccb1c3893581
>=1224.05ed91f09c699edf31e725b0ee14312ce55e5681e4919ce5f312a27a9e9ce82d93
>=1189.215a6027a02ab3119ca16c1c7e17188a4b67499baf107ae8cbd96517058b8f2729
>=1155.35819181510da61f1c7ecf5d42f0d83a9072a85594734b8bd782775d22ccd42473
>=1122.46c0f75067fb713fbc2c0bd94b07c220f8d21f5e2d0ef3687b16d365041320034d
>=1090.517105210f215bf2c258b26e889ab0921f8a47fdb335652e0b94c99678dc9c80e4
>=1059.4633d6557356d8d1321a69beab9c21182f4aad4e5e5da17abf3212942f551bba44
>=1029.3010b6b04688dbbf803f63ce14c46998723564f3b3406111bb86cf5a62b6cacfd4
>=1000.00a90b2174d45c057e594fe09a8c6074c440bb35603e0b0555400de96c081fcc84

WARNING: This is an EXPERIMENTAL Hash Oracle. At this point in time, there is NO WARRANTY of any kind, nor any promise or commitment, implied or otherwise, as to the reliability, accuracy, or timeliness of the information in this post or in any future post concomitant to this one.